Add a Sphinx extension for extracting page metadata.

Review Request #13098 — Created June 5, 2023 and submitted — Latest diff uploaded

Information

beanbag-docutils
master

Reviewers

Modern versions of docutils and Sphinx allow for setting certain kinds
of page metadata, using .. meta::. This is useful for SEO/social media
page descriptions, for instance.

The problem is, these get compiled directly to a block of <meta> tags,
which isn't what we want in our case, since we render docs more
explicitly and need to use this metadata for multiple things.

This change introduces an extension that walks the document, extracts
the metadata, and stores it in the document's structured metadata
storage, where we can get access to it.

Unit tests pass.

Tested this with the Review Board documentation, verifying that data was
stored and could be used.

Commits

Files