0%

知识库须知

知识库须知(草稿)

规则

image.png
  • 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/ 时看到的是样式完整、内容最新的网站。