文章もlintできるtextlint導入メモ
文章もlintできるtextlint導入メモ
文章にもlintできるtextlint導入のメモである. ruleを追加して校正できるようになる.
環境
- Windows10
- Atom 1.36.0
- npm 6.7.0
textlintの導入(cmd)
textlintのインストール
通常通り,プロジェクト用のフォルダの作成,初期化をする.
$ mkdir project $ cd project $ npm init -y
インストール:
$ npm install --save-dev textlint
確認:
$ npx textlint -v v11.2.3
textlint-rule-max-tenのインストール
textlint-rule-max-ten
は,文中の読点の多さをチェックしてくれる.
npm isntall --save-dev textlint-rule-max-ten
textlintの設定ファイル.textlintrc
の作成:
npx textlint --init
.textlintrc
(ruleを書く際,text-rule
の部分は省略できる.)
{ "filters": {}, "rules": { "max-ten": true } }
textlintを適用する. デフォルトでは,textファイルまたはmdファイルに適用される.
npx textlint docs/smaple.md
3つ以上句読点"、"の文があると以下のエラーが出る.
> 2:11 error 一つの文で"、"を3つ以上使用しています max-ten
ルールの読点の数を変える.
.textlintrc:
(ruleを書く際,text-rule
の部分は省略できる.)
{ "filters": {}, "rules": { "max-ten": { "max" : 2, } } }
presetの導入
textlintのルール一覧は,以下のページから調べられる.
https://github.com/textlint/textlint/wiki/Collection-of-textlint-rule
preset中の1つ - textlint-rule-preset-japanese
npm install --save-dev textlint-rule-preset-japanese
.textlintrc
{ "filters": {}, "rules": { "preset-japanese": true } }
presetの中のルールを一部除外する場合
{ "filters": {}, "rules": { "preset-japanese": { "no-dropping-the-ra": false, } } }
textlint-rule-prhのインストール
表記ゆれのルールを作れる. prhは,proof reading helperの略.
https://github.com/textlint-rule/textlint-rule-prh
npm i -D textlint-rule-prh
使いかた
rule
に表記ゆれルールを書いたファイルを指定するrulePath
を追加する.
.textlintrc
:
"rules":{ "prh": { "rulePaths": [ "rules/prh.yml" ] } }
ymlファイルの作成する.(ex.prh.yml
)
例として,表記javascript
を
JavaScript
で統一することを考える.
以下のプロパティに指定する.
pattern
: 検出したい表記expected
: 統一する表記
# prh version version: 1 rules: - pattern: javascript expected: JavaScript
実行すると,
$ npx textlint ./docs/samples.md 6:1 ✓ error javascript => JavaScript prh ✖ 1 problems (1 errors, 0 warnings) ✓ 1 fixable problem. Try to run: $ textlint --fix [file]
--fixオプションを使うと自動変換してくれる.
$ textlint --fix [file]
patternを複数設定する.
# prh version version: 1 rules: - pattern: - javascript - java script expected: JavaScript
$ npx textlint .\docs\sample.md 6:1 ✓ error javascript => JavaScript prh 6:18 ✓ error java script => JavaScript prh ✖ 2 problems (2 errors, 0 warnings) ✓ 2 fixable problems. Try to run: $ textlint --fix [file]
patternには正規表現も使える.
# prh version version: 1 rules: - pattern: /java\s*script/i expected: JavaScript
複数ファイルへのtextlint
フォルダ名の指定:
$ npx textlint docs/
ワイルドカードも使える.
例:マークダウンファイルのみ
$ npx textlint docs/*.md
Atomエディタに導入
Atomの拡張機能から,linter-textlintをインストールする.
AtomのProjectのルートから.textlintrc
が見えていれば,
特に設定いらずでファイル保存した時に自動でlintしてくれる.
実際のファイル上にもカーソルを合わせるとlintのエラー内容を教えてくれる.
htmlファイルで利用する場合
デフォルトでは,.md
とテキストファイルのみ対応している.
htmlファイルにlintする場合,textlint-plugin-htmlをインストールする.
$ npm i -D textlint-plugin-html
.textlintrc
ファイルにオプションplugins
を追加する.
{ "plugins": [ "html" ] }
htmlファイルを指定して実行する.
$ textlint *.html
Atomの拡張機能 linter-textlintでは対応していない?
(.textlintrc
ファイルにオプションplugins
を追加してもhtmlファイルを開いていてもlintされない.)