5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

textlintを導入した

Last updated at Posted at 2019-03-03

みなさん、lintしてますか。

2019/8/7追記: この手順だと動かなくなってます。折を見て調査する予定

経緯

blogを始めたのに、どうにも読みやすい日本語が書けないので**日本語のlintないのかよ!**って泣いていたらありました。助かります。

導入

作業ディレクトリを作ってnpm的な初期化

mkdir -p ~/tmp/hello-textlint
cd  ~/tmp/hello-textlint
npm init --yes

本体のインストール

npmを使います

npm install --save-dev textlint

プラグインのインストール

全部入れスタイル

npm install --save-dev textlint-rule-max-ten textlint-rule-max-kanji-continuous-len textlint-rule-spellcheck-tech-word textlint-rule-web-plus-db textlint-rule-no-mix-dearu-desumasu textlint-rule-no-doubled-joshi textlint-rule-no-double-negative-ja textlint-rule-no-hankaku-kana textlint-rule-ja-no-weak-phrase textlint-rule-ja-no-redundant-expression textlint-rule-ja-no-abusage textlint-rule-no-mixed-zenkaku-and-hankaku-alphabet textlint-rule-sentence-length textlint-rule-first-sentence-length textlint-rule-no-dropping-the-ra textlint-rule-no-doubled-conjunctive-particle-ga textlint-rule-no-doubled-conjunction textlint-rule-ja-no-mixed-period textlint-rule-max-appearence-count-of-words textlint-rule-max-length-of-title textlint-rule-incremental-headers textlint-rule-ja-hiragana-keishikimeishi textlint-rule-ja-hiragana-fukushi textlint-rule-ja-hiragana-hojodoushi textlint-rule-ja-unnatural-alphabet @textlint-ja/textlint-rule-no-insert-dropping-sa textlint-rule-prefer-tari-tari textlint-rule-general-novel-style-ja

定義ファイルを作る

./node_modules/.bin/textlint --init

.textlintrc is created.
# このファイルに、lintにどのルールを適用するかが書かれている

実行

echo 'りーどみー' > README.md
./node_modules/.bin/textlint README.md
# --fixをつけて実行すると✅マークのついた指摘は自動で直してくれる

おまけ

この文章をtextlintするとこんな結果が得られます

   1:1   ✓ error  段落の先頭に許可されていない文字が存在しています            general-novel-style-ja
   4:1   ✓ error  blogを => ブログを                                          web-plus-db
   4:1   ✓ error  段落の先頭に許可されていない文字が存在しています            general-novel-style-ja
   4:46  ✓ error  感嘆符(!)・疑問符(?)の直後にスペースか閉じ括弧が必要です  general-novel-style-ja
   6:1   error    ページの先頭以外で#が見つかりました。                       incremental-headers
  17:1   ✓ error  段落の先頭に許可されていない文字が存在しています            general-novel-style-ja
  17:8   error    文末が"。"で終わっていません。                              ja-no-mixed-period
  24:1   ✓ error  段落の先頭に許可されていない文字が存在しています            general-novel-style-ja
  24:8   error    文末が"。"で終わっていません。                              ja-no-mixed-period
  38:1   error    ページの先頭以外で#が見つかりました。                       incremental-headers
  45:1   error    ページの先頭以外で#が見つかりました。                       incremental-headers

✖ 11 problems (11 errors, 0 warnings)
✓ 6 fixable problems.

僕の.textlintrc

{
  "filters": {},
  "rules": {
    "@textlint-ja/no-insert-dropping-sa": true,
    "first-sentence-length": true,
    "ja-hiragana-fukushi": true,
    "ja-hiragana-hojodoushi": true,
    "ja-hiragana-keishikimeishi": true,
    "ja-no-abusage": true,
    "ja-no-mixed-period": {
       "periodMark": "。",
       "allowPeriodMarks": ['}','笑'],
       "allowEmojiAtEnd": true,
       "forceAppendPeriod": false
    },
    "ja-no-redundant-expression": true,
    "ja-no-weak-phrase": true,
    "ja-unnatural-alphabet": true,
    "max-appearence-count-of-words": true,
    "max-kanji-continuous-len": true,
    "max-kanji-continuous-len": {
        max: 5,
        allow: ["無犯罪証明書","専門資格証明書","実務経験証明書","犯罪経歴証明書"]
    },
    "max-length-of-title": true,
    "max-ten": true,
    "no-double-negative-ja": true,
    "no-doubled-conjunction": true,
    "no-doubled-conjunctive-particle-ga": true,
    "no-doubled-joshi": true,
    "no-dropping-the-ra": true,
    "no-hankaku-kana": true,
    "no-mix-dearu-desumasu": true,
    "no-mixed-zenkaku-and-hankaku-alphabet": true,
    "no-todo": true,
    "prefer-tari-tari": true,
    "sentence-length": true,
  }
}

関連ページ

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?