--- Title: Welcome Description: Pico is a stupidly simple, blazing fast, flat file CMS. --- ## Welcome to Pico Congratulations, you have successfully installed [Pico](http://picocms.org/). %meta.description% ### Creating Content Pico is a flat file CMS, this means there is no administration backend and database to deal with. You simply create `.md` files in the `content-sample` folder and that becomes a page. For example, this file is called `index.md` and is shown as the main landing page. If you create a folder within the content folder (e.g. `content-sample/sub`) and put an `index.md` inside it, you can access that folder at the URL `http://yoursite.com/?sub`. If you want another page within the sub folder, simply create a text file with the corresponding name and you will be able to access it (e.g. `content-sample/sub/page.md` is accessible from the URL `http://yoursite.com/?sub/page`). Below we've shown some examples of locations and their corresponing URLs:
Physical Location | URL |
---|---|
content-sample/index.md | / |
content-sample/sub.md | |
content-sample/sub/index.md | ?sub (same as above) |
content-sample/sub/page.md | ?sub/page |
content-sample/a/very/long/url.md | ?a/very/long/url (doesn't exist) |
%site_title%
- The title of your Pico site
* %base_url%
- The URL to your Pico site; internal links
can be specified using %base_url%?sub/page
* %theme_url%
- The URL to the currently used theme
* %meta.*%
- Access any meta variable of the current page,
e.g. %meta.author%
returns `Joe Bloggs`
### Themes
You can create themes for your Pico installation in the `themes` folder. Check
out the default theme for an example of a theme. Pico uses [Twig][] for
template rendering. You can select your theme by setting the `$config['theme']`
variable in `config/config.php` to your theme folder.
All themes must include an `index.twig` file to define the HTML structure of
the theme. Below are the Twig variables that are available to use in your
theme. Paths (e.g. `{{ base_dir }}``) and URLs (e.g. `{{ base_url }}`) don't
have a trailing slash.
* `{{ config }}` - Conatins the values you set in `config/config.php`
(e.g. `{{ config.theme }}` = "default")
* `{{ base_dir }}` - The path to your Pico root directory
* `{{ base_url }}` - The URL to your Pico site
* `{{ theme_dir }}` - The path to the Pico active theme directory
* `{{ theme_url }}` - The URL to the Pico active theme directory
* `{{ rewrite_url }}` - A boolean flag indicating enabled/disabled URL rewriting
* `{{ site_title }}` - Shortcut to the site title (see `config/config.php`)
* `{{ meta }}` - Contains the meta values from the current page
* `{{ meta.title }}`
* `{{ meta.description }}`
* `{{ meta.author }}`
* `{{ meta.date }}`
* `{{ meta.date_formatted }}`
* `{{ meta.robots }}`
* `{{ content }}` - The content of the current page
(after it has been processed through Markdown)
* `{{ pages }}` - A collection of all the content pages in your site
* `{{ page.id }}`
* `{{ page.url }}`
* `{{ page.title }}`
* `{{ page.description }}`
* `{{ page.author }}`
* `{{ page.time }}`
* `{{ page.date }}`
* `{{ page.date_formatted }}`
* `{{ page.raw_content }}`
* `{{ page.meta }}`
* `{{ prev_page }}` - The data of the previous page (relative to `current_page`)
* `{{ current_page }}` - The data of the current page
* `{{ next_page }}` - The data of the next page (relative to `current_page`)
* `{{ is_front_page }}` - A boolean flag for the front page
Pages can be used like:
<ul class="nav"> {% for page in pages %} <li><a href="{{ page.url }}">{{ page.title }}</a></li> {% endfor %} </ul>### Plugins See [http://pico.dev7studios.com/plugins](http://picocms.org/plugins) ### Config You can override the default Pico settings (and add your own custom settings) by editing `config/config.php` in the Pico directory. For a brief overview of the available settings and their defaults see `config/config.php.template`. To override a setting copy `config/config.php.template` to `config/config.php`, uncomment the setting and set your custom value. ### Documentation For more help have a look at the Pico documentation at [http://picocms.org/docs](http://picocms.org/docs) [Twig]: http://twig.sensiolabs.org/documentation [Markdown]: http://daringfireball.net/projects/markdown/syntax