版本:v1.0.0
作者:LiteLog Team
写在前面
经过数月的打磨,LiteLog 1.0 终于与大家见面了。
这是一款从零开始构建的轻量级博客 / CMS 系统,基于 PHP + MySQL,不依赖任何第三方框架,从内核到编辑器、从后台到前台、从模板到扩展机制,全部自研。
我们的目标很简单:让写博客这件事回归本质 —— 轻、快、稳、易扩展。
一、为什么还要再造一个博客系统?
你可能会问:WordPress、Typecho、Emlog、Halo 已经那么多了,为什么还要做一个 LiteLog?
我们的答案很明确:现有系统要么太重,要么太简单,要么扩展困难。
| 问题 | LiteLog 的回答 |
|---|---|
| WordPress 太臃肿,一个后台 50MB+ | 内核仅 230KB,加载快、看得懂 |
| Typecho 钩子机制不完善 | 47+ 钩子,覆盖从前台到后台的所有关键节点 |
| Emlog 模板引擎有学习成本 | 原生 PHP 模板,会 PHP 就会做主题 |
| 大多数系统装扩展要改 Nginx | 通用路由机制,一次配置永久生效 |
| 编辑器要么纯 Markdown,要么纯富文本 | 双模式编辑器,一键切换 |
LiteLog 想要成为的,是「你看得懂、改得动、扩得开」的那个博客系统。
二、九大核心亮点
亮点 1:极致轻量,代码可控
内核 < 250KB,核心类 < 10 个,所有代码都可以在一天内读完。
include/
├── lib/ ← 9 个基础类
├── model/ ← 6 个数据模型
└── controller/ ← 6 个前台控制器
没有 Composer 依赖,没有 Node.js 构建,没有复杂的自动加载。上传即用,5 分钟上线。
亮点 2:双模式编辑器,写文章从未如此舒适
LiteLog 内置自研的双模式编辑器,你可以:
- 所见即所得模式(默认):像 Word 一样直接编辑渲染后的样式
- Markdown 模式:编写 Markdown 源码,右侧实时预览
两种模式一键切换,内容永不丢失。
完整工具栏
功能图标标题H1 / H2 / H3文字格式B I</> / 代码块 { }链接图片🔗 🖼 🎥表格分割线▦ ―列表• 1. ☑撤销重做↶ ↷查找🔍预览全屏👁 ⛶帮助?
强大特性
- ✅ 代码块语法高亮:PHP / JS / Python / SQL / Nginx 等
- ✅ 一键复制代码:鼠标悬浮代码块,右上角出现"复制"按钮
- ✅ 拖拽图片上传:直接把图拖到编辑器里
- ✅ 粘贴截图上传:
Ctrl+V粘贴截图自动上传 - ✅ Markdown 智能识别:从网页复制的内容自动转 Markdown
- ✅ 快捷键支持:
Ctrl+BCtrl+ICtrl+KCtrl+ECtrl+S - ✅ 自动保存:每 30 秒存入 localStorage,页面崩溃不丢稿
- ✅ Sticky 工具栏:滚动页面时工具栏始终可见
- ✅ 对齐功能:居左、居中、居右、分散对齐(Markdown 模式下也支持)
- ✅ 封面图上传:每篇文章独立封面
亮点 3:47+ 钩子,扩展无死角
LiteLog 采用经典 Hook 机制,共 47 个钩子,覆盖:
分类钩子数请求生命周期4首页 / 列表7文章详情7分类 / 标签 / 作者 / 归档8评论8模板9后台7数据 / 用户 / 扩展10+想在哪扩展都行:
// 在每篇文章末尾加一行文字
Hook::addAction('log_content_after', function ($log) {
echo '<p>本文由 LiteLog 强力驱动</p>';
});
就这么简单。
亮点 4:通用路由机制——URL 干净美观
这是 LiteLog 最得意的设计之一。
传统 CMS:URL 长这样 ?action=xxx&id=1,又丑又难记。
LiteLog:URL 干净漂亮。
/post/123.html 文章
/sort/tech 分类
/tag/php 标签
/author/1 作者
/record/2026-10 归档
而且这套路由是通用的:无论将来加什么功能,Nginx 只配置一次,永久生效。
# 一次性配置,永久生效
if (-f $request_filename) { break; }
if (-d $request_filename) { break; }
rewrite ^/post/(\d+)\.html$ /index.php?post=$1 last;
rewrite ^/post/([^/]+)\.html$ /index.php?alias=$1 last;
rewrite ^/sort/([^/]+)/?$ /index.php?sort_alias=$1 last;
rewrite ^/tag/([^/]+)/?$ /index.php?tag=$1 last;
rewrite ^/author/(\d+)/?$ /index.php?author=$1 last;
rewrite "^/record/(\d{4}-\d{2})/?$" /index.php?record=$1 last;
# 通用模块路由
rewrite ^/([a-zA-Z][a-zA-Z0-9_-]*)/?$ /index.php?__plugin_path=$1 last;
rewrite ^/([a-zA-Z][a-zA-Z0-9_-]*)/(.+)$ /index.php?__plugin_path=$1&__plugin_rest=$2 last;
从此,后台写多少功能,前台就有多少漂亮 URL。服务器配置永远不用再动。
亮点 5:原生 PHP 模板——会 PHP 就会做主题
不引入任何模板语法,直接用 PHP 写主题:
<?php foreach ($logs as $log): ?>
<article>
<h2><a href="<?= h($log['url']) ?>"><?= h($log['title']) ?></a></h2>
<p><?= h($log['excerpt']) ?></p>
</article>
<?php endforeach; ?>
只需要 4 个文件就能做出一个主题:
header.phpfooter.phplog_list.phpecho_log.php
内置一套官方默认主题:
- Default:经典单栏布局,清爽简约
- 左图右文的文章卡片
- 代码块深色高亮 + 复制按钮
- 响应式适配手机
主题头注释:
<?php
/**
* Theme Name: 我的主题
* Description: 优雅的博客主题
* Version: 1.0.0
* Author: 你的名字
*/
后台一键切换,自动渲染。
亮点 6:安全机制——从内核到前台全防护
LiteLog 在安全上下足了功夫:
层级措施SQL全 PDO 预处理,杜绝注入XSS输出h() 转义 + HTML 白名单CSRFSession 校验上传MIME + 后缀 + getimagesize()权限checkLogin() + UID 校验文件随机存储名,防止路径猜测目录config.php 无法访问HTML 清洗DOM 解析 + 标签/属性双白名单
所有用户可控输出都要经过 h(),这已经写进开发者规范。
亮点 7:后台管理——简洁、克制、好用
LiteLog 后台采用深色侧栏 + 浅色主区的经典布局,克制而不失精致。
核心功能
菜单功能概览文章 / 评论 / 分类 / 标签数量统计文章列表 / 新建 / 编辑 / 删除分类列表 / 新增 / 编辑 / 删除主题主题列表 / 启用 / 预览插件插件列表 / 启用 / 停用 / 设置设置站点名称 / 描述 / 关键词 / URL 重写等界面特色
- 左侧深色导航栏:清晰的功能分区
- 主区浅色卡片:圆角、轻阴影、大留白
- 粘性工具栏:编辑长文不再来回拖动
- 状态徽章:公开 / 隐藏 / 置顶 一目了然
- 响应式设计:手机也能管理博客
亮点 8:完整文档体系
LiteLog 附带三份完整开发文档,每一份都能"只看这一个文件就能二次开发":
文档用途《LiteLog 程序完整说明文档》核心架构、数据库、二次开发《LiteLog 插件开发规范》从零写一个扩展《LiteLog 主题开发规范》从零做一个主题每份文档都有:
- 完整代码示例
- 47 个钩子清单
- 常见问题排查
- 安全规范
不需要翻看内核源码,读完文档就能上手。
亮点 9:开箱即用的细节体验
很多博客系统把"能用"当作终点,LiteLog 把"好用"当作起点。
文章封面图
每篇文章可单独上传封面图,列表页展示为左图右文卡片。
图片懒加载
所有列表图自动 loading="lazy",滚动时才加载。
代码块增强
- 深色主题 + 圆角
- 顶部显示语言名(PHP / JS / SQL)
- 右上角一键复制
- 语法高亮(关键字/字符串/注释/变量/数字分色)
分类层级
支持父子分类,无限嵌套。
URL 别名
每篇文章、每个分类都可以自定义 URL 别名,方便 SEO。
一键备份
content/backup/ 目录集中存放所有数据备份与错误日志。
三、技术参数一览
项参数语言PHP 7.1+(推荐 7.4 / 8.0)数据库MySQL 5.6+ / MariaDB 10.3+字符集utf8mb4(完整支持 emoji)内核大小< 2MB核心类< 10 个钩子数47+主题文件4 个必需前端依赖0(无 jQuery / Vue / React)后端依赖0(无 Composer)构建工具无四、快速开始
1. 下载与部署
上传到网站根目录,访问:
http://你的域名/install.php
填写数据库信息 → 5 分钟完成安装。
2. 配置伪静态
宝塔 → 网站 → 伪静态,粘贴:
if (-f $request_filename) { break; }
if (-d $request_filename) { break; }
rewrite ^/post/(\d+)\.html$ /index.php?post=$1 last;
rewrite ^/post/([^/]+)\.html$ /index.php?alias=$1 last;
rewrite ^/sort/([^/]+)/?$ /index.php?sort_alias=$1 last;
rewrite ^/tag/([^/]+)/?$ /index.php?tag=$1 last;
rewrite ^/author/(\d+)/?$ /index.php?author=$1 last;
rewrite "^/record/(\d{4}-\d{2})/?$" /index.php?record=$1 last;
rewrite ^/([a-zA-Z][a-zA-Z0-9_-]*)/?$ /index.php?__plugin_path=$1 last;
rewrite ^/([a-zA-Z][a-zA-Z0-9_-]*)/(.+)$ /index.php?__plugin_path=$1&__plugin_rest=$2 last;
3. 开始写作
后台 → 文章 → 写文章 → 所见即所得 / Markdown 任选 → 发布。
4. 自定义主题
复制 content/templates/default/ 为你的主题目录 → 修改样式 → 后台启用。
五、适用场景
场景为什么选 LiteLog个人博客轻量、快、编辑器好用技术博客代码高亮、双模式编辑器企业官网简单、稳定、易维护二次开发47+ 钩子,完整文档教学演示代码少、看得懂轻量 CMS内核小,部署快六、与同类产品的对比
特性LiteLogWordPressTypechoEmlog内核大小< 2MB50MB+1MB2MB依赖无大量少量无双模式编辑器✅需插件❌❌钩子数47+极多20+30+通用路由机制✅❌❌❌原生 PHP 模板✅❌❌✅文档完备度⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐七、后续规划
LiteLog 1.0 只是起点。接下来的版本中,我们计划:
- 🔜 多用户系统:作者 / 编辑 / 管理员分级
- 🔜 RESTful API:为移动端 App 提供接口
- 🔜 SEO 增强:站点地图、结构化数据
- 🔜 图片处理:自动压缩、缩略图
- 🔜 数据统计:访问统计、趋势图表
- 🔜 国际化:多语言支持
八、写在最后
LiteLog 不是要取代谁,只是想让写博客这件事回归简单。
我们相信:好的工具应该让你专注于内容,而不是工具本身。
轻量、简单、可扩展 —— 这三个词是 LiteLog 的全部。
如果你也认同这个理念,欢迎:
- ⭐ 试用:5 分钟上线你的博客
- 📝 反馈:发现问题或建议,随时告诉我们
- 🔧 贡献:做主题、完善文档
- 💬 分享:把这个系统推荐给需要的朋友
LiteLog,为简单而生。