前提
- OS: Windows 10 Pro
- Docker: Docker version 19.03.13, build 4484c46d9d
- 使用する Docker イメージ
- node:15
- openjdk:8
チェック対象テキストは content.md
。内容は以下。
Eclipse Che のワークスペースの生成・破棄は、Linux コンテナ技術によって実現されている。そのため、ワークスペースで使用するツールは、64bit Linux 環境で動作する必要がある。TOPPERS で公開されているコンフィギュレータ(https://toppers.jp/cfg.html)は、64bit Linux環境に対応していないため、今回はTOPPERS/cfg に64bit Linux 対応の修正を行い、それを利用した(mikoto2000/cfg-1v1.9.7.2)。
textlint で日本語チェック
以下のプラグインを使ってチェックを行う。
- textlint/configuring.md at master · textlint/textlint
- textlint-ja/textlint-rule-preset-ja-technical-writing: 技術文書向けのtextlintルールプリセット
- textlint-ja/textlint-rule-preset-JTF-style: JTF日本語標準スタイルガイド for textlint.
- prh/prh: proofreading helper
- textlint-rule-prh - npm
Docker コンテナ起動
環境構築
npm install -g textlint
npm install -g @textlint/textlint-plugin-markdown
npm install -g prh
npm install -g textlint-rule-prh
npm install -g textlint-rule-preset-ja-technical-writing
npm install -g textlint-rule-preset-jtf-style
設定ファイル作成
重複など気にせず、とにかく何でもかんでも指摘させる設定になっている(はず)なので、要調整。
設定内容の詳細は各プラグインのドキュメントを参照。
最低でも ./rules/media/techbooster.yml
, ./rules/media/WEB+DB_PRESS.yml
はどちらかひとつにするのが良いはず。
# prh のリファレンス(?)ルール取得
git clone --depth 1 https://github.com/prh/rules.git
# prh の設定
cat - << EOF > ./prh.yml
version: 1
imports:
- ./rules/media/techbooster.yml
- ./rules/media/WEB+DB_PRESS.yml
EOF
# textlint の設定
cat - << EOF > ./.textlintrc
{
"plugins": {
"@textlint/markdown": {
"extensions": [".md"]
}
},
"rules": {
"prh": {
"rulePaths" :["./prh.yml"]
},
"preset-ja-technical-writing": true
}
}
EOF
textlint 実行
lint_results.txt
に、指摘点が列挙される。
/work/content.md
1:101 error Line 1 sentence length(151) exceeds the maximum sentence length of 100.
Over 51 characters ja-technical-writing/sentence-length
1:225 ✓ error (mikoto2000/cfg-1v1.9.7.2) => (mikoto2000/cfg-1v1.9.7.2)
半角カッコの代わりに全角カッコを使うこと。文字のバランスが崩れるためです prh
✖ 2 problems (2 errors, 0 warnings)
✓ 1 fixable problem.
Try to run: $ textlint --fix [file]
RedPen
Docker コンテナ起動
環境構築
curl -L -O https://github.com/redpen-cc/redpen/releases/download/redpen-1.10.4/redpen-1.10.4.tar.gz
tar xf redpen-1.10.4.tar.gz
export PATH=$PATH:$(pwd)/redpen-distribution-1.10.4/bin/
redpen 実行
redpen_results.txt
に、指摘が列挙される。
./content.md:1: ValidationError[SentenceLength], 文長("151")が最大値 "100" を超えています。 at line: TOPPERS で公開されているコンフィギュレータ(https://toppers.jp/cfg.html)は、64bit Linux環境に対応していないため、今回はTOPPERS/cfg に64bit Linux 対応の修正を行い、それを利用した(mikoto2000/cfg-1v1.9.7.2)。
./content.md:1: ValidationError[JapaneseAmbiguousNounConjunction], 助詞「の」が連続しています: "〜Eclipseのワークスペースの生成〜" at line: Eclipse Che のワークスペースの生成・破棄は、Linux コンテナ技術によって実現されている。
./content.md:1: ValidationError[InvalidSymbol], 不正なシンボル "(" がみつかりました。 at line: TOPPERS で公開されているコンフィギュレータ(https://toppers.jp/cfg.html)は、64bit Linux環境に対応していないため、今回はTOPPERS/cfg に64bit Linux 対応の修正を行い、それを利用した(mikoto2000/cfg-1v1.9.7.2)。
./content.md:1: ValidationError[InvalidSymbol], 不正なシンボル ")" がみつかりました。 at line: TOPPERS で公開されているコンフィギュレータ(https://toppers.jp/cfg.html)は、64bit Linux環境に対応していないため、今回はTOPPERS/cfg に64bit Linux 対応の修正を行い、それを利用した(mikoto2000/cfg-1v1.9.7.2)。
./content.md:1: ValidationError[SpaceBetweenAlphabeticalWord], アルファベット単語の後にスペースが存在しません。 at line: TOPPERS で公開されているコンフィギュレータ(https://toppers.jp/cfg.html)は、64bit Linux環境に対応していないため、今回はTOPPERS/cfg に64bit Linux 対応の修正を行い、それを利用した(mikoto2000/cfg-1v1.9.7.2)。
./content.md:1: ValidationError[SpaceBetweenAlphabeticalWord], アルファベット単語の前にスペースが存在しません。 at line: TOPPERS で公開されているコンフィギュレータ(https://toppers.jp/cfg.html)は、64bit Linux環境に対応していないため、今回はTOPPERS/cfg に64bit Linux 対応の修正を行い、それを利用した(mikoto2000/cfg-1v1.9.7.2)。
後は、それぞれの Docker イメージを作ってサクッと実行できるようにしたうえで、設定を詰めていけばいい感じになりそう。
以上。
参考資料
- textlint
- RedPen
0 件のコメント:
コメントを投稿