Entity Definition: prose (built-in)

→ Data

Type Diagram

classDiagram
    class prose_item["prose.item"] {
          *id : string
          title : string
          order_key : string
          depth : integer
          headings : prose.item.headings.item[]
          *mime_type : string
          *content : string
    }
    class prose_item_headings_item["prose.item.headings.item"] {
          *id : string
          *title : string
          *level : integer
    }
    prose_item *-- prose_item_headings_item

Entity: prose

metadata

title: Prose collection
description: Collection of prose records, one per Markdown file in contents_dir. Each
  record carries the file's id, optional title, and content.

Type: prose.item

metadata

title: Prose record
description: One Markdown file parsed into an id / title / content record.

attributes

id type required references validation metadata
id string yes {title: Prose id, description: Stable identifier derived from the Markdown file's path (without extension).}
title string {title: Prose title, description: Display title taken from the first H1 heading of the Markdown source. Absent when the source has no H1.}
order_key string {title: Prose order key, description: 'Sort key for reading order, derived from the id: sorting prose records by this string yields folder pre-order (each folder''s index first, then its subtree, contiguous).'}
depth integer {title: Prose outline depth, description: 'Heading depth of the record in the folder outline, derived from the id (the root index is 1). A folder''s index sits one level above its files.'}
headings prose.item.headings.item[] {title: Prose headings, description: 'Headings found in the Markdown content, in document order, as link-target nodes. Each carries the GitHub-compatible slug of its text as `id` (deduplicated within the content), the heading text as `title`, and its `level` (1-6). A cross-document link to a heading resolves against these.'}
mime_type string yes {title: Prose MIME type, description: MIME type of the source (currently always `text/markdown`). A record-level header like a blob record's; the payload it tags is `content`.}
content string yes {title: Prose content, description: 'Markdown source of the file. Relative links to other prose documents are normalized to their `node:` form (`[t](other.md)` → `[t](node:/prose/<id>)`); the template `relink` filter resolves these back to URLs.'}

Entity: prose.headings

metadata

title: Prose headings
description: Headings found in the Markdown content, in document order, as link-target
  nodes. Each carries the GitHub-compatible slug of its text as `id` (deduplicated
  within the content), the heading text as `title`, and its `level` (1-6). A cross-document
  link to a heading resolves against these.

Type: prose.item.headings.item

metadata

title: Prose heading
description: One heading, a link target within the prose content.

attributes

id type required references validation metadata
id string yes {title: Heading id, description: 'GitHub-compatible slug of the heading text, matching the id the renderer stamps on the heading. Deduplicated within the content by a `-N` suffix.'}
title string yes {title: Heading title, description: Text of the heading.}
level integer yes {title: Heading level, description: 'Heading level, 1 (H1) through 6 (H6).'}