Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,16 @@ shipped them.
are the engine's kebab-case keys; snake_case spellings and the short aliases
(`:math`, `:permalinks`, `:mermaid`, `:dot`, `:chart`, `:toc`) still work.

- **Composite figures** (PART 9 §4c). A **bare** `::: figure` fence is no longer
a generic container: it is one figure of ordered panels, rendering
`<figure class="carve-figure-group">` around a
`<div class="carve-figure-panels">` whose members are each a
`<figure class="carve-figure-panel">`, and a `^ ` line following the closer
becomes the group's `<figcaption>` instead of an ordinary paragraph. A fence
carrying a title or a `[label]` keeps the old shape, so a document that named
its figure divs renders as before. `Carve.parse` publishes the group as a new
`figure_group` node type.

### Changed

- **Breaking (`Carve.parse`): the published tree now matches the reference
Expand Down Expand Up @@ -89,9 +99,11 @@ shipped them.
extension.

Every `<th>` carries a `scope` - `col` in the header run, `row` for a
`|=` cell in a body row. A mandatory base class merges into the author's class
slot at its authored position rather than leading it, so `:widget[x]{#i .c}`
keeps `id` first.
`|=` cell in a body row. A cell's attribute block binds after its kind and
alignment markers, so a `{...}` following a cell's `=` marker is read as
attributes rather than rendered as cell text. A mandatory base class merges
into the author's class slot at its authored position rather than leading it,
so `:widget[x]{#i .c}` keeps `id` first.

- **Rendering corrections carried in from the engine.** A fence opened inside a
container keeps that container open, so a boundary line, a list marker at the
Expand Down
2 changes: 1 addition & 1 deletion ext/carve/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion ext/carve/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ rb-sys = "0.9"
# The Carve engine. Imported under the Rust crate alias `carve_rs` so the
# binding's own crate name (`carve-rb`) does not collide with the engine's
# package name (`carve`) in the Cargo lockfile.
carve_rs = { package = "carve-lang", git = "https://github.com/markup-carve/carve-rs", rev = "8dada737f608da124e06a1f7e43f962f98a3e68a" }
carve_rs = { package = "carve-lang", git = "https://github.com/markup-carve/carve-rs", rev = "98de7874ad2e81f69e57764562c83f4918522ac2" }
4 changes: 2 additions & 2 deletions test/corpus_ast_types_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ class CorpusAstTypesTest < Minitest::Test
EXPECTED = %w[
abbreviation abbreviation_def admonition autolink block_quote caption_number
code code_block comment critic_comment definition_description definition_list
definition_term delete div document emphasis escaped_text figure footnote
footnote_ref frontmatter hard_break heading heading_ref highlight image
definition_term delete div document emphasis escaped_text figure figure_group
footnote footnote_ref frontmatter hard_break heading heading_ref highlight image
inline_extension inline_footnote insert line_block link
link_reference_definition list list_item literal_inline math mention
paragraph raw_block raw_inline smart_punctuation soft_break span strike
Expand Down
Loading