高木のブログ

Gatsbyで作ったブログにtextlintを導入する

2020/10/26

このブログにtextlintを入れてみた。
本当はGitHub Actionsでいい感じに動かすところまでやりたかったけど、とりあえず今回はローカルで動く状態までにした。

手順

1. textlintとルールプリセットを追加

$ yarn add textlint textlint-rule-preset-ja-technical-writing

textlintだけでルールがないと動かないので、複数のルールがセットになったtextlint-rule-preset-ja-technical-writingを入れた。

2. コマンドを追加

yarn textlintでtextlintが動くように(フロントエンド周りのお作法はよくわかっていない)

package.json
  "scripts": {
    ...省略... , 
+   "textlint": "textlint"
  }

3. 設定ファイルの作成

package.jsonの中身を見ていい感じにつくってくれるらしい。

$ yarn textlint --init
.textlintrc
{
  "filters": {},
  "rules": {
    "preset-ja-technical-writing": true
  }
}

4. 実行

$ yarn textlint content/blog/
$ yarn textlint content/blog/
yarn run v1.19.1
$ textlint content/blog/

/takagi_blog/content/blog/added-admin-let-to-rails-app-and-deployed-it-to-heroku-and-it-failed.md
   7:47  error  文末が"。"で終わっていません。  ja-technical-writing/ja-no-mixed-period
  31:14  error  文末が"。"で終わっていません。  ja-technical-writing/ja-no-mixed-period
  33:42  error  文末が"。"で終わっていません。  ja-technical-writing/ja-no-mixed-period
  39:22  error  文末が"。"で終わっていません。  ja-technical-writing/ja-no-mixed-period
  46:44  error  文末が"。"で終わっていません。  ja-technical-writing/ja-no-mixed-period
  54:42  error  文末が"。"で終わっていません。  ja-technical-writing/ja-no-mixed-period

/takagi_blog/content/blog/adding-basic-authentication-to-a-Rails-application-running-on-heroku.md
  6:59  error  文末が"。"で終わっていません。  ja-technical-writing/ja-no-mixed-period

...省略...

/takagi_blog/content/blog/visualizing-toggl-work-time-with-pixela/index.md
   6:1   error    Line 6 sentence length(112) exceeds the maximum sentence length of 100.
Over 12 characters   ja-technical-writing/sentence-length
   8:29  error    一つの文で"、"を3つ以上使用しています                                     ja-technical-writing/max-ten
   8:44  error    文末が"。"で終わっていません。                                            ja-technical-writing/ja-no-mixed-period
  18:18  error    文末が"。"で終わっていません。                                            ja-technical-writing/ja-no-mixed-period
  61:15  ✓ error  文末が"。"で終わっていません。末尾に不要なスペースがあります。            ja-technical-writing/ja-no-mixed-period
  70:32  error    文末が"。"で終わっていません。                                            ja-technical-writing/ja-no-mixed-period
  80:1   error    Line 80 sentence length(102) exceeds the maximum sentence length of 100.
Over 2 characters  ja-technical-writing/sentence-length
  84:32  error    文末が"。"で終わっていません。                                            ja-technical-writing/ja-no-mixed-period

✖ 200 problems (200 errors, 0 warnings)13 fixable problems.
Try to run: $ textlint --fix [file]

100記事くらいあればこれくらい出るのは仕方ない。

✓が付いているエラーは--fixを付けたら自動で直してくれる

$ yarn textlint content/blog/ --fix

おわり

簡単に導入できて良き。
これから少しずつ過去記事の校正とルールのチューニングをやっていく。

参考


Pixela