「textlintを導入しよう! / 日本語の文章校正ツール」に関しての考えをまとめました。

目次

nodeのインストール

https://nodejs.org/ja

作業ディレクトリでtextlintをインストール

「作業ディレクトリ」にパッケージ管理のソフトを使ってインストールする

package.jsonの作成


$ npm init -y

Wrote to C:\Users\User\Documents\***\package.json:
  "name": "***",
  "version": "1.0.0",
  "description": "",
  "main": "content.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },                                        \" && exit 1"
  "keywords": [],
  "author": "",
  "license": "ISC"
}

textlintのインストール

$ npm install -D textlint

added 186 packages, and audited 187 packages in 23s

57 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 9.6.7 -> 9.8.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.8.1
npm notice Run npm install -g npm@9.8.1 to update!
npm notice

package.jsonに追記されている

また、node_modulesディレクトリ内にtextlintのファイル群がインストールされている

  "devDependencies": {
    "textlint": "^13.3.3"
  }

texlintのルールをインストールする

参考:

https://github.com/textlint/textlint/wiki/Collection-of-textlint-rule#rule-list

ここで使いたいルールを見つけてインストールするとよさそう

$ npm install -D \
    textlint-rule-preset-ja-spacing \
    textlint-rule-preset-ja-technical-writing \

インストールしたルールを適応する

$ npx textlint --init
.textlintrc.json is created.

.textlint.jsonが作成されてルールセットが表示されている

{
  "plugins": {},
  "filters": {},
  "rules": {
    "preset-ja-spacing": true,
    "preset-ja-technical-writing": true
  }
}

textlintを実行する

index.mdに次の文章を作ってみる

たべれるりんごをめしあがった

これをnpx textlintコマンドで実行

$ npx textlint index.md

C:\Users\User\Documents\***\index.md
  1:3   error  ら抜き言葉を使用しています。    ja-technical-writing/no-dropping-the-ra
  1:14  error  文末が"。"で終わっていません。  ja-technical-writing/ja-no-mixed-period

✖ 2 problems (2 errors, 0 warnings)

vscodeの拡張機能でリアルタイムにlintを行う

vscode-lintという拡張がある。これを使うことでリアルタイムで検出可能

「これを使うことでリアルタイムで検出可能」という文章を読ませると、以下の警告文が出た。なるほど、これは便利だ・・・!

[{
	"resource": "/c:/Users/User/Documents/***/index.md",
	"owner": "textlint",
	"code": "ja-technical-writing/no-doubled-joshi",
	"severity": 8,
	"message": "一文に二回以上利用されている助詞 \"で\" がみつかりました。\n\n次の助詞が連続しているため、文を読みにくくしています。\n\n- \"で\"\n- \"で\"\n\n同じ助詞を連続して利用しない、文の中で順番を入れ替える、文を分割するなどを検討してください。\n (ja-technical-writing/no-doubled-joshi)",
	"source": "textlint",
	"startLineNumber": 119,
	"startColumn": 37,
	"endLineNumber": 119,
	"endColumn": 38
}]

テキストリントについて

phpcsのlintを使った経験から、役割が明確になる。

phpcsなどのlintは特定のルールに沿って文字列をチェックする

ルール規約などのpacakgeは、それらのルールをまとめた集合体

vscodeの拡張はphpcsのパスをファイルを保存のタイミングで実行する

参考文献

ブログの運用テクニックは参考になりそう

https://engineers.ntt.com/entry/2023/08/28/092249

https://zenn.dev/overflow_offers/articles/20220512-awesome-texlint-correction

https://zenn.dev/yamane_yuta/articles/65886897cefa1e

https://ics.media/entry/220404/

https://fwywd.com/tech/textlint-proofreading

github actionと連携できるらしいので、覚えておく!

🚀 備考

https://zenn.dev/karaage0703/books/80b6999d429abc8051bb/viewer/8bfd96

テキスト校正くんでおっけーみたい https://ics.media/entry/18859/

技術紙やドキュメントを作るならこっち https://qiita.com/reona396/items/40b234108f7664267db8

プレゼン資料はMarp