news 2026/9/19 12:07:22

Gollum快速上手教程:3个命令搭建你的Git驱动Wiki

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Gollum快速上手教程:3个命令搭建你的Git驱动Wiki

Gollum快速上手教程:3个命令搭建你的Git驱动Wiki

【免费下载链接】gollumA simple, Git-powered wiki with a local frontend and support for many kinds of markup and content.项目地址: https://gitcode.com/gh_mirrors/go/gollum

Gollum是一个用 Ruby 编写的开源Git 驱动 Wiki:任何 Git 仓库,指一下它,就立刻变成一个带网页浏览、在线编辑、版本历史和页面对比的 Wiki——不需要数据库,也不需要复杂部署。本文将带你用3 个命令搭建起自己的 Gollum Wiki,并覆盖 Docker 部署、常用参数等进阶技巧,零基础也能跟上。

为什么选 Gollum?✨

Gollum 由 GitHub 团队的工程师打造(就是 GitHub 上 Wiki 功能背后的那拨人),把"Wiki = Git 仓库"这件事做到了极致。核心卖点如下:

特性说明
📦 纯 Git 存储每个 Wiki 页面就是仓库里一个人类可读的文本文件,版本控制免费获得
📝 多种标记语言Markdown、RDoc 内置;AsciiDoc、MediaWiki、Org、ReStructuredText、Textile 装个 gem 即可用
✍️ 双通道编辑内置网页编辑器(带自动保存)+ 任意本地编辑器,提交后即时生效
⏪ 完整历史每个页面可查看所有历史版本、对比差异、一键回滚
🔁 兼容 GitHub / GitLab Wiki直接 clone 它们的 wiki 仓库,本地打开就能看、能改
🧮 进阶能力Mermaid/PlantUML 图、KaTeX/MathJax 数学公式、CriticMarkup 批注、BibTeX 引用、RSS 订阅

完整特性清单见项目说明文档 README.md。

准备工作:环境要求一览

Gollum 支持 Unix 类系统与 Windows(Windows 下走 JRuby/Java 路线)。走最简单的 Ruby 路线,你只需要:

  • Ruby ≥ 2.6(gollum.gemspec 声明的最低版本)
  • Git(你写 Wiki 时迟早会用到它)

💡 完全不想装 Ruby?后文还有DockerJava WAR两条免环境路线,可直接跳到 不同场景的部署方案。

3个命令搭建你的Git驱动Wiki 🚀

命令一:安装 Gollum

打开终端,一条命令装好:

gem install gollum

装完后你会得到gollum命令行工具,输入gollum --version应显示 6.x 版本号。

命令二:初始化一个 Wiki 仓库

任何 Git 仓库都可以成为 Wiki。新建一个空仓库即可:

mkdir my-wiki && cd my-wiki git init

两个小提示:

  • 如果你已有 GitHub / GitLab 的 wiki 仓库,直接git clone下来就能打开,天然兼容;
  • 想先体验一把,也可以 clone 仓库自带的示例 Wiki(《指环王》主题)test/examples/lotr.git。

命令三:启动 Gollum

进入(或指向)你的仓库目录,执行:

gollum ./my-wiki

看到终端输出类似Sinatra has taken the stage后,打开浏览器访问http://localhost:4567,你的 Git 驱动 Wiki 就上线了 🎉

此时首页可能是空的——这很正常,仓库还没有页面。点导航栏的New按钮就能创建第一页;当然,你也可以直接在仓库里加一个Home.md文件并git commit,刷新即可看到。

写第一篇 Wiki 页面 ✍️

Gollum 的网页编辑器自带自动保存(网络中断也不怕丢稿),工具栏支持 H1/H2/H3、链接、图片、加粗/斜体、代码块、列表、引用等,翻译文案见 lib/gollum/locales/cn.yml(内置中文界面)。

三个新手必须知道的规则:

  1. 文件扩展名决定标记语言notes.md按 Markdown 渲染,guide.rdoc按 RDoc 渲染,不同页面可以用不同格式;
  2. 页面可以任意分目录docs/api.md会出现在/docs/api路径下,目录结构即 Wiki 结构;
  3. 改动 = 一次 Git 提交:无论网页编辑还是本地改文件,都会留下一条可追溯、可回滚的历史记录。

常用命令行参数速查 ⚙️

gollum --help可查看全部选项,日常最常用的是这几个(完整表格见 README.md):

参数默认值用途
--port4567端口冲突时换端口,如gollum ./my-wiki --port 8080
--host0.0.0.0个人使用建议--host 127.0.0.1,避免局域网暴露
--no-edit可编辑只读展示模式,适合对外分享 Wiki
--refmain(或master指定服务的 Git 分支
--bare仓库是裸仓库(bare)时加上
--math启用数学公式渲染(katexmathjax
--critic-markup启用 CriticMarkup 批注
--static生产环境开启使用预编译静态资源

安全提醒:默认--host 0.0.0.0意味着局域网内任何人可访问并可编辑你的 Wiki。个人使用请显式加--host 127.0.0.1

不想写命令行参数?也可以用配置文件:config.rb 用于扩展自定义行为(如注册自定义标记语言),config.ru 则用于以 Rack 应用方式启动、调整启动行为。

不同场景的部署方案

方案A:Docker 一键部署(推荐新手)🐳

不需要装 Ruby,一条命令搞定。Dockerfile 基于ruby:3.3-alpine构建,docker-run.sh 会自动为/wikigit init并启动 Gollum:

docker run -d -p 4567:4567 -v /宿主机/路径/my-wiki:/wiki gollumwiki/gollum

方案B:Java WAR(适合 Windows / 无 Ruby 环境)☕

Gollum 的发行版中包含gollum.war,只要有 Java 就能跑:

java -jar gollum.war -S gollum /绝对路径/my-wiki

注意:WAR 方式下参数务必传绝对路径

方案C:作为系统服务常驻(适合团队服务器)

项目自带各发行版的服务定义,可直接部署为开机自启服务:

  • systemd:contrib/systemd/gollum@.service
  • OpenRC:contrib/openrc/init.d/gollum
  • SysVinit:contrib/sysv-debian/init.d/gollum

方案D:从源码运行(适合贡献者)🛠️

想魔改 Gollum 本身?按 CONTRIBUTING.md 的流程:

git clone https://gitcode.com/gh_mirrors/go/gollum cd gollum && bundle install bundle exec bin/gollum /path/to/my-wiki

应用主逻辑位于 lib/gollum/app.rb,页面视图在 lib/gollum/views/,方便你按需扩展。

常见问题 FAQ

Q1:端口 4567 被占用了?换端口即可:gollum ./my-wiki --port 8080,然后访问对应新地址。

Q2:只想展示,不希望别人编辑?--no-edit参数启动,编辑入口会被禁用。

Q3:developmentproduction有什么区别?由环境变量APP_ENV控制:development下每次请求都重载应用(便于调试),production下只加载一次(性能更好)。

Q4:为什么我提交了新页面,Wiki 里看不到?确认 Gollum 指向的分支正确(可用--ref指定),以及页面文件扩展名是否为受支持的标记语言(如.md.rdoc)。

Q5:能把 GitHub/GitLab 的 Wiki 搬过来吗?可以,这正是 Gollum 的设计目标之一——clone 它们的 wiki 仓库,gollum一下即可本地浏览与编辑,数据完全留在自己的 Git 仓库里。

写在最后

回顾一下,搭建 Gollum Wiki 其实就 3 个命令:

  1. gem install gollum—— 安装
  2. git init—— 准备仓库
  3. gollum ./my-wiki—— 启动,打开 http://localhost:4567

从此你的团队文档、学习笔记、产品手册都可以以"纯 Git 文本"的形式沉淀下来:可搜索、可回滚、可 diff,还能随时换到 Gollum 里在线协作。快去创建你的第一页吧!

【免费下载链接】gollumA simple, Git-powered wiki with a local frontend and support for many kinds of markup and content.项目地址: https://gitcode.com/gh_mirrors/go/gollum

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/19 12:01:49

G1垃圾回收器原理与调优实战:从Region到暂停时间

1. 先从垃圾回收器的选择聊起1.1 为什么G1会成为主流默认选择接触Java的人,基本都跟GC打过照面。从我自己的经历来说,早年做后端服务的时候,用的还是Parallel Scavenge配Parallel Old,后来CMS一度是低延迟场景的标配,再…

作者头像 李华
网站建设 2026/9/19 12:00:13

教育平台前端自动化原理与Tampermonkey实战

1. 项目概述:这不是“挂机”,而是对在线学习系统交互逻辑的逆向工程实践“学习通”和“智慧职教”是当前国内高校与职业院校广泛采用的两大主流教学平台,它们承载着课程视频播放、章节测验提交、课堂签到、作业上传、讨论区互动等核心教学闭环…

作者头像 李华