技術スタック #
- SSG: Eleventy (11ty) v3.x
- テンプレートエンジン: Nunjucks
- 言語: JavaScript (ES Modules)
- スタイル: CSS
- デプロイ: Firebase Hosting
- Lint: ESLint, textlint
コーディング規約 #
JavaScript #
- 形式: ES Modules (
type: "module")
- スタイル: ESLint設定に準拠
- 推奨パターン:
- 関数型プログラミング
- 明確な変数名
- コメントは最小限(自己説明的なコード)
Markdown #
- コードブロック: 必ず言語指定を含める
- 画像パス: 絶対パス(
/img/YYYY/article-name/image.png)
- 区切り線: セクション分けに
---を使用
- リンク: 外部リンクには説明を付与
ファイル命名規則 #
- 記事ファイル:
kebab-case.md
- 画像ディレクトリ:
kebab-case/
- 配置:
posts/YYYY/MM/形式を厳守
プロジェクト固有の特徴 #
外部記事統合 #
- Qiita, Medium, Zenn等の外部記事へのリダイレクト対応
- Speaker Deckスライドの埋め込み対応
- メタデータは
_data/metadata.jsonのexternalセクションを参照
- カスタムショートコード``を使用
- 記事内でツイート埋め込みが可能
画像処理 #
- 年ごとにディレクトリ分割(
img/YYYY/)
- 記事ごとにサブディレクトリ作成
- 絶対パス参照を推奨
コード生成時の注意点 #
記事作成支援 #
- 現在日時を自動取得してFront Matterに設定
- 適切なディレクトリ(
posts/YYYY/MM/)を作成
- 記事タイプに応じたテンプレート選択
Eleventy設定 #
.eleventy.jsの設定を尊重
- プラグインの依存関係を考慮
- パフォーマンスを重視
textlint対応 #
.textlintrcのルールに準拠
- 日本語技術文書向けのプリセット使用
- 自動修正可能なエラーは修正コマンドを提案