FMHY 是互联网上最大的免费资源导航站
FMHY Wiki 编辑与本地部署教程
这个仓库 (fmhy/edit) 是 FMHY (Free Media Heck Yeah) 项目的核心编辑与构建源。FMHY 是互联网上最大的免费资源导航站。本教程将指导你如何搭建本地开发环境、预览修改,并为项目贡献内容。
一、 项目本质与工作流程
首先,需要理解这个仓库的独特性质:它并非最终网站本身,而是一个“编辑工作台”或“构建工厂”。
- 内容存储:FMHY 的百科内容并非全部直接存储在此仓库中。它分布在多个平台:主要是 GitHub Wiki (
fmhy/FMHY.wiki),部分在 Reddit 和 fmhy.net 站点。 - 本仓库的角色:
fmhy/edit仓库包含了:- 导航结构:核心的
README.md/fmhy.md文件,定义了百科的所有分类和外部链接。 - 构建系统:用于将分散的内容整合、转换并生成为最终网站
fmhy.net的代码和配置(如docs/目录下的 VitePress 配置)。 - 贡献工具:自动化脚本和测试流程。
- 导航结构:核心的
因此,部署本仓库主要有两种场景:
- 作为贡献者:在本地预览修改效果,然后提交拉取请求 (Pull Request)。
- 作为自托管者:构建一个属于你自己的、完整的 FMHY 离线或在线镜像。
二、 部署方式一:为贡献代码而部署(开发环境)
如果你想帮助改进 FMHY(如添加新站点、修正链接),需要搭建本地开发环境。
1. 环境准备
- Git
- Node.js (项目使用
pnpm作为包管理器,请确保已安装)
2. 克隆与安装
1 | # 克隆你的复刻 (Fork) 仓库 |
3. 启动开发服务器
1 | pnpm run docs:dev |
执行后,终端会显示本地访问地址(通常是 http://localhost:5173)。在浏览器打开它,你就能看到一个本地运行的 FMHY 网站。你对仓库中 docs/ 目录下的源文件所做的任何修改,都会在这里实时预览。
4. 提交你的贡献
- 在
docs/目录中找到对应的.md(Markdown) 文件进行编辑。 - 遵循项目的贡献指南(通常位于
.github/CONTRIBUTING.md)。 - 提交修改并推送到你的复刻仓库。
- 在 GitHub 上向
fmhy/edit仓库的main分支创建一个拉取请求 (Pull Request)。
三、 部署方式二:自托管完整镜像
如果你想摆脱对官方平台的依赖,创建一个属于你自己的 FMHY 完整副本,过程会更复杂,因为需要从不同源头抓取内容。
1. 获取结构骨架
1 | git clone https://github.com/fmhy/edit.git fmhy-mirror |
2. 获取核心内容
FMHY 的大部分百科页面存储在 GitHub Wiki 中,这是一个独立的仓库。
1 | # 在项目目录内,克隆 Wiki 内容 |
这样,你就获得了除 fmhy.md 索引文件外,最重要的页面主体。
3. 处理其他平台内容
索引文件 (README.md 或 fmhy.md) 中仍有部分链接指向 Reddit 维基和 fmhy.net 自身。对于自托管,你需要决定如何处理:
- 完全离线:你需要编写脚本,解析
README.md中的所有外部链接,并使用wget或curl等工具将对应页面抓取到本地,然后重写链接关系。 - 混合模式:保留指向官方
fmhy.net或 Reddit 的链接作为“外部引用”,仅将流量最大的 GitHub Wiki 部分本地化。
4. 使用静态服务器提供内容
完成内容获取后,你可以使用任何静态服务器指向当前目录。
1 | # 使用 Python 快速启动一个简单服务 |
访问 http://localhost:8080/README.md 即可看到导航首页。
5. 高级:使用构建系统生成站点
本仓库内置了基于 VitePress 的构建系统,它能够将 Markdown 文件转换成漂亮的静态 HTML 站点。
1 | # 构建静态站点(输出在 docs/.vitepress/dist) |
构建完成后,你可以将 docs/.vitepress/dist 目录下的所有文件部署到任何 Web 服务器(如 Nginx、Apache、Vercel 等)上。
四、 常见问题
- 问:我修改了
README.md,但运行docs:dev看不到变化?
答:docs:dev服务监视的是docs/目录。项目的核心源文件可能在docs/下。你需要找到对应的源.md文件进行编辑。 - 问:自托管镜像中的链接仍然指向外部网站(如 GitHub Wiki),怎么办?
答:这是正常的,因为fmhy.md文件中的链接是硬编码的。要完全本地化,你需要用脚本解析并重写这些链接,使其指向你本地的wiki-content/目录。 - 问:我只想快速贡献,需要部署整个自托管环境吗?
答:不需要。作为贡献者,你只需按照“方式一”搭建开发环境即可。拉取请求被合并后,官方站点会自动更新。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 极客的赛博空间 | 专注 AI 与技术分享!
评论



