Add link path test to markdownlint
What does this MR do?
Add a markdownlint rule to catch links that ../ out of the current directory then back in
- First run: https://gitlab.com/gitlab-org/gitlab/-/jobs/9458841131
Summary: 219 error(s)
- Second run: https://gitlab.com/gitlab-org/gitlab/-/jobs/9478456284 (after some cleanup in !185054 (merged))
Summary: 196 error(s)
- Third run: https://gitlab.com/gitlab-org/gitlab/-/jobs/9497748847 (after almost all links already fixed).
Summary: 2 error(s)
- Clean run: https://gitlab.com/gitlab-org/gitlab/-/jobs/9498233164 (after last two links fixed)
Summary: 0 error(s)
This also works with --fix to auto-fix issues, though it shouldn't really be needed now that everything is cleaned up and it'll be enforced in the pipeline, so any new issues should be directly related to the work you are doing. If needed though, you can use --fix or Quick fix in the on hover in VS Code.
With this new rule, we no longer need doc/.vale/gitlab_docs/RelativeLinksDoubleSlashes.yml, which was checking for both // and ../doc (which is now caught by the new rule). I've added the // check to doc/.vale/gitlab_docs/InternalLinkFormat.yml, which actually works better than before because it looks for // anywhere in the path, not just at the start.
Screenshot
In VS Code:
Related issues
Related to Docs: Clean up directory paths in docs (#517260)
Author's checklist
-
Optional. Consider taking the GitLab Technical Writing Fundamentals course. -
Follow the: -
If you're adding a new page, add the product availability details under the H1 topic title. -
If you are a GitLab team member, request a review based on: - The documentation page's metadata.
- The associated Technical Writer.
If you are a GitLab team member and only adding documentation, do not add any of the following labels:
~"frontend"~"backend"~"type::bug"~"database"
These labels cause the MR to be added to code verification QA issues.
Reviewer's checklist
Documentation-related MRs should be reviewed by a Technical Writer for a non-blocking review, based on Documentation Guidelines and the Style Guide.
If you aren't sure which tech writer to ask, use roulette or ask in the #docs Slack channel.
-
If the content requires it, ensure the information is reviewed by a subject matter expert. - Technical writer review items:
-
Ensure docs metadata is present and up-to-date. -
Ensure the appropriate labels are added to this MR. -
Ensure a release milestone is set. - If relevant to this MR, ensure content topic type principles are in use, including:
-
The headings should be something you'd do a Google search for. Instead of Default behavior, say something likeDefault behavior when you close an issue. -
The headings (other than the page title) should be active. Instead of Configuring GDK, say something likeConfigure GDK. -
Any task steps should be written as a numbered list. - If the content still needs to be edited for topic types, you can create a follow-up issue with the docs-technical-debt label.
-
-
-
Review by assigned maintainer, who can always request/require the reviews above. Maintainer's review can occur before or after a technical writer review.
