Skip to content
View rewrz's full-sized avatar
:octocat:
El Psy Congroo
:octocat:
El Psy Congroo

Block or report rewrz

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
RewrZ/README.md

RewrZ Project - 一个中庸的个人博客系统

Rewrite + Philosophyz = RewrZ 最终的改写,用哲学的态度重新思考个人内容创作

注意(项目重构寄语)

!!!注意:本项目正在进行重构,还存在大量的Bug和错误,不建议部署使用!!!

由于个人精力有限,虽然使用了免费的 AI 辅助协同开发,但项目仍然存在很多问题,进度缓慢。

本来由于个人的时间、精力、技术等都极其有限,我已经很久没有更新这个项目了,又重新回到 WordPress 的大坑里面,想着只安心写文章内容就算了,折腾不动了,累了,改不动了,不想折腾了,主题都懒得做了,套个开源的了事。

可惜,随着 WordPress 的升级,逐渐放弃对旧版本 PHP、MySQL 的兼容,官方推荐的配置越来越高(2025年的WP官方:Recommend PHP 8.3 or greater and MySQL version 8.0 or MariaDB version 10.6 or greater.)。

虽然网上很多人说 WordPress 对服务器的要求并不算高,即使是入门级 VPS 也能运行良好,后面反手就推荐小型博客使用 1~2GB 内存服务器,存储空间 20GB SSD……也太凡尔赛了。我当年运行 WordPress 用的都是 512MB ,空间 5GB 的 VPS ,还用的飞起。现在动不动就要 1G 内存起步了吗?

随着 WordPress 升级对 PHP 和数据库版本要求越来越高,新的 PHP 和数据库版本推荐安装配置是 2G 内存起步,服务器费用提升一大截,对于非盈利性个人博主来说是一笔不小的开支。未来就只剩下了两条路,一是跟着官方走耗巨资升级服务器,二是直接放弃独立博客,每年还能省下不少费用和折腾时间。

放弃,又只会留下不舍、遗憾,毕竟坚持了多年,于是尝试着重新捡起多年前的这个轮子,升级重构,在 WP 完全放弃旧版本支持前,看能否完成这个开源的博客项目,能够在 512MB 内存左右运行就行了,综合自己多年使用博客的经验和痛点,只保留自己常用到的一些功能,打造一个中庸又带点个性化的博客系统。

正如我在博客上说的:

只要你用过WordPress,你就知道,你的后台登录页面,就是互联网上最繁忙的公共厕所。来自全球各个角落的IP,每分每秒都在尝试爆破你的密码。这是个不争的事实。因为WordPress太出名了,它占据了全球网站的半壁江山,所以成了所有自动化攻击脚本的默认目标。黑客们写的脚本,就是对着WordPress的wp-login.php这个裤裆猛踹。

每天看着无数不怀好意的 IP 地址对本人博客的光顾,或许也该是时候重构一个小众的博客系统了吧!


🌟 原项目背景

RewrZ,名字灵感来自《Rewrite》(改写)及其 OP「Philosophyz」(最终的哲学)。这是一个用现代技术栈重构的个人博客系统,旨在打造一个简洁中庸、性能优异、高度个性化的内容发布平台。

为什么要重新造轮子?

在使用过 WordPress、Blogger、Ghost、Hexo 等各种博客系统的过程中,我遇到了许多痛点:

  • 🔧 两种极端:太多用不到的功能(所谓的强大),要不就是想要的功能却没有(所谓的极简)
  • 🐌 性能瓶颈:插件依赖多,加载缓慢,服务器要求高
  • 🎨 定制困难:主题插件频繁更新,兼容性问题层出不穷
  • 🔒 隐私担忧:过度收集访客信息,不够纯粹

RewrZ 的哲学

  • 简洁中庸:少量核心功能 + 无限扩展可能
  • 隐私友好:不特意记录访客 IP,仅保留必要的交互信息和安全措施
  • 性能优先:能在 512MB 内存的服务器上流畅运行
  • 个性表达:不只是工具,更是反映博主个性的创作空间

✨ 核心特色

🎭 多重身份内容系统

一篇内容可以同时拥有多个"格式身份":

  • 📝 标准文章:传统博客文章样式
  • 💬 微博:类似 Twitter 的信息流布局
  • 📸 相册:瀑布流图片展示
  • 🎵 音乐:嵌入音频播放器
  • 🎬 视频:嵌入视频播放预览

不同聚合页面会根据内容的格式身份优化展示效果。

🎨 动态主题系统

  • 5种预设主题:浅色、深色、自然、海洋、夕阳
  • 自定义主题创建:可视化颜色编辑器
  • 氛围引擎:根据纪念日自动切换主题氛围
  • 主题调度:支持按日期范围自动应用特殊主题

🔒 安全与隐私

  • 动态后台路径:自定义后台访问地址,防止恶意扫描和攻击
  • 密码保护文章:支持文章加密访问
  • 评论后可见内容:鼓励访客互动的隐藏内容功能
  • 反垃圾评论:三层防护系统自动过滤恶意评论

💾 版本快照

  • 轻量级版本控制:自动保存文章修改历史
  • 一键版本恢复:快速回滚到任意历史版本
  • 版本比较预览:直观查看内容变化

🔍 全站搜索

  • 全文搜索:支持标题、内容、摘要搜索
  • 智能筛选:按分类、标签、格式筛选
  • 搜索建议:实时搜索建议和自动补全
  • 关键词高亮:搜索结果关键词高亮显示

📡 RSS & SEO

  • 智能RSS订阅:支持全站、分类、标签RSS
  • Open Graph支持:完善的社交分享优化
  • 自动Sitemap:搜索引擎友好的站点地图
  • 结构化数据:符合搜索引擎规范的元数据

🖼️ 响应式图片系统

  • 多尺寸生成:自动为上传图片生成多种尺寸
  • 响应式调用:模板中自动使用适合设备的图片尺寸
  • 性能优化:减少带宽消耗,提升页面加载速度

💬 评论头像系统

  • Gravatar集成:支持全球通用的头像服务
  • 本地头像上传:用户可上传个性化头像
  • 智能优先级:本地头像优先于Gravatar显示
  • 自定义配置:后台可配置头像尺寸、默认头像等

🛡️ 反垃圾评论系统

  • 三层防护:无感防御、内容分析、主动验证
  • 蜜罐陷阱:隐藏字段防止自动化提交
  • 时间戳检查:防止过快提交的垃圾评论
  • 链接数量限制:自动检测过多链接的可疑评论
  • 关键词过滤:黑名单关键词过滤
  • Akismet集成:云端垃圾评论检测服务
  • 验证码验证:可疑评论需通过验证码验证

📄 版权声明与打赏功能

  • 版权声明:支持Creative Commons等多种版权协议
  • 打赏功能:支持二维码和链接形式的打赏方式
  • 后台配置:可自定义打赏文案和二维码图片

📊 现代化博客增强功能

  • 阅读时间计算:自动计算文章阅读时间
  • 阅读进度条:页面右侧显示阅读进度
  • 相关文章推荐:基于标签和分类的智能推荐

⚙️ 系统信息与监控

  • 系统概览:显示操作系统、Python版本等信息
  • 资源监控:数据库路径、媒体库大小等
  • JSON API:支持通过API获取系统信息

🐛 错误处理与日志

  • 友好的错误页面:404、500等错误的美化页面
  • 自定义错误配置:后台可配置错误页面内容
  • 错误日志记录:自动记录错误信息便于排查
  • 本地化错误信息:中文错误提示提升用户体验

📤 数据导入导出

  • RewrZ格式:原生数据格式导入导出
  • WordPress兼容:支持导入WordPress导出的XML文件
  • 批量操作:支持批量导入导出文章和媒体文件

🔧 文件上传安全

  • 类型限制:后台可配置允许上传的文件类型
  • 大小限制:可设置文件大小上限
  • 安全验证:MIME类型和扩展名双重验证

🚀 技术亮点

现代化技术栈

  • 后端:FastAPI + SQLAlchemy 2.0 + Python 3.12
  • 前端:HTMX + Tailwind CSS(无需 Node.js)
  • 数据库:SQLite(可扩展至 PostgreSQL/MySQL)
  • 模板引擎:Jinja2
  • 部署:Uvicorn + Nginx

性能优化

  • 轻量级设计:核心系统占用极少资源
  • 智能缓存:多层缓存优化响应速度
  • CDN友好:静态资源通过CDN加速
  • 数据库优化:高效的查询和索引策略

📦 快速开始

环境要求

  • Python 3.10+
  • 512MB+ 内存
  • 现代 Web 浏览器

一键安装

# 克隆项目
git clone https://github.com/RewrZ/RewrZ.git
cd RewrZ

# 安装依赖
pip install -r requirements.txt

# 启动应用
uvicorn rewrz.main:app --reload

# 访问安装向导
# 打开浏览器访问 http://localhost:8000/installer

Web 安装向导

RewrZ 提供友好的 Web 安装向导,只需几步即可完成配置:

  1. 📊 数据库初始化:自动创建数据库表结构
  2. 👤 管理员账号:设置管理员用户名和密码
  3. ⚙️ 基础配置:网站标题、描述等基本信息
  4. 🔐 后台路径:自定义安全的后台访问地址
  5. 🎨 主题选择:选择预设主题或创建自定义主题

📚 使用指南

内容创作

  1. Markdown 编辑器:支持所见即所得的 Markdown 编写
  2. 格式身份:为内容选择一个或多个展示格式
  3. 分类标签:灵活的内容组织方式
  4. 媒体管理:统一的图片和文件管理

个性化定制

  1. 主题配置:在后台 → 主题 中选择或创建主题
  2. 氛围设置:配置纪念日和特殊氛围主题
  3. 导航菜单:自定义导航结构和链接
  4. 小工具配置:侧边栏和页脚小工具设置

访客互动

  1. 评论系统:支持嵌套回复的评论功能
  2. 社交分享:优化的社交媒体分享体验
  3. RSS订阅:多种格式的内容订阅方式
  4. 打赏支持:访客可通过二维码或链接打赏作者

开发文档

访问 DEVELOPMENT.md 获取开发文档


🛡️ 安全特性

动态后台保护

  • 自定义后台访问路径(如 /rewrz-admin-a1b2c3d4
  • 支持多种路径格式(随机、品牌、自定义)
  • 一键更换后台地址,有效防止恶意扫描

内容保护

  • 文章密码保护功能
  • 评论后可见内容设置
  • CSRF 攻击防护
  • SQL 注入防护

评论安全

  • 三层反垃圾评论防护
  • Akismet云端垃圾检测
  • 蜜罐陷阱和时间戳验证
  • 可疑评论验证码验证

🎯 设计理念

Logo 寓意

Logo 由 "RewrZ" 的 "R" 和 "Z" 叠加而成,一黑一白,象征:

  • ♻️ 循环重构:不断改进和完善
  • ⚖️ 阴阳平衡:简洁与功能的中庸之道
  • 💕 情感表达:个人创作的温度和情怀

📄 开源协议

RewrZ 采用 AGPL-3.0 开源协议:

  • ✅ 可以自由使用、修改和分发
  • ✅ 必须开源基于 RewrZ 的衍生项目
  • ✅ 需要保留原作者版权声明
  • ❌ 个人数据和内容不需要开源

💭 结语

这可能是我这个曾经的 IT 爱好者、中二的二次元迷的最后一个开源项目。

人的精力总是有限的,特别是只有一个人的时候。过去总是忍不住开新坑,结果一个完整的都没做出来。

所以这个项目的初衷是为了告诉自己:这是最后的个人网站项目。不再挖新坑,专心维护和完善 RewrZ,让它成为一个真正完整、实用、优雅的作品。

希望 RewrZ 不仅仅是一个博客系统,更是每个使用者表达自我、记录生活、分享思考的温暖空间。


用哲学的态度,重写最后一次。

最后,感谢 AI 助手的大力协助,时代变了,RewrZ 终于能更上一层楼。

RewrZ © 2025 RewrZ - 用 ❤️ 和 ☕ 制作

Pinned Loading

  1. OneDrive-ShareLinks OneDrive-ShareLinks Public

    微软OneDrive网盘直链获取工具

    C# 7

  2. AST AST Public

    一键品春秋-所谓的文件加密-文件夹深度隐藏工具

    C# 7 3

  3. RewrZ RewrZ Public

    RewrZ Project - 一个中庸的个人博客系统项目。基于 FastAPI 构建,轻量级设计,可在 512MB 内存服务器上流畅运行,注重隐私保护和个性化定制。

    HTML 15 3

  4. Yunying Yunying Public

    云缨,一个虚拟玄学美少女,与 AI 共同探讨学习中华传统传承绝学。

    1

  5. smart_rss_service smart_rss_service Public

    `我的信息结界` 是一个智能 RSS 服务,旨在为你打造一个专属的、无噪音的信息获取环境。它利用大型语言模型(LLM)的强大能力,自动从你订阅的众多 RSS 源中筛选、分类和提炼出你真正关心和需要的内容,最终生成一个干净、个性化、高价值的 RSS 输出。

    HTML 2

  6. word_soul word_soul Public

    一个以“语言创造世界”为核心的网页版文字冒险游戏平台。本项目旨在为用户提供一个工具,使其能将个人想象力转化为可玩的、由AI驱动的动态叙事体验。

    Python 1