Step 1: Build Posts
build_posts()
For each .md file:
- Skips index.md.
- Extracts tags and creates links.
- Records which post belongs to which tag in tag_temp/tagname.txt.
- Skips conversion if HTML is newer than the Markdown source.
- Adds tag links to the content after YAML front matter.
- Converts the file to HTML using pandoc with:
- Lua filters (dropcap.lua, mdlinks.lua)
- The HTML template
- Math support (βmathjax)
- Bibliography and citation formatting
Step 2: Build Index Page
build_index()
- Gathers all posts, extracting titles and dates.
- Groups them by year.
- Formats a collapsible
structure per year.
- Also builds a tag cloud using the tag_temp folder.
- Converts the HTML into a proper webpage via Pandoc.
Step 3: Build Tag Pages
build_tag_pages()
- For each tag (collected earlier):
- Creates a list of posts under that tag.
- Formats them into an HTML page with a heading and list.
- Converts to a webpage using Pandoc and the tag template.
Step 4: Build RSS Feed
build_rss()
- Initializes RSS metadata (title, link, description).
- For each .md file:
- Skips if the filename doesnβt start with a date (YYYY-MM-DD).
- Extracts title and description (if available).
- Adds an
- entry with pubDate, title, description, and link.
- Saves the feed as feed.rss.