diff options
Diffstat (limited to '.zed/AGENTS.md')
| -rw-r--r-- | .zed/AGENTS.md | 223 |
1 files changed, 0 insertions, 223 deletions
diff --git a/.zed/AGENTS.md b/.zed/AGENTS.md deleted file mode 100644 index e46299b..0000000 --- a/.zed/AGENTS.md +++ /dev/null @@ -1,223 +0,0 @@ -# 安竹洋平 公式サイト 編集ルール - -## 文体・表現 -- ベースの文体は「です・ます」調(敬語) -- 「残念ながら」「非常に遅い」「拒否している」など嫌味・批判的な表現は避け、客観的事実として書く -- 人物には「氏」をつける -- 見出しに「」は使わない - -## ディスレクシアについてのコンテンツについて -- /about-dyslexia/以下の、「ディスレクシアについて」の項目中のコンテンツ(ページ)については次を適用する。 - - 旧mdbook(C:\Users\yohei\Desktop\ZedPlayground\reference-materials\dyslexiaのmdbookソース)の内容を**必ず参照**し、そこにある文章・リンク・引用を優先して使う - - 旧mdbookにない内容を勝手に追加しない。省かれている記述があれば追加する - - 引用は `>` ブロッククォートまたは `<div class="bln bleft dyslexia">` 吹き出しで明示し、出典リンクを必ず併記する - - 吹き出しは `<div class="bln bleft dyslexia"><span class="tail-outer"></span>` を使用 - - 色はアンバー系(CSS変数 `--bubble-dyslexia-bg` 等で定義済み) - - 吹き出しには必ず `<span class="tail-outer"></span>` を入れる - - 出典は吹き出しの後に `— 出典名` 形式で書く - - 楽天アフィリエイトのURL形式: `https://hb.afl.rakuten.co.jp/ichiba/54fb1f56.abf524ab.54fb1f57.aed11c5d/_RTLink136060?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2FNUMBER%2F&link_type=text&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJ0ZXh0Iiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjEsInByb2QiOjAsImFtcCI6ZmFsc2V9` - - アフィリエイト注記: 「リンクからの収益は、ディスレクシアの周知活動およびサイト運営費に充てられます」 - -## アフィリエイト -- 楽天アフィリエイトID: `54fb1f56.abf524ab.54fb1f57.aed11c5d` -- 書籍リンクには `target="_blank" rel="nofollow sponsored noopener"` を付与 -- アフィリエイト注記: 「リンクからの収益は、安竹洋平の政治活動及び本サイトの運営費に充てられます」 - -## ノート(:::note) -- `:::note[タイトル]` ではなく、以下形式でTOCに表示させる: - ``` - :::note - ##### タイトル - 本文 - ::: - ``` - -## 実績ページ(○○の軌跡) -- フロントマター: `title`, `description`, `tableOfContents: true` -- 冒頭にアイキャッチ画像(`<img>` + 画像クレジットの `<p class="image-credit">`) -- 構成: 冒頭説明 → タイムライン(表) → 詳細セクション → 「成果」表 → 「今後の課題」 → 「関連リンク」 → `[← 実績ページに戻る](/jisseki/)` -- アイキャッチ画像は `public/img/` に配置、参照は `/img/filename.png` -- 画像のダウンロード元(イラストAC等)を必ずクレジット表記 - -## SEO -- `@astrojs/sitemap` によるサイトマップ自動生成(`astro.config.mjs` に追加済み) -- `public/robots.txt` に sitemap URL を記載 -- OGP 画像・JSON-LD 構造化データは `astro.config.mjs` の `head` で設定 -- Google Search Console への登録・サイトマップ送信は手動で行う - ---- - -# 画像の取り扱い(技術編) - -## ファイル名 -- **短くすること**。長いファイル名(例: `kajo-seigen-kanwa-eyecatch.png`)は Astro dev server が 404 を返す -- 推奨: `{topic}-eyecatch.png`(例: `dislexia-eyecatch.png`) -- 極力日本語読みでファイル名を作成する(例: 'asita-yaru.mdx') - -## 表示サイズと用途 -| 用途 | クラス/CSS | 表示サイズ | 推奨元画像サイズ | -|------|-----------|-----------|----------------| -| 実績カード | `.achievement-img` | 160×110px(SP: 140px高) | 横長 480×330px 以上 | -| 詳細ページアイキャッチ | `max-height:360px; width:100%` | コンテンツ幅(〜720px) | 横長 1440×720px(2:1) | -| ホーム活動グリッド | `.activity-card`(`aspect-ratio:4/3`) | 最小150px幅 | 4:3、600×450px 以上 | - -- 全画像 `object-fit: cover` のため枠より大きければ自動トリミング -- 共通の推奨サイズ: **横長 1500×750px** - -## 画像コピー方法 -```bash -cp "C:/Users/yohei/Desktop/ZedPlayground/reference-materials/{フォルダ}/{ファイル名}" "C:/Users/yohei/Desktop/ZedPlayground/yasutakeyohei.com/public/img/{出力ファイル名}" -``` -- `copy_path` ツールは上書きに失敗しやすいため、`cp` が確実 -- 上書き時は先に `rm` で削除してから `cp` - -## ライセンス表記テンプレート - -### 実績カード内 -```html -<p class="image-credit" style="font-size:0.7rem;color:#aaa;text-align:right;margin-top:0.5rem;">画像提供:<a href="URL">サイト名</a></p> -``` - -### 詳細ページアイキャッチ直後 -```html -<p class="image-credit" style="font-size:0.75rem;color:#999;text-align:right;margin-bottom:1.5rem;">画像提供:<a href="URL">サイト名</a></p> -``` - -### よく使う素材サイトURL -- イラストAC: `https://www.ac-illust.com/main/detail.php?id=XXXXXX` -- photoAC: `https://www.photo-ac.com/main/detail/XXXXXX` -- いらすとや: `https://www.irasutoya.com/YYYY/MM/blog-post_XX.html` -- PIXTA: `https://pixta.jp/illustration/XXXXXX` -- かいごイラスト: `https://kaigoirasuto.info/` - ---- - -# ファイル編集の注意点 - -## edit_file の制限 -- **長い行やURLを含むテキストには `edit_file` がマッチしない**ことが多い -- その場合は `write_file` でファイル全体を書き換える - -## write_file 使用時の注意 -- **ファイル全体の内容を必ず含めること**。一部だけだと内容が消失する -- 事前に `read_file` で全内容を取得してから編集する -- 消失した場合は `git checkout -- {filepath}` で復元可能 - -## 複数箇所にマッチする場合 -- `old_text` が複数行にマッチすると編集に失敗する -- 十分にユニークなコンテキストを含めること - ---- - -# よく使うファイル -- 設定: `astro.config.mjs` -- CSS: `src/styles/custom.css` -- 参照資料: `reference-materials/実績まとめ用資料/` -- 参照資料(小平市議会での安竹の記録): `reference-materials/実績まとめ用資料/議会` -- 旧サイト参照: `reference-materials/移行元documents(docusaurus)/` -- 旧サイト(ディスレクシア)参照: `reference-materials/dyslexiaのmdbookソース/' -- .htaccess: `public/.htaccess` - ---- - -# 一般質問ページの作成ルール - -## 年度の区切り -- **3月定例会は前年度に属する**(例: 令和7年3月 → 令和6年度 r6d、令和8年3月 → 令和7年度 r7d) -- 4月以降は新年表記の年度(例: 令和7年6月 → 令和7年度 r7d) - -## 新規セッション追加時のインフラ設定 -1. `astro.config.mjs` の `year()` に該当月を追加(なければ関数の MONTHS にも追加) -2. `src/content/docs/ippan-situmon/rXd/index.mdx` に該当月へのリンクを追加 -3. **`src/components/starlight/Breadcrumbs.astro` の `labelMap` に新年表記を追加**(例: `'r7d': '令和7年度'`) -4. 各ディレクトリに `images/` フォルダを作成 - -## ページのフォーマット - -### 見出し(TOC表示のため Markdown 必須) -- **必ず `###` を使う。HTML の `<h3>` は右側目次に表示されない** -- `### 質問する理由` → 背景説明 -- `### ① [質問タイトル]` → 各質問(丸数字付き) -- `#### [サブタイトル]` → 再質問セクション。**「○の再質問:」プレフィックス禁止** -- 丸数字(①②③)は自動生成ID上で `-` に変換される → まとめ表のリンクは `(#-自動生成ID)` 形式 - -### 吹き出し(MessageBubble) -- 安竹: `speaker="安竹(初回質問)"` または `speaker="安竹(再質問)"` -- **相手側は必ず `align="left"` を使用**。フルネームで(例: `speaker="市長(小林 洋子)" align="left"`) - -### スタイル -- まとめ文は です・ます調。2〜3文で簡潔 -- 「令和X年X月X日に行ったN件の一般質問のうちのX件目です。」は重複禁止 -- 吹き出し内の番号付きリストは Markdown 記法(1. 2. 3.) -- データの多い答弁は表形式に整形 - -### 部分テンプレート(必須) -主な質疑の先頭に必ず以下を入れる: -``` -import Partial from './../../_partial.mdx'; - -<Partial /> -``` - -### 一問一答形式の構造 -``` -### 質問する理由 -#### [背景サブタイトル] -<MessageBubble speaker="安竹(初回質問)"> ... </MessageBubble> - -### ① [質問タイトル] -<MessageBubble speaker="安竹(初回質問)"> 質問文 </MessageBubble> -<MessageBubble speaker="[役職]([名前])" align="left"> 答弁 </MessageBubble> - -#### [再質問サブタイトル] -<MessageBubble speaker="安竹(再質問)"> ... </MessageBubble> -<MessageBubble speaker="[役職]([名前])" align="left"> ... </MessageBubble> -``` - -## 通告書PDFの扱い -1. `reference-materials/実績まとめ用資料/議会/[YYYY年M月定例会]/` から該当PDFを探す -2. `public/pdf/` にコピー(命名: `YYYYMMDD-ippan-situmon-yasutake-N.pdf`) -3. **PyPDF2 で1ページずつ分割**(`YYYYMMDD-ippan-situmon-yasutake-Np.pdf`)し、元の全ページPDFは削除 -4. 各質問ページに `<embed src="/pdf/YYYYMMDD-ippan-situmon-yasutake-Np.pdf" class="tukokusyo" type="application/pdf" />` - -## FAQ -- **見出しが目次に出ない**: `<h3>` HTMLタグではなく `###` Markdownを使う -- **faviconが出ない**: `astro.config.mjs` の `head` に `<link rel="icon" href="/favicon.ico">` を追加 -- **Windowsでステージ時にエラー206**: パス長制限。`git config core.longpaths true` を実行 -- **パンくずリストで年度が rXd と表示される**: `Breadcrumbs.astro` の `labelMap` に追加 -- **PDFが全ページ表示される**: 1ページずつ分割して `-1p.pdf` 等を使う - ---- - -# デプロイ - -## ビルドコマンド -- `npm run build` は `astro build && py removeNullCharacters.py` を実行する -- `removeNullCharacters.py` はビルド後のNull文字除去スクリプト(プロジェクト直下) - -## エックスサーバーへのデプロイ -- エックスサーバーは全プランSSH対応だが、サーバー側 rsync は保証されない -- デプロイスクリプト: `deploy.sh`(プロジェクト直下) - - `RSYNC_DEST=user@sv12345.xsrv.jp:public_html/ npm run deploy` で実行 - - まず rsync(SSH経由)を試行 → 失敗時は lftp(FTPS)に自動フォールバック - - rsync は `--checksum` を使用(タイムスタンプではなく内容で差分判定) - - `--delete` なしのため、サーバー上のサブドメインディレクトリは**一切削除されない** -- lftp が必要な場合: Git Bash: `pacman -S lftp` / WSL: `sudo apt install lftp` -- SSH鍵を設定しておくとパスワード不要でデプロイ可能 - ---- - -# 画像素材の補足 - -## 海外フリー素材(人物なし用途) -- Unsplash: 欧米人被写体が大半のため、**人物が写っていない写真**(教室・文房具・黒板・自然など)に限定して使う -- Pixabay: Unsplash より多様だが同様の制約 - -## いらすとやの検索 -- 「特別支援学級」といったピンポイントなキーワードではヒットしない場合がある -- 代わりに「学校」「教室」「こども」など、より一般的なキーワードで検索する -- 商用利用は21点まで無料(要クレジット表記) - -## 画像選定の基本方針 -- 外国人は原則NG。日本のこども・学校・風景のイラスト・写真を優先 -- 人物ありの写真が必要な場合は、イラストAC・photoAC・いらすとや等の日本素材サイトを使う |
