-
-
Notifications
You must be signed in to change notification settings - Fork 8.8k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Docs / blog / pages: createFrontMatter callback to transform front matter #5568
Comments
Agree, and I plan to add a hool like This has been discussed in a few issues already (like #5478 (comment)) and I plan to implement this soon |
@Josh-Cena indeed this issue is important as it solves multiple use-cases in a generic way. It's not my main focus currently as it doesn't really block 2.0, so if you want to work on it 👍 Maybe we could use a
My proposal: const config = {
// we'll later add more markdown-related global configs
markdown: {
parseFrontMatter: async ({
plugin,
content, // markdown file content string
defaultParseFrontMatter // reuse existing utils parseFrontMatter
}) => {
const contentWithoutCopyright = removeCopyright(content);
const { frontMatter, markdown } =
plugin.name === "docs" && plugin.id === "ios"
? await customiOSParser(contentWithoutCopyright)
: defaultParseFrontMatter(contentWithoutCopyright);
return {
frontMatter: customFrontMatterNormalization(frontMatter),
markdown
};
}
}
}; We should avoid adding a Does it make sense? |
Yes, this makes sense👍 And will probably be the first step towards #4625 |
Another use-case to disable frontmatter draft: #7995 |
Use-case: reading frontmatter of other locales (mostly the default locale). IE when building fr, access both en+fr frontMatter |
Use-case: process |
💥 Proposal
We have a collection of Markdown articles that we want to use a) as a data source for a Docusaurus site and b) as a data source for Pandoc to generate pdfs from them via Latex (these will be printed out and used in schools and universities).
Pandoc expects multiple authors to be listed in the frontmatter "author" field, while Docusaurus expects them to be listed in the "authors" field. It would be great if the blog plugin would either also accept multiple authors in the "author" field or (even better) offer a method to provide a custom metadata provider that can override the default behaviour of the blog plugin and create the blog metadata from the Markdown frontmatter. Maybe this is already possible, but I could not find a way in the docs or by taking a quick look at the source code.
Keeping Markdown source files for blog articles decoupled from any specific publishing pipeline does make sense in general and such a customization option in Docusaurus would make it much easier to do so.
The text was updated successfully, but these errors were encountered: