Module Memoir_content.Content_loader

File-based content loading.

Single source of truth for enumerating content files and building the blog/journal listing entries injected into section index pages. (The RSS-feed loader lives in Memoir_lib.)

type entry = {
  1. title : string;
  2. date : Content_types.Date.t option;
  3. description : string option;
  4. url : string;
}

A listing entry rendered onto blog/journal index pages.

val walk_files : string -> string list

Every file under the given root directory, recursively, skipping the generated _site directory.

val list_entries : dir:string -> url_prefix:string -> entry list

Listing entries for the markdown files directly in dir (excluding index.md), each URL prefixed with url_prefix, sorted newest-first (undated entries fall back to title order; titles missing from frontmatter fall back to the file's slug).