fix: ignore html tags in inline code syntax#11821
fix: ignore html tags in inline code syntax#11821SethFalco wants to merge 1 commit intofacebook:mainfrom
Conversation
In Markdown, any special characters between inline code should be displayed literally. Before if XML tags were shown inside inline code, they were removed because they were HTML tags, but this is wrong. XML tags should only be removed if they're outside of inline code blocks.
✅ [V2]Built without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
It doesn't work in its current state due to escaping
Remember that generating a description from your content is a best-effort and imperfect heuristic: in any case, it's possible to write a tailor-made description front matter attribute to override the default we generate.
https://docusaurus.io/docs/markdown-features/head-metadata#markdown-page-description
I'm not sure this qualifies as a bug, but I'm open to improving our heuristic with the proposed change. Please add a test file in _dogfooding so that we can validate the change easily in the deploy preview
| const cleanedLine = fileLine | ||
| // Remove inline code. | ||
| .replace(/`(?<text>.+?)`/g, (_match, p1) => { | ||
| return p1.replaceAll('<', '<').replaceAll('>', '>'); |
| } | ||
|
|
||
| const cleanedLine = fileLine | ||
| // Remove inline code. |
There was a problem hiding this comment.
comment is wrong, we don't remove them anymore but we unwrap them
| // Remove inline links. | ||
| .replace(/\[(?<alt>.*?)\][[(].*?[\])]/g, '$1') | ||
| // Remove inline code. | ||
| .replace(/`(?<text>.+?)`/g, '$1') |
There was a problem hiding this comment.
I understand why you moved this to the top: to escape tags before HTML tags get removed
Unfortunately, escaping doesn't work, so one solution that could work would be to use marker tags for < and > found in inline code blocks: you could replace these markers with their former < > values after having removed the HTML tags


In Markdown, any special characters between inline code should be displayed literally. Before if XML tags were shown inside inline code, they were removed because they were HTML tags, but this is wrong. XML tags should only be removed if they're outside of inline code blocks.
Pre-flight checklist
Motivation
The metadata on my SVGO.dev is screwy. :c
This fixes the bug so that the metadata shows the correct value in future.
Test Plan
The unit tests should suffice.
I can also demonstrate this works through a page on Docusaurus.io that was affected by this. This is easiest to visualize through Open Graph embeds.
Production
This Branch
Test links
Deploy preview: https://deploy-preview-11821--docusaurus-2.netlify.app/
Related issues/PRs