all: use pandoc instead of asciidoctor #2

Merged
leoqi merged 85 commits from all/use-pandoc into main 2026-06-07 22:53:57 +00:00
Owner
No description provided.
- Add YAML front matter with title, author, state, labels metadata
- Replace asciidoc bibliography with pandoc citation syntax (@oxide2025, @ietf2119, @zeromq42)
- Convert [graphviz] block to prose description (deleted diagram entirely)
- Convert admonitions to fenced divs (e.g., ::: note)
- Convert source blocks to fenced code blocks
- Convert tables to pipe tables
- Replace asciidoc cross-references with markdown links
- Add pandoc references metadata for external citations
- Use pandoc citation syntax throughout

This is the first RFD converted to the new Pandoc Markdown format.
- Add YAML front matter with title, author, state, labels metadata
- Convert to minimal Pandoc Markdown placeholder
- Original content was minimal

This is the second RFD converted to the new Pandoc Markdown format.
- Add YAML front matter with title, author, state, labels metadata
- Convert asciidoc markup to Markdown equivalents
- Replace [source] blocks with fenced code blocks
- Convert asciidoc links to Markdown link syntax
- No bibliography in this document

This is the third RFD converted to the new Pandoc Markdown format.
- Add YAML front matter with title, author, state, labels metadata
- Replace bibliography entries with pandoc citation syntax (@brooks1991, @ashby2015)
- Convert asciidoc cross-references to @citekey citations
- Convert asciidoc markup to Markdown equivalents
- Replace [source] blocks with fenced code blocks
- Add pandoc references metadata for external citations
- Add ::: {#refs} ::: div for bibliography placement

This is the fourth RFD converted to the new Pandoc Markdown format.
- Add YAML front matter with title, author, state, labels metadata
- Replace bibliography entry with pandoc citation syntax (@brooks1991)
- Convert asciidoc markup to Markdown equivalents
- Add pandoc references metadata for external citation
- Add ::: {#refs} ::: div for bibliography placement

This is the fifth RFD converted to the new Pandoc Markdown format.
- Add YAML front matter with title, author, state, labels metadata
- Replace bibliography entry with pandoc citation syntax (@rfd6)
- Convert asciidoc markup to Markdown equivalents
- Add pandoc references metadata for internal citation
- Add ::: {#refs} ::: div for bibliography placement

This is the sixth RFD converted to the new Pandoc Markdown format.
- Add YAML front matter with title, author, state, labels metadata
- Replace bibliography entries with pandoc citation syntax (@solene2023, @walters2020, @lorimer2023)
- Convert asciidoc cross-references to @citekey citations
- Add pandoc references metadata for external citations
- Add ::: {#refs} ::: div for bibliography placement

This is the seventh RFD converted to the new Pandoc Markdown format.
- Add YAML front matter with title, author, state, labels metadata
- Convert to minimal Pandoc Markdown placeholder
- Original content was minimal

This is the eighth RFD converted to the new Pandoc Markdown format.
- Add YAML front matter with title, author, state, labels metadata
- Original content was just an image placeholder, so minimal content

This is the ninth RFD converted to the new Pandoc Markdown format.
- Add YAML front matter with title, author, state, labels metadata
- Convert asciidoc bibliography to pandoc citation syntax (@chu2018, @ug901, @ug479, @ug903)
- Convert asciidoc cross-references to @citekey citations
- Replace asciidoc tables with pipe tables
- Convert [source,verilog] blocks to fenced code blocks with language annotation
- Add pandoc references metadata for external citations
- Add ::: {#refs} ::: div for bibliography placement

This is the tenth and final RFD converted to the new Pandoc Markdown format.
- Create template for RFD content pages
- Use $, $, $, $, $, $ variables
- Include all necessary CSS imports
- Structure matches existing styles.css and main.js expectations
- No rfd- prefix on metadata variables
- TOC checkbox and navigation structure maintained
- Enumerate .md files instead of .adoc files
- Extract RFD number from filename instead of regex
- Extract title from YAML front matter instead of first line
- Output format: 'number title' instead of 'number first-line'
- Change reference from docs/1.adoc to docs/1.md
- Update all references in the document to use .md extension
- Agent guidelines now work with the new Pandoc Markdown format
- Convert from Asciidoc to Markdown
- Update links to use Markdown link syntax
- Change reference from docs/1.adoc to docs/1.md
- README now follows the new Pandoc Markdown format
- Remove old Asciidoc template file
- Add new Pandoc Markdown template file
- Template now works with the new build system
- Landing page generation now handled by build.sh
- No longer need nix-based landing page generation
- Simplifies the build process
- Append rfd.css content to styles.css (remove duplicate imports)
- Add pandoc-specific CSS rules:
  - .admonition styling for fenced div output
  - div#refs for bibliography placement
  - nav#toc ul.toc-list for TOC styling
  - .rfd-meta for RFD state/labels display
- Remove static/rfd.css (merged into styles.css)
- Maintain existing CSS structure and typography
- Support pandoc's HTML output format
Enables curly quotes, en/em-dashes, and ellipses in output, matching the typography rules in styles.css.
- Document that references must be inside the single YAML front matter
  block (not after a second --- separator); citeproc ignores body content
- Add +smart extension to --from flag for curly quotes and dashes
- Add mkdir -p build before writing stork.toml
- Add expected failure modes to test step
- Move references metadata into single YAML front matter block for docs/5.md, 6.md, 7.md, 10.md
- Fix build.sh to create build/ directory before writing stork.toml
- This fixes citeproc warnings and build error
- Mark 11 of 14 execution steps as done
- Add Status column to file tables (Done/Pending)
- Update Current State section with known issues from first build
- Document remaining work: landing page, nix build test, visual verification
- References were after a second --- separator, making them body content
  invisible to --citeproc
- Now inside the single front matter block so citeproc resolves @citekeys
- Remove docbuilder-src and niccup inputs from flake.nix
- Remove flake.lock entries for deleted inputs
- Replace docbuilder.mkSite with stdenv.mkDerivation using pandoc + stork
- Update devshell: pandoc/stork instead of asciidoctor/graphviz
- Update workflow to run nix build .#site instead of docbuilder action
- stork build --config is v2.x API; v1.6.0 uses --input/--output
- Update Phase 3 and Phase 4 to use correct flags
- Add version compatibility note for storkjs WASM/JS assets
- Add to known issues section
- Create templates/landing.html with RFD list
- Update build.sh to generate landing page from template
- Fix stork build to use --input/--output (v1.6.0 API)
- Remove --config flag that caused build error
- Copy landing.html directly instead of pandoc --from html5
- Pandoc has no html5 input format; landing page is a complete HTML file
- Update plan Phase 5 and known issues section
- Replace 'directory' with 'base_directory' in [input] section
- Set base_directory to '.' with full relative paths
- Use  for output filename instead of hardcoded 'www/'
- Update plan with known issue #6
Five identified faults from rendered HTML:
F1: Ordered lists use . instead of 1. (pandoc requires numbered markers)
F2: Landing page uses wrong HTML structure (needs landing-page layout)
F3: Stork index name mismatch between JS and build output
F4: CSS selectors mismatch with pandoc HTML (nav#TOC, a.anchor, etc.)
F5: Verify font loading paths work at runtime
F1: Replace . with 1. for ordered lists in docs/1.md, 3.md, 4.md, 6.md, 10.md
F2: Rewrite templates/landing.html with landing-page layout (landing.css, landing.js)
F3: Align stork index name to 'rfds' in main.js and landing.js
F4: Fix CSS selectors (nav#TOC, hide pandoc anchors, remove dead bibliography rules)
F5: Verify fonts exist at correct paths (all Lato, SourceSerif4, FiraMono fonts present)
Static JS files are served directly to the browser with no shell
expansion. The index is always at /index.st on the site root.
G1: CSS inline vs external (no change needed)
G2: Verify toc-cb sibling combinator works in pandoc template
G3: Add missing TOC, search bar, search result CSS rules to styles.css
G4: Add title and author display inside header in template
G5: Normalize pandoc nav#TOC to nav#toc (sed or CSS)
G6: Verify landing page search bar uses correct IDs with landing.js
G7: Note rfd-meta as intentional addition
Added all missing CSS rules from original docbuilder build:
- #toc-cb, #toc-label, #toc-cb:checked + #toc-label::after
- nav#toc with max-height transition
- #toc-cb:checked ~ header nav#toc
- nav#TOC > ul, nav#toc > ol.toc-list
- nav#TOC ul, nav#toc .toc-list.level-2
- nav#TOC a, nav#toc .toc-list a
- #search-wrap, #search-input, #search-input:focus
- #search-output with search result styling
- .search-message, .search-results, .search-result, .search-result-title
- .search-result-excerpt
Added document title and author metadata display before the TOC nav,
matching the original docbuilder structure.
Added sed command to normalize pandoc's nav#TOC to nav#toc for CSS
compatibility. This ensures existing CSS selectors like nav#toc work
with pandoc-generated HTML.
Removed sed normalization from build.sh. Updated CSS to only target
nav#TOC (pandoc's uppercase ID) instead of supporting both nav#TOC
and nav#toc (asciidoc's lowercase ID).
Pandoc generates nav#TOC natively. The custom template was overriding
with id="toc" which broke CSS selectors targeting nav#TOC.
Removed all asciidoc-specific selectors and replaced with pandoc equivalents:
- nav#TOC > ul instead of nav#toc > ol.toc-list
- nav#TOC ul instead of nav#toc .toc-list.level-2
- div#refs with div.csl-entry instead of ul.bibliography
- Removed .admonition-block (asciidoc) selectors
- Removed dead a.anchor::before and ul.bibliography rules
- Added pandoc code-block line anchor styling
- All TOC, search, and typography rules preserved with correct selectors
Moved RFD, Author, State, Labels into a table in the header instead
of a styled paragraph in #content. State gets a colored badge based
on its value (ideation, prediscussion, discussion, published,
committed, abandoned). Author row replaces the old .details div.
- Mark F4 as fully fixed (CSS overhauled)
- Mark G7 as done (RFC-style table)
- Update Phase 2 template example to current nav#TOC + rfd-meta table
- Mark main.js/landing.js as Done in files table
- Update remaining work section
Pandoc --citeproc emits span.citation without href links to #ref-key
anchors. Document three fix options (CSL style, sed post-process, JS).
Add work items 15 (citation linking) and renumber subsequent items.
- main.js: nav#toc -> nav#TOC (3 occurrences) to match pandoc output
- Add 1x1 transparent favicon.png, add <link rel=icon> to both templates
- build.sh: add +citations to --from flag
- Plan: add known issues #9 (JS nav#toc), #10 (citation linking),
  #11 (bare @key syntax), work items 15-16
docs/4.md:
- @brooks1991 -> [@brooks1991] (mid-sentence)
- @ashby2015 -> [@ashby2015] (mid-sentence)
- @brooks1991 -> [@brooks1991] (end of sentence)

docs/7.md:
- @walters2020 -> [@walters2020] (end of sentence)

docs/10.md:
- @ug901 -> [@ug901] (mid-sentence, 3 occurrences)
- @ug479 and @ug901 -> [@ug479; @ug901] (multiple citations in one bracket)
- bracketed_spans: inline attributes for styling
- definition_lists: glossary-style definitions
- auto_identifiers: auto-heading IDs for linking
- fenced_code_attributes: code block attributes

Plus --link-citations already added separately.
- Item 12: Build test successful
- Item 15: Citation linking working with --metadata link-citations=true
- Item 17: Stork search verified working
- Item 18: Visual rendering and citation formatting verified correct
Merge all @font-face rules into fonts.css for a single font request instead of three.
- Merge all font @font-face rules into fonts.css (3 files → 1)
- Delete lato.css, source-serif.css, fira-mono.css
- Remove @import lines from styles.css
- Generate landing page RFD list dynamically from build.sh (no hardcoded HTML)
- Extract shared search logic to search.js (deduplicates ~40 lines from main.js & landing.js)
- Update templates to load fonts.css instead of 3 separate font files
- Generate index.md with RFD table in build.sh
- Pass index.md through pandoc with landing.html template
- Keep RFD pages using rfd.html template with search bar labeled 'Search all RFDs'
- New landing template with big search bar and RFD table layout
- Added landing.css styles for search bar and table
- Create templates/index.html as single pandoc template
- Create docs/index.md with RFD table content
- Remove templates/index.md and templates/landing.html
- Build.sh passes RFD list via --metadata rfd-list to template
- Use plain quotes in TOML config (backslash-escaped quotes caused parse error)
- Fix HTML quote escaping in RFD_LIST generation
- Fix labels loop subshell variable loss
- Replace non-POSIX sed for state capitalization
- Exclude index.md from RFD loops
leoqi merged commit 109c62f3fb into main 2026-06-07 22:53:57 +00:00
leoqi referenced this pull request from a commit 2026-06-07 22:53:59 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
simplefast/rfd!2
No description provided.