# What this PR does The `docs/reference` shortcode supports contextual destinations and version inference. `<ONCALL VERSION>` is inferred to match the version of the documentation set. For example, the inferred version for the page /docs/grafana/oncall/latest/get-started/ is "latest". It can also be overriden using front matter. Given the same page, but with the additional front matter `oncall_version: next`, the variable is substituted with "next" rather than "latest". Contextual destinations are achieved using repeated labels in the shortcode inner text. The format is [<LABEL>]: "<PAGE PATH PREFIX> -> <HUGO REFERENCE>". - _`<LABEL>`_ matches the reference style link label used in the rest of the text. - _`<PAGE PATH PREFIX>`_ is matched against the page during the production build. If the match is successful, the destination that is used is _`<HUGO REFERENCE>`_. The first matching prefix is used, not the longest matching prefix. ## Which issue(s) this PR fixes - Broken links due to ambiguous relref resolution. Any relref parameter that does not start with either `/`, `./`, or `../` can resolve ambiguously and is resulting in broken link behavior on the current site. - Broken links in Grafana Cloud. We mount OnCall documentation in Grafana Cloud. In https://github.com/grafana/website/pull/13872 the location will become /docs/grafana-cloud/alerting-and-irm/oncall. This PR is intended to be merged alongside that PR. --------- Signed-off-by: Jack Baldry <jack.baldry@grafana.com> Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
111 lines
3.5 KiB
YAML
111 lines
3.5 KiB
YAML
repos:
|
|
- repo: https://github.com/pycqa/isort
|
|
rev: 5.12.0
|
|
hooks:
|
|
- id: isort
|
|
files: ^engine
|
|
args: [--settings-file=engine/pyproject.toml, --filter-files]
|
|
- id: isort
|
|
name: isort - pd-migrator
|
|
files: ^tools/pagerduty-migrator
|
|
args:
|
|
[--settings-file=tools/pagerduty-migrator/.isort.cfg, --filter-files]
|
|
- id: isort
|
|
name: isort - dev/scripts
|
|
files: ^dev/scripts
|
|
args: [--settings-file=dev/scripts/.isort.cfg, --filter-files]
|
|
|
|
- repo: https://github.com/psf/black
|
|
rev: 22.3.0
|
|
hooks:
|
|
- id: black
|
|
files: ^engine
|
|
args: [--config=engine/pyproject.toml]
|
|
- id: black
|
|
name: black - pd-migrator
|
|
files: ^tools/pagerduty-migrator
|
|
- id: black
|
|
name: black - dev/scripts
|
|
files: ^dev/scripts
|
|
|
|
- repo: https://github.com/pycqa/flake8
|
|
rev: 3.9.2
|
|
hooks:
|
|
- id: flake8
|
|
files: ^engine
|
|
args: [--config=engine/tox.ini]
|
|
additional_dependencies:
|
|
- flake8-tidy-imports
|
|
- id: flake8
|
|
name: flake8 - pd-migrator
|
|
files: ^tools/pagerduty-migrator
|
|
# Make sure config is compatible with black
|
|
# https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html#line-length
|
|
args:
|
|
[
|
|
--max-line-length=88,
|
|
"--select=C,E,F,W,B,B950",
|
|
"--extend-ignore=E203,E501",
|
|
]
|
|
- id: flake8
|
|
name: flake8 - dev/scripts
|
|
files: ^dev/scripts
|
|
# Make sure config is compatible with black
|
|
# https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html#line-length
|
|
args:
|
|
[
|
|
--max-line-length=88,
|
|
"--select=C,E,F,W,B,B950",
|
|
"--extend-ignore=E203,E501",
|
|
]
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-eslint
|
|
rev: v8.25.0
|
|
hooks:
|
|
- id: eslint
|
|
entry: bash -c 'cd grafana-plugin && eslint --max-warnings=0 --fix ${@/grafana-plugin\//}' --
|
|
types: [file]
|
|
files: ^grafana-plugin/src/.*\.(js|jsx|ts|tsx)$
|
|
additional_dependencies:
|
|
- eslint@^8.25.0
|
|
- eslint-plugin-import@^2.25.4
|
|
- eslint-plugin-rulesdir@^0.2.1
|
|
- "@grafana/eslint-config@^5.0.0"
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-prettier
|
|
rev: "v2.7.1"
|
|
hooks:
|
|
- id: prettier
|
|
name: prettier
|
|
types_or: [css, javascript, jsx, ts, tsx]
|
|
files: ^grafana-plugin/src
|
|
additional_dependencies:
|
|
- prettier@2.8.2
|
|
- id: prettier
|
|
name: prettier - json
|
|
types_or: [json]
|
|
additional_dependencies:
|
|
- prettier@2.8.2
|
|
|
|
- repo: https://github.com/thibaudcolas/pre-commit-stylelint
|
|
rev: v13.13.1
|
|
hooks:
|
|
- id: stylelint
|
|
entry: bash -c 'cd grafana-plugin && stylelint --fix ${@/grafana-plugin\//}' --
|
|
types: [file]
|
|
files: ^grafana-plugin/src/.*\.css$
|
|
additional_dependencies:
|
|
- stylelint@^13.13.1
|
|
- stylelint-prettier@^2.0.0
|
|
- stylelint-config-standard@^22.0.0
|
|
- stylelint-config-prettier@^9.0.3
|
|
|
|
- repo: https://github.com/igorshubovych/markdownlint-cli
|
|
rev: v0.32.2
|
|
hooks:
|
|
- id: markdownlint
|
|
name: markdownlint
|
|
entry: markdownlint --fix --ignore grafana-plugin/node_modules --ignore grafana-plugin/dist --ignore docs **/*.md
|
|
- id: markdownlint
|
|
name: markdownlint - docs/sources
|
|
entry: markdownlint --fix --ignore README.md -c ./docs/.markdownlint.json ./docs/sources/**/*.md
|