You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.3 KiB
2.3 KiB
Résumé Pipeline (Reference)
- Data flow
- Mirror table (praxis: Mirrors and Canaries)
- How to edit the résumé
- Schema (RESUME_SCHEMA: 1)
Diátaxis: reference. How résumé content flows from authoring to the rendered site. See ADR 0001 for why.
Data flow
resume.org canonical source (you edit ONLY this) │ node scripts/org-to-json.mjs resume.org resume.json (one-way, prebuild) ▼ resume.json declared mirror — generated, never hand-edited │ ├─► terminal ls / sumfetch / summary read resume.json └─► resume.html plain page reads resume.json │ next build && export ▼ docs/ (github.io) build output — GitHub Pages, CNAME nullis.me
Mirror table (praxis: Mirrors and Canaries)
| Fact | Canonical home | Mirror(s) | Canary |
|---|---|---|---|
| résumé content + profile | resume.org | resume.json | yarn resume:check (regen+diff) |
| rendered terminal / plain | resume.json | DOM at runtime | build reads mirror, no copy |
A mirror without a canary is a defect. resume.json's canary is the
--check mode of the parser, run in CI and before build.
How to edit the résumé
- Edit
resume.org. To add an item, copy an item heading, mint a fresh:ID:(org-id-get-createoruuidgen), fill the drawer + bullets. - Run
yarn resume:build(or justyarn dev/yarn build— it runs first). - Commit
resume.organd the regeneratedresume.jsontogether, so the canonical change and its mirror land in one commit.
Schema (RESUME_SCHEMA: 1)
* Sectionheadings: Profile, Experience, Projects, Education, Organizations, Publications, Skills.** Itemheadings carry an:ID:and typed scalar fields in a drawer.- bullet→ the item'sbulletsarray.- tag :: value→ named arrays; Education usesdegree,honor,course.- Profile: drawer → identity fields; prose body →
bio. - Skills:
** Categoryheadings; bullets → that category's list.
The parser contract lives at the top of scripts/org-to-json.mjs.