Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve markdown rendering performance #8532

Merged
merged 2 commits into from
Sep 14, 2023
Merged

Improve markdown rendering performance #8532

merged 2 commits into from
Sep 14, 2023

Conversation

bluwy
Copy link
Member

@bluwy bluwy commented Sep 13, 2023

Changes

Improve markdown rendering performance by sharing the markdown/unified processor.

Will be doing the same for MDX next.

I tried benchmarking this, but unfortunately they don't show a big difference. Technically it should improve things though. When I finish the MDX change I could probably test it on our docs build and see if there's a clearer difference there.

Testing

Ran astro/remark/mdx tests locally.

Docs

n/a

@changeset-bot
Copy link

changeset-bot bot commented Sep 13, 2023

🦋 Changeset detected

Latest commit: 93f7b53

The changes in this PR will be included in the next version bump.

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions github-actions bot added feat: markdown Related to Markdown (scope) pkg: astro Related to the core `astro` package (scope) labels Sep 13, 2023
Comment on lines -94 to -95
const astroData = safelyGetAstroData(renderResult.vfile.data);
if (astroData instanceof InvalidAstroDataError) {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

astroData here is used for astroData.frontmatter only. I moved frontmatter to return directly from processor.render() above instead.

Comment on lines +139 to +142
const astroData = safelyGetAstroData(result.data);
if (astroData instanceof InvalidAstroDataError) {
throw astroData;
}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rendering markdown now handles and throws InvalidAstroDataError directly. Otherwise the consumer who have needed to do it manually.

@bluwy bluwy merged commit 7522bb4 into main Sep 14, 2023
13 checks passed
@bluwy bluwy deleted the markdown-perf branch September 14, 2023 10:22
@astrobot-houston astrobot-houston mentioned this pull request Sep 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat: markdown Related to Markdown (scope) pkg: astro Related to the core `astro` package (scope)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants