Skip to content

feat: V3 bibliography, figures, and reference enrichment#63

Merged
ronaldtse merged 4 commits into
mainfrom
feat/v3-bibliography-figures-enrichment
Jun 18, 2026
Merged

feat: V3 bibliography, figures, and reference enrichment#63
ronaldtse merged 4 commits into
mainfrom
feat/v3-bibliography-figures-enrichment

Conversation

@ronaldtse

Copy link
Copy Markdown
Member

Summary

  • Bumps glossarist dependency to 2.8.15 (required for BibliographyData, dataset-shared Figure/NonVerbRep, FigureReference, ConceptEnricher).
  • Adds Iev::BibliographyBuilder — collects unique (source, id) pairs from every concept's sources into Glossarist::BibliographyData. Entry ids are normalized with the same rules as Glossarist::Validation::BibliographyIndex.
  • Adds Iev::FigureBuilder — hoists AsciiDoc image macros (emitted from SIMG tags by Utilities) into dataset-shared Glossarist::Figure entities, rewrites inline text to figure mentions, adds FigureReference entries to ManagedConceptData#figures. Captions merge across languages.
  • Wires the V3 export pipeline: Exporter#export now runs figure extraction, ConceptEnricher#inject_references, and persists bibliography.yaml, figures/{id}.yaml, alongside register.yaml and concepts/.
  • Bumps version to 0.4.7.

Test plan

  • bundle exec rspec — 308 examples, 0 failures
  • bundle exec rubocop — no new offenses (auto-gen-config refreshed)
  • End-to-end export on sample-db.sqlite3 produces bibliography.yaml with normalized anchors

Required for BibliographyData, dataset-shared Figure/NonVerbRep,
FigureReference, and ConceptEnricher support.
BibliographyBuilder collects unique (source, id) pairs from every
concept sources into a Glossarist::BibliographyData. Entry ids are
normalized with the same rules as
Glossarist::Validation::BibliographyIndex so consumers can resolve
anchors.

FigureBuilder hoists AsciiDoc image macros (emitted from SIMG tags by
Utilities) into dataset-shared Glossarist::Figure entities. Rewrites
inline text to figure mentions and adds FigureReference entries to
ManagedConceptData#figures. One Figure entity per unique image file;
captions merge across languages.
Exporter pipeline now runs FigureBuilder.extract!,
ConceptEnricher#inject_references, then persists concepts, figures,
bibliography, and register artifacts. Stats includes figure_count.

Bumps version to 0.4.7.
@ronaldtse ronaldtse merged commit dbeecd5 into main Jun 18, 2026
14 checks passed
@ronaldtse ronaldtse deleted the feat/v3-bibliography-figures-enrichment branch June 18, 2026 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant