Skip to content

Repository files navigation

bmf-tech

bmf-tech.com のソースリポジトリ。 gohan 製の静的サイトで、Cloudflare Pages でホスティングしている。

OGP Default

技術スタック

レイヤー 使用技術
静的サイトジェネレーター gohan
ホスティング Cloudflare Pages
CI/CD GitHub Actions
CSS フレームワーク sleyt
言語 Go (ツール類), HTML/CSS (テーマ)

ディレクトリ構成

.
├── .github/workflows/deploy.yml  # Cloudflare Pages デプロイワークフロー
├── assets/
│   └── images/posts/             # 記事内画像 (外部→ローカル移行済み)
├── content/
│   ├── en/
│   │   ├── posts/                # 英語記事
│   │   ├── about.md              # About ページ
│   │   ├── picks.md              # picks ページ(curated 記事インデックス)
│   │   ├── privacy-policy.md     # プライバシーポリシー
│   │   ├── categories.yaml       # カテゴリ定義
│   │   └── tags.yaml             # タグ定義
│   └── ja/
│       ├── posts/                # 日本語記事
│       ├── about.md              # About ページ(JA)
│       ├── picks.md              # picks ページ(JA)
│       ├── privacy-policy.md     # プライバシーポリシー(JA)
│       ├── categories.yaml       # カテゴリ定義(JA)
│       └── tags.yaml             # タグ定義(JA)
├── docs/
│   └── DESIGN_DOC.md             # 設計ドキュメント
├── public/                       # ビルド出力 (.gitignore済み)
├── themes/default/
│   └── templates/                # HTMLテンプレート
├── _redirects                    # Cloudflare Pages リダイレクトルール
└── config.yaml                   # gohan 設定

セットアップ

# リポジトリをクローン
git clone git@github.com:bmf-san/bmf-tech.git
cd bmf-tech

# gohan をインストール
make install-gohan

開発

# サイトをビルド
make build

# ローカルサーバーを起動 (http://localhost:1313)
make serve

記事の作成・フロントマター・ブランチ運用については CONTRIBUTING.md を参照。

URL 構造

コンテンツ URL
英語記事 /posts/{slug}/
日本語記事 /ja/posts/{slug}/
picks /picks/
About /about/
プライバシーポリシー /privacy-policy/
タグ別記事一覧 /tags/{name}/
カテゴリ別記事一覧 /categories/{name}/
アーカイブ /archives/{year}/{month}/

デプロイ

main ブランチへの push で自動デプロイ。

sequenceDiagram
    participant Dev as Developer
    participant GH as GitHub
    participant GA as GitHub Actions
    participant CF as Cloudflare Pages

    Dev->>GH: git push origin main
    GH->>GA: trigger workflow
    GA->>GA: gohan build → public/
    GA->>GA: cp _redirects public/
    GA->>CF: wrangler pages deploy public/
    CF-->>GA: deploy complete
Loading

CI フロー(.github/workflows/deploy.yml):

  1. GitHub Actions (ubuntu ランナー) が gohan build を実行し public/ を生成
  2. _redirectspublic/ へコピー
  3. wrangler pages deploy publicpublic/ を Cloudflare Pages へダイレクトアップロード

Cloudflare Pages 側ではビルドを行わない。ビルドは GitHub Actions ランナー上で完結する。 assets/fonts/ など gohan build に必要なファイルはリポジトリに含める必要がある。

GitHub Secrets に設定が必要:

  • CLOUDFLARE_API_TOKEN — Cloudflare API トークン (Pages:Edit 権限)
  • CLOUDFLARE_ACCOUNT_ID — Cloudflare アカウント ID

手動デプロイ: GitHub Actions の workflow_dispatch からトリガー可能。

コントリビューション

CONTRIBUTING.md を参照。

ライセンス

コンテンツ (content/) は著作権保持。ソースコード (themes/) は MIT ライセンス。

About

This is my tech blog.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages