texにlint 導入体験記
HCB Advent Calendar 2021
アドベントカレンダー4日目の記事になります。
急遽他の人が今日の記事を書けないと連絡してきたので、自分の出来合いの記事を4日目とします。
自己レビューや他人のドキュメントのレビュー・推敲時間を削減するために、textlintを導入しました。
導入のついでにtextlint (tex用) 導入の手順を記事として書きました。
目次
- インストールコマンド
- 文章校閲ルールの設定
- 文章校閲 (textlintを動かす)
- 表記ゆれ対策
インストールコマンド
以下のコマンドでtextlintとtexlintのルール(工業系用)、tex用のパッケージをインストールします。
mkdir newフォルダー名
cd newフォルダー名
npm init -y
npm install -D textlint
npm install --D textlint-rule-preset-ja-spacing textlint-rule-preset-ja-technical-writing
npm install textlint-plugin-latex2e
文章校閲ルールの設定
校閲用のルールをtextlintに設定していく。
まず以下のコマンドで設定ファイル(.textlintrc)を作成する
// newフォルダー名 (新しく作成したフォルダ) の中で操作
npx textlint --init
ここまでで基本的な内容の校閲設定は終了しています。以下に自分用の追加設定を書いておきます。
{
"filters": {},
"rules": {
"preset-ja-spacing": true,
"preset-ja-technical-writing": {
"ja-no-mixed-period": {
"periodMark": "."
},
"ja-space-between-half-and-full-width": {
"space": "always",
"exceptPunctuation": true,
},
"max-ten": {
"touten": ",",
"kuten": "."
}
},
},
"plugins": [
"latex2e"
]
}
文章校閲 (textlintを動かす)
以下のコマンドを実行する
npx textlint 推敲したい文章のファイル名
多分以下のような形で校閲結果を出力してくれます。
56:12 ✓ error 一つ => 1つ
数量を表現し、数を数えられるものは算用数字を使用します。任意の数に置き換えても通用する語句がこれに該当します。 ja-technical-writing/arabic-kanji-numbers
56:112 error Line 56 sentence length(161) exceeds the maximum sentence length of 100.
Over 61 characters ja-technical-writing/sentence-length
56:177 error 一つの文で","を4つ以上使用しています
ja-technical-writing/max-ten
84:134 ✓ error 二つ => 2つ
数量を表現し、数を数えられるものは算用数字を使用します。任意の数に置き換えても通用する語句がこれに該当します。 ja-technical-writing/arabic-kanji-numbers
135:95 ✓ error 一つ => 1つ
数量を表現し、数を数えられるものは算用数字を使用します。任意の数に置き換えても通用する語句がこれに該当します。 ja-technical-writing/arabic-kanji-numbers
137:1 error Line 137 sentence length(172, original:328) exceeds the maximum sentence length of 100.
Over 72 characters ja-technical-writing/sentence-length
161:75 error 文末が"."で終わっていません。
ja-no-mixed-period
191:9 error 一文に二回以上利用されている助詞 "は" がみつかりました。
以上、メモ書きのようなものですが、textlint (tex用) の導入手順になります。
表記ゆれ対策
textlintを使った表記ゆれの対策方法を書きます。
以下のコマンドを実行します。
// newフォルダー名 (新しく作成したフォルダ) の中で操作
npm install -D textlint-rule-prh
npx prh --init // prh.ymlファイルが作成される
以下のルールを追加 (.textlintrc内)
{
"filters": {},
"rules": {
"preset-ja-spacing": true,
"preset-ja-technical-writing": {
...
},
// ----追加部分----
"prh": {
"rulePaths": [
"./prh.yml" // パスはymlファイルに適宜合わせる
]
}
// ----ここまで追加部分----
},
"plugins": [
"latex2e"
]
}
作成されたprh.ymlに表記ゆれ校閲のためのルールを追加します。以下が自分が修正・追加した表記ゆれ校閲のルールです。設定した後は npx textlint ファイル名
で校閲できます。
rules:
# patternには正規表現が利用可能
- expected: ($1)
pattern: /(([\S]+))/
specs:
# 半角括弧を全角括弧へ
- from: (そのとおり)
to: (そのとおり)
- expected: 実施する or 取り組む or Aする
patterns:
- を行った
- を行う
- をする
- をした
- を行
- 行う
- expected: Web
patterns:
- WEB
- web
最後に
明日のAddvent calendarは @QT21-004-2_HCB がハッカソンについての記事を書くので、是非そちらも見てください。 m ( _ _ ) m