🎯 项目简介
xBlog 是一款基于 PHP + SQLite 构建的轻量级、高性能多用户博客系统。它摒弃了复杂的配置与臃肿的功能,专注于为开发者、写作者和技术爱好者提供一个 快速部署、易于管理、专注写作 的纯净博客空间。其单文件数据库架构使其成为追求简洁与效率的理想选择。
📁 核心目录结构解析
🌐 前端入口与交互
├── index.php 🏠 博客主页
├── article.php 📄 文章详情页
├── login.php 🔑 登录页 (已集成至头部文件)
├── register.php 📝 注册页 (已集成至头部文件)
├── search.php 🔍 全站搜索页 (已集成至头部文件)
- 清晰的前台页面分离,逻辑专注。
- 提供完整的用户访问路径。
⚡ 异步交互与API
├── ajax_login.php (AJAX登录)
├── ajax_register.php (AJAX注册)
├── ajax_ajax_like.php (文章点赞)
- 核心用户操作采用 AJAX 实现,提升体验。
- 前后端分离式交互,响应迅速。
🛠️ 后台管理中心 (/admin/)
后台模块功能清晰,覆盖博客全生命周期管理:
- 内容管理 (
articles.php,add_article.php,edit_article.php): 文章的增删改查与AI摘要生成 (api_summary.php)。 - 用户与社区 (
users.php,comments.php): 管理用户信息、权限及评论。 - 系统配置 (
config.php,attachments.php,categories_tags.php): 管理博客设置、附件、分类标签。 - 数据安全 (
download_db.php): 支持一键备份 SQLite 数据库。
📦 核心支持文件 (/includes/)
/includes/
├── db.php 🗄️ 数据库连接封装
├── functions.php 🛠️ 全局通用函数库
└── default/ 🧩 前后台公共模板组件
- 实现代码复用与逻辑分离。
- 便于统一维护与更新。
🎨 静态资源 (/assets/)
- 前后台独立的样式 (
style.css,admin_style.css) 与脚本。 - 集成 Toast UI Editor 提供强大的可视化文章编辑体验。
- SVG 图标集,确保高清显示。
📎 上传与媒体 (/uploads/)
/uploads/
├── images/ 🖼️ 文章图片附件
└── avatars/ 👤 用户头像(内置默认头像)
- 自动分类存储,管理便捷。
- 默认头像提供开箱即用的友好体验。
🔌 扩展能力 (/plugin/)
以 weather/ 插件为例,展示了系统的扩展性:
- 提供固定地区、IP定位、多日预报等多种Widget。
- 插件化架构允许轻松增加新功能。
📚 依赖与构建
- 使用 Composer 管理 PHP 依赖(如
league/commonmark用于 Markdown 解析)。 vendor/目录包含所有第三方库,确保环境一致性。
✨ 主要特性亮点
- 🚀 极简部署: 仅需 PHP 环境,单一
blog.db数据库文件,无需配置复杂数据库。 - 📝 优雅写作: 集成功能丰富的 Toast UI 编辑器,支持 Markdown 与富文本。
- 🤖 AI 赋能: 后台内置文章 AI 摘要生成功能,提升内容管理效率。
- 🔒 安全可靠: 完善的用户权限管理、安全的文件上传与数据备份机制。
- 🎨 前后端分离: AJAX 广泛运用,界面交互流畅;前后台样式与逻辑完全独立。
- ⚙️ 高度模块化: 清晰的目录结构,便于二次开发、功能扩展与个性化定制。
- 🌦️ 插件化示例: 提供插件范例,轻松扩展博客功能。
🚀 快速开始
- 1️⃣将 xBlog 文件放置于您的 PHP 运行环境。
- 2️⃣确保
uploads/目录具有写入权限。 - 3️⃣访问首页,系统将自动初始安装。
- 4️⃣在系统配置页面替换你的信息。
- 5️⃣开始您的写作之旅!
xBlog 致力于在 简单 与 强大 之间取得完美平衡,是构建个人知识库、技术博客或创作空间的优质选择。💝
xBlog - PHP+SQLITE 博客文件目录结构:
***/
├── index.php (主页)
├── article.php (文章详情页)
├── login.php (登录页)
├── register.php (注册页)
├── logout.php (登出)
├── search.php (搜索页)
├── ajax_ajax_like.php (AJAX 点赞处理)
├── ajax_login.php (AJAX 登录处理)
├── ajax_register.php (AJAX 注册处理)
├── blog.db (SQLite 数据库文件 - 自动生成)
├── admin/ (后台目录)
│ ├── index.php (后台主页)
│ ├── user_panel.php (用户面板)
│ ├── check_username.php (站内消息用户名验证接口)
│ ├── articles.php (文章管理)
│ ├── search_articles.php (文章搜索API)
│ ├── add_article.php (添加文章)
│ ├── edit_article.php (编辑文章)
│ ├── api_summary.php (AI 摘要API)
│ ├── attachments.php (附件管理)
│ ├── avatar_upload.php (头像上传API)
│ ├── avatar_delete.php (头像恢复API)
│ ├── users.php (用户管理)
│ ├── get_user_detail.php (用户详情API)
│ ├── comments.php (评论管理)
│ ├── edit_comment.php (编辑评论处理)
│ ├── categories_tags.php (分类标签管理)
│ ├── download_db.php (下载数据库)
│ ├── config.php (配置管理)
│ └── upload.php (上传文件)
├── includes/ (包含文件目录)
│ ├── default/ (默认文件目录)
│ │ ├── header.php (前台公共头部)
│ │ ├── footer.php (前台公共页脚)
│ │ ├── admin_header.php (暂无此文件 - 后台公共头部)
│ │ └── admin_footer.php (暂无此文件 - 后台公共页脚)
│ ├── db.php (数据库连接)
│ └── functions.php (通用函数)
├── assets/ (静态资源目录)
│ ├── style.css (前台样式表)
│ ├── script.js (前台主体脚本 JavaScript)
│ ├── admin_style.css (后台样式表)
│ ├── admin_script.js (后台主体脚本 JavaScript)
│ ├── admin_articles_search.js (后台文章搜索脚本 JavaScript)
│ ├── favicon.svg (icon)
│ ├── icons.svg (站内 icon)
│ ├── toastui-editor.min.css (Toast UI Editor 相关样式)
│ └── toastui-editor-all.min.js (Toast UI Editor 相关JS函数)
├── uploads/ (上传目录)
│ ├── images/ (文章附件目录)
│ └── avatars/ (头像附件目录)
│ └── default/ (默认头像附件目录)
│ ├── male.svg (默认男头像)
│ └── female.svg (默认女头像)
├── fonts/ (字体目录)
│ └── Nunito-VariableFont_wght.woff2 (字体文件)
├── plugin/ (插件目录)
│ └── weather/ (天气插件目录)
│ ├── api.php (异步加载接口)
│ ├── weather_*.json (固定地区版 缓存文件)
│ ├── weather_ip_*.json (IP 定位版 缓存文件)
│ ├── weather_widget.php (固定地区版)
│ ├── weather_widget_ip.php (IP 定位版)
│ ├── weather_widget_ip_with_days.php (IP 定位未来天气版)
│ ├── weather_functions.php (天气插件函数)
│ └── weather_styles.css (天气插件样式)
├── vendor/ (league/commonmark 2.8.0 依赖目录)
├── composer.json (临时:项目依赖声明文件:列出需要哪些第三方库)
├── composer.lock (临时:依赖版本文件:记录当前安装的所有库的版本)
└── composer.phar (临时:Composer 工具本身:用于安装/更新依赖的可执行文件)