mac+github搭建hexo博客

环境准备:

安装git和node.js

下载安装git
下载安装node.js
使用node -vnmp -vgit --version来分别验证是否安装成功
验证环境安装是否成功

使用ssh密钥连接github

创建ssh密钥码,输入下列命令,一路回车:

1
ssh-keygen -t rsa -C "GitHub 邮箱"
  • 添加密钥
    进入 /User/用户名/.ssh目录,找到id_rsa.pub文件并复制里面的内容,登陆Github,进入到settings界面,选择左边栏的SSH and GPG keys,点击 New SSH key。 title名字可以随意取,复制的id_rsa.pub内容现在粘贴在key中,点击Add SSH key添加完成。
  • 验证连接
    在终端输入 ssh -T git@github.com,会问你“are you sure”,输入yes回车,成功的话会提示“ You’ve successfully authenticated”

    创建github Pages仓库

    GitHub 主页右上角加号 -> New repository:

Repository name 中输入 用户名.github.io (注意这里必须和你用户名保持一致)
Description选填

设定为Public,其他的不用动

填好后点击 Create repository 创建。创建后默认自动启用 HTTPS,博客地址为:https://用户名.github.io

Hexo博客部署

本地安装Hexo博客程序

使用npm安装Hexo博客程序,需要输入一下开机密码

1
sudo npm install -g hexo-cli

然后新建一个文件夹用来新建Hexo的程序文件,命令行切换到该文件的路径,依次输入以下命令

1
2
hexo init    # 初始化
npm install # 安装组件

完成后依次输入下面命令,启动本地服务器进行预览:

1
2
hexo g  # 生成页面
hexo s # 启动预览

访问http://localhost:4000,出现Hexo默认页面,本地博客安装成功
本地博客测试搭建成功
网站的目录结构:config是网站的配置信息,package是应用程序的信息,scaffolds是模板文件夹,source是存放用户资源的(Markdown文档)themes是主题文件夹,public是网站文件。
Hexo博客网站的结构目录

部署Hexo到Github Pages

首先安装hexo-deployer-git

1
npm install hexo-deployer-git --save

然后修改 _config.yml 文件末尾的 Deployment 部分,修改成如下:

1
2
3
4
deploy:
type: git
repository: git@github.com:用户名/用户名.github.io.git
branch: master

完成后运行hexo d将网站上传部署到Github Pages,然后访问我们的 GitHub 域名 https://用户名.github.io 就可以看到 Hexo 网站了。

Hexo主题优化

Hexo博客的主题文件夹都放在根目录下的themes中,可以在hexo的主题网站上选择其他的主题,将喜欢的主题下载下来放到themes目录中即可,下面是我用的主题作为示范

1
git clone https://github.com/yelog/hexo-theme-3-hexo.git themes/3-hexo

然后修改hexo根目录的_config.yml,如下

1
theme: 3-hexo

使用hexo g -d保存并发布预览

发布文章

进入Blog所在的目录,使用以下命令创建博文:

1
hexo new "name"

然后 source 文件夹中会出现一个 name.md 文件,就可以使用 Markdown 编辑器在该文件中撰写文章了。
写完后运行下面代码将文章渲染并部署到 GitHub Pages 上完成发布。以后每次发布文章都是这两条命令。

1
2
hexo g   # 生成页面
hexo d # 部署发布

也可以一句话直接生成并部署

1
hexo g -d             # 生成页面并部署

其他命令

1
2
3
4
hexo s                # 本地预览
hexo s --debug # 本地预览调试
hexo clean # 清除缓存和已生成的静态文件
hexo help # 帮助

参考文章:
https://zymdragonggg.github.io/2020/03/03/hexo_github/
https://blog.csdn.net/sinat_37781304/article/details/82729029