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

Jekyll

使用 Ruby、Markdown 和 Liquid 构建博客与内容网站的成熟静态站点生成器。

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

项目概述

Jekyll 将 Markdown、Front Matter、Liquid 模板和数据文件转换为静态网站。它拥有稳定的主题与插件生态,并与 GitHub Pages 深度集成,是博客、项目文档和个人网站的经典方案。

Jekyll 是采用 MIT 许可证的 Ruby 静态站点生成器,最初由 GitHub 联合创始人 Tom Preston-Werner 创建。它读取 Posts、Pages、Collections、Data Files 和 YAML Front Matter,再通过 Liquid、Layout 与 Include 生成静态文件。Jekyll 自带博客友好的日期、分类、标签和永久链接约定,并可通过 Ruby Gems 分发主题与插件;GitHub Pages 也能直接从仓库源码构建受支持的 Jekyll 站点。

核心实现Ruby
模板语言Liquid
默认输出目录_site
FEATURES

主要特点

Jekyll 用约定清晰的内容目录、Liquid 模板和 Ruby 生态提供成熟的静态发布流程。

01

Posts 与 Front Matter

按日期命名的 _posts 文件和 YAML Front Matter 可管理标题、时间、分类、标签、Layout 与自定义字段。

02

Liquid 模板系统

通过 Object、Tag 和 Filter 渲染 site、page、post 和 collection 数据,模板能力受控且适合内容生成。

03

Layouts 与 Includes

Layout 可以嵌套页面骨架,_includes 则复用导航、卡片和 SEO 片段,减少模板重复。

04

Collections 与 Data Files

自定义 Collection 可组织文档、团队、产品等非文章内容,_data 中的 YAML、JSON、CSV 和 TSV 可作为结构化数据源。

05

Gem 主题系统

主题可封装 Layout、Include、Sass、静态资源和插件依赖,项目只覆盖需要定制的同名文件。

06

Ruby 插件生态

Generator、Converter、Tag、Filter、Hook 和自定义命令可扩展内容生成、模板语法与构建流程。

07

博客与发布能力

内置 Permalink、Draft、Future Post、Excerpt、Category、Tag、Pagination,以及 Feed、SEO 等常用插件。

08

GitHub Pages 集成

仓库可由 GitHub Pages 直接构建和托管,也能使用 Actions 安装完整依赖后获得自定义插件与构建控制。

USE CASES

适用场景

适合以 Markdown 内容为主、动态交互较少,并希望稳定托管在 GitHub Pages 或静态平台的项目。

个人博客与作品集

文章日期、标签、归档、主题和静态托管适合长期写作、个人主页及摄影作品集。

开源项目文档

Markdown、Git 工作流和 GitHub Pages 适合将 README 扩展为指南、版本说明和贡献文档。

项目与组织主页

用户、组织和仓库 Pages 能低成本发布产品介绍、课程、社区或活动网站。

小型内容网站

Pages、Collections 和 Data Files 可组织团队、服务、案例和常见问题,而无需运行数据库。

发布记录与技术日志

按日期的 Posts 和 Git 历史适合 Changelog、工程周报、研究笔记及内部静态知识站。

Ruby 团队的静态前端

熟悉 RubyGems、Bundler 和 Liquid 的团队可以直接编写插件、Generator 和自定义内容流程。

EVALUATION

优点与注意事项

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

主要优点

Jekyll 擅长的地方

  • 内容目录和博客约定成熟,Markdown 写作流程简单
  • Liquid 模板能力受控,内容作者较容易理解和维护
  • 主题、插件和历史教程丰富,长期稳定性良好
  • GitHub Pages 可直接从仓库源码构建并提供免费托管
  • Collections、Data Files 和 Front Matter 足以组织多种内容模型
  • 输出标准静态文件,不要求客户端框架或专用运行时

需要注意

采用前应考虑的问题

Ruby 环境需要管理

Ruby、RubyGems、本地编译依赖和 Bundler 版本可能因操作系统不同产生问题,应使用版本管理器并提交 Gemfile.lock。

大型站点构建速度有限

内容、插件和 Liquid 循环增长后,全量构建通常慢于 Hugo;应减少高成本 Filter、使用增量构建并测量 CI 时间。

GitHub Pages 限制插件

原生 Pages 构建使用 Safe Mode,只允许白名单插件;需要任意 Ruby 插件时应通过 Actions 自行构建和部署。

Liquid 不适合复杂业务逻辑

Liquid 有意限制模板执行能力,复杂转换应移入 Data、Generator、Filter 或构建前脚本。

主题覆盖会影响升级

复制并修改主题 Layout 后,该文件不会自动获得上游更新;应尽量通过配置、CSS 和局部 Include 定制。

动态功能依赖外部服务

搜索、评论、表单、认证和实时数据通常需要客户端 JavaScript、第三方服务或独立后端。

QUICK START

快速开始

使用官方脚手架和 Minima 主题创建博客,再添加配置、文章与自定义 Layout。

1安装并创建 Jekyll 网站
bash
ruby --version
gem install jekyll bundler
jekyll new myblog
cd myblog
bundle exec jekyll serve --livereload
2配置站点与永久链接
yaml
# _config.yml
title: 开源项目志
description: 记录值得关注的开源软件
url: https://example.org
baseurl: ""
permalink: /posts/:title/

plugins:
  - jekyll-feed
  - jekyll-seo-tag
3添加第一篇文章
markdown
---
layout: post
title: "Hello Jekyll"
date: 2026-07-24 09:00:00 +0800
categories:
  - 开源工具
tags:
  - Jekyll
  - SSG
---

Jekyll 使用 Markdown、YAML Front Matter 和 Liquid 生成静态页面。

访问 [Jekyll 官网]({{ "https://jekyllrb.com/" }}) 了解更多。
4创建可复用文章 Layout
html
---
layout: default
---
<article class="post">
  <header>
    <h1>{{ page.title }}</h1>
    <time datetime="{{ page.date | date_to_xmlschema }}">
      {{ page.date | date: "%Y-%m-%d" }}
    </time>
  </header>

  {{ content }}

  <ul>
    {% for tag in page.tags %}
      <li>{{ tag }}</li>
    {% endfor %}
  </ul>
</article>
5检查并生成静态网站
bash
# 将 Layout 保存为 _layouts/post.html
bundle exec jekyll doctor
JEKYLL_ENV=production bundle exec jekyll build

# 生成结果位于 _site 目录

下一步:始终通过 Bundler 锁定 Jekyll、主题和插件版本,并使用 bundle exec 执行命令;部署到 GitHub Pages 前确认插件白名单,或改用 GitHub Actions 自行构建。

ALTERNATIVES

类似项目

这些工具也将内容和模板构建为静态页面,但采用不同语言、模板系统与扩展方式。

COMPARISON

Jekyll vs Hugo

Jekyll 和 Hugo 都是成熟的内容型静态站点生成器;Jekyll 以 Ruby、Liquid 和 GitHub Pages 生态见长,Hugo 则以单文件工具、构建速度和内置内容能力见长。

比较维度JekyllHugo
核心实现Ruby Gem,通过 Bundler 管理Go 编写的独立可执行文件
模板系统Liquid、Layout、Include 与 FilterGo html/template、Partial 与丰富函数
内容模型Posts、Pages、Collections 和 Data FilesSection、Page Bundle、Taxonomy 和 Page Resource
构建性能中小站点足够,插件和内容增长后需优化通常更适合大量页面和频繁全量构建
图片与资源Sass 内置较成熟,图片通常依赖插件Hugo Pipes 和 Image Processing 集成更完整
多语言通常通过目录约定、插件或多次构建实现内置语言、翻译关联与本地化能力
托管生态与 GitHub Pages 原生集成紧密可部署到任意静态平台,CI 需安装 Hugo
更适合GitHub Pages、Ruby 团队、博客和项目文档大型、多语言、图片丰富和重视构建速度的站点
如何选择

如果项目天然托管在 GitHub、团队熟悉 Ruby,或希望使用稳定的 Liquid 博客生态,Jekyll 仍然可靠;如果内容数量很大、需要内置多语言和图片管线,或 CI 构建速度非常重要,Hugo 通常更合适。选择前应分别验证主题维护状态、插件限制和本地环境成本。

VERIFICATION

资料核验

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

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

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

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

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

查看官方仓库