infra: improve mdbook preprocessing infrastructure #4135
Merged
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.
Pull all the mdbook preprocessing packages into a single
mdbook_trpl
package which contains multiple binaries. Once this lands here, we will need to integrate a change intorust-lang/rust
, since there is now only the single crate instead of several.Use anyhow for the preprocessor error reporting: mdbook already uses it under the hood, so this doesn’t cost us anything, and it gets us some niceties.
Decouple the mdbook preprocessors from mdbook’s own dependencies: they are not actually using mdbook directly, but instead are working with the text it supplies via pipes, so they can use whatever versions of tools make the most sense. Specifically, drop the dependency on
mdbook
and update to using more current versions ofpulldown-cmark
andpulldown-cmark-to-cmark
.This enables some meaningful improvements to the nostarch output as well as to the general rendering of Markdown tables (coming in future PRs).
rust-lang/rust
is smooth and without issue.