Skip to content

Latest commit

 

History

History
68 lines (41 loc) · 2.25 KB

File metadata and controls

68 lines (41 loc) · 2.25 KB

Checks

This directory contains QA tests for the documentation.

Tests should be made as Python scripts to allow flexibility of use. Currently these checks are run two ways:

Check Types

Spellcheck

This linter is defined in run_spell_check.py script.

Spellcheck pipeline settings can be modified in .spellcheck.yml.

List of custom words can be found in dictionary.txt, however you should not edit this manually, see adding-words-to-dictionary.

Limitations

Spellchecker does not provide output lineumber / column. In order to get this a regex match is done on the markdown. This means that you might occassionally see a word highlighted inside a context where it should be ignored (e.g. code block), the typo is probably occuring elsewhere in the text in a valid context, fix it here and the first error will resolve.

Prose Lint

This linter is defined in run_proselint.py script.

Checks text follows best practice for English language.

Individual rules can be disabled/enabled in .proselint.json.

Markdown Lint

Checks markdown for compliance against general best practice rules.

Individual rules can be disabled/enabled in .markdownlint.json

Meta Checks

This linter is defined in run_meta_check.py script.

Catch-all for custom checks. Currently defined checks are:

  • title_redundant
  • title_length
  • meta_missing_description
  • meta_unexpected_key
  • minimum_tags
  • walk_toc
  • click_here
  • dynamic_slurm_link

Test Build

Does a 'strict' build of the site, capturing any errors emmited by mkdocs.

Debugging Checks

Each type of test has a debug job in VSCode.

Most will run on the fail_checks page

alt text