Pages
Pages are the fundamental building blocks of your website. Below you can find out how to setup a page from scratch.
Choose your page slug
The page slug is its name in the url, in a Wagon site it's defined by the filename without extension. It should only contains alphabetic characters, numbers and "-" or "_". The full path of a page contains its parent (and ancestors).
+ index
+ company
+ presentation
In this example, the presentation page full path will be /company/presentation
.
Use the command line generator
bundle exec wagon generate page <<your page slug>>
You will be asked 2 things:
- whether you want HAML template: answer 'no' if you're not familiar with HAML.
- whether you want a localized template: answer 'no' (multilingual is another topic...)
It will generate a file: app/views/page/YOUR PAGE SLUG.liquid.
Note: In the generate command, you can set the full path of your page:
bundle exec wagon generate page company/presentation
.
It will create app/views/pages/company.liquid and app/views/pages/company/presentation.liquid.
Page header
Before the page content, there is a header, enclosed by "---". It contains meta-information about the page using the yaml syntax.
---
title: Page title
published: true
listed: false
---
If your page extends another one, remember it should be the first instruction after the header.
Here are some possible options that can be used in the page header:
Property | Description |
---|---|
title | The page title is used in the backoffice and in your template. You can use {{ page.title }} to display it in your page template. |
published | If set to false, the page won't be publicly visible once hosted in an engine. It will be visible within the Wagon webserver. |
listed | The listed option is used to decide if the page should be listed in the menu. |
position | Set the position among sibling pages. This is used for ordering in menus. Accepts integers (1, 2, 3, ...) |
seo_title | Set the title for SEO, you can use it through the {% seo %} tag or {{ page.seo_title }} in your page template. |
seo_description | Same as seo_title for the meta description. You can use {{ page.seo_description }} in your page template. |
seo_keywords | Same as seo_description for the SEO keywords. You can use {{ page.seo_keywords }} in your page template. |
redirect_url | Set a redirection to the given url (301). |
Updated less than a minute ago