返回项目目录
前端框架精选项目

Bridgetown

由 Ruby 驱动、可从静态生成渐进扩展到服务端渲染的现代网站框架。

主要语言Ruby
开源许可MIT
项目类型前端框架
维护状态活跃维护
OVERVIEW

项目概述

Bridgetown 将 Markdown、Ruby 数据和 ERB、Serbea 或 Liquid 模板构建为网站,并提供 Ruby 组件、esbuild 前端资源管线,以及基于 Roda 的可选动态路由和服务端渲染。

Bridgetown 是采用 MIT 许可证、由 Ruby 驱动的渐进式网站生成器与全栈框架。它最初源自 Jekyll,但已经发展出独立的 Resource 内容引擎、Ruby 组件、ERB/Serbea/Liquid 模板、esbuild 前端资源管线和现代开发服务器。项目可以从预生成到 output 目录的纯静态网站开始,再按路由引入 Roda、SSR、Session 或 API,而无需一开始就承担完整服务端应用的复杂度。

核心语言Ruby
默认模板ERB
默认输出目录output
FEATURES

主要特点

Bridgetown 将 Ruby 内容编程、组件化模板、现代前端构建和可选服务端路由放在同一套渐进架构中。

01

渐进式生成

默认在构建期生成静态 HTML,需要时可按路由加入 SSR、动态数据和客户端渲染,让不同页面采用合适的生成时机。

02

Resource 与 Collection

Page、Post 和自定义 Collection 统一为 Resource,可配置永久链接、Taxonomy、关联、分页和外部内容源。

03

多种 Ruby 模板

默认使用 ERB,也支持 Serbea、Liquid 和 Streamlined;同一项目可以按文件混合模板类型。

04

Ruby 组件系统

Bridgetown::Component 支持初始化参数、生命周期、Slot、Helper 和并置模板,并可将组件组织成可测试的设计系统。

05

现代前端资源管线

内置 esbuild 集成处理 JavaScript、CSS、PostCSS、代码拆分和静态资源,也可启用 Sass 或接入 npm 生态。

06

数据文件与 Ruby 数据

src/_data 可加载 YAML、JSON、CSV、TSV 和 Ruby 文件,并通过 site.data 或响应式 Signal 在模板和插件中访问。

07

Roda 服务端能力

Rack 兼容服务器以 Roda 处理静态文件和自定义 API;可选插件进一步提供 SSR、Session 与文件式动态路由。

08

插件与 Automation

Ruby Gem 插件可扩展构建、内容和组件,Automation 则能自动修改项目文件并安装前后端依赖。

USE CASES

适用场景

适合 Ruby 团队、内容驱动网站,以及希望以 SSG 起步并为少数交互页面保留 SSR 或 API 扩展空间的项目。

内容与品牌网站

Markdown、Collection、组件和前端资源管线适合企业官网、产品介绍、活动页和长期运营的内容栏目。

博客与数字出版

Post、Taxonomy、永久链接、Feed 和数据文件适合个人博客、杂志、更新日志与专题出版。

开源项目文档

内容可与 Ruby 项目同仓管理,使用自定义 Collection、组件和代码高亮组织指南与版本文档。

Ruby 团队的营销前端

熟悉 Ruby、ERB 和 Gem 的团队可以复用语言能力,同时通过 esbuild 使用现代 CSS 与 JavaScript。

静态优先的交互应用

大部分页面预生成,仅为搜索、表单、账户或个性化页面添加 Roda 路由、SSR 或 Islands。

组件化设计系统

Ruby Component、Slot 和并置的模板、CSS、JavaScript 适合维护服务端渲染的可复用 UI 组件。

EVALUATION

优点与注意事项

技术选型不仅要看能力,也要理解它带来的团队成本。

主要优点

Bridgetown 擅长的地方

  • 可以从纯静态网站平滑扩展到 SSR 与 API,无需整体重构
  • Ruby 组件比仅靠 Liquid Include 更适合封装复杂视图逻辑
  • ERB、Serbea、Liquid 和纯 Ruby 模板为团队提供灵活选择
  • esbuild、PostCSS 与 npm 集成覆盖现代前端资源工作流
  • Resource、Collection 和 Ruby 数据文件能表达丰富内容模型
  • 输出标准静态文件,也可作为 Rack 应用部署

需要注意

采用前应考虑的问题

需要 Ruby 与 Node 环境

Ruby 负责网站生成与服务端逻辑,Node 负责前端资源;本地和 CI 都应锁定两套运行时与依赖版本。

生态规模小于主流框架

主题、插件、教程和托管范例少于 Jekyll、Hugo 或 Next.js,采用关键集成前应检查维护活跃度。

能力边界需要主动设计

项目可混合 SSG、SSR、Roda 和客户端代码,团队应规定各类页面的渲染方式,避免架构逐渐失去一致性。

并非 Jekyll 的直接替换

虽然保留许多熟悉概念,但 Resource 引擎、配置、组件和构建流程已有明显差异,迁移时需逐项验证插件和模板。

动态部署更复杂

纯静态输出可托管在任意 CDN;启用 Roda、SSR 或 Session 后,则需要运行 Ruby 的 Rack 主机和相应运维。

模板逻辑需要约束

ERB 和 Ruby 允许执行任意逻辑,复杂查询与业务规则应移入 Component、Builder 或服务对象,并配套测试。

QUICK START

快速开始

安装 Bridgetown,创建默认 ERB 项目,添加 Markdown 内容和 Ruby 组件,再启动预览并生成生产文件。

1安装并创建 Bridgetown 网站
bash
ruby --version
node --version
gem install bridgetown -N
bridgetown new mysite
cd mysite
bin/bridgetown start
2配置站点元数据
yaml
# src/_data/site_metadata.yml
title: 开源项目志
tagline: 记录值得关注的开源软件
description: 使用 Bridgetown 构建的内容网站
lang: zh-CN
3添加第一篇文章
markdown
---
layout: post
title: "Hello Bridgetown"
date: 2026-07-24
description: "使用 Ruby 与 Markdown 发布第一篇内容"
tags:
  - Bridgetown
  - Ruby
---

Bridgetown 可以先生成静态页面,再按需加入动态路由。
4创建 Ruby 组件
ruby
# src/_components/project_card.rb
class ProjectCard < Bridgetown::Component
  def initialize(name:, href:, description:)
    @name = name
    @href = href
    @description = description
  end
end
5编写组件模板并渲染
html
<!-- src/_components/project_card.erb -->
<article class="project-card">
  <h2>
    <a href="<%= @href %>"><%= @name %></a>
  </h2>
  <p><%= @description %></p>
</article>

<!-- 在任意 ERB 页面中使用 -->
<%= render ProjectCard.new(
  name: "Bridgetown",
  href: "https://www.bridgetownrb.com/",
  description: "Ruby 驱动的渐进式网站框架"
) %>
6检查并生成生产文件
bash
# 本地开发服务器默认运行在 localhost:4000
bin/bridgetown start

# 同时构建前端资源与静态网站
BRIDGETOWN_ENV=production bin/bridgetown deploy

# 生成结果位于 output 目录

下一步:项目内始终优先使用 bin/bridgetown,以确保命令采用 Gemfile 锁定的版本;生产构建设置 BRIDGETOWN_ENV=production,并使用 bin/bridgetown deploy 同时构建前端资源与网站输出。

ALTERNATIVES

类似项目

这些框架同样处理内容、模板和静态输出,但 Bridgetown 更强调 Ruby 组件与从 SSG 到 Roda SSR 的渐进路径。

COMPARISON

Bridgetown vs Jekyll

Bridgetown 从 Jekyll 社区与概念中起步,但面向更现代的 Ruby Web 开发重新设计;Jekyll 保持经典、稳定的静态生成模型,Bridgetown 则加入 Ruby 组件、esbuild 和可选 Roda 服务端能力。

比较维度BridgetownJekyll
核心定位渐进式网站生成器与可选全栈框架专注内容和博客的静态站点生成器
模板系统ERB、Serbea、Liquid 与 Streamlined 可混用以 Liquid、Layout 和 Include 为核心
内容模型Resource、Page、Post、自定义 Collection 与关系Post、Page、Collection 与 Data File
组件能力Ruby Component、生命周期、Slot 和并置资源主要通过 Include、Layout 和插件复用
前端资源集成 esbuild、PostCSS、npm,可选 Sass内置 Sass,复杂 JavaScript 通常另行配置
动态能力可选 Roda API、SSR、Session 与动态路由构建期静态输出,动态功能依赖外部系统
生态与托管社区更小,静态或 Rack 两种部署路径主题插件成熟,并与 GitHub Pages 深度集成
更适合Ruby 团队、组件化 UI 和静态到动态渐进项目经典博客、GitHub Pages 和长期稳定内容站
如何选择

如果目标是简单博客、依赖 GitHub Pages 原生构建,或希望采用最成熟的 Liquid 生态,Jekyll 更直接;如果团队熟悉 Ruby,希望使用 ERB 与可测试组件、现代前端打包,或预期部分页面未来需要 SSR 和 API,Bridgetown 的扩展路径更完整。迁移现有 Jekyll 站点前,应先核对插件、主题和 Front Matter 行为,而不是把它视为无差别替换。

VERIFICATION

资料核验

版本、维护信息与本页采用的官方资料来源。

最后核验2026 年 7 月 26 日
核验版本官方当前稳定版与文档主线
内容维护Docs100 编辑整理
项目维护状态活跃维护

本次核验覆盖 Bridgetown 的核心定位、主要能力、官方入口与开源许可。项目版本持续更新,具体补丁版本、兼容性和迁移要求请在采用前继续核对官方发布记录。

维护状态核验2026 年 7 月 26 日 · 最近可见代码活动:2026 年 7 月 22 日

官方仓库未归档,核验时最近可见的代码活动日期为 2026 年 7 月 22 日。该状态表示项目近期仍有公开维护活动,不代表固定发布频率或长期支持承诺。

查看官方仓库