textlint導入メモ
zenn記事用のリポジトリ作ったので入れてみた
インストールは書いてある通りのまま。
pnpm使ってるから、コマンドは読み替えつつ。
プリセットはとりあえずここらへんから
全角と半角の間にスペース入らないなーって思ったら別のプリセットだった
デフォルトが入れない設定だった。
空白入れるのってMicrosoft仕様だったのね。知らんかった。
じゃあ入れなくて良いか。
VSCode拡張
入れると常時チェックが入るのでちょっとアレ。インストールしたら一旦無効化して、ワークスペース単位で有効化する。
設定ファイル周りの書き方について、最近コチラの記事に感銘を受けた。
今回着目しているポイントを抽出すると
- npm scriptのコマンドライン引数では、プロジェクトルートを
.
で丸ごとわたす - ignoreファイルで対象外のファイルを明記する
というわけで、こうだ
{
/* ... */
"script": {
"lint:textlint": "textlint .",
"format:textlint": "textlint --fix .",
}
/* ... */
}
node_modules/
*.json
*.yaml
*.yml
*.lock
.*
README.md
逆に面倒になってる気もしなくもない。
なんも考えずPrettier突っ込んで全部フォーマットかけたら、markdownの整形ルールがtextlintと噛み合わない。。。
Prettierはこれ一つで何でもかんでも整形してくれるんで便利なんだが、細かい制御ができないのがなー。
私は、switch・caseはインデントしない派なんだがなー(関係ない)。
textlint入れた以上は、Prettierは無効にするかー
node_modules/
pnpm-lock.yaml
package-lock.json
yarn.lock
# textlintのルールと合わないので除外
*.md
markdownのフォーマットは、とりあえずeditorconfigに任せよう。
ほかのフォーマッタもあるみたいなので、そのうち試そう。
独自記法に「。」がついてない警告が出る件。
しょーもないtypoをしたぞー、Proofdictで対策だ
本来は自分用の辞書のリポジトリをGitHubに作るべきなんだろうが、単語1つでわざわざ立てるのもなー。
オプション見てたらdictGlobってフィールドがあるのでそれで、管理できそう。
ありものの辞書もお借りしつつ……
{
"rules": {
"@proofdict/proofdict": {
"dictURL": "https://tanabebe.github.io/proof-dictionary/",
"dictGlob": "./dict/*.yml"
}
}
}
だと思ったら動かない。。。
よく読んだら、dictURL
とdictGlob
はどちらか一つって書いてるじゃん
{
"rules": {
"@proofdict/proofdict": {
"dicts": [
{
"dictURL": "https://azu.github.io/proof-dictionary/"
},
{
"dictGlob": "./dict/*.yml"
}
]
}
}
}
またエラー。コレを踏んでた。
正規表現で書けばよいとのことなのでまあいいか。
Proofdictとprhの関係はまだ良くわかってない。
。。。どうやらコードブロックの中はチェックしないっぽい? まあそりゃそうか? されてもうっとおしいかねー。
もとは、.tool-versions
っていうファイル名を.tool-version
って間違えたことを対策しようと思ったわけで。。。
そもそもファイル名はコードブロックに入れるべきか否か。。。
あとで考えることにしよう。。。