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
Implement validation of anchors in links to other pages #3463
Conversation
This file contains 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
Otherwise currently `log.getEffectiveLevel()` always reports `1` and doesn't allow optimizing away debug logging statemets.
Example message: WARNING - Doc file 'dev-guide/themes.md' contains a link '../user-guide/configuration.md#google_analytics', but the doc 'user-guide/configuration.md' does not contain an anchor '#google> It is not enabled by default. To enable, use config `validation: {anchors: warn}` The implementation only detects Markdown anchors, not raw HTML anchors. As such it may have false positives. ```markdown <a id="undetectable-anchor"></a> ## Detectable anchor ``` There are plans to improve that in the future. But that's just about user-authored HTML. As for HTML that Markdown extensions insert: it will also work correctly if they insert the HTML as etree elements and will never work if they insert it via `htmlStash`. Basically the same rules as for what `toc_tokens` is able to detect.
pawamoy
reviewed
Nov 11, 2023
pawamoy
approved these changes
Nov 11, 2023
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.
Nice 👍
ultrabug
approved these changes
Nov 13, 2023
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.
👍
This is great, thank you! |
Thanks 😄 consider sponsoring the project (info) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Example message:
It is not enabled by default. To increase to warning level, use config
validation: {anchors: warn}
The implementation only detects Markdown anchors, not raw HTML anchors. As such it may have false positives.
The implementation now detects both Markdown anchors and raw HTML anchorsBut that's just about user-authored HTML.
As for HTML that Markdown extensions insert: it will also work correctly if they insert the HTML as etree elements and will never work if they insert it via
htmlStash
. Basically the same rules as for whattoc_tokens
is able to detect.Extra commits:
File
hashable, without__eq__