自作ブログ
記事を書く際に細かい誤字脱字や表記のチェックなどに時間を取られて、文章を書くための心理的なハードルが高まっている。 もっと気楽に文章を書けるようにするためtextlintを使って、細かい確認作業を自動化することにした。
まずは必要なライブラリやプラグインを追加する。textlintはプラグイン形式のツールで、 有志が作成した追加のルールを導入できる。 日本語用のプラグインをまとめているコミュニティを見つけたので、ここに記載された表を参考に何個かプラグインを追加する。
https://github.com/textlint-ja
今回は以下3つのプラグインを導入することにした。
以下のコマンドでtextlintと日本語用のプラグインを導入する。
$ yarn add -D textlint
$ yarn add -D textlint-rule-preset-ja-technical-writing textlint-rule-ja-unnatural-alphabet textlint-rule-preset-JTF-style
都度コマンドをCLIで入力するのが手間なのでVSCodeのプラグインも導入する。
https://marketplace.visualstudio.com/items?itemName=taichi.vscode-textlint
以下のコマンドを打つことで.textlintrc.json
というファイルが生成される。
$ yarn textlint --init
デフォルトではプラグインが無効化されているようなので、.textlintrc.json
に有効化するよう記載を追記する。
VSCodeのプラグインは、VSCodeを再起動しないと設定の変更を読み込まないようなので注意。(またはCommand PaletteからReload Windowする)
{
"plugins": {},
"filters": {},
"rules": {
"preset-ja-technical-writing": true,
"ja-unnatural-alphabet": true,
"preset-jtf-style": true
}
}
都度ファイル名指定して実行するのが面倒なので、package.jsonのスクリプトにショートハンドを登録しておく。 自分はcontent/blogs以下の20で始まるマークダウンが記事になっているので、ワイルドカードを使ってパターンを指定した。
...
"scripts": {
"textlint": "textlint 'content/blogs/20*md'",
...
},
...
デフォルトだとtextlint-rule-preset-ja-technical-writingのルールは結構厳しいため、一部のルールはエラーではなく警告として扱いたい。
textlintではseverityを指定できるため、.textlintrc.json
を書き換えて一部のルールのseverityをwarningに変更する。
{
"plugins": {},
"filters": {},
"rules": {
"preset-ja-technical-writing": {
"max": 300,
"no-doubled-conjunctive-particle-ga": {
"severity": "warning"
},
"no-doubled-joshi": {
"severity": "warning"
},
"ja-no-weak-phrase": {
"severity": "warning"
}
},
"ja-unnatural-alphabet": true,
"preset-jtf-style": true
}
}
過去の記事が真っ赤になった。 この記事を書きながら導入を進めたが明らかに途中から記事を書くのが楽になったので、VSCodeで記事を書いている人間には強くお勧めできる。