LiteLog
完整内容(Markdown)
# LiteLog
**为扩展而生的轻量博客系统**
LiteLog 采用钩子驱动架构,通过 **插件、主题、小工具、首页模式** 四层扩展机制,
让你在不改动一行内核代码的前提下,把博客改造成论坛、小说站、企业官网……
[立即下载](#download) · [在线演示](#demo) · [查看文档](#docs)
---
## ✨ 为什么选择 LiteLog
### 🪶 极致轻量
内核不到 **100 KB**,零 Composer 依赖,零构建步骤。
上传即用,FTP 就能部署。
### 🪝 钩子系统
内置 **50+ 钩子**,覆盖从请求分发、控制器逻辑、模板渲染到后台菜单的完整生命周期。
你可以在任意位置无侵入地插入自己的代码。
### 🧩 插件生态
论坛、小说、页面管理……
每个插件都是独立目录,**复制即装,删除即卸**。
不写一行数据库迁移脚本,启用时自动建表。
### 🎨 小工具系统
仿 WordPress 的**拖拽式**小工具管理。
每个小工具支持**多实例**、独立配置、条件显示,
插件开发者只需继承一个类即可接入。
### 🔀 首页多模式
博客?论坛?小说书城?
**一键切换**首页主栏内容,模式支持模块化扩展——
把 `content/homepage_modes/` 丢进一个目录,后台自动出现新选项。
### 🌗 主题模板
模板与业务逻辑**完全分离**。
一套模板文件,随时切换整站外观。
---
## 🚀 三步开始
### 1️⃣ 下载
从 [GitHub 仓库](https://github.com/) 克隆或下载最新版本:
git clone https://github.com/yourname/litelog.git
### 2️⃣ 上传
把整个目录上传到服务器任意位置(含子目录均可):
/www/wwwroot/your-site/
├── admin/
├── content/
├── include/
├── init.php
└── install.php
### 3️⃣ 安装
访问 `http://你的域名/install.php`,按引导填写数据库信息即可。
> 💡 **无需迁移工具**
> 所有数据表会在插件首次启用时自动创建。
---
## 📦 官方模块
| 模块 | 说明 | 来源 |
| :--- | :--- | :---: |
| 💬 **论坛** | 版块、主题、回复、附件上传、富文本编辑器 | 插件 |
| 📚 **小说** | 书籍、章节、书架、EPUB/TXT 导入、4 主题阅读器 | 插件 |
| 📄 **页面** | 类 WordPress 独立页面,支持层级、菜单、模板 | 插件 |
| 🎨 **小工具** | 拖拽式配置侧栏内容 | 内核 |
| 🔀 **首页模式** | 博客 / 论坛 / 小说 一键切换 | 内核 |
---
## 🏗️ 架构一览
litelog/
├── admin/ 后台管理
├── include/
│ ├── lib/ 核心库
│ │ ├── hook.php 钩子系统
│ │ ├── widget.php 小工具系统
│ │ ├── homepage_mode.php 首页模式系统
│ │ └── ...
│ ├── model/ 数据模型
│ └── controller/ 控制器
├── content/
│ ├── plugins/ 插件目录
│ ├── templates/ 主题目录
│ ├── homepage_modes/ 首页模式模块
│ └── uploads/ 上传文件
└── init.php 入口
---
## 🔧 技术栈
| 层级 | 技术 |
| :--- | :--- |
| 后端 | PHP 7.4+ · PDO · MySQL 5.7+ |
| 前端 | 原生 JS · CSS3 · 无框架 |
| 编辑器 | 自研 LiteEditor(WYSIWYG + Markdown 双模式) |
| 图标 | 内联 SVG(零请求) |
| 构建 | 无(直接部署) |
---
## 📊 与其他博客对比
| 特性 | LiteLog | 传统 CMS |
| :--- | :---: | :---: |
| 内核体积 | < 100 KB | 5–50 MB |
| 依赖管理 | 无 | Composer/npm |
| 插件机制 | 钩子驱动 | 混合 |
| 模板系统 | 纯 PHP | 模板引擎 |
| 部署难度 | 上传即用 | 需构建 |
| 学习曲线 | 1 小时 | 1 周 |
---
## ❓ 常见问题
**Q:LiteLog 和 WordPress 有什么区别?**
A:LiteLog 更轻、更简单。内核不到 100 KB,没有 Composer 依赖,
适合小型博客、社区、个人站点。WordPress 生态更庞大,但也更重。
**Q:需要服务器环境很复杂吗?**
A:不需要。任何支持 PHP + MySQL 的主机都能跑,共享虚拟主机也行。
**Q:插件开发难度如何?**
A:只需实现一个简单的类 + 一行注册代码。
一个"站点公告"小工具,**10 行代码**即可完成。
**Q:可以商用吗?**
A:可以。采用 MIT 协议,随意使用和修改,包括商业项目。
**Q:支持 HTTPS 吗?**
A:支持。LiteLog 对协议无要求,配合 Nginx 或 Apache 的 SSL 配置即可。
---
## 📖 延伸阅读
- [小工具开发文档](文档链接)
- [首页模式开发文档](文档链接)
- [插件开发文档](文档链接)
- [主题开发文档](文档链接)
---
## 🎯 现在就开始
> **LiteLog —— 让博客不只是博客。**
[⬇️ 立即下载](#download) · [🌐 在线演示](#demo) · [⭐ GitHub](#github)
---
*© 2026 LiteLog · 用 ❤️ 打造*
使用步骤
1. 创建页面
后台 → 侧栏 → 页面 → + 新增页面
2. 填写信息
| 字段 | 建议值 |
|---|---|
| 标题 | LiteLog 宣传页 |
| URL 别名 | about 或 litelog |
| 状态 | 已发布 |
| 显示在导航菜单 | ✅(可选,勾选后自动进顶部导航) |
| 菜单排序 | 1 |
3. 粘贴内容
- 在编辑器顶部点击
Markdown
按钮,切到 Markdown 模式 - 把上面代码块里的所有内容
原样粘贴
到文本框 - 右侧会实时预览效果
- 点击
保存页面
4. 查看效果
- 未开启伪静态:
你的域名/?action=page_view&slug=about - 已开启伪静态:
你的域名/page/about
渲染效果预览
Markdown 会被 LiteMarkdown 转成 HTML,配合主题样式后呈现:
┌─────────────────────────────────────────────────────────┐
│ │
│ LiteLog │ ← H1 大字 + 下边框
│ ───────────────────────────────────────────────────── │
│ **为扩展而生的轻量博客系统** │
│ │
│ LiteLog 采用钩子驱动架构…… │
│ │
│ 立即下载 · 在线演示 · 查看文档 │
│ │
├─────────────────────────────────────────────────────────┤
│ │
│ ✨ 为什么选择 LiteLog │ ← H2
│ ───────────────────────────────────────────────────── │
│ │
│ 🪶 极致轻量 │ ← H3
│ 内核不到 100 KB,零 Composer 依赖…… │
│ │
│ 🪝 钩子系统 │
│ 内置 50+ 钩子…… │
│ │
│ ┌─────────┬──────────────────────┬───────┐ │ ← 表格
│ │ 模块 │ 说明 │ 来源 │ │
│ ├─────────┼──────────────────────┼───────┤ │
│ │ 💬 论坛 │ 版块、主题、回复…… │ 插件 │ │
│ └─────────┴──────────────────────┴───────┘ │
│ │
│ ┌───────────────────────────────────────┐ │ ← 引用
│ │ 💡 无需迁移工具 │ │
│ │ 所有数据表会在插件首次启用时自动创建 │ │
│ └───────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────┐ │ ← 代码块(深色)
│ │ litelog/ │ │
│ │ ├── admin/ │ │
│ │ ├── include/ │ │
│ │ └── init.php │ │
│ └───────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘
样式说明(来自主题默认 CSS):
- H1/H2 有浅灰下边框
- 引用块有蓝色左边框 + 浅灰背景
- 代码块深色背景带顶栏(显示语言名)
- 表格有完整边框,表头浅灰
- 分割线浅灰
进阶:想更好看?
Markdown 的能力有限,如果你想要卡片式布局 + 渐变背景 + 悬停效果,可以:
方案 A:直接在页面 content 里写 HTML(手动)
- 新建页面,随便填一个标题
- 打开 phpMyAdmin 或数据库客户端
- 找到
blog_page
表,找到刚才创建的记录 - 把
content
字段替换为完整 HTML - 保存 → 前台就会渲染原生 HTML
但需要注意:主题的 .content 容器会限制部分样式,你可能需要给某些标签加 style 属性。
方案 B:扩展页面管理插件
给 pages 插件加一个"HTML 编辑模式",允许直接写 HTML 并跳过编辑器 sanitize。如果这是你需要的,告诉我,我可以再写一个升级版。
页面内容可用的钩子
如果你需要在前台页面中插入自定义内容(比如页面底部加评论、加相关推荐),可以在主题或插件中挂载钩子:
// 页面渲染前
Hook::addAction('page_view_before', function ($page) {
// $page 是当前页面数据
});
// 页面渲染后
Hook::addAction('page_view_after', function ($page) {
// 输出推荐内容
});
在 page_view_before 里可以修改 $page['content']、改变页面标题、插入统计代码等。
备忘
| 事项 | 说明 |
|---|---|
| 页面 URL 前缀 | page/别名(伪静态)或 ?action=page_view&slug=别名 |
| 页面索引 | pages(伪静态)或 ?action=pages_index |
| 支持层级 | 是,父页面可为任意其他页面 |
| 支持模板 | 是,template 字段可指定主题模板名 |
| 编辑器模式 | WYSIWYG / Markdown 双模式 |
| 自动进入导航 | 勾选"显示在导航菜单"即可 |