From a95bea6568520f0def40e7cc5f8740207e8f5a27 Mon Sep 17 00:00:00 2001
From: Yasutake Yohei <yohei@yasutakeyohei.com>
Date: Tue, 30 Jun 2026 23:19:34 +0900
Subject: Add textlint guide page with sidebar link

---
 src/content/docs/textlint-guide.mdx | 113 +++++++++++++++---------------------
 1 file changed, 47 insertions(+), 66 deletions(-)

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

diff --git a/src/content/docs/textlint-guide.mdx b/src/content/docs/textlint-guide.mdx
index de90a1a..f2813e1 100644
--- a/src/content/docs/textlint-guide.mdx
+++ b/src/content/docs/textlint-guide.mdx
@@ -1,53 +1,58 @@
 ---
-title: textlintではじめる日本語文章校正
-description: Zedエディタ上で日本語の文章をリアルタイム校正する方法。textlintの導入からルール設定、自動修正までを解説します。
+title: textlintではじめる日本語文章校正 — Zedでも動くLSPサーバーを作りました
+description: 日本語の文章をリアルタイムで校正するtextlintを、Zedエディタで使えるようにするLSPサーバーを自作しました。導入方法からルール設定、自動修正、無効化までを解説します。
 ---
 
-import { Steps, Aside } from '@astrojs/starlight/components';
+## textlintと出会うまで
 
-## textlint とは
+議員として議会質問やブログ記事を書く中で、日本語の表記ゆれや誤字脱字に悩まされてきました。「例えば」を「たとえば」と書くべきか、「こども」か「子ども」か——校正のたびに手で直すのは限界があります。
 
-[textlint](https://textlint.github.io/) は日本語の自然言語テキスト向けのプラグイン可能な文章校正ツールです。ESLint のように、校正ルールを個別に追加・設定できるのが特長です。
+そんなとき見つけたのが [textlint](https://textlint.github.io/) です。ESLintのように校正ルールを自由に組み合わせられる、プラグイン可能な日本語文章校正ツールです。
+
+しかし、愛用している [Zed](https://zed.dev/) エディタにはtextlintの拡張機能がありませんでした。VSCode用はあるのに。
+
+**なければ作ろう。** そうして生まれたのが、Zedでtextlintを動かすLSPサーバー `textlint-lsp` と、そのZed拡張機能です。
+
+## 2つのプログラム
+
+| 名前 | 役割 | 公開 |
+|---|---|---|
+| `textlint-lsp` | LSPサーバー本体。Node.jsで動作。Zed以外のエディタでも使える | npm（準備中） |
+| `zed-textlint` | Zed拡張機能。Zed上で `textlint-lsp` を起動する | 開発中 |
+
+LSPサーバーは汎用なので、VSCodeやNeovimなど他のエディタでも動きます。
 
 ## できること
 
-- 誤字・脱字の検出
-- 表記ゆれの指摘（「例えば」→「たとえば」）
-- ら抜き言葉・い抜き言葉の検出
-- 冗長な表現の指摘
-- 一文の長さチェック
-- です・ます調とである調の混在チェック
+- 保存時に自動校正（編集を止めて10秒後にも自動実行）
+- 波線で問題箇所を表示
+- 修正候補の適用（`Ctrl+.`）
+- ルール単位の無効化
+- `prh.yml` による独自の表記ルール定義
 
 ## セットアップ
 
-<Steps>
-1. Node.js 18 以上をインストール
-2. `textlint` とルールをプロジェクトにインストール
+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
+npm install --save-dev @textlint-ja/no-synonyms prh
 ```
 
 3. `.textlintrc.json` を作成
 
 ```json
 {
-  "plugins": {
-    "@textlint/markdown": true
-  },
+  "plugins": { "@textlint/markdown": true },
   "rules": {
     "@textlint-ja/no-synonyms": true,
-    "ja-no-abusage": true,
-    "ja-no-redundant-expression": true,
-    "prh": {
-      "rulePaths": ["prh.yml"]
-    }
+    "prh": { "rulePaths": ["prh.yml"] }
   }
 }
 ```
 
-4. `prh.yml` に独自ルールを定義（必要な場合）
+4. `prh.yml` に独自ルールを定義
 
 ```yaml
 version: 1
@@ -57,63 +62,39 @@ rules:
     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+.` を押すと以下の操作が可能です。
+波線の上で `Ctrl+.` を押すと、以下の操作が選べます。
 
 | アクション | 内容 |
 |---|---|
-| 修正を適用 | textlint の自動修正候補を適用 |
-| 無効化:（ルール名） | 指定したルールをその行だけ無効化 |
+| 修正を適用 | textlintの自動修正候補を適用 |
+| 無効化:（ルール名） | その行だけ指定ルールを無効化 |
 | 無効化: すべてのルール | その行以降の全ルールを無効化 |
 
 ## 無効化コメント
 
-`.md` ファイルでは、HTMLコメント形式で記述します：
-
-- 特定のルールだけ無効化： `&lt;!-- textlint-disable prh --&gt;`
-- 再有効化： `&lt;!-- textlint-enable prh --&gt;`
+`.md` ファイルではHTMLコメント形式で記述します。
 
-`.mdx` ファイル（Starlight / Astro）では、JSXコメントで囲みます：
+- `&lt;!-- textlint-disable prh --&gt;` で無効化
+- `&lt;!-- textlint-enable prh --&gt;` で再有効化
 
-- 特定のルールだけ無効化： `{/* &lt;!-- textlint-disable prh --&gt; */}`
-- 再有効化： `{/* &lt;!-- textlint-enable prh --&gt; */}`
+`.mdx` ファイル（Starlight / Astro）では、MDXの構文制約のため、`{/* */}` で囲みます。
 
-## トラブルシューティング
+- `{/* &lt;!-- textlint-disable prh --&gt; */}` で無効化
+- `{/* &lt;!-- textlint-enable prh --&gt; */}` で再有効化
 
-### MDX ファイルで `&lt;!-- --&gt;` がエラーになる
+:::note
+##### 📝 MDXでの注意点
+Zedのコードアクションから自動挿入されるので、普段は手動で書く必要はありません。
+:::
 
-MDX は `&lt;!-- --&gt;` を許可しません。代わりに `{/* &lt;!-- ... --&gt; */}` で囲んでください。
+## トラブルシューティング
 
-### 誤検出が多い
+### MDXファイルで `{ }` がエラーになる
 
-該当ルールを `.textlintrc.json` で `false` に設定するか、`prh.yml` で除外パターンを追加してください。
+このPCではMermaid図の `{{ }}` がMDXパーサーにJSX式と誤認されることがあります。`{{` を `(` に置き換えてください。
 
-### lint が重い
+### lintが重い
 
-`textlint-lsp` は保存時と、編集を止めてから 10 秒後に自動実行されます。
-それでも重い場合は、`didChange` 時の lint を無効にすることも可能です。
+`textlint-lsp` は保存時と、編集を止めてから10秒後に自動実行されます。編集のたびに走ることはありません。
-- 
cgit v1.3.1

