-
Notifications
You must be signed in to change notification settings - Fork 632
feat(doc): guard v2 markdown against custom-tag corruption; warn on whole-paragraph style #750
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
Open
herbertliu
wants to merge
2
commits into
main
Choose a base branch
from
feat/docs-v2-markdown-custom-tag-guard
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+246
−0
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Custom-tag check ignores fenced code blocks, can hard-fail on legitimate documentation payloads.
checkDocsUpdateWholeParagraphStylerunsstripMarkdownCodeRegionsbefore scanning so that*not a paragraph*inside a```fence does not warn.CheckV2MarkdownCustomTagsdoes not — it scans the rawcontentwithstrings.Contains. Since the result is wired into v2 create/updateValidate(per PR description, returns a hard error), a user pushing markdown that describes these tags inside a code fence (e.g., a tutorial paragraph containing```html\n<grid cols="2">…\n```) will be blocked even though the parser would render the fence as inert code text rather than corrupt it.Consider sanitizing the same way the sibling check does so the gating only fires on tags that the v2 parser would actually see as live markup.
🛠️ Proposed fix
func CheckV2MarkdownCustomTags(content string) string { if content == "" { return "" } + scanned := stripMarkdownCodeRegions(content) var found []string for _, t := range v2MarkdownUnsupportedTags { - if strings.Contains(content, t.prefix) { + if strings.Contains(scanned, t.prefix) { found = append(found, t.display) } }A regression test for the fenced-code case (parallel to the
whole paragraph style inside code fence is ignoredcase inTestCheckDocsUpdateWholeParagraphStyle) would lock this in.🤖 Prompt for AI Agents