静态博客搭建指南1.0

方案选择

  • Netlify 
    一个静态网页生成器,可以快速地构建和发布个人或团队的网站

  • hexo
    Hexo 是一个快速、简洁且高效的静态博客框架,它基于 Node.js 运行,可以将我们撰写的 Markdown 文档解析渲染成静态的 HTML 网页

  • GitHub Pages
    GitHub Pages 是由 GitHub 官方提供的一种免费的静态站点托管服务,让我们可以在 GitHub 仓库里托管和发布自己的静态网站页面

  • Hexo + GitHub 文章发布原理
    在本地撰写 Markdown 格式文章后,通过 Hexo 解析文档,渲染生成具有主题样式的 HTML 静态网页,再推送到 GitHub 上完成博文的发布。

  • Ruby
    一种面向对象、指令式、函数式、动态的通用编程语言

  • Gem
    Gem 是 Ruby 中的包,其中包含包信息,以及用于安装的文件

  • Gemfile
    一种描述 Ruby 程序的 gem 依赖关系的格式

  • 最后采用了 hexo+github pages 的方案

第一次尝试

[!note] 熟悉了基本流程,但是觉得生成部署有点麻烦,后面发现有 github action 可以自动部署(2.0),折腾了两天,暂时没问题

参考教程

本地配置

  • 安装hexo

    • 创建一个文件夹 MyBlog,用来存放自己的博客文件,然后 cd 到这个文件夹下(或者在这个文件夹下直接右键 git bash 打开)。
    • 定位到该目录下,输入 npm install -g hexo-cli 安装 Hexo。可能会有几个报错,无视它就行。
    • 安装完 hexo -v 验证安装成功没
  • 初始化

    • 在主题根目录 hexo init
      • 初始化失败注意根目录的位置(在三层?)
    • 安装必备组件 npm install
      这时指定目录会有几个文件夹
  • 预览

1
2
hexo g (hexo generate)
hexo server(或者简写:hexo s))

连接 github 到本地

  • 在 MyBlog 中右键打开 git bash,第一次使用 git 后需要将用户名和邮箱进行初始化
1
2
git config --global user.name "yohakuo"
git config --global user.email "2394791478@qq.com"
  • 检查
1
2
git config user.name
git config user.email
  • ssh
    ssh,简单来讲,就是一个秘钥,其中,id_rsa 是你这台电脑的私人秘钥,不能给别人看的,id_rsa. pub 是公共秘钥,可以随便给别人看。把这个公钥放在 GitHub 上,这样当你链接 GitHub 自己的账户时,它就会根据公钥匹配你的私钥,当能够相互匹配时,才能够顺利的通过 git 上传你的文件到 GitHub 上。
  • 创建 SSH
1
ssh-keygen -t rsa -C "2394791478@qq.com"
  • 检验是否创建成功
1
ssh -T git@github.com

将 hexo 部署到 github

这一步,我们就可以将 hexo 和 GitHub 关联起来,也就是将 hexo 生成的文章部署到 GitHub 上,打开博客根目录下的_config. yml 文件,这是博客的配置文件,在这里你可以修改与博客配置相关的各种信息。修改最后一行的配置:

1
2
3
4
5
6
# Deployment 
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
  type: 'git'
  repository: https://github.com/yohakuo/yohakuo.github.io.git
  branch: main
  • 注意空格

  • repository 修改为你自己的 github 项目地址即可就是部署时,告诉工具,将生成网页通过 git 方式上传到你对应的链接仓库中。

  • 先安装部署的命令

1
npm install hexo-deployer-git --save
  • 部署
1
2
3
hexo clean //缩写成 hexo cl
hexo generate // 缩写 hexo g
hexo deploy // hexo deploy

写文章、发布

  • 先安装拓展
1
npm i hexo-deployer-git
  • 新建博客
1
hexo new post "name"
  • 然后在 source\ _posts 目录可以看到. md 文件

  • 实时预览和发布
    编写完 markdown 文件后,在根目录用 hexo g 生成静态网页,hexo s 本地预览
    如果没有问题可以 hexo d 上次到github

本地预览

解决方案

git clone 失败

  • 取消 http 代理
1
git config --global --unset http. proxy
  • 取消 https 代理
1
git config --global --unset https. proxy

error: key does not contain variable name: user.

  • 转为手动输入

css 渲染失败

打开网页是空白,警告:No layout

  • 可能是主题配置的问题
  • 存在两个主题的.yml 文件

hexo s 访问失败, hexo d 报错

1
2
3
4
5
localhost 已拒绝连接

fatal:
unable to access https://github.com/yohakuo/yohakuo.github.io.git/
Could not resolve host: github. com
  • 更改 DNS 为 google 后还是无法本地预览,但发布成功了

静态博客搭建指南1.0
https://yohakuo.github.io/2024/03/17/静态博客搭建指南1.0/
作者
liuliu
发布于
2024年3月18日
许可协议