Jekyll博客

arenredd-blog-chirpy — Jekyll 博客模板

作者 ArenRedd

基于 Chirpy Jekyll 主题搭建的个人 GitHub Pages 博客,README 记录了作者在 Kali Linux 上配置 Ruby、Gulp 与部署时遇到的问题及修复步骤。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-13查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

使用 Chirpy Jekyll 主题构建并部署在 GitHub Pages

02

README 以排错日志形式记录 Kali Linux 上的搭建过程

03

列出 Ruby 3.3.8、Bundler 2.6.9、Jekyll 4.4.1、Node.js 20.19.0 等环境版本

04

给出 ffi、sassc 原生扩展编译失败的修复命令

05

说明 Gulp 需在项目内安装 gulp@4 以解决本地版本未知

06

说明 GitHub Pages 需本地预构建并将 _site 推送到 gh-pages 分支

模板详细介绍

该仓库是 ArenRedd 的个人博客站点,使用 Chirpy Jekyll 主题构建,并托管在 GitHub Pages(arenredd.github.io)。README 并非主题功能介绍,而是一份排错记录,说明作者在 Kali Linux 上搭建环境时遇到的具体问题与修复方法。

记录的环境为 Kali Linux,Ruby 3.3.8、Bundler 2.6.9、Jekyll 4.4.1、Node.js 20.19.0、npm 9.2.0、Gulp CLI 3.0.0,使用 APT、Bundler 与 nvm 管理依赖。

README 描述的问题包括:ffi 与 sassc 原生扩展未编译导致 jekyll -v 报错,需安装 build-essential、libffi-dev、ruby-dev 并以 --use-system-libraries 重装 gem;Gulp 本地版本未知,需在项目内安装 gulp@4;GitHub Pages 无法执行 Gulp 等自定义构建步骤,需本地以 JEKYLL_ENV=production 构建后将 _site 推送到 gh-pages 分支;html-proofer 因 href="#" 等无效锚点报错,需改用真实锚点。

README 未提供主题的完整功能清单、配置项说明、内容组织方式或除上述排错外的使用文档,也未说明该站点的具体栏目与页面结构。

Jekyll博客

适合你的项目吗?

适用场景

  • 在 Kali Linux 或非标准开发环境中搭建 Chirpy Jekyll 博客时参考排错步骤
  • 遇到 ffi、sassc 原生扩展未编译报错时查找修复方法
  • 需要将预构建的 _site 目录部署到 GitHub Pages 的 gh-pages 分支时
  • 排查 html-proofer 因无效锚点链接导致构建失败的问题

适合人群

  • 使用 Jekyll 与 Chirpy 主题搭建个人博客的开发者
  • 在 Kali Linux 上配置 Ruby 与 Node.js 构建环境的用户
  • 希望了解 GitHub Pages 自定义构建限制及变通部署方式的人

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    README 记录的环境为 Kali Linux,Ruby 3.3.8、Bundler 2.6.9、Jekyll 4.4.1、Node.js 20.19.0、npm 9.2.0、Gulp CLI 3.0.0。

  2. 2

    若出现 ffi 或 sassc 扩展未构建的警告,需安装 build-essential、libffi-dev、ruby-dev,并用 --use-system-libraries 重装对应 gem。

  3. 3

    Gulp 本地版本未知时,需在项目内执行 npm install --save-dev gulp@4,再用 npx gulp 运行任务。

  4. 4

    GitHub Pages 不支持 Gulp 等自定义构建步骤,需本地执行 JEKYLL_ENV=production bundle exec jekyll build,再将 _site 推送到 gh-pages 分支并在仓库设置中将 Pages 来源设为该分支。

  5. 5

    README 未提供主题配置、内容编写或除上述排错外的其他安装说明。

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • GitHub Pages 不支持所有 Jekyll 插件或自定义构建步骤(如 Gulp 任务),因此必须先在本地构建再部署。
  • Chirpy 主题依赖 Gulp 4 进行资源处理(CSS、JS 优化),需在项目内安装 gulp@4。
  • ffi 与 sassc 需要原生扩展,Kali Linux 等环境可能缺少 Ruby gem 编译所需的开发工具,需额外安装。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

GitHub Pages **doesn’t support all Jekyll plugins** or custom build steps (like Gulp tasks). Since Chirpy relies on preprocessing, you **must build locally first** before deploying.

README 原文

The **Chirpy theme** relies on **Gulp 4** for asset processing (CSS, JS optimization). The error means Gulp is installed globally, but the project doesn’t recognize a local version.

README 原文

These gems (**ffi** and **sassc**) require native extensions that weren’t compiled properly. Kali Linux, being a security-focused distro, doesn’t always come with all the development tools needed for Ruby gem compilation.

README 原文
https://github.com/ArenRedd/arenredd-blog-chirpy/blob/main/LICENSEhttps://github.com/ArenRedd/arenredd-blog-chirpy/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-13。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 80 / 100
技术栈
Jekyll
网站类型
博客
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2025-12-20
截图检查日期
2026-10-13

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Jekyll。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: codex-user-requested-batch-review-20261015 · 2026-10-15

查看当时使用的来源资料

SHA-256: e92af6c53f8377f53dac9ceb2d0f8801164b68d256324765a0dd1fa2a19e654d

2026-10-13T07:58:24.961Z

来源文件 / 仓库
<div align="center">

  # arenredd.github.io – My GitHub Blog

  Built with the Chirpy Jekyll theme on Kali Linux, and it wasn’t smooth sailing. Below is the full write-up of how I got it working, the errors I hit, and the exact fixes I used. Hope it helps someone else in the trenches.

  [![Gem Version](https://img.shields.io/gem/v/jekyll-theme-chirpy?color=brightgreen)](https://rubygems.org/gems/jekyll-theme-chirpy)
  [![Codacy Badge](https://app.codacy.com/project/badge/Grade/4e556876a3c54d5e8f2d2857c4f43894)](https://www.codacy.com/gh/cotes2020/jekyll-theme-chirpy/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=cotes2020/jekyll-theme-chirpy&amp;utm_campaign=Badge_Grade)
  [![GitHub license](https://img.shields.io/github/license/cotes2020/jekyll-theme-chirpy.svg)](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/LICENSE)
  [![996.icu](https://img.shields.io/badge/link-996.icu-%23FF4D5B.svg)](https://996.icu)

  [**Live Demo →**](https://arenredd.github.io)


</div>

# **Building My GitHub Blog with Chirpy: A Rollercoaster of Errors & Fixes**

When I decided to set up my personal blog using the **Chirpy Jekyll theme**, I expected a smooth, well-documented process. Instead, I found myself wrestling with dependency conflicts, cryptic errors, and deployment quirks—especially since I was working on **Kali Linux**, which isn’t the most common choice for Jekyll development.

This post isn’t just another "how to set up a blog in 5 minutes" tutorial. Instead, it’s a **real-world troubleshooting log**—documenting the issues I faced and how I fixed them. If you're running into similar problems, hopefully, this saves you some headaches.

---

## **🛠 My Setup & Initial Checks**

Before diving into the errors, here’s the environment I was working with:

- **OS:** Kali Linux
- **Ruby:** **`3.3.8`**
- **Bundler:** **`2.6.9`**
- **Jekyll:** **`4.4.1`**
- **Node.js:** **`20.19.0`**
- **npm:** **`9.2.0`**
- **Gulp CLI:** **`3.0.0`**
- **Package Managers:** APT, Bundler, nvm

Everything looked good at first glance—until I started running commands.

---

## **🔥 Problem #1: Ruby Gem Conflicts (ffi & sassc Errors)**

### **The Error:**

Running **`jekyll -v`** spat out a wall of warnings:

```bash
Ignoring ffi-1.15.5 because its extensions are not built. Try: gem pristine ffi --version 1.15.5
Ignoring sassc-2.4.0 because its extensions are not built. Try: gem pristine sassc --version 2.4.0
```

*(Repeated multiple times—annoying, right?)*

### **The Cause:**

These gems (**ffi** and **sassc**) require native extensions that weren’t compiled properly. Kali Linux, being a security-focused distro, doesn’t always come with all the development tools needed for Ruby gem compilation.

### **The Fix:**

1. **Install missing build tools:**CopyDownload
    
    ```bash
    sudo apt install build-essential libffi-dev ruby-dev
    ```
    
2. **Reinstall the problematic gems with system libraries:**CopyDownload
    
    ```bash
    gem install ffi -v 1.15.5 -- --use-system-libraries
    gem pristine ffi --version 1.15.5
    
    gem install sassc -v 2.4.0 -- --use-system-libraries
    gem pristine sassc --version 2.4.0
    ```
    

After this, **`jekyll -v`** should run without those pesky warnings.

---

## **⚙️ Problem #2: Gulp Issues (Local Version Unknown)**

### **The Error:**

Running **`gulp -v`** gave:

```bash
CLI version: 3.0.0
Local version: Unknown
```

### **The Cause:**

The **Chirpy theme** relies on **Gulp 4** for asset processing (CSS, JS optimization). The error means Gulp is installed globally, but the project doesn’t recognize a local version.

### **The Fix:**

1. **Install Gulp locally:**CopyDownload
    
    ```bash
    npm install --save-dev gulp@4
    ```
    
2. **Verify installation:**CopyDownload
    
    ```bash
    npx gulp -v
    ```
    
    *(Should now show both CLI and local versions.)*
    
3. **Run Gulp tasks:**CopyDownload
    
    ```bash
    npx gulp
    ```
    
    *(This builds assets before Jekyll processes the site.)*
    

---

## **🕸 Problem #3: GitHub Pages Deployment Failures (Silent Build Issues)**

### **The Problem:**

I pushed my repo to GitHub, but my site **wouldn’t update**—no obvious errors, just a broken or outdated build.

### **The Cause:**

GitHub Pages **doesn’t support all Jekyll plugins** or custom build steps (like Gulp tasks). Since Chirpy relies on preprocessing, you **must build locally first** before deploying.

### **The Fix:**

1. **Build the site in production mode:**CopyDownload
    
    ```bash
    JEKYLL_ENV=production bundle exec jekyll build
    ```
    
2. **Deploy only the `_site` folder to `gh-pages`:**CopyDownload
    
    ```bash
    cd _site
    git init
    git remote add origin https://github.com/yourusername/yourrepo.git
    git checkout -b gh-pages
    git add .
    git commit -m "Deploy site"
    git push -f origin gh-pages
    ```
    
3. **In GitHub repo settings:**
    - Go to **Settings > Pages**
    - Set **Source** to **Deploy from `gh-pages` branch**

Now, GitHub serves the pre-built site instead of trying (and failing) to build it itself.

---

## **🧪 Problem #4: html-proofer Complaints (Invalid Anchor Links)**

### **The Error:**

Running **`bundle exec jekyll build`** sometimes failed with:

```bash
linking to internal hash # that does not exist
```

### **The Cause:**

Some links (like **`href="#"`**) are flagged by **html-proofer** (a built-in Chirpy tool) because they don’t point to a real anchor.

### **The Fix:**

1. **Replace `#` with a valid anchor:**CopyDownloadRun
    
    ```html
    <a href="#top">Back to Top</a>
    ```
    
2. **Add an anchor target somewhere on the page:**CopyDownloadRun
    
    ```html
    <a id="top"></a>
    ```
    

This keeps the same functionality while making **html-proofer** happy.

---

## **💡 Final Thoughts & Lessons Learned**

Setting up **Chirpy on Kali Linux** was **way harder** than I expected. The main issues stemmed from:

- **Ruby gem compilation problems** (fixed with **`-use-system-libraries`**)
- **Gulp version mismatches** (solved by local install)
- **GitHub Pages’ limitations** (workaround: pre-build & push **`_site`**)
- **Strict HTML validation** (fixed with proper anchor tags)

### **TL;DR – Key Takeaways**

✔ **Always check for native extension errors** in Ruby gems.

✔ **Install Gulp both globally and locally** (v4 for Chirpy).

✔ **Don’t rely on GitHub Pages to build**—do it yourself.

✔ **Validate HTML early** to catch broken links.

✔ **Avoid `href="#"`**—use real anchors instead.

If you’re on **Kali Linux** (or any non-standard dev environment) and trying to use **Jekyll + Chirpy**, be prepared for some troubleshooting. But once it’s working, Chirpy is **one of the cleanest, most customizable static site themes** out there.

## License

This work is published under [MIT](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/LICENSE) License.

反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。