docs: Add Marp slide deck with mkdocs integration#19
Conversation
Comprehensive ~28-slide presentation covering: the problem of validating ontology terms, LinkML dynamic enums and bindings, the three composable plugins, multi-level caching, anti-hallucination patterns, the DisMech real-world use case, CLI examples, and future directions. Also adds a gen-slides justfile recipe for building HTML/PDF output via Marp CLI. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…rrative - Add early slides on what ontologies are, biomedical ontology landscape (GO 45k terms, CHEBI 180k, etc.), and CURIE identifier pattern - Reframe LTV as a general data validation framework first: any data referencing ontology terms needs validation (clinical, genomic, KBs, EHRs) - Move AI hallucination content later as a high-impact specific use case - Add "DisMech + AI: Validation at Scale" slide connecting both themes - Expand problem statement with obsolescence and scope violation examples - Now ~33 slides total Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add slide explaining the gap in core LinkML: linkml-validate silently ignores dynamic enum constraints (too permissive), doesn't check meanings or labels against ontologies - Add vskit vs LTV comparison slide: build-time materialization vs runtime validation, with trade-off table (complementary approaches) - Update LTV intro slide to clarify it's a standalone complement to core LinkML, not part of linkml-runtime Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Build HTML from marp markdown via gen-slides justfile recipe - index.md wraps the HTML in an iframe (same pattern as valuesets repo) - mkdocs nav points to index.md, not the raw marp file
|
Claude finished @cmungall's task —— View job PR Review: Marp Slide Deck IntegrationI've thoroughly reviewed this PR that adds a presentation slide deck for linkml-term-validator. Here's my detailed feedback: Todo List:
✅ Overall Assessment: Excellent ImplementationThis PR adds a well-structured presentation that follows established patterns and integrates cleanly with the existing documentation system. 🎯 StrengthsContent Quality
Build Integration
File Organization🔧 Technical Implementation ReviewBuild System (justfile:113-115)gen-slides:
cd docs/slides && npx @marp-team/marp-cli ltv-slides.md --allow-local-files -o ltv-slides.html
mkdocs Integration (mkdocs.yml:45)nav:
- Explanation:
- Presentation: slides/index.md
Duplicate Recipe Issue
|
There was a problem hiding this comment.
Pull request overview
Adds a Marp-based presentation slide deck to the documentation site and wires it into MkDocs navigation, along with Just recipes to (re)generate the rendered outputs.
Changes:
- Add Marp slide source (
docs/slides/ltv-slides.md) and a pre-built HTML export (docs/slides/ltv-slides.html). - Add an MkDocs page wrapper (
docs/slides/index.md) and link it intomkdocs.ymlnav. - Add
gen-slidesJust recipes intended to generate HTML/PDF outputs.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| project.justfile | Adds a gen-slides recipe to build slide outputs via npx marp-cli. |
| justfile | Imports project.justfile and adds another gen-slides recipe. |
| mkdocs.yml | Adds “Presentation” to the MkDocs nav under “Explanation”. |
| docs/slides/index.md | MkDocs page that links to and embeds the generated slides via iframe. |
| docs/slides/ltv-slides.md | Marp markdown source for the slide deck. |
| docs/slides/ltv-slides.html | Pre-built Marp HTML export of the slide deck. |
You can also share your feedback on Copilot code review. Take the survey.
|
|
||
| # Generate presentation slides in all formats | ||
| gen-slides: | ||
| cd docs/slides && npx @marp-team/marp-cli ltv-slides.md --allow-local-files -o ltv-slides.html | ||
| @echo "Slides generated in docs/slides/" |
| @mkdir -p docs/slides/output | ||
| npx @marp-team/marp-cli docs/slides/ltv-slides.md -o docs/slides/output/ltv-slides.html | ||
| npx @marp-team/marp-cli docs/slides/ltv-slides.md -o docs/slides/output/ltv-slides.pdf | ||
| @echo "✅ Slides built: docs/slides/output/ltv-slides.html and ltv-slides.pdf" |
| npx @marp-team/marp-cli docs/slides/ltv-slides.md -o docs/slides/output/ltv-slides.html | ||
| npx @marp-team/marp-cli docs/slides/ltv-slides.md -o docs/slides/output/ltv-slides.pdf |
| # Generate presentation slides in all formats | ||
| gen-slides: | ||
| cd docs/slides && npx @marp-team/marp-cli ltv-slides.md --allow-local-files -o ltv-slides.html | ||
| @echo "Slides generated in docs/slides/" |
|
|
||
| ## Preview | ||
|
|
||
| <iframe src="ltv-slides.html" width="100%" height="600px" style="border:1px solid #ccc; border-radius: 4px;"></iframe> |
| theme: default | ||
| paginate: true | ||
| backgroundColor: #fff | ||
| backgroundImage: url('https://marp.app/assets/hero-background.svg') |
Adds a presentation slide deck for linkml-term-validator.
Contents (~30 slides)
Setup (matching valuesets repo pattern)
docs/slides/ltv-slides.md— Marp sourcedocs/slides/ltv-slides.html— Pre-built HTMLdocs/slides/index.md— mkdocs wrapper with iframe embedjustfile—gen-slidesrecipemkdocs.yml— nav points to wrapper, not raw marp