Skip to content

feat: declare the vendored modules and check the document schema - #40

Merged
mcanouil merged 2 commits into
mainfrom
feat/declare-vendored-dependencies
Sep 6, 2026
Merged

feat: declare the vendored modules and check the document schema#40
mcanouil merged 2 commits into
mainfrom
feat/declare-vendored-dependencies

Conversation

@mcanouil

@mcanouil mcanouil commented Sep 6, 2026

Copy link
Copy Markdown
Owner

The shared Lua modules move from _extensions/elevator/_modules/ to _extensions/elevator/_vendor/, declared in a new _extensions/elevator/_dependencies.yml manifest.
Each file now names the release it came from and carries a digest that can be checked against the published copy.
The manifest declares html.lua, logging.lua, schema-check.lua and string.lua from quarto-lua-modules at 2.1.0, and schema.lua from quarto-wizard at 3.4.0.
The entry point loads the modules from their new location.

The extension now checks the document configuration against _schema.yml while the document renders.
The check runs from the shortcode handler, because the extension contributes a shortcode and no filter.
It reports what the schema does not accept and never stops a render, and a schema that cannot be read is reported while the document still builds.

The extension reads its configuration from extensions.elevator, which is the place the validator reads and the form the documentation uses, so the check covers the documented configuration.

The documentation site renders clean.
A probe document set enabled: "maybe" and an unrecognised volume key under extensions.elevator, and gave the shortcode call an out-of-range volume and an unknown attribute.
The check named all four faults and the render still completed.
Removing the vendored schema-check.lua fails the render, which confirms the module is genuinely loaded.

Two markdownlint findings in CHANGELOG.md are older than this branch and stay untouched, and the historical 1.5.0 entries still name _modules/ because they record what shipped at the time.

@mcanouil mcanouil added the Type: Enhancement 💡 Issues related to enhancements, improvements, new features, or new analyses label Sep 6, 2026
@mcanouil mcanouil self-assigned this Sep 6, 2026
@mcanouil mcanouil changed the title feat: declare the vendored modules and check the document against the schema feat: declare the vendored modules and check the document schema Sep 6, 2026
@mcanouil
mcanouil marked this pull request as ready for review September 6, 2026 21:36
@mcanouil
mcanouil merged commit a3943d1 into main Sep 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Type: Enhancement 💡 Issues related to enhancements, improvements, new features, or new analyses

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant