Refactor docs linting scripts

What does this MR do?

While debugging some problems with the scripts, I noticed they could do with a bit of an update.

Testing

  1. Check out this branch.
  2. Run scripts/lint-doc.sh. There should be no errors.
  3. Modify doc/administration/invalidate_markdown_cache.md directory to use a cURL short option. Rerun scripts/lint-doc.sh and there should be an error.
  4. Remove frontmatter from doc/administration/invalidate_markdown_cache.md and rerun scripts/lint-doc.sh. There should be two errors.
  5. Copy a non-standard space (source one from the script) into doc/administration/invalidate_markdown_cache.md and rerun scripts/lint-doc.sh. There should be more errors.
  6. Duplicate the latest entry in CHANGELOG.md. There should be more errors.
  7. Set executable permissions on a file in doc directory. Rerun scripts/lint-doc.sh and there should be more errors.
  8. Rename doc/ci/caching/index.md to doc/ci/caching/README.md. Rerun scripts/lint-doc.sh and see a couple more test fail.
  9. Rename a docs directory to have an uppercase letter. Rerun scripts/lint-doc.sh and another test fails.
  10. Rename a docs directory to have a dash letter. Rerun scripts/lint-doc.sh and another test fails.
  11. Introduce a Markdown error (for example, give doc/ci/introduction/index.md two level-one headings). Rerun scripts/lint-doc.sh and another test fails.
  12. Introduce a Vale error (for example, update doc/ci/chatops/index.md to refer to gitlab-ci.yml instead of .gitlab-ci.yml. Rerun scripts/lint-doc.sh and another test fails.
  13. Uninstall locally-installed Vale and rerun scripts/lint-doc.sh. If you have docker or nerdctl binaries, it should successfully run the Vale test with a failure. Feel free to try both binaries (Rancher Desktop makes it easy).
  14. Add more random errors throughout the documentation. Rerun scripts/lint-doc.sh and they should be picked up.

Author's checklist

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 like Default behavior when you close an issue.
      • The headings (other than the page title) should be active. Instead of Configuring GDK, say something like Configure 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.
Edited by Evan Read

Merge request reports

Loading