知识库须知(草稿)
规则
- Tag:标签用来指定作者信息,一个人只能有一个标签
- Categories:类别用于对文章内容进行分类,具体分类规则待定
- 待定
编写流程
拉取知识库:首先,在开始写新文章之前,必须先从 GitHub 仓库拉取最新的项目代码。这是最关键的一步——通过执行
git pull origin main(或等效命令),确保本地的source/_posts/目录包含了所有队友已经提交的文章。如果不做这一步,就可能在不知情的情况下覆盖他人的内容,导致文章丢失。本地创建文章:接着,使用 Hexo 提供的命令创建一篇新文章:运行
hexo new "你的文章标题"。这个命令会自动生成一个格式规范的 Markdown 文件(例如source/_posts/你的文章标题.md),并自动填充好日期、标题等元信息(front-matter)。成员只需用任意文本编辑器打开这个文件,像写普通笔记一样撰写正文内容,可以自由使用 Markdown 语法、插入代码块、添加图片链接等。在写作过程中,如果想预览最终效果,可以运行hexo server启动本地预览服务,然后在浏览器中访问http://localhost:4000查看渲染后的页面。这一步是可选的,但有助于检查排版是否正确。=推送到远程仓库:完成写作后,成员需要将更改提交到 Git 仓库。这包括三个标准操作:先用
git add .将新文章(以及可能修改的其他文件)加入暂存区,再用git commit -m "描述性提交信息"创建一个有意义的提交记录(例如 “feat: 添加虚拟内存原理笔记”),最后用git push origin main将本地提交推送到 GitHub 远程仓库。
实现原理
具体来说,整个系统以 GitHub
仓库作为唯一的内容源和协作中心。团队成员在本地克隆这个仓库后,首先执行
git pull
确保自己拥有最新的文章集合,避免因本地版本过旧而导致提交时覆盖他人的成果。接着,使用
hexo new 命令创建一篇结构规范的 Markdown
文章,该文件会被存放在 source/_posts/ 目录下——这是 Hexo
识别博文的标准位置。成员只需专注于写作,无需关心最终网页如何生成。
当成员完成编辑并推送(git push)到 GitHub 的主分支(如
main)时,会触发一个名为 GitHub Actions
的持续集成/持续部署(CI/CD)服务。这个服务运行在 GitHub
提供的临时虚拟机中,它会自动拉取最新代码,安装项目依赖(如 Hexo
及其插件),然后执行 hexo generate 命令。这一步是关键:Hexo
引擎会读取所有的 Markdown 源文件、主题模板和配置(特别是
_config.yml 中的 root: /documents/
设置),将它们编译成一套完整的、可直接由 Web
服务器托管的静态文件(HTML、CSS、JS、图片等),输出到
public/ 目录。
随后,CI/CD 流程利用 rsync 工具,通过预先配置好的 SSH
密钥,将 public/
目录下的所有静态文件安全、高效地同步到服务器的指定路径(如
/home/doc/website/documents/)。服务器上的 Nginx Web
服务器早已配置好,将 /documents/
路径的请求映射到该目录。由于 Hexo 在生成时已根据 root
配置将所有资源链接(如 CSS、JS)写为
/documents/css/main.css 这样的绝对路径,Nginx
就能正确地找到并返回这些文件,从而确保用户访问
http://47.122.156.204/documents/
时看到的是样式完整、内容最新的网站。