感動しました!
文章作成のゲームチェンジャーになる可能性があるツール、textlintについて紹介します。
textlint とは
簡単に、textlintの概要を説明をする。
textlintとは、日本語の文章の文法チェックツール、文章校正をプログラムで調べるツール。
プログラミングをしているときにIDEをつかうと、自動で文法チェックしてくれて構文エラーのときは赤線がでてきたりする。 あれをMarkdownでもやりたいというお話。
textlintを試してみる
Node.js製ですので、 以下でまずはインストールしてみる。
yarn add textlint
デフォルトでは、文法チェックのためのルールがひとつも入っていない。ブラグインをいれることで、文法をチェックできる。 まず手始めに、ToDoが存在しないことをチェックするプラグインを入れてみる。
textlint-rule-no-ToDoの導入
yarn add textlint-rule-no-todo
次のようなToDoが文章中に存在しないかをチェックする。
- [ ] test test
エラーすると、こんな感じでエラーする。
$./node_modules/textlint/bin/textlint.js --rule no-todo user-textlint-for-markdown.md
/home/tsu-nera/futurismo3/src/posts/2018/user-textlint-for-markdown.md
34:3 error Found TODO: '- [ ] test test' no-todo
✖ 1 problem (1 error, 0 warnings)
.textlintrcに設定を書いて引数を省略する
コマンドの引数に渡すオプションが長いので、.textlintrc
に設定を書くことで、省略する。
{
"rules": {
"no-to": true
}
}
プリセットとオススメプラグイン
プラグインの使い方がわかったところで、次々とプラグインをいれていくことにしよう。 Presetというのが用意されている、いわばプラグインを寄せ集めた欲張りセット。
入門用
入門向け日本語のプリセット。
prh
表記揺れのチェックツール。
自分で表記揺れのルールを設定するのはたいへんですので、定義済みのルールを入れる。
$ yarn add prh
$ ls -l node_modules/prh/prh-rules/media/
-rw-r--r-- 1 tsu-nera tsu-nera 85538 8月 22 2017 WEB+DB_PRESS.yml
-rw-r--r-- 1 tsu-nera tsu-nera 10820 8月 17 2017 techbooster.yml
技術文書向けのプリセット
textlint-rule-preset-ja-technical-writing
JTF日本語標準スタイルガイド(翻訳用)に従ったプリセット
textlint-rule-preset-jtf-style
半角/全角スペースプリセット
textlint-rule-preset-ja-spacing
{
"rules": {
"preset-japanese": true,
"prh": {
"rulePaths" :[
"./node_modules/prh/prh-rules/media/techbooster.yml",
"./node_modules/prh/prh-rules/media/WEB+DB_PRESS.yml"
],
"preset-ja-technical-writing": true,
"preset-ja-spacing": true
}
}
}
Visual Studion Codeとのtextlint連携
Visual Studio Codeを利用して文章を書いているので、それとの連携を設定する。
次のプラグインを導入する。
あとは、vscodeを開くだけだ。 赤線をクリックすると、auto complete(自動修正もしてくれるこれはスゴい)
終わりに
私はかつて、技術文書がかけないので、テクニカルライティング検定というものを受けた(そして不合格)
自分でルールを覚える時代は終わったんだ、これからはIDEで文章を書いてチェックする時代だ!