Main site.
Pages may be created by writing files under the articles/
directory. The system will react to files with .html
, .txt
, .md
, or .url
.
Each file may have a header that is structured like:
---
title: Hello, world!
author: Sean Morris
date: 2020-01-13
short_title: Hello
index:
- name: menu
weight: -100
- name: footer
weight: -100
...
NOTE: A header must begin with the ---
line and end with the ...
line. the normal page content can proceed after this point.
If a page is indexed, then it may appear in autogenerated menus or other lists of links, rather than having to manually be linked to from another pages. Examples include the top bar, or the hamburger menu on the existing site.
If a page has a short_title
, it will be used for the link, rather than its full title. This is optional but recommended, especially when the title field is long.
To participate in an index, a page must specify header information in the following form:
title: Page Name
short_title: Page
index:
- name: menu
weight: -100
- name: top-bar
weight: -100
The header can specify a weight
property for each index the page should be listed in.
When the system sees a new file of type .txt
, .md
in the articles/
directory, it will use pandoc to process it into HTML and build it with fragments/article-layout.frag.html
. The resulting HTML file will have the same name as the original, with is extension changed to .html
.
The system will simply process any .html
files found in articles/
into pages using fragments/layout.frag.html
, which is slightly different from above. It will still use pandoc, so the header section above applied to files of this type as well.
.url
files are a bit different. They're not actually pages, but external links. They consist of a header (above) and a url. Thats it. Once you've got the external links in the index, they can appear in menus and even be sorted with the weight
property.
Markdown reference: https://www.markdownguide.org/basic-syntax/
Current Public Site: https://opennetworkfoundation.github.io/opennetworkfoundation.org/
- Add image cropper & media processor.
- Figure out what to do with the contact form (heroku? aws?).
- Social media links in footer should be linked or removed.
- Apply cloudflare cache to ensure no hug of death occurs on pages.