Files
soleprint/soleprint/common/theme/theme.example.toml

46 lines
2.0 KiB
TOML

# A run file: every ad-hoc page a project has, and what each one is about.
#
# ./ctrl/theme.sh run soleprint/common/theme/theme.example.toml
# ./ctrl/theme.sh run <file> --list # resolved, nothing written
# ./ctrl/theme.sh run <file> --only orders # just one page
# ./ctrl/theme.sh run <file> --check # nothing written; exit 1 if stale
#
# Copy it next to the project it describes and edit the pages — a real one names a
# client's paths, so it lives with the client's code, never committed to spr.
#
# Paths are relative to THIS FILE, not to where the command runs. A page's own
# value replaces the default for every key. Unknown keys are refused.
#
# Per page, always in this order:
# 1. scaffold — only if the page file does not exist
# 2. bake — parts its markup uses go in, parts it dropped come out
# 3. contract — <export>/<name>.md: exact paths, the rebuild command, the parts
# to add, the page as it stands, and every context file inlined.
# That file is what goes to the LLM.
[defaults]
export = "out/contracts" # each page's contract lands at <export>/<name>.md
# An existing page, with the code it is about. `parts` is empty: nothing to add,
# so the contract is for maintaining what is there.
[[page]]
name = "jira"
page = "../../artery/veins/jira/ui/index.html"
context = ["../../artery/veins/jira/api/routes.py"]
# A page that does not exist yet, against a database schema (modelgen's JSON,
# the same file docgen's `schema` book reads). The first run scaffolds it; the
# contract then asks for a live feed and knobs, and inlines the schema so the
# field names come from the real tables.
[[page]]
name = "orders"
title = "Orders"
page = "out/scratch/orders/index.html"
parts = ["feed", "params", "split"]
context = ["../../atlas2/docgen/fixtures/shop.json"]
# A served page with nothing to add and nothing it is about:
# [[page]]
# name = "mercadopago"
# page = "../../artery/shunts/mercadopago/templates/index.html"