Script | Description |
---|---|
find_pr.py |
Find what GitHub pull requests touch a given file. |
upstream_changes.py |
Find what changes occurred between two versions. |
test_examples.sh |
This script tests whether a change affects example files bundled in the website. |
check-headers-file.sh |
This script checks the headers if you are in a production environment. |
diff_l10n_branches.py |
This script generates a report of outdated contents in content/<l10n-lang> directory by comparing two l10n team milestone branches. |
hash-files.sh |
This script emits as hash for the files listed in $@ |
linkchecker.py |
This a link checker for Kubernetes documentation website. |
lsync.sh |
This script checks if the English version of a page has changed since a localized page has been committed. |
replace-capture.sh |
This script sets K8S_WEBSITE in your env to your docs website root or rely on this script to determine it automatically |
check-ctrlcode.py |
This script finds control-code(0x00-0x1f) in text files. |
ja/verify-spelling.sh |
This script finds Japanese words that are against the guideline. |
Some of those scripts have external requirements. You can install them with the following commands:
python3 -m pip install -r requirements.txt
$ ./find_pr.py --help
Usage: find_pr.py [OPTIONS] PATH
Find what GitHub pull requests touch a given file.
ex: ./find_pr.py --tags "language/fr" "content/fr/_index.html"
Options:
--tags TEXT Tags of PullRequest (Can be passed multiple times)
--token TEXT GitHub API token. (Default env variable GITHUB_TOKEN)
--last-n-pr INTEGER Last n-th PullRequests
--help Show this message and exit.
$ ./upstream_changes.py --help
Usage: upstream_changes.py [OPTIONS] PATH
Find what changes occurred between two versions
ex: ./upstream_changes.py content/fr/_index.html
Options:
--reference TEXT Specify the reference version of the file. Default to the
English one.
--git-path TEXT Specify git path
--help Show this message and exit.
This script tests whether a change affects example files bundled in the website.
To install the dependencies:
$ ./scripts/test_examples.sh install
To run the examples:
$ ./scripts/test_examples.sh run
This script checks the headers if you are in a production environment.
./scripts/check-headers-file.sh
$ scripts/diff_l10n_branches.py --help
Usage: diff_l10n_branches.py [OPTIONS] L10N_LANG L_COMMIT R_COMMIT
This script generates a report of outdated contents in `content/<l10n-
lang>` directory by comparing two l10n team milestone branches.
L10n team owners can open a GitHub issue with the report generated by this
script when they start a new team milestone.
ex: `scripts/diff_l10n_branches.py ko dev-1.15-ko.3 dev-1.15-ko.4`
Options:
--src-lang TEXT Source language
--help Show this message and exit.
This script emits as hash for the files listed in $@.
$ ./scripts/hash-files.sh
This a link checker for Kubernetes documentation website.
- If the language for the files scanned is not English (
en
), we check if you are actually using the localized links. For example, if you specify a filter similar to ascontent/zh-cn/docs/**/*.md
, we check if the English version exists AND if the Chinese version exists as well. A checking record is produced if the link can use the localized version. - If the language specified is not English (
en
), a checking record is produced, and the-w
switch is used, the script will perform in-place substitutions for links that have the format/docs
and currently have a localized version available. This is an experimental feature and aims to reduce the amount of work required to update links to point to localized content. It currently works for Markdown files only.
Usage: linkchecker.py -h
Cases handled:
- [foo](#bar) : ignored currently
+ [foo](http://bar) : insecure links to external site
+ [foo](https://k8s.io/website/...) : hardcoded site domain name
+ [foo](/<lang>/docs/bar/...) : where <lang> is not 'en'
+ /<lang>/docs/bar : contains shortcode, so ignore, or
+ /<lang>/docs/bar : is a image link (ignore currently), or
+ /<lang>/docs/bar : points to shared (non-localized) page, or
+ /<lang>/docs/bar.md : exists for current lang, or
+ /<lang>/docs/bar/_index.md : exists for current lang, or
+ /<lang>/docs/bar/ : is a redirect entry, or
+ /<lang>/docs/bar : is something we don't understand, then ERR
+ [foo](/docs/bar/...)
+ /docs/bar : contains shortcode, so ignore, or
+ /docs/bar : is a image link (ignore currently), or
+ /docs/bar : points to a shared (non-localized) page, or
+ /docs/bar.md : exists for current lang, or
+ /docs/bar/_index.md : exists for current lang, or
+ /docs/bar : is a redirect entry, or
+ /docs/bar : is something we don't understand
+ [foo](<lang>/docs/bar/...) : leading slash missing for absolute path
+ [foo](docs/bar/...) : leading slash missing for absolute path
This script checks if the English version of some localized contents have changed since a localized version has been committed.
The following example checks a single file:
./scripts/lsync.sh content/zh-cn/docs/concepts/_index.md
The following command checks a subdirectory:
./scripts/lsync.sh content/zh-cn/docs/concepts/
This script finds control-code(0x00-0x1f) in text files. It will display illegal character in browser.
Usage: ./check-ctrlcode.py <dir> <ext>
<dir> Specify the directory to check.
<ext> Specify the extension to check.
For example, we can execute as following.
./check-ctrlcode.py ../content/en/ .md
The output is following format.
"{0} <L{1}:{2}:{3}>: {4}"
{0} : The path of file that a control-code exists.
{1} : The line number that a control-code exists.
{2} : The column number that a control-code exists.
{3} : The found control-code.
{4} : The one-line strings in the file.
This script finds Japanese words that are against the guideline[1] [1] https://kubernetes.io/ja/docs/contribute/localization/#%E9%A0%BB%E5%87%BA%E5%8D%98%E8%AA%9E
Usage: ./ja/verify-spelling.sh