Open Source CMS

Rails 重新定义
内容管理系统

复刻 WordPress 的核心功能与后台交互体验,同时保留 Rails 的开发优雅性。主题、插件、小工具、SEO、REST API —— 一个完整的 CMS 生态。

3 内置主题
13 小工具类型
4 示例插件
5 永久链接格式
Terminal
# 克隆并启动,只需几行命令
$ git clone https://github.com/your-org/wordpress_on_rails
$ cd wordpress_on_rails
$ bin/rails db:setup
$ bin/dev
=> Puma starting on http://localhost:3000
=> WordPress on Rails is ready! 🚀

功能特性

完整的内容管理解决方案,从内容创作到技术架构一应俱全

Markdown 编辑器

基于 TipTap 的富文本编辑器,支持 Markdown 模式切换、图片拖拽上传、表格、代码块、任务列表等

多主题系统

内置 3 套主题,视图路径覆盖机制,支持 ZIP 包上传安装/卸载,主题自定义设置面板

插件架构

基于 PluginBase 的插件系统,完整的 Hooks & Filters 机制,视图钩子与管理菜单注册

评论系统

嵌套回复、评论审核流程(待审/通过/垃圾/回收),支持评论通知

SEO 优化

文章/页面级别的 SEO 字段,自动生成 Sitemap XML 和 robots.txt,支持 Google/Bing 站点验证

REST API

WordPress 兼容的 RESTful API,JWT Token 认证,覆盖完整 CRUD 操作

后台管理

WordPress 风格后台界面,仪表盘统计、媒体管理、菜单拖拽排序、小工具管理

定时任务

基于 rufus-scheduler 的进程内调度,6 个内置任务,支持 10 种执行频率,可自定义扩展

架构设计

成熟的 Rails 技术栈,优雅而强大

Ruby 3.4 + Rails 7.2

最新稳定版 Ruby 和 Rails,享受类型化参数、专属语法等现代语言特性

🔥 Hotwire

Turbo Drive + Turbo Frames + Stimulus Controllers,无需重写即可获得 SPA 体验

🗄️ PostgreSQL

强大的关系型数据库,支持全文搜索、JSON 字段、多态关联

📦 esbuild

极速前端打包,原生 ESM 模块支持,开箱即用

🔐 Devise

成熟的用户认证方案,支持 5 种角色(Admin / Editor / Author / Contributor / Subscriber)

🐳 Docker

多阶段构建 Dockerfile,一键部署到任何容器平台

Tech Stack:
Rails 7.2 PostgreSQL Hotwire TipTap Devise FriendlyId acts-as-taggable-on rufus-scheduler esbuild JWT

主题与插件

灵活的扩展体系,打造属于你的 CMS

主题系统

多主题支持,视图路径覆盖机制

Default 简洁经典
TechPulse 像素科技风
Twenty Twenty-Six 现代优雅
  • 主题 ZIP 包上传安装
  • theme_settings.yml 声明式配置
  • 自定义小工具视图覆盖

插件系统

基于 PluginBase 的完整插件架构

👋
Hello Dolly 经典的 Hello Dolly 插件
📊
站点统计 仪表盘统计数据展示
📧
联系表单 前端联系表单功能
🔗
社交分享 社交媒体分享按钮
  • Hooks & Filters 钩子系统
  • 视图钩子注入
  • 管理菜单注册
  • 插件 ZIP 包上传安装
class MyPlugin < PluginBase
  def self.setup
    register_hook(:after_post_publish,
                  method: :on_publish)
    register_filter(:post_content,
                    method: modify_content)
    register_admin_menu_item(
      label: "My Plugin",
      path: "/admin/my-plugin"
    )
  end

  def self.on_publish(post)
    logger.info "文章已发布: #{post.title}"
  end
end
# themes/my-theme/theme_settings.yml
settings:
  - key: hero_title
    label: "首页大标题"
    type: text
    default: "Welcome"
    group: "首页"

  - key: primary_color
    label: "主色调"
    type: text
    default: "#CC0000"
    group: "外观"

  - key: show_sidebar
    label: "显示侧边栏"
    type: boolean
    default: "1"
    group: "布局"

快速开始

只需几步,即可在本地运行 WordPress on Rails

1

克隆项目

git clone https://github.com/your-org/wordpress_on_rails
cd wordpress_on_rails
2

安装依赖

bundle install
yarn install
3

配置数据库

cp config/database.yml.example config/database.yml
# 编辑 database.yml 填写连接信息
bin/rails db:create db:migrate
4

加载演示数据

bin/rails db:seed
5

启动服务

bin/dev

访问 http://localhost:3000 查看前台,/wp-admin 进入后台

Docker 一键部署

docker build -t wordpress-on-rails .
docker run -d -p 3000:3000 \
  -e DATABASE_URL=postgresql://user:pass@host:5432/dbname \
  -e RAILS_ENV=production \
  wordpress-on-rails

后台预览

熟悉的 WordPress 后台体验,Rails 的优雅实现

📊 仪表盘
📝 文章
📄 页面
💬 评论
📁 分类
🏷️ 标签
🖼️ 媒体
🎨 主题
🧩 插件
📐 小工具
⚙️ 设置
仪表盘
👋 你好,Admin
📝
128 篇文章
💬
456 条评论
👥
32 位用户
🖼️
89 个媒体
📈 最近 30 天访问趋势
🕐 最近文章
使用 Rails 构建高效 CMS已发布
主题开发最佳实践指南草稿
插件架构深度解析已发布
文章 › 新建文章
在这里输入文章标题...
BIU~🔗📷📋--- Markdown
1## WordPress on Rails 简介
2
3这是一个使用 **Ruby on Rails** 构建的
4WordPress 风格内容管理系统。
5
6```ruby
7class Post < ApplicationRecord
8 # ...
9end
10```
外观 › 小工具
🔍 搜索
📂 分类
📝 近期文章
🏷️ 标签云
📅 归档
🔥 热门文章
📦 自定义文本
博客侧边栏
🔍 搜索
📂 分类
🔥 热门文章
外观 › 主题
当前主题
TechPulse
Default
Twenty Twenty-Six

准备好开始了吗?

从零搭建你的内容管理系统,体验 Rails 的优雅与 WordPress 的强大