主站
论坛首页/ LiteLog /帖子

回复 🎉 LiteLog 1.0 正式发布:一个轻量、简单、可扩展的 CMS

作者:zhangwei 管理员 · 12 天前 · 70 浏览 · 1 回复
zhangwei
楼主
管理员
1 楼
发布日期:2026-10-06

版本: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 S对齐居左 / 居中 / 居右 / 分散引用❝代码行内 </> / 代码块 { }链接图片🔗 🖼 🎥表格分割线▦ ―列表• 1. ☑撤销重做↶ ↷查找🔍预览全屏👁 ⛶帮助?

强大特性

  • ✅ 代码块语法高亮:PHP / JS / Python / SQL / Nginx 等
  • ✅ 一键复制代码:鼠标悬浮代码块,右上角出现"复制"按钮
  • ✅ 拖拽图片上传:直接把图拖到编辑器里
  • ✅ 粘贴截图上传:Ctrl+V 粘贴截图自动上传
  • ✅ Markdown 智能识别:从网页复制的内容自动转 Markdown
  • ✅ 快捷键支持:Ctrl+B Ctrl+I Ctrl+K Ctrl+E Ctrl+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.php
  • footer.php
  • log_list.php
  • echo_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,为简单而生。

回复后可见

回复本帖后即可查看隐藏内容

🔒 满足条件后刷新页面即可查看隐藏内容
大
大诗人嘟嘟
用户
2 楼 · 5 天前
好程序必须使劲点赞!
登录 或 后台登录 后参与讨论