I've started over with riki development. My previous two attempts ended in complicated messes, but at least I learned some things about how riki should be designed. This time I'm taking it slow, and building fundamental building blocks first.

My friend Richard wrote me a PageSpec parser. I'm not much of a parser person, so this helped me a lot.

I've since implemented page names, and resolving a link on a page to another page (LinkingRules). There's a start of an architecture document, and a couple of other notes on how ikiwiki works.

Progress will be slow, but I hope to get to the goal this time.

Below is my current road map. It's not complete: I do not find it feasible to plan all the steps to a distant goal, only the next few steps.

prod:
  label: "riki is in production use"
  depends:
  - html
  - scan_source

html:
  label: "produces HTML"
  depends:
  - relative_links
  - parse_markdown
  - wikilinks
  - directives

scan_source:
  label: "scans source tree for files"

relative_links:
  label: "produces relative internal links"
  status: next

parse_wikitext:
  label: "parses wikitext"

parse_markdown:
  label: "parses markdown text"
  depends:
  - parse_wikitext

wikilinks:
  label: "wiki links produce HTML links"
  depends:
  - parse_wikitext

directives:
  label: "implements needed directives"
  depends:
  - meta_directive

meta_directive:
  label: "implements the meta directive"
  depends:
  - parse_wikitext

(The above should be a diagram, but because the way I do diagrams with ikiwiki broke, I'll need to implement riki to make it work, sorry.)