Features

created: Fri, 06 Sep 2024 15:21:36 GMT

Implemented features.

  • server-side rendering with no run-time dependencies on data providers
    • rendering is happening at the build time
    • all links and references are checked at the build time
    • page assembly and processing time is irrelevant
    • fetching and caching data from providers at the build time
  • markdown files organized in folders, under version control (git)
  • metadata conventions for markdown files:
    • first header is title, not rendered as Markdown
    • first paragraph is either metadata (valid YAML), or description
    • second paragraph is description, unless the first paragraph
  • metadata fields for each markdown file:
    • title
    • description
    • created, modified, created_ts, modified_ts
      • timestamps are set either by file attribute, or deducted from git
    • author
      • deducted from the first git commit
    • file
      • the name of the file
    • path
      • the folder file located in
    • slug
      • URL to refer to the page (file name without extension and path)
    • skip
      • a flag to exclude file from listing
    • hero
      • a flag to include page into the main index (front page)
  • metadata conventions for folders:
    • file _index.md provides metadata, such as
      • title
      • description
  • if file _links.md exists in the folder, it is appended to each markdown file processed, recursively
    • allows keeping all links in one place, and refer to them with Markdown link references
  • folder index pages receive list of files in them, sorted by create_cs metadata field
  • data providers:
    • mapy.cz POI and routes, responses are cached