Hexo + Github + Netlify 构建持续集成型静态博客

20 年 4 月 10 日 星期五
840 字
5 分钟

AI 摘要

奋力赶来...

概述

使用Hexo + Github + Netlify完成Blog搭建,实现仅通过更改Github中source文件夹内容(博客内容),Netlify自动完成Hexo的部署及发布,使得博客主仅关注于博客内容。

环境需求

Node.js && Git

访问Node.jsGit下载并完成安装。

创建SSH Key && 配置Github

保证本地Git仓库与Github远程仓库的SSH加密传输顺利进行需要在本地环境中创建SSH Key,并在Github中添加公钥。

终端中执行如下命令,其中邮箱应替换成自己邮箱,之后采用默认设置即可(全部回车直到最后)。

bash
ssh-keygen -t rsa -C "youremail@example.com"
创建SSHKey

访问用户目录下的 .ssh 文件夹,内部有私钥文件id_rsa、公钥文件id_rsa.pub,打开公钥文件复制其中全部内容在Github中添加此公钥。

添加公钥

创建Github仓库

Github中创建Blog仓库,本次使用公开仓,选用私有仓库在netlify设置中会有略微不同。

创建GitHub仓库

安装Hexo

终端中执行如下命令完成Hexo的本地安装。

bash
npm install -g hexo-cli
安装Hexo

支持全部环境准备完毕。

本地Hexo博客

博客创建

终端中执行如下命令,完成Hexo的博客创建,其中folder为具体目录位置。

bash
hexo init <folder>
创建博客

终端中进入folder文件夹,使用命令解决依赖关系。

bash
cd <folder>
npm install

Ps:Windows需先进入相应盘在进入对应文件夹,以D盘为例。

bash
d:
cd test/
npm install
解决依赖关系

主题安装及配置

Suka为例,按照文档教程完成主题的安装及配置。

为保证主题能够被成功传输到Github中,需删除掉主题文件夹中的.git、.github两个文件夹及.gitignore文件。

查看Hexo效果

终端中执行如下命令:

bash
hexo generate
hexo server

浏览器访问 http://localhost:4000 查看Hexo运行效果。

Github远程仓

推送范围

访问项目根目录下.gitignore文件,没有直接新建填写如下内容,此部分设置Git忽略文件:

properties
.DS_Store
Thumbs.db
db.json
*.log
public/
.deploy*/

由于需要解决主题中依赖关系,所以从默认设置中删除了node_modules,后续Netlify部分需要使用。

本地版本库

使用终端执行如下命令,创建本地版本库,folder为项目地址。

bash
git init <folder>

添加Blog文件并提交事务,命令如下:

bash
git add .
git commit -m "Hexo Blog"

推送Github

终端执行如下命令,完成向Github的推送,其中"git@github.com

/repositoryname.git"部分为自己仓库地址。

bash
git remote add origin git@github.com:username/repositoryname.git
git push -u origin master

完成推送,Github显示结果如图。

仓库结果

Netlify持续集成

访问Netlify授权Github登录,并选择本次使用的Github仓库。

仓库选择

设置部署相关命令,按需设置。

默认
clean

等待netlify完成部署,显示如下。

netlifypublished

访问netlify所生成的网址,显示Blog内容。

blog

后续

之后仅需要变更source/_posts中的内容,即可完成blog内容的更新,Netlify将完全自动化完成Hexo的部署和发布,博主可以只关注文章的编写而无需关心后续的部署等操作。

同时netlify支持变更blog地址,甚至绑定域名,在此不做介绍。

文章标题:Hexo + Github + Netlify 构建持续集成型静态博客

文章作者:Cedar

文章链接:https://some.fylsen.com/posts/hexo_blog_github_host_netlify_cdn  [复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。