搭建日志,持续记录

1.准备工作

前提:配置cloudflare,托管域名
开发:需安装Node、GIt、VScode(可选)
检查:调用cmd,在命令行中输入 node -v 检查版本信息;git,验证安装完毕后,Windows 用户会在开始菜单中看到 Git Bash 等应用

2.进行开发

2.1配置Git用户名和邮箱:

1
2
3
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

通过git config -l 验证是否成功

2.2配置公钥链接github

生成SSH公钥

1
ssh-keygen -t rsa -C "你的邮箱"

一路回车生成密钥,进入 .ssh 文件夹复制 id_rsa.pub 公钥内容,配置到 Github 的 SSH 设置中。

在windows电脑上:

打开C盘下用户文件夹下的.ssh的文件夹,会看到以下文件
id_rsa 私钥
id_rsa.pub 公钥

找到公钥匙,并复制,打开GitHub开始配置,将 SSH KEY 配置到 GitHub
进入github,点击右上角头像 选择settings,进入设置页后选择 SSH and GPG keys,名字随便起,公钥填到Key那一栏

测试连接:

1
ssh -T git@github.com

第一次连接会提示Are you sure you want to continue connecting (yes/no/[fingerprint])?,输入yes即可

插曲:第一次写博客,发现不会插入图片,首先得cmd安装插件

1
npm install hexo-asset-img --save

2.3创建 GitHub.io 仓库

点击右上角的 + 按钮,选择新建仓库,命名格式为 <用户名>.github.io,(注意:前缀必须为用户名)选择公开 Public。
点击 Creat repository 进行创建即可。

2.4初始化Hexo博客

1.创建文件夹保存博客源码
例如D:/Hexo
2.安装Hexo

1
npm install -g hexo-cli && hexo -v

3.初始化 Hexo 项目安装依赖:

1
2
3
hexo init blog-demo
cd blog-demo
npm i

现在你的文件夹会有这些内容

4.启动项目并验证:

1
hexo cl ; hexo s

在终端输出栏的网址http://localhost:4000/访问,查看最终效果。

2.5将静态博客挂载到 GitHub Pages

1.修改 _config.yml 文件,配置 repository 为你的 GitHub 地址,分支改为 main:

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

2.安装 hexo-deployer-git:

1
npm install hexo-deployer-git --save

3.部署到 GitHub

1
2
3
4
5
6
7
// Git BASH终端,必须是管理员身份,cmd同理
hexo clean && hexo generate && hexo deploy

// 或者

// VSCODE终端
hexo cl; hexo g; hexo d

访问 https://<用户名>.github.io/ 以查看博客。

2.6将静态博客挂载到 Cloudflare Pages

1.通过 Cloudflare Pages 连接 Git 仓库。
2。选择刚刚的存储库,点击保存并部署。
3.部署成功后,访问 Cloudflare 提供的链接。
如有自定义域名,可以在 Cloudflare Pages 中绑定。没有建议去申请,这样博客就不被墙了。
4.至此,你就可以用自己的域名访问自己的博客了

3.安装主题

HEXO主题有很多,点击跳转可以选择自己喜欢的进行安装,本次选的是anzhiyu的

3.1 Git安装

在博客根目录里安装最新版【推荐】:

1
git clone -b main https://github.com/anzhiyu-c/hexo-theme-anzhiyu.git themes/anzhiyu

3.2安装 Pug 和 Stylus 渲染插件

运行以下命令:

1
npm install hexo-renderer-pug hexo-renderer-stylus --save

使用主题,修改 Hexo 配置文件 _config.yml,将主题theme改为 anzhiyu。

1
theme: anzhiyu

3.3覆盖配置

覆盖配置可将主题配置放置在 anzhiyu 目录之外,避免在更新主题时丢失自定义的配置。通过 Npm 安装主题的用户可忽略,其他用户建议学习使用。Windows 用户复制 /themes/anzhiyu/_config.yml 到 Hexo 根目录,并重命名为 _config.anzhiyu.yml。后续修改主题配置只需更新 _config.anzhiyu.yml。

注意事项

_config.anzhiyu.yml 中的配置优先级高于 _config.yml。
每次更新主题时可能存在配置变更,请查看更新说明,并手动同步修改 _config.anzhiyu.yml。
可通过 hexo g –debug 查看覆盖配置是否生效。
若要将某些配置覆盖为空,注意不要删除主键。

3.4主题部署就完成了!别忘了推送更新上线

1
2
3
4
//本地预览
hexo cl; hexo s
//推送更新上线
hexo cl; hexo g; hexo d

4.博客自定义功能开发

4.1生成标签页和分类页

生成标签页:

1
hexo new page tags

找到 source/tags/index.md 文件,添加 type: “tags”:

1
2
3
4
5
6
7
---
title: 标签
date: 2024-07-05 03:36:02
type: "tags"
comments: false
top_img: false
---

生成分类页:

1
hexo new page categories

找到 source/categories/index.md 文件,添加 type: “categories”:

1
2
3
4
5
6
7
---
title: 分类
date: 2024-10-22 03:36:48
aside: false
top_img: false
type: "categories"
---

4.2配置文章模版

/scaffolds 目录下有几个模板文件:

post.md:新建博文模板
page.md:新建标签页模板

post.md 模板示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
---
title: {{ title }} #【必需】页面标题
date: #【必需】页面创建日期
updated: #【可选】页面更新日期
tags: #【可选】文章标签
categories: #【可选】文章分类
keywords: #【可选】文章关键字
description: #【可选】文章描述
top: # 1 置顶
top_img: #【可选】文章顶部图片
comments: #【可选】显示文章评论模块(默认 true)
cover: https://img.090227.xyz/file/ae62475a131f3734a201c.png #【可选】文章缩略图
toc: #【可选】显示文章 TOC
toc_number: #【可选】显示 toc_number
toc_style_simple: #【可选】显示 toc 简洁模式
copyright: #【可选】显示文章版权模块
copyright_author: #【可选】文章版权作者
copyright_author_href: #【可选】作者链接
copyright_url: #【可选】版权链接
copyright_info: #【可选】版权声明文字
mathjax: #【可选】显示 mathjax
katex: #【可选】显示 katex
aplayer: #【可选】加载 aplayer 的 js 和 css
highlight_shrink: #【可选】配置代码框是否展开
aside: #【可选】显示侧边栏 (默认 true)
swiper_index: 10 #【可选】首页轮播图配置
top_group_index: 10 #【可选】首页右侧卡片组配置
ai: #【可选】文章 ai 摘要
background: "#fff" #【可选】文章主色
---
<div class="video-container">[视频内嵌代码]</div>
<style>.video-container { position: relative; padding-top: 56.25%; } .video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style>

page.md 模板示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
---
title: {{ title }} #【必需】页面标题
date: #【必需】页面创建日期
type: #【必需】标签、分类等
updated: #【可选】页面更新日期
comments: #【可选】显示页面评论模块
description: #【可选】页面描述
keywords: #【可选】页面关键字
top_img: https://img.090227.xyz/file/ae62475a131f3734a201c.png #【可选】页面顶部图片
mathjax: #【可选】显示 mathjax
katex: #【可选】显示 katex
aside: #【可选】显示侧边栏 (默认 true)
aplayer: #【可选】加载 aplayer 的 js 和 css
highlight_shrink: #【可选】配置代码框是否展开
top_single_background: #【可选】部分页面的顶部模块背景图片
---

4.3相关插件

安装本地搜索插件

1
npm install hexo-generator-search --save

在配置文件(_config.xxx.yml)中添加:

1
2
3
4
local_search:
enable: true
preload: false
CDN:

安装文章置顶插件

1
npm install hexo-generator-topindex --save

在需要置顶的文章中添加 top 参数:

1
top: 1

如果存在多个置顶文章,top 后的参数越大,越靠前。

安装文章中可插入图片插件

1
npm install hexo-asset-img --save

安装字数统计插件

1
npm install hexo-wordcount --save

4.4评论系统搭建

如果你想在某个网页或者文章页中使用Valine,请参照以下步骤配置

获取AppID和AppKey

1.请先登录或注册 LeanCloud, 进入控制台后点击左上角创建应用
2.应用创建好以后,进入刚刚创建的应用,选择左边的设置>应用凭证,然后就能看到你的AppID和AppKey了,填入代码中即可

安装valine插件

1
npm install valine --save

5.博客使用

新建博文命令

1
hexo new 这是一篇新的博文

部署上线

1
2
3
4
//本地预览
hexo cl; hexo s
//推送更新上线
hexo cl; hexo g; hexo d