Hexo - 免费搭建个人博客03 - 将个人博客托管到github,个人博客公开给大家访问

发布于:2025-07-24 ⋅ 阅读:(26) ⋅ 点赞:(0)

导言


我的博客:https://q164129345.github.io/

既然要将个人博客托管到github,首先我们肯定要有一个github账户。另外也需要在电脑上安装另外一个著名的代码管理工具git。

一、创建github仓库


在这里插入图片描述
在这里插入图片描述

二、在Hexo设置部署的内容


在这里插入图片描述

# Deployment

## Docs: https://hexo.io/docs/one-command-deployment
deploy:
	type: 'git'
	repository: git@github.com:q164129345/q164129345.github.io.git
	branch: main

如上所示,在文件_config.yml的最下面填入部署的内容。

三、安装部署github的依赖


在这里插入图片描述

npm install hexo-deployer-git --save

四、部署到github


在这里插入图片描述
在这里插入图片描述

hexo clean && hexo generate && hexo deploy

五、github


在这里插入图片描述
在这里插入图片描述
如上所示,可以通过网址:q164129345.github.io访问个人博客了!

六、细节补充


6.1、部署到github的仅仅只是public文件夹的内容

在这里插入图片描述
如上所示,Hexo工程里只有public的内容部署到github仓库。为什么?

  1. Hexo 是一个静态站点生成器 (Static Site Generator, SSG)。

    • 它的核心任务是:接收你的 Markdown 源文件、主题配置、布局文件等(这些通常在 source/themes/_config.yml等目录中),通过其内部的渲染引擎和插件处理后,生成纯粹的 HTML、CSS、JavaScript 和图片等静态文件。
    • 这些生成的静态文件,就是放在 public/ 目录下的内容。
  2. GitHub Pages 是一个静态网站托管服务。

    • GitHub Pages 的设计初衷就是为了托管和提供纯静态网站的访问。它不具备运行服务器端脚本(如 Node.js、PHP、Python)、处理数据库连接的能力。
    • 它只能直接提供浏览器能够解析和渲染的静态资源。

因此,当 Hexo 执行 hexo generate 命令时,它会把所有必要的文件都处理好并输出到 public/ 文件夹。接着,当你执行 hexo deploy 命令时,它实际上就是把这个 public/ 文件夹的内容推送到你的 GitHub Pages 仓库(通常是 master 或 main 分支,或者是 gh-pages 分支),供 GitHub Pages 服务直接托管和访问。

6.2、只部署public文件夹的内容到github,有什么好处?

这种设计模式带来了多方面的好处:

  1. 职责分离 (Separation of Concerns)
    • Hexo 的职责: 负责“构建”或“编译”你的网站。它将你的原始 Markdown、模板等转换为可部署的静态文件。
    • GitHub Pages 的职责: 负责“托管”和“分发”这些已经构建好的静态文件。
    • 两者各司其职,互不干涉,使得整个流程清晰高效。GitHub Pages 不需要知道你的网站是如何生成的,它只关心最终的 HTML 文件。
  2. 效率与性能:
    • 部署效率: 只需要上传最终的、精简过的静态文件。你的源代码(Markdown、主题文件、Node.js 依赖等)通常会比生成的 public 文件夹大得多,上传整个项目会耗费更多时间和带宽。
    • 网站加载速度: GitHub Pages 直接提供静态文件,浏览器可以直接解析渲染,无需服务器端处理时间,大大提高了网站的访问速度。
  3. 安全性
    • 纯静态网站是最安全的网站类型之一。没有服务器端代码可以被攻击者利用,没有数据库可以被注入,极大地降低了安全风险。
    • 你不会不小心将敏感的配置信息(例如数据库密码、API 密钥等,即使 Hexo 通常没有这些)部署到公共可访问的服务器上。
  4. 版本控制的最佳实践
    • 源代码仓库: 你应该将你的 Hexo 项目的完整源代码(包括 source/themes/_config.ymlpackage.json 等)存放在一个单独的 Git 仓库中(例如 my-blog-source)。这个仓库记录了你网站的开发过程。
    • 部署仓库: GitHub Pages 仓库(例如 yourusername.github.io)只包含 public 文件夹的内容。这使得这个仓库非常“干净”,只包含最终的、可直接访问的网站内容。
    • 这种分离允许你独立地管理网站的开发和部署。你可以回溯到任何一个版本的源代码,然后重新生成和部署。
  5. CDN友好
    • 静态文件非常适合通过内容分发网络(CDN)进行全球缓存和分发,进一步提高访问速度和稳定性。GitHub Pages 本身就利用了 CDN。

总结来说,Hexo 配合 GitHub Pages 的这种设计,是一种非常成熟和高效的静态网站开发与部署模式。它将复杂的构建过程与简单的托管服务解耦,使得开发者能够专注于内容创作,同时享受到高性能、高安全性和免费的托管服务。


网站公告

今日签到

点亮在社区的每一天
去签到