A number of static site generators and/or Markdown implementations support the notion of a "front matter", a (normally) YAML list pre- pended before the document text, containing document metadata. E.g.:

---
title: how to blog
author: Joe Bloggs
---
document goes here

IkiWiki has (currently) made a deliberate decision not to support these (or more precisely, the similar but different Pandoc-style block with lines prefixed by '%'). Quoting mdwn.pm (here in the section that handles Discount):

# Disable Pandoc-style % Title, % Author, % Date
# Use the meta plugin instead
$always_flags |= Text::Markdown::Discount::MKD_NOHEADER();

It would be good to support YAML-formatted pre-pended metadata, translating recognised keys into meta definitions, to aid migration between IkiWiki and other static site generators: it would aid the same source files being useable in multiple systems.

This would require the mdwn plugin to be more closely-coupled to the meta plugin, but not the reverse. I think this wouldn't be a big problem, as the prospect of an IkiWiki site that was using the mdwn plugin but not the meta plugin is fairly remote. And we could make front-matter handling configurably on or off.

References: * Pandoc extension yaml_metadata_block * Hakyll 'pages and metadata' * Jekyll 'front matter'

Jon, 2021-10-15

Alternatively, a new plugin with a filter hook would be able to do the necessary key translations to meta definitions. -- awesomeadam, 2024-07-31