Frontmatter¶
Deelan uses separate frontmatter schemas for posts and snippets.
File Naming and Discovery¶
Default discovery scans only:
content/posts/*.mdcontent/snippets/*.md
Subfolders are ignored unless explicitly included via repeated:
--include-subfolder <name>
Examples:
--include-subfolder synthetic--include-subfolder experiments/v2
Discovered files must be:
- lowercase kebab-case filename
- single
.mdextension
Valid:
partitioning-primer.mdsql-dedupe.md
Invalid (excluded with warnings):
Foo-bar.md(uppercase)foo.bar.md(multiple extensions)foo_bar.md(underscore)
Identity Derivation¶
typeinferred from directory:content/posts/*->postcontent/snippets/*->snippet
idgenerated from type + slug:post--<slug>snippet--<slug>
Examples:
content/posts/partitioning-primer.md->post--partitioning-primercontent/snippets/pandas-groupby.md->snippet--pandas-groupby
type is optional in frontmatter. If provided, it must match inferred type.
id should not be provided in frontmatter.
Frontmatter Schemas¶
Post¶
Required:
titletagsversion
Optional:
type(post)descriptionrelated_ids(post--.../snippet--...)created_atupdated_atstatus(draft | published | archived)
Snippet¶
Required:
titletags
Optional:
type(snippet)descriptionrelated_idscreated_atupdated_at
Snippets do not support version or status.