zjblog — ZenJong によるシンプルな Flask ブログシステム
概要
zjblog は「zenjong」版として公開された、Flask ベースのブログ(博客)システムです。設計方針はシンプルで実用的なこと。SQLite(手軽なローカル運用)と MySQL(本番対応)の両方に対応し、記事の一覧・詳細表示、作成・編集・削除、閲覧数の集計、ページネーションなど基本的な CMS 機能を備えています。管理画面からはサイト名、ロゴ、著作表示、サブタイトルの設定やロゴ画像のアップロードが可能で、レスポンシブな白基調のテーマを採用しているため、モバイルでも見やすいデザインになっています。
リポジトリの統計情報
- スター数: 1
- フォーク数: 0
- ウォッチャー数: 1
- コミット数: 10
- ファイル数: 15
- メインの言語: JavaScript
主な特徴
- Flask ベースの軽量ブログシステムで導入が容易
- SQLite / MySQL の選択サポート(起動スクリプトで選択可能)
- 記事管理(作成・編集・削除)、閲覧数カウント、ページネーション
- 管理画面でのサイト基本設定(サイト名、ロゴ、著作、サブタイトル)
技術的なポイント
zjblog は Python のマイクロフレームワーク Flask を核として構築されており、テンプレートエンジンとして Jinja2 を使ったシンプルな MVC 構成が想定されます。データ層は SQLite と MySQL に対応しており、起動スクリプト(run.py 相当)で利用する DB を選択できるようになっている点が特徴です。設定ファイル(config.py、database_config.py)が分離されているため、接続情報や環境差分の管理がしやすく、開発→本番の切替も容易です。
フロントエンドは白とグレーを基調としたレスポンシブデザインで、モバイルファーストを意識したレイアウトが採用されています。ロゴアップロード等のファイルアップロード処理、記事の CRUD、閲覧数インクリメント処理、ページネーションロジックなど基本機能が備わっており、テンプレートとルーティングが直感的に組まれているため拡張やテーマ変更が行いやすい構造です。
注意点として、リポジトリのメタ情報ではメイン言語が JavaScript となっていますが、README・ファイル群を見る限り実装の中心は Flask(Python)です。セキュリティ面では認証・権限周りの記述が README 抜粋では見当たらないため、公開運用する場合は管理画面の認証、CSRF 対策、入力バリデーション、ファイルアップロードの制限、SQL インジェクション対策(ORM/プリペアドステートメントの利用)などを追加することを推奨します。運用面ではデータマイグレーション(Alembic 等)、ユニットテスト、Docker 化、自動デプロイ(CI/CD)の導入が将来的な改善ポイントです。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- README.md: file
- app.py: file
- config.py: file
- database_config.py: file
- requirements.txt: file
- run.py: file
- templates/: directory(想定されるテンプレート群)
- static/: directory(CSS / JS / 画像等)
- models.py: file(データモデル)
- views.py / routes.py: file(ルーティング)
- migrations/: directory(存在する場合)
- uploads/: directory(ロゴ等のアップロード先)
- その他設定ファイルやユーティリティファイル
…他 10 ファイル
まとめ
シンプルで導入しやすい Flask 製ブログ、拡張とセキュリティ強化が次の課題。
リポジトリ情報:
- 名前: zjblog
- 説明: zenjongblog
- スター数: 1
- 言語: JavaScript
- URL: https://github.com/itlabour45/zjblog
- オーナー: itlabour45
- アバター: https://avatars.githubusercontent.com/u/113537010?v=4
READMEの抜粋:
Flask 博客系统
一个简洁大方的博客系统,基于 Flask 构建,支持 SQLite 和 MySQL 数据库。 商业的太复制,免费的功能太弱,由此诞生了zenjong版的blog
功能特性
内容管理
- ✅ 文章列表展示
- ✅ 文章详情查看
- ✅ 创建新文章
- ✅ 编辑文章
- ✅ 删除文章
- ✅ 文章浏览次数统计
- ✅ 分页功能
后台管理
- ✅ 网站名称设置
- ✅ Logo 图片上传
- ✅ 版权声明设置
- ✅ 网站副标题设置
界面设计
- ✅ 简洁的白色+灰色主题设计
- ✅ 响应式布局,支持移动端
安装步骤
1. 安装依赖
pip install -r requirements.txt
2. 启动应用
方式一:使用启动脚本(推荐)
运行启动脚本,会引导您选择数据库类型:
python run.py
启动脚本会提示您选择:
- SQLite(本地数据库,无需配置)
- MySQL(需要输入连接信息)