From 7806ca6c9c72657dcb6f316656a7e4bd4abff629 Mon Sep 17 00:00:00 2001 From: Starfall Date: Sat, 23 Oct 2021 13:48:08 -0500 Subject: strike: update README with thoughts on front matter/metadata --- README | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/README b/README index 80ad5c4..4a8b50a 100644 --- a/README +++ b/README @@ -10,16 +10,18 @@ A static site generator that does exactly what we need it to and no more. (c) 2021 Starfall , all rights reserved until I decide it's in a good enough state for others to use. Strike has simple goals: - ✓ Read markup files from source folder -2. Convert to HTML - ✓ Add boilerplate (head, header, footer, etc) - ✓ Save to output folder +1. Read HTML page contents from files in the source folder +2. Add boilerplate (head, header, footer, etc) +3. Save to output folder -And some stretch goals to turn it into a blog generator: +And some stretch goals: * Create an extra page listing all generated pages in order of creation date (newest first) * Add links to next & previous generated pages * Turn the extra page into a flexible component that can be added into any other page * Use different templates on different files + * Front matter (see below) + * Markup parsing (see below) + * More robust created/modified date handling - needs more specification (markup changes vs. template changes, caching original creation date because posix systems don't actually provide that, etc.) strike.ini file --------------- @@ -30,6 +32,7 @@ Markup ------ TBD. No markup is used at the moment. + reStructuredText fulfills most of our desires: https://docutils.sourceforge.io/rst.html It generates
s and has specific markup for page titles. @@ -38,7 +41,7 @@ Templating TBD. -Right now, templates are just HTML in a Python f-string. You have access to the following variables: +Right now, templates are just HTML in a Python f-string. You can use these variables: {content} : Complete file contents. {meta[title]} : Filename, with extension dropped. @@ -47,5 +50,8 @@ Right now, templates are just HTML in a Python f-string. You have access to the Front matter ------------ -None for now. - +Current plan: +* Front matter is indicated by starting a file with a line that contains exactly three dashes ( --- ) and nothing else. +* Front matter begins on the line after that and will be in Python configparser format. +* Front matter is closed by another line that containts exactly three dashes and nothing else. +* Front matter is stored into the 'meta' dict, so you can overwrite meta[title] or meta[date] if you want to. -- cgit