50 lines
1.6 KiB
Markdown
50 lines
1.6 KiB
Markdown
# BASEMENT QUEST
|
|
|
|
the kids in the basement are gonna play some rpg in on the listserv
|
|
|
|
## about
|
|
|
|
this is an iteration on my usual pandoc static site generator
|
|
|
|
## order
|
|
|
|
instead of relying on literally naming files `0001-me-first.md` and `0002-me-second.md` so they are concatenated in the correct order, this repo introduces `basement.order`
|
|
|
|
in the file, you can `ls ./**/**` to list all files, and then order them in the way that is most pleasing to you
|
|
|
|
NOTE: you will of course need to update `basement.order` each time you add a document to the source.
|
|
|
|
## documents
|
|
|
|
documents are markdown with yaml frontmatter. they are compiled into:
|
|
|
|
- html with spoilers for game ref
|
|
- 'public' html sans spoilers for players
|
|
- rss feed for syndicated documents
|
|
|
|
## metadata
|
|
|
|
every markdown document includes yaml frontmatter metadata
|
|
|
|
fields:
|
|
|
|
- title (string): title of the document. mostly for rss item id
|
|
- created (date): date of creation. probably needs to be in `date -R` format.
|
|
- updated (date): date of most recent update. mostly of rss. probably needs to be in `date -R` format.
|
|
- public (bool)[^1]: spoiler-free content
|
|
- syndicated (bool)[^1]: should this document be included in the rss feed?
|
|
|
|
[^1]: These are not true booleans. Pandoc templates cannot evaluate the value of a field. Only its presence. This could say `public: astronauts` or `syndicated: spaghetti`. You can only set these flags on and off by including or omitting the field entirely. This is probably not the way you would expect it to work, so watch out.
|
|
|
|
example:
|
|
|
|
```
|
|
---
|
|
title: notes
|
|
created: 2022-07-24
|
|
updated: 2022-07-25
|
|
public: yes
|
|
syndicated: yes
|
|
---
|
|
```
|