2012-04-04 13:45:09 +00:00
/*
Title: Welcome
Description: This description will go in the meta description tag
*/
2013-05-01 13:34:24 +00:00
## Welcome to Pico
2012-04-04 13:45:09 +00:00
2013-07-12 14:53:39 +00:00
Congratulations, you have successfully installed [Pico ](http://pico.dev7studios.com ). Pico is a stupidly simple, blazing fast, flat file CMS.
2012-04-04 13:45:09 +00:00
2013-05-01 13:34:24 +00:00
### Creating Content
2012-04-04 13:45:09 +00:00
2013-05-01 14:52:18 +00:00
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"
2013-07-12 14:53:39 +00:00
folder and that becomes a page. For example, this file is called `index.md` and is shown as the main landing page.
2012-04-04 13:45:09 +00:00
2013-07-12 14:53:39 +00:00
If you create a folder within the content folder (e.g. `content/sub` ) and put an `index.md` inside it, you can access that folder at the URL
2013-05-01 14:52:18 +00:00
`http://yousite.com/sub` . If you want another page within the sub folder, simply create a text file with the corresponding name (e.g. `content/sub/page.md` )
2013-07-12 14:53:39 +00:00
and you will be able to access it from the URL `http://yousite.com/sub/page` . Below we've shown some examples of content locations and their corresponing URL's:
2012-04-04 13:45:09 +00:00
< table >
< thead >
< tr > < th > Physical Location< / th > < th > URL< / th > < / tr >
< / thead >
< tbody >
2013-05-01 14:52:18 +00:00
< tr > < td > content/index.md< / td > < td > /< / td > < / tr >
< tr > < td > content/sub.md< / td > < td > /sub< / td > < / tr >
< tr > < td > content/sub/index.md< / td > < td > /sub (same as above)< / td > < / tr >
< tr > < td > content/sub/page.md< / td > < td > /sub/page< / td > < / tr >
< tr > < td > content/a/very/long/url.md< / td > < td > /a/very/long/url< / td > < / tr >
2012-04-04 13:45:09 +00:00
< / tbody >
< / table >
2013-05-01 14:52:18 +00:00
If a file cannot be found, the file `content/404.md` will be shown.
2012-04-04 13:45:09 +00:00
2013-05-01 13:34:24 +00:00
### Text File Markup
2012-04-04 13:45:09 +00:00
Text files are marked up using [Markdown ](http://daringfireball.net/projects/markdown/syntax ). They can also contain regular HTML.
At the top of text files you can place a block comment and specify certain attributes of the page. For example:
/ *
Title: Welcome
Description: This description will go in the meta description tag
2013-05-03 14:45:42 +00:00
Author: Joe Bloggs
Date: 2013/01/01
2012-04-04 13:45:09 +00:00
Robots: noindex,nofollow
*/
These values will be contained in the `{{ meta }}` variable in themes (see below).
There are also certain variables that you can use in your text files:
2013-05-01 13:34:24 +00:00
* < code > % base_url% </ code > - The URL to your Pico site
2012-04-04 13:45:09 +00:00
2013-05-01 13:34:24 +00:00
### Themes
2012-04-04 13:45:09 +00:00
2013-07-12 14:53:39 +00:00
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
2012-04-04 13:45:09 +00:00
[Twig ](http://twig.sensiolabs.org/documentation ) for it's templating engine. You can select your theme by setting the `$config['theme']` variable
in config.php to your theme folder.
All themes must include an `index.html` file to define the HTML structure of the theme. Below are the Twig variables that are available to use in your theme:
* `{{ config }}` - Conatins the values you set in 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 direcotry
* `{{ theme_url }}` - The URL to the Pico active theme direcotry
* `{{ site_title }}` - Shortcut to the site title (defined in config.php)
2013-05-03 14:45:42 +00:00
* `{{ meta }}` - Contains the meta values from the current page
* `{{ meta.title }}`
* `{{ meta.description }}`
* `{{ meta.author }}`
* `{{ meta.date }}`
* `{{ meta.date_formatted }}`
* `{{ meta.robots }}`
2012-04-04 13:45:09 +00:00
* `{{ content }}` - The content of the current page (after it has been processed through Markdown)
2013-05-03 14:45:42 +00:00
* `{{ pages }}` - A collection of all the content in your site
* `{{ page.title }}`
* `{{ page.url }}`
* `{{ page.author }}`
* `{{ page.date }}`
* `{{ page.date_formatted }}`
2013-05-07 09:09:03 +00:00
* `{{ page.content }}`
* `{{ page.excerpt }}`
2013-05-03 14:45:42 +00:00
* `{{ prev_page }}` - A page object of the previous page (relative to current_page)
* `{{ current_page }}` - A page object of the current_page
* `{{ next_page }}` - A page object of the next page (relative to current_page)
* `{{ is_front_page }}` - A boolean flag for the front page
Pages can be used like:
2012-04-04 13:45:09 +00:00
2013-05-01 13:34:24 +00:00
< pre > < ul class=" nav" >
{% for page in pages %}
< li> < a href=" {{ page.url }}" > {{ page.title }}< /a> < /li>
{% endfor %}
< /ul> < / pre >
### Config
2012-04-04 13:45:09 +00:00
You can override the default Pico settings (and add your own custom settings) by editing config.php in the root Pico directory. The config.php file
2013-07-12 14:53:39 +00:00
lists all of the settings and their defaults. To override a setting, simply uncomment it in config.php and set your custom value.