[ Disclaimer: I work for the company that owns GitHub, but these
opinions are my own and not corporate policy ]
On 18/01/2021 23:36, Ivan Vučica wrote:
- Should we turn the index into a set of static pages generated from
MySQL data, which we then check in?
- If we turn each entry into a single .md file, we can perhaps
leveragehttps://github.com/allejo/jekyll-toc
There are two things you can do with GitHub Pages:
- Run a GitHub Action that builds the branch that Pages uses from
commits to another branch (using whatever static site generator you want).
- Use GitHub's version of Jekyll to do this transparently.
I generally prefer the latter where possible. There are some places
where it doesn't work (for example, if you want to run Doxygen or
similar to generate API docs on any commit to a header file), but it's
generally pretty good.
The big downside of using GitHub Pages' version of Jekyll is that you
can't run arbitrary Jekyll plugins unless they are shipped with the
GitHub install. That said, you don't need anything custom to do
aggregation like this. Jekyll's support for collections makes it very
easy to write pages that have summaries and detail both generated from
the same data (YAML file or Markdown files in a directory with YAML in
their frontmatter). I've used this, for example, for open student
projects on my University web page: each project has a description in a
.md file with who it's appropriate for, whether it was completed
already, and so on and these are built into a family of pages with
navigation links and summaries between them.
Jekyll has some rough corners, but it can generally be battered into the
right shape for most things.
David