Pico/content/index.md
Gilbert Pellegrom f9ebb4d75c v0.6.2
[New] Added "content" and "excerpt" fields to pages
[New] Added excerpt_length config setting
2013-05-07 10:09:03 +01:00

4.2 KiB

/* Title: Welcome Description: This description will go in the meta description tag */

Welcome to Pico

Congratulations you have successfully installed Pico. Pico is a stupidly simple, blazing fast, flat file CMS.

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" folder and that becomes a page. For example this file is called index.md and is shown as the main landing page.

If you created folder within the content folder (e.g. content/sub) and put an index.md inside it, you can access that folder at the URL 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) and 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:

Physical LocationURL
content/index.md/
content/sub.md/sub
content/sub/index.md/sub (same as above)
content/sub/page.md/sub/page
content/a/very/long/url.md/a/very/long/url

If a file cannot be found, the file content/404.md will be shown.

Text File Markup

Text files are marked up using Markdown. 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
Author: Joe Bloggs
Date: 2013/01/01
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:

  • %base_url% - The URL to your Pico site

Themes

You can create themes for your Pico installation and in the "themes" folder. Check out the default theme for an example of a theme. Pico uses Twig 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)
  • {{ 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 in your site
    • {{ page.title }}
    • {{ page.url }}
    • {{ page.author }}
    • {{ page.date }}
    • {{ page.date_formatted }}
    • {{ page.content }}
    • {{ page.excerpt }}
  • {{ 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:

<ul class="nav">
	{% for page in pages %}
	<li><a href="{{ page.url }}">{{ page.title }}</a></li>
	{% endfor %}
</ul>

Config

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 list all of the settings and their defaults. To override a setting simply uncomment it in config.php and set your custom value.