Skip to content

ブログ概要 — 技術スタックとアーキテクチャ

このブログは、完全自動化された多言語技術ブログです。 テレグラムボットで対話したり、ニュースにコメントしたりすると、AIがブログ記事を作成・翻訳し、自動でデプロイします。


🏗️ 全体アーキテクチャ

[テレグラムボット] → [Gemini AI] → [Markdown生成]

                            [自動翻訳 (EN/JA)]

                          [Git Commit & Push]

                     [GitHub Actions → GitHub Pages]

                        [VitePress静的サイト]

📦 フロントエンド (ブログ)

技術バージョン用途
VitePressv1.6.4静的サイトジェネレーター (SSG)
Vue.jsv3.4VitePressの内部フレームワーク、カスタムコンポーネント
Markdownブログコンテンツ作成フォーマット

なぜVitePressなのか?

  1. 優れたパフォーマンス — クライアントサイドのJavaScriptを最小限に抑え、高速に読み込み
  2. 高いセキュリティ — 純粋な静的ファイルのみを提供し、サーバーサイドの脆弱性を根本から遮断
  3. 開発者に優しい — Docsスタイルのレイアウトで執筆に集中

🌍 多言語対応

言語パス自動翻訳
🇰🇷 韓国語/blog/オリジナル
🇺🇸 英語/en/blog/✅ Gemini AI
🇯🇵 日本語/ja/blog/✅ Gemini AI
  • VitePressのlocales設定により、言語ごとに独立したサイドバーとナビゲーションを構成
  • テレグラムボットの/postまたは/syncコマンドで自動翻訳をトリガー

🎨 デザインシステム

6:3:1の配色比率を適用:

比率役割カラー
60%Base#ffffff (ライト) / #0f172a (ダーク)
30%Secondary#2563eb (Blue)
10%Point#f97316 (Orange)
  • ライト/ダークモード切り替えをサポート
  • CSS Custom Propertiesでテーマを管理

🤖 バックエンド (テレグラムボット)

技術用途
Python 3.9+ボットのメインランタイム
python-telegram-botTelegram Bot API連携
Google Gemini APIAI対話、ブログ作成、翻訳
feedparserGoogle News RSSニュースのスクレイピング
scheduleニュース配信スケジューラー(毎日09:00 KST)
GitPythonブログリポジトリへの自動コミット/プッシュ

ボットの主要コマンド

コマンド機能
/post [タイトル]対話ベースのブログ自動作成 + 翻訳 + デプロイ
/writeMarkdown直接入力による投稿
/sync未翻訳記事の一括翻訳
/usageAPIトークン使用量の確認
/reset対話セッションのリセット

AIモデルの分離

モデルTemperature用途
chat_model0.7自然な対話
post_model0.2事実ベースのブログ作成(ハルシネーションを最小化)

🔗 サードパーティ連携

サービス用途
GiscusGitHub Discussionsベースのサーバーレスコメントシステム
Google Analytics 4訪問者トラフィックおよび国/言語別の統計追跡
RSS Feed3言語別の購読フィードを自動生成 (feed.xml)
Sitemap検索エンジン最適化用のサイトマップを自動生成
Google Search Console検索表示の管理およびインデックス登録

🚀 CI/CDパイプライン

コードPush (mainブランチ)

GitHub Actionsトリガー

npm ci → vitepress build

sitemap.xml + feed.xml 自動生成

GitHub Pagesへ自動デプロイ
  • ビルド時間: 約4秒
  • デプロイ方式: GitHub Pages (静的ホスティング)
  • ブランチ戦略: mainブランチへのpush時に自動デプロイ

🛡️ セキュリティ

項目方法
APIキー管理.env + .gitignore (Gitに含めない)
ボットソースの自動バックアップ1時間ごとの自動コミット/プッシュ (auto_push.py)
静的サイトサーバーサイドコードなし → 攻撃対象領域を最小化
コメントシステムGitHub OAuthベースの認証 (Giscus)

📁 プロジェクト構造

uoosnn.github.io/          ← ブログ (VitePress)
├── .vitepress/
│   ├── config.mjs          ← サイト設定、サイドバー、RSS、Sitemap
│   └── theme/
│       ├── custom.css       ← 6:3:1配色テーマ
│       ├── index.mjs        ← Giscusレイアウト拡張
│       └── components/
│           └── GiscusComment.vue  ← コメントコンポーネント
├── blog/                   ← 韓国語オリジナル記事
├── en/blog/                ← 英語翻訳版
├── ja/blog/                ← 日本語翻訳版
├── resume.md               ← 履歴書(多言語)
└── .github/workflows/
    └── deploy.yml           ← CI/CDパイプライン

telegram_bot/               ← テレグラムボット
├── bot_main.py             ← メインエントリーポイント
├── ai_processor.py         ← Gemini AI処理
├── github_uploader.py      ← Gitアップロード
├── news_scraper.py         ← ニュース収集
└── auto_push.py            ← 自動コミット/プッシュ

このブログはサーバーなしで運営される完全自動化システムです。テレグラムで対話するとブログ記事が作成され、AIが翻訳し、GitHub Actionsがデプロイします。


投稿日時: 2026-08-15 13:57:00更新日時: 2026-08-15 13:57:00

Built with VitePress. | 📡 RSS Feed