Hexo博客搭建基础教程(二)

前言

  1. 本文部分为引用文章,原作者Fomalhaut🥝 | AnZhiYu
  2. 博客搭建过程遇到任何问题,优先在本页面搜索,检查是否已经有该配置教程。
  3. 遇到问题可以优先在文章评论区留言,注意留言时请填写正确的邮箱以确保能收到站长的回复。
  4. 如果有不清楚的请参考

Vercel部署与自定义域名 | 引用自(Fomalhaut🥝)

Vercel部署

Vercel简介:vercel是一个代码托管平台,它能够托管你的静态html界面,甚至能够托管你的node.js与Python服务端脚本,是不想买服务器的懒人的福音

使用Vercel部署Hexo项目步骤:

首先需要一个Vercel账号,这里 推荐用GitHub账户关联,这样你就可以在vercel中直接托管你的GitHub库中的项目了,实现开发部署一步到位(网络不流畅可以考虑挂梯子)。

当你用你的Github账户关联并绑定手机号登录之后,点击右上角的Add New Project创建新的项目,之后导入选项那里选择Continue with Github,这时候应该能看到你Github账号的仓库,选择你刚刚部署成功的存储静态博客的仓库[username].github.io右边的Import选项,表示你要导入该仓库。

20230819224830

20230819224858

起一个只能有字母、数字或者或者连字符的项目名称,然后其他默认,点击Deploy,等待一分钟即可部署成功,部署成功后点击Continue to Dashboard跳转到控制面板,下图所示就是控制面板,看到就代表成功部署到了,但是我们现在还不能访问他给出的域,因为GFW最近把Vercel屏蔽了。

20230819225121

绑定自定义域名

现在你的个人网站的地址是 username.github.io 以及在Vercel上有一个blog-demo-chi.vercel.app,如果觉得不够定制化,可以购买一个专属域名。

腾讯云、阿里云等都是不错的域名代理商,建议选用comcncc这类常用好记的顶域,对SEO比较友好,自定义部分的长度尽可能短别人才会更容易地记住你的网站,要知道域名就是你网站的卡片。此处以阿里云域名为例进行说明,购买域名后,实名认证进入阿里云控制台,点云解析进去,找到你刚买的域名,点进去添加Vercel所需的解析记录,注意博主这里是解析二级域名只需要解析一条即可。但是如果是一级域名,需要解析两个,一个是 @ ,另外一个是www,Vercel建议是 @ 的解析重定向至www

添加自定义域名的步骤:

  1. 点击Vercel控制面板右上角的View Domains查看当前的域,我们可以看到仅有Vercel给你预分配的一个域名,此时我们输入刚刚购买的域名,我这里以二级域名blog.wrbjoker.top为例进行说明,添加后他会提示你添加一条DNS解析记录。

    P.S. 添加域名DNS解析的步骤请自行百度,添加步骤基本一致

  2. 添加好后回到Vercel刚刚查看域名的地方,如果操作没问题,应该会显示域名配置成功的提示,此时就可以通过自定义域名来访问我们搭建的网站了。

  3. 当你有了新的域名之后,需要[BlogRoot]_config.yml文件中的url配置项为自己的新域名,这样博客的文章链接才会正确生成。

20230819225826

安装主题 (引用安知鱼主题文档)

本教程使用 hexo-theme-butterfly v1.5.4为最新版,请放心食用

原仓库地址:hexo-theme-butterfly

本教程用的是git clone克隆方式安装的 hexo-theme-anzhiyu ,请在【C:/Hexo-Blog/blog-demo/themes/anzhiyu】文件夹下修改对应的文件,如果你是是npm方式安装的主题,后续魔改时更改的文件都是【C:/Hexo-Blog/blog-demo/node_modules/hexo-theme-anzhiyu】文件夹中的文件。

git clone 安装(推荐)

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

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

测试版可能存在 bug,追求稳定的请安装稳定版

如果想要安装比较新的 dev 分支,可以

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

升级方法:

利用git更新: 在主题目录下,运行 git pull ,比对升级后的配置文件[_config.yml]

或全量更新:删除theme/anzhiyu文件夹,然后重新执行安装命令即可。

什么?你还是不会?这里有视频AnZhiYU主题安装教程

应用主题

修改 hexo 配置文件_config.yml,把主题改为anzhiyu

20230820202320

1
theme: anzhiyu

安装 pug 和 stylus 渲染插件

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

更好的配置,便于升级主题

  • macos/linux 在博客根目录运行
1
cp -rf ./themes/anzhiyu/_config.yml ./_config.anzhiyu.yml
  • windows 复制/themes/anzhiyu/_config.yml此文件到 hexo 根目录,并重命名为_config.anzhiyu.yml

请注意_config.anzhiyu.yml中的配置优先级大于_config.yml,所以更新主题后需要比对主题文件夹中的theme/anzhiyu/_config.yml 文件内容,一般在git更新日志📔中能够查看并完成修改。

本地启动 hexo

1
2
3
hexo cl
hexo g
hexo s

本地启动成功后访问 http://localhost:4000/ 就能看到效果了

npm 安装

此方法只支持 Hexo 5.0.0 以上版本 通过 npm 安装并不会在 themes 里生成主题文件夹,而是在 node_modules 里生成

1
npm i hexo-theme-anzhiyu

升级方法:在 Hexo 根目录下,运行

1
npm update hexo-theme-anzhiyu

Front-matter 的基本认识

Front-mattermarkdown 文件最上方以 —- 分隔的区域,用于指定个别档案的变数。

其中又分为两种

  1. Page Front-matter 用于页面配置

  2. Post Front-matter 用于文章页配置

如果标注可选的参数,可根据自己需要添加,不用全部都写在 markdown 里

Page Front-matter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
---
title:
date:
updated:
type:
comments:
description:
keywords:
top_img:
mathjax:
katex:
aside:
aplayer:
highlight_shrink:
type:
---
写法 解释
title 【必需】页面标题
date 【必需】页面创建日期
type 【必需】标签、分类、关于、音乐馆、友情链接、相册、相册详情、朋友圈、即刻页面需要配置
updated 【可选】页面更新日期
description 【可选】页面描述
keywords 【可选】页面关键字
comments 【可选】显示页面评论模块(默认 true)
top_img 【可选】页面顶部片
mathjax 【可选】显示mathjax(当设置 mathjax的 per_page: false 时,才需要配置,默认 false)
katex 【可选】显示 katex(当设置 katex 的per_page: false 时,才需要配置,默认false)
aside 【可选】显示侧边栏(默认 true)
aplayer 【可选】在要的页面加载 aplayer 的 js 和 css ,清参考文章下面的音乐配置
highlight_shrink 【可选】配置代码框是否展开(true / false)(默认为设置中 highlight-shrink 的配置)

Post Front-matter

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
---
title:
date:
updated:
tags:
categories:
keywords:
description:
top_img:
comments:
cover:
toc:
toc_number:
toc_style_simple:
copyright:
copyright_author:
copyright_author_href:
copyright_url:
copyright_info:
mathjax:
katex:
aplayer:
highlight_shrink:
aside:
swiper_index: 1
top_group_index: 1
background: "#fff"
---
写法 解释
title 【必需】文章标题
date 【必需】文章创建日期
update 【可选】文章更新日期
tags 【可选】 文章标签
categories 【可选】 文章分类
keywords 【可选】文章关键字
description 【可选】文章描述
top_img 【可选】文章顶部图片
cover 【可选】文章缩略图(如果没有设置top_img 文章页顶部将显示缩略图,可设为 false/图片地址/留空)
comments 【可选】显示文章评论模块
toc 【可选】显示文章TOC
toc_ number 【可选】显示TOC_number
toc_style_simple 【可选】显示 toc 简洁模式
copyright 【可选】显示文章版权模块(默认为设置中 post_copyright 的 enable 配置)
copyright_author 【可选】文章版权模块的文章作者
copyright_author_href 【可选】文章版权模块的文章作者链接
copyright_url 【可选】文章版权模块的文章链接链接
copyright_info 【可选】文章版权模块的版权声明文字
mathjax 【可选】显示 mathjax(当设置 mathjax 的 per_page: false 时,才需要配置,默认 false)
katex 【可选】显示 katex(当设置 katex 的 per_page: false 时,才需要配置,默认 false)
aplayer 【可选】在需要的页面加载 aplayer 的 js 和 css,请参考文章下面的音乐配置
highlight_shrink 【可选】配置代码框是否展开(true/false)(默认为设置中 highlight_shrink 的配置)
aside 【可选】显示侧边栏 (默认 true)
swiper_index 【可选】首页轮播图配置 index 索引,数字越小越靠前
top_group_index 【可选】首页右侧卡片组配置, 数字越小越靠前
background 【可选】文章背景可配置为 16 进制颜色值
  1. 首页轮播图配置: swiper_index , 数字越小越靠前

  2. 首页卡片配置: top_group_index , 数字越小越靠前

  3. 首页卡片配置: top_group_index 数字越小越靠前

只需要在你的文章顶部的Front-matter配置swiper_index和top_group_index这两个字段即可显示轮播图和推荐卡