コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

リントの人間だからtextlintを使うことにした

リントとは

説明しようリントとは……。

リントとは、特撮作品『仮面ライダークウガ』に登場する部族、及びその部族の人々そのものを指す名称である。超古代の日本に暮らしていた部族で、現代の日本人の祖先とされる。

この説明文をコピペして持ってくる時にそういえば平成終わるんだって今更ながらなってしまった。平成終わるんやな……。


はい、というわけで茶番はどうでもいいですね。ここで言おうとしたリントってやつはコレです。

lint とは、主にソースコードに対し、コンパイラよりも詳細かつ厳密なチェックを行うプログラムである。

まあ、校正とかしてくれるやつです。タイトルにあるtextlintだったらテキスト(文章)を校正してくれるやつってことです。

textlintを使ってみる

公式
textlint · The pluggable linting tool for text and markdown

公式にある通り導入は以下の通りです。

# 作業フォルダを作って移動します
cd your-workspace

# `npm init` コマンドで `package.json`  ファイルを作ります。
npm init --yes

# textlintをローカルにインスコします(省略コマンド:npm i -D textlint)
npm install --save-dev textlint

# お好みの校正ルールもインスコします
npm install --save-dev textlint-rule-no-todo

# .textlintrcファイルを作成します
./node_modules/.bin/textlint --init

# 校正したいファイルを実行します
./node_modules/.bin/textlint README.md

訳は雑翻訳です。詳細が知りたければ公式をみよう。./node_modules/.bin/textlint コマンドが冗長すぎてつらいけど公式がそれで推してくるので耐えよう。

ちなみに、ルールファイルについては下記参照。
Collection of textlint rule · textlint/textlint Wiki · GitHub
アメリカ語しかないもんだと思ってGithub眺めてたら下の方に日本語用のやつも割とあった。そんなわけで、とりまドットインストールのやつにならって、以下のやつを入れてみます。

textlint-rule-max-ten
Specify the maximum 、(ten) can be used in a sentence. (一文に利用できる、の数をチェックするルール)


参考:ドットインストール
textlint入門


うまく実行できればこんな感じです。

$ ./node_modules/.bin/textlint ***.md
  1:6  error  一つの文で"、"を3つ以上使用しています  max-ten

うまく実行できなければこんな感じ。

$ ./node_modules/.bin/textlint ***.md
== No rules found, textlint hasn’t done anything ==

Possible reasons:
* Your textlint config file has no rules.
* You have no config file and you aren’t passing rules via command line.
* Your textlint config has a syntax error.

=> How to set up rules?
https://github.com/textlint/textlint/blob/master/docs/configuring.md

ルール設定のファイルが正しくないと校正以前に構成ファイルがないよと怒られるようです(激うまギャグ)。


textlint-rule-prh でなんかつくる

そうしたわけで使い方も分かったので、表記ゆれなどのカスタマイズができる「textlint-rule-prh」でなんか適当につくるなどをやってみたいと思います。

GitHub - textlint-rule/textlint-rule-prh: textlint rule for prh.

ありがちな間違ったIT用語を校正するやつをつくりました。
mylint.yml

version: 1
rules:
 - pattern: 
    - /java\s*script/i
   expected: 軽量なJava
 - pattern:
    - /python/i
   expected: Google独自言語
 - pattern:
    - /github/i
   expected: 設計図共有サイト

実行するとこんな感じに校正してエラーを出してくれるぞ。めっちゃべんりー(棒)。

  1:1   ✓ error  javascript => 軽量なJava    prh
  1:12  ✓ error  python => Google独自言語    prh
  1:29  ✓ error  github => 設計図共有サイト  prh


はい、こんな感じになります。これはひどい。というわけで、いい感じにこのようなクソ校正が溜まってきたら設計図共有サイト(Github)にでも投げ捨てておこうと思いますので今後の動向も要チェックだ (笑)。