textlint を Mac に導入して文章作法を統一する

kimizuy

はじめに

現在、2 週間に 1 回のペースでブログを投稿している山崎です。マークダウンで記事を執筆しているのですが、文章作法のブレないように textlint を導入しています。

本記事では textlint を Mac にグローバルインストールして文章作法を統一する方法を紹介します。

環境

  • マシン: Mac
  • OS: Big Sur v11.3.1
  • エディタ: VSCode

拡張機能と組み合わせて textlint を利用するため、エディタは VSCode を使います。

方法

textlint の導入方法を紹介します。

まず、Mac に npm がインストールされているか確認しましょう。

❯ npm -v
6.14.13

command not found みたいなメッセージが出たら npm はインストールされていません。その場合は Node.js をインストールしてください。セットで npm もインストールされます。インストーラーをダウンロードしてインストールできます。

npm をマシンにインストールできたら、次に textlint と3つのプリセットルールをインストールします。今回はローカルで管理せず、マシン全体で使えるようにグローバルインストールします。

以下のコマンドを実行してください。

npm install --global textlint textlint-rule-preset-ja-spacing textlint-rule-preset-ja-technical-writing textlint-rule-no-mix-dearu-desumasu

permission denied された場合は、sudo をつけて実行してください(多用厳禁)。

sudo npm install --global textlint textlint-rule-preset-ja-spacing textlint-rule-preset-ja-technical-writing textlint-rule-no-mix-dearu-desumasu

次にマークダウンファイルを置いているフォルダに、 .textlintrc という名前で textlint の設定ファイルを作成します。このファイルは json 形式で書くことができます。

現在の自分の設定は以下のとおりです。

{
  "filters": {},
  "rules": {
    "no-mix-dearu-desumasu": true,
    "preset-ja-technical-writing": {
      "sentence-length": {
        "max": 90
      }
    },
    "preset-ja-spacing": {
      "ja-nakaguro-or-halfwidth-space-between-katakana": true,
      "ja-no-space-around-parentheses": true,
      "ja-no-space-between-full-width": true,
      "ja-space-between-half-and-full-width": {
        "space": "always",
        "exceptPunctuation": true
      },
      "ja-space-after-exclamation": true,
      "ja-space-after-question": true,
      "ja-space-around-code": false
    }
  }
}

ほぼデフォルトですが、例えば簡潔に文章を書くという気持ちを込めて一文の長さ("sentence-length")を 90 文字に設定しています。

そして VSCode に拡張機能をインストールして、設定ファイル(settings.json)に次の設定を追記します。

vscode-textlint

{
    "[md]": { "editor.defaultFormatter": "taichi.vscode-textlint" },
    "textlint.autoFixOnSave": true
}

以上の設定で文章保存時に、 textlint ルールに合わせて自動でフォーマットされます。

おわりに

今回は textlint の導入方法を紹介しました。まだまだ荒削りな設定ではありますが、曖昧な文章を書かないように正してくれてとても助かっています。

以上、本記事が誰かのお役に立てれば幸いです。

Gaji-Laboでは、React経験が豊富なフロントエンドエンジニアを募集しています

弊社ではReactの知見で事業作りに貢献したいフロントエンドエンジニアを募集しています。大きな制作会社や事業会社とはひと味もふた味も違うGaji-Laboを味わいに来ませんか?

もちろん、一緒にお仕事をしてくださるパートナーさんも随時募集中です。まずはお気軽に声をかけてください。お仕事お問い合わせや採用への応募、共に大歓迎です!

求人応募してみる!

kimizuy

投稿者 Yamasaki Kimizu

React, Redux, TypeScript プロジェクトでフロントエンド領域を担当。個人でも Next.js アプリの開発をしています。日課はRSSで取得した技術記事を読むこと、最近の関心は Core Web Vitals です。将来はでかい犬が飼いたいです。