Repository navigation
Feat: auto-number figure and table captions - #8
Open
mahdyarief wants to merge 1 commit into
Open
mahdyarief wants to merge 1 commit into
mahdyarief wants to merge 1 commit into
Conversation
…e-captions) md2pdf emits plain <p><img></p> and <table> markup with no semantic figure/table wrapper, making CSS-only captioning impossible. This adds a rehype plugin (src/plugins/layout/captions.ts) that wraps bare <img> and <table> nodes in <figure><...><figcaption>, with numbering driven by CSS counters (so it stays correct across page breaks). Opt-in via --figure-captions / --table-captions (or the captions config option). Also fixes a pipeline cache-key bug: the processor cache did not include captions in its key, so the option was ignored on the second document when the first had set it. Covered by tests/contract/captions.test.ts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
<p><img></p>and<table>markup with no semantic figure/table wrapper, which makes CSS-only captioning impossible.src/plugins/layout/captions.tswraps bare<img>and<table>nodes in<figure><...><figcaption>. Numbering is driven by CSS counters (so it stays correct across page breaks).--figure-captions/--table-captions(or thecaptionsconfig option). Defaults:Gambarfor figures,Tabelfor tables (labels configurable).captionsin its key, so the option was ignored on the second document when the first had set it.Test plan
tests/contract/captions.test.ts(4 cases: figure wrap, table wrap, disabled no-op, figures-only mode)🤖 Generated with Claude Code