. route automatically build to index.html
You need to setup YAML configuration with name
simpleblog.yml. In that file you need to define paths for following
output : ../static pages : ./pages assets : ./assets pieces : ./pieces layouts: ./layouts
output is a folder where static files will be generated.
pages is a folder containing all your pages organized in any way. Scanning this folder is recursive, so you can
create folder structure however you want, and it will not have any meaning to the created site.
This is folder that will be completely copied to the static folder when building a site. All files inside this folder are on the same level as layout. So if you have a css folder with styles.css file inside of an assets folder you would reference it in your layout like they are on the same folder. For example:
<link rel="stylesheet" href="css/styles.css">
Layouts will be treated as a php file, even if it has other extension. Default layout is
In layout you can use properties that are defined i YAML block of a page.
--- title: Home Page ---
For example if you have above code in your page, you can use that value in layout with
<?php $this->prop('title') ?>
To put content of a page somewhere in your layout you need to add this:
<?php $this->content() ?>
You can add pieces of your blog with
<?php $this->piece('piece-name') ?>. Piece name is same
as a file name of php file in pieces folder (which is defined in simpleblog.yml config file).
Layouts and Pieces share same methods and properties. Only it doesn't make sense to to use $this->content() in piece.
You can use following properties to generate code in your layout or piece.
$this->page - Associative array which represents requested page. It contains properties defined in in yaml
block of a page.
`$this->pages` - array of all parsed pages from pages folder
Pieces are partial parts of a site. This can be used to generate navigation.