エンジニアコミュニティのLTイベント情報を集約するポータルサイトのテンプレートです。
YAMLでデータを管理し、Python + Jinja2 で静的HTMLを生成するシンプルな構成。GitHub Pagesですぐにホスティングできます。
👉 サンプルページ: https://unsolublesugar.github.io/engineer-community-portal/
- イベント一覧 — カード形式の一覧表示、年度フィルター、ページネーション
- イベント詳細 — 発表タイトル、スライド埋め込み、YouTubeタイムスタンプ、前後ナビゲーション
- 登壇者一覧 — プロフィール・登壇履歴の検索・ソート・ページネーション
- 登壇者詳細 — 登壇者ごとの全発表履歴・スライド・動画リンクをまとめたプロフィールページ
- 企画コーナー — 特別企画のアーカイブ
- About — コミュニティ紹介・統計情報・運営メンバー
- レスポンシブ対応 — PC・スマホ両対応
- クリーンURL —
.html拡張子なしでアクセス可能 - OGP / Twitter Card — SNSシェア時のプレビュー対応
「Use this template」ボタンをクリックするか、リポジトリをクローンしてください。
git clone https://github.com/unsolublesugar/engineer-community-portal.git my-community-portal
cd my-community-portalpip install -r requirements.txt以下のファイルを自分のコミュニティに合わせて編集してください。
| ファイル | 内容 |
|---|---|
data/community.yaml |
コミュニティ名、URL、運営メンバー等 |
data/speakers.yaml |
登壇者のプロフィール情報 |
data/events/NNN.yaml |
各イベントの発表情報 |
src/config/settings.py |
サイト名、説明、OGP設定 |
python src/build.pyoutput/ ディレクトリに静的HTMLが生成されます。
python -m http.server -d output 8000GitHub にプッシュすると、GitHub Actions で自動ビルド&デプロイされます。
リポジトリの Settings → Pages → Source で「GitHub Actions」を選択してください。
number: 1
title: 'LTイベント #1'
date: '2024-01-30'
event_url: https://example.connpass.com/event/000001/ # connpass / Doorkeeper / Peatix / TECH PLAY / Meetup を自動判定
youtube_url: ''
hashtag: '#MyLT'
talks:
- title: 発表タイトル
speaker:
name: 表示名
id: speaker_id # speakers.yaml の id と一致させる
slide_url: '' # スライドURL(埋め込みURL自動生成)
youtube_timestamp: '0:10:00'
tags:
- タグ1
- タグ2- id: speaker_id
name: 表示名
icon_url: "" # アイコン画像URL(任意)
twitter: "" # X(Twitter)アカウント名
github: "" # GitHubアカウント名
qiita: "" # Qiitaアカウント名
zenn: "" # Zennアカウント名
website: "" # Webサイト以下のサービスのスライドURLから、埋め込みURLを自動生成します。
- Speaker Deck(oEmbed API経由)
- Google Slides
- Docswell
- slides.com
SlideShare は anti-bot challenge により iframe 埋め込みが機能しないため、自動埋め込み対象外(外部リンクのみ)。
src/ Pythonソース・Jinja2テンプレート
├── build.py メインビルドスクリプト
├── config/ 設定ファイル
└── templates/ Jinja2テンプレート
data/ YAMLデータ
├── community.yaml コミュニティ情報
├── speakers.yaml 登壇者マスターデータ
└── events/ イベントデータ
assets/ CSS・JavaScript・画像
output/ 生成された静的ファイル(git管理外)
