From dbacb81ed669a168e75543d960b7d3471f7a469b Mon Sep 17 00:00:00 2001
From: Yasutake Yohei <yohei@yasutakeyohei.com>
Date: Tue, 30 Jun 2026 21:40:58 +0900
Subject: Add textlint guide page with images and LLM sitemap

---
 src/content/docs/textlint-guide.mdx | 119 ++++++++++++++++++++++++++++++++++++
 1 file changed, 119 insertions(+)
 create mode 100644 src/content/docs/textlint-guide.mdx

(limited to 'src/content/docs/textlint-guide.mdx')

diff --git a/src/content/docs/textlint-guide.mdx b/src/content/docs/textlint-guide.mdx
new file mode 100644
index 0000000..de90a1a
--- /dev/null
+++ b/src/content/docs/textlint-guide.mdx
@@ -0,0 +1,119 @@
+---
+title: textlintではじめる日本語文章校正
+description: Zedエディタ上で日本語の文章をリアルタイム校正する方法。textlintの導入からルール設定、自動修正までを解説します。
+---
+
+import { Steps, Aside } from '@astrojs/starlight/components';
+
+## textlint とは
+
+[textlint](https://textlint.github.io/) は日本語の自然言語テキスト向けのプラグイン可能な文章校正ツールです。ESLint のように、校正ルールを個別に追加・設定できるのが特長です。
+
+## できること
+
+- 誤字・脱字の検出
+- 表記ゆれの指摘（「例えば」→「たとえば」）
+- ら抜き言葉・い抜き言葉の検出
+- 冗長な表現の指摘
+- 一文の長さチェック
+- です・ます調とである調の混在チェック
+
+## セットアップ
+
+<Steps>
+1. Node.js 18 以上をインストール
+2. `textlint` とルールをプロジェクトにインストール
+
+```bash
+npm install --save-dev textlint @textlint/markdown
+npm install --save-dev @textlint-ja/no-synonyms ja-no-abusage ja-no-redundant-expression prh
+```
+
+3. `.textlintrc.json` を作成
+
+```json
+{
+  "plugins": {
+    "@textlint/markdown": true
+  },
+  "rules": {
+    "@textlint-ja/no-synonyms": true,
+    "ja-no-abusage": true,
+    "ja-no-redundant-expression": true,
+    "prh": {
+      "rulePaths": ["prh.yml"]
+    }
+  }
+}
+```
+
+4. `prh.yml` に独自ルールを定義（必要な場合）
+
+```yaml
+version: 1
+rules:
+  - expected: たとえば
+    pattern: 例えば
+    prh: 漢字で書かず、ひらがなで書くと読みやすくなります
+```
+
+</Steps>
+
+## エディタ連携
+
+### Zed
+
+本サイトでは、Zed 用のカスタム LSP サーバー `textlint-lsp` を開発しています。
+保存時に自動でlintが走り、波線で問題箇所を表示します。
+
+<Aside type="note">
+現在 `textlint-lsp` は開発中のため、npm では未公開です。
+公開準備が整い次第、`npm install -g textlint-lsp` で導入可能になる予定です。
+</Aside>
+
+### VSCode
+
+[textlint.vscode-textlint](https://marketplace.visualstudio.com/items?itemName=taichi.vscode-textlint) 拡張機能が利用できます。
+
+### CLI
+
+```bash
+npx textlint "**/*.md"
+```
+
+## コードアクション（自動修正）
+
+Zed 上では、波線の上で `Ctrl+.` を押すと以下の操作が可能です。
+
+| アクション | 内容 |
+|---|---|
+| 修正を適用 | textlint の自動修正候補を適用 |
+| 無効化:（ルール名） | 指定したルールをその行だけ無効化 |
+| 無効化: すべてのルール | その行以降の全ルールを無効化 |
+
+## 無効化コメント
+
+`.md` ファイルでは、HTMLコメント形式で記述します：
+
+- 特定のルールだけ無効化： `&lt;!-- textlint-disable prh --&gt;`
+- 再有効化： `&lt;!-- textlint-enable prh --&gt;`
+
+`.mdx` ファイル（Starlight / Astro）では、JSXコメントで囲みます：
+
+- 特定のルールだけ無効化： `{/* &lt;!-- textlint-disable prh --&gt; */}`
+- 再有効化： `{/* &lt;!-- textlint-enable prh --&gt; */}`
+
+## トラブルシューティング
+
+### MDX ファイルで `&lt;!-- --&gt;` がエラーになる
+
+MDX は `&lt;!-- --&gt;` を許可しません。代わりに `{/* &lt;!-- ... --&gt; */}` で囲んでください。
+
+### 誤検出が多い
+
+該当ルールを `.textlintrc.json` で `false` に設定するか、`prh.yml` で除外パターンを追加してください。
+
+### lint が重い
+
+`textlint-lsp` は保存時と、編集を止めてから 10 秒後に自動実行されます。
+それでも重い場合は、`didChange` 時の lint を無効にすることも可能です。
-- 
cgit v1.3.1

