🎯 项目简介

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 工具本身:用于安装/更新依赖的可执行文件)

出处:https://xblog.1661.cc.cd/article.php?id=26
版权:本文采用 CC BY-NC-SA 4.0 协议,完整转载请注明来源。