使用hexo创建一个blog,并部署到cf worker上
Easul Lv6

这是一个部署在cloudflare worker上的Hexo博客,很方便,而且也正好学了下怎么用Hexo

说实话,把收集起来的资料都看一遍再去做还是比较费时间的,这里就总结一下这个过程吧,方便后来的人更加快捷的搭建博客

因为Hexo是使用Markdown来进行博客编写的,所以如果对Markdown不是很了解的小伙伴们可以先去简单学一下他的基本语法,不是很多,就几个标记语言,练一练就OK了。传送门

接下来进入正题。(因为我用的是deepin系统,所以接下来的所有操作都是基于Linux的,WindowsMac区别不是很大)

安装nodejs

因为Hexo是在它上边开发的,所以安装nodejs是必须的,下边的是在各个系统的简单安装教程:

安装好之后可以修改一下淘宝的nodejs镜像源,否则在使用npm下载模块的时候可能会很慢或者无法下载成功

折叠代码块BASH 复制代码
1
2
3
4
# 切换镜像源
npm config set registry http://registry.npm.taobao.org/
# 查看是否切换成功
npm get registry

安装Hexo

全局安装比较简单,执行下边的bash指令即可

折叠代码块BASH 复制代码
1
2
3
4
# 安装hexo
npm install -g hexo-cli
# 检测hexo是否安装成功
hexo --version

但是我为了用起来更方便(不需要直接delete即可),我就直接把模块下载到了我自己指定的目录下了

折叠代码块BASH 复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cd ~/code
mkdir hexo
cd hexo
npm install hexo-cli
# 这样就可以将hexo下载到我的~/code/hexo目录下
# 找到~/code/hexo/node_modules/hexo-cli/bin/目录下的hexo文件
# 然后在.bashrc里边给这个模块起个别名
vim ~/.bashrc
# 在最后一行输入
alias hexo='/home/easul/code/hexo/node_modules/hexo-cli/bin/hexo'
# 保存退出,然后执行
source ~/.bashrc
# 这样也就和刚刚的全局安装一样可以使用hexo了
# 检测hexo是否可用
hexo --version

接下来在自己的某个目录下进行博客的初始化

折叠代码块BASH 复制代码
1
2
3
4
5
6
7
# 我还在我的常用编程的目录下进行初始化,大家可以在任意目录进行初始化
cd ~/code
# 使用hexo初始化博客,我这里给自己初始化的博客目录起名blog,当然可以随便换名字,story,diary均可
hexo init blog
cd blog
# 启动初始化后的博客
hexo s

启动之后,博客就会在本地端口4000的进程下运行,访问http://localhost:4000即可
没有问题的话,接下来就会出现Hello World的初始化文章了。

因为hexo s开启的服务器是用于调试使用的,所以如果关闭的话就无法访问博客了。因此接下来进行命令行操作的时候最好再开一个terminal,这样会更方便

引入hexo-theme-bamboo主题

默认的主题比较丑,所以我们可以换一个主题。比较常见的是Next,但是相比较这个,我选择了hexo-theme-bamboo,这个界面更好看,而且功能很多,要是用于写博客,还是更加拉风的!

折叠代码块BASH 复制代码
1
2
3
4
5
6
7
8
9
10
11
12
# 先进入到刚刚初始化的博客主题文件夹下
cd themes
# 克隆hexo-theme-bamboo主题到当前文件夹
git clone https://github.com/yuang01/hexo-theme-bamboo.git
# 然后修改根博客的_config.yml下的theme的值
cd ..
vim _config.yml
# 将theme的值修改如下,然后保存
theme: hexo-theme-bamboo
# 这个时候因为修改了根博客的配置文件,无法进行热更新,所以需要再重新启动下hexo
hexo s
# 接下来就可以在localhost:4000下看到更新后的样式了

因为这个主题功能已经很全了,但是可能有些小伙伴对这个样式不会特别感冒,那么就可以去下边的主题和插件区寻找下你们喜欢的样式

这个主题的配置只需要修改themes/hexo-theme-bamboo/_config.yml即可,因为可配置项目很多,所以最好参考一下官方文档,文档写的很详细,按照文档来配置会更好。如果嫌麻烦,那么就直接换换图片,换换名字就OK.

如果使用valine,那么可能会无法使用。
前一阵子valine在国内的域名无法访问了,所以这里需要自己调整一下插件中的valine访问域名
可以全局搜索https://us-api.leancloud.cn,找到这个域名
然后改成https://edh3hdwa.api.lncldglobal.com即可

Hexo的简单操作

这里我没有用hexo的创建文章的方式,而是直接在source/_posts下创建md文件即可,这样的话Hexo就可以直接解析这个目录下的文件了

例如我创建了create-a-blog.md
由于Hexo默认的路径格式为:year/:month/:day/:title/
所以访问路径就是2021/12/31/create-a-blog/
如果在_posts下创建的是/blog/create-a-blog.md,多了个blog的文件夹路径
那么最后的访问路径就是2021/12/31/blog/create-a-blog/

接下来就可以在create-a-blog.md进行markdown的编写了
现在最开始引入如下代码

折叠代码块 复制代码
1
2
3
4
5
6
7
8
9
10
---
title: 使用hexo创建一个blog,并部署到cf worker上 # 文章标题,默认和生成文件的名字一样
date: 2021-12-31 14:57:26 # 创建的时间,可以自己写一下
tags: # 给自己的文章打一些标签,用于文章内容的局部归类
- cf worker
- blog
categories: # 文章在大类上的分类,可以自己定义
- 博客
top: true # 用于在首页进行文章的推荐,设置为false则不推荐
---

这里我只引入了一些简单的Front-matter,其他配置可以参考这里, 剩下的就是自己的markdown编写了
因为是热部署,所以写完文章之后,在文章的路径下,浏览器一刷新就可以看到文章的效果了

Hexo中cloudflare worker的一些配置

需要先安装worker的操作工具

折叠代码块BASH 复制代码
1
2
3
# 这里是全局安装
npm i @cloudflare/wrangler -g
# 查看是否安装成功

局部安装可以参考这个

折叠代码块BASH 复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
cd ~/code
mkdir wrangler
cd wrangler
npm i @cloudflare/wrangler
# 这样就可以将wrangler下载到我的~/code/wrangler目录下
# 找到~/code/wrangler/node_modules/.bin/目录下的wrangler文件
# 然后在.bashrc里边给这个模块起个别名
vim ~/.bashrc
# 在最后一行输入
alias wrangler='/home/easul/code/wrangler/node_modules/.bin/wrangler'
# 保存退出,然后执行
source ~/.bashrc
# 查看是否安装成功
wrangler --version

cloudflare创建一个worker,登陆后进行如下操作

折叠代码块 复制代码
1
2
点击左侧网站=》点击自己右侧的域名=》点击左侧的workers=》点击右侧的管理workers=》
创建服务=》服务名称随便写一个,然后创建服务即可

接下来在该链接创建API Token.

折叠代码块 复制代码
1
2
创建令牌=》编辑 Cloudflare Workers=》除了Workers KV存储,Workers脚本,Workers路由外其他的都叉掉
账户资源选择自己的账户=》区域资源选择自己的域名=》继续以显示摘要=》创建令牌=》复制并保存生成的令牌

接下来进行worker的相关配置

折叠代码块BASH 复制代码
1
2
3
4
5
# 进入到博客根目录
cd ~/code/blog
# 初始化worker相关的文件,blog是自己刚刚初始化的博客名
wrangler init --site blog
# 这个时候目录下会生成workers-site文件夹和wrangler.toml文件

修改wrangler.toml中的一些项

折叠代码块 复制代码
1
2
3
4
5
6
7
8
9
name = "blog" # 博客名
type = "webpack" # 不用管
route = 'blog.212490197.xyz/*' # 填写刚刚生成的workers的域名即可,如果worker绑定了域名可以写域名
zone_id = '' # cloudflare点击左侧网站=》点击自己右侧的域名=》下拉找到区域ID
usage_model = '' # 不用管
compatibility_flags = [] # 不用管
workers_dev = true # 是否启用 workers.dev 子域名
site = {bucket = "./public",entry-point = "workers-site"} # bucket是hexo generate的文件夹, entry-point是worker的配置文件夹
compatibility_date = "2021-12-30" # 不用管

修改完成后,接着命令行执行如下指令

折叠代码块BASH 复制代码
1
2
3
wrangler config
# 这里会提示输入API Token,将刚刚保存的令牌填入这里即可
# 最后会提示令牌保存到的本地路径

进行Hexo的上传

折叠代码块BASH 复制代码
1
2
3
4
5
6
# 先对Hexo的博客进行编译,生成public文件
hexo generate
# 将生成的文件上传到Workers KV进行预览
wrangler preview --watch
# 确认无误,则上传到生产环境
wrangler publish

参考链接如下:

 评论
来发评论吧~
Powered By Valine
v1.5.2