使用hexo构建个人博客步骤
- 安装nodejs
npm install hexo -g
安装hexohexo init myblog
创建个人博客项目cd myblog
进入个人博客项目npm install
安装项目依赖hexo new blog
创建新博文hexo server
本地查看博客
使用github page部署个人博客
- 配置github远程库
一般会选择创建username.github.io
的库名,该库是github的特殊类型仓库,github会为其自动启动github page部署,并可以在https://username.github.io/ 中访问,其中username是你的用户名。例如下面是我的配置。
deploy:
type: git
repository: https://GCS-ZHN:GITHUB_TOKEN@github.com/GCS-ZHN/GCS-ZHN.github.io.git
branch: main
其中GITHUB_TOKEN
是我用于自动部署时自动替换为github的token的,如果使用请将其替换为你的真实token。所谓部署,其实就是利用git将其推送上去,因此需要具备该仓库的git访问权限。除了利用token获取权限,也可以使用SSH公钥,此属于git配置知识范畴,详细请访问我的git笔记。
- 推送到github
hexo deploy
上述命令可以一键部署。但个人喜欢配置github action在项目源码仓库,在推送当前项目到源码库时自动部署。下面是我的github action示例。
name: Blog deployment
on:
push:
branches: [ main ]
jobs:
deloy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
submodules: true
# 安装Nodejs环境
- name: "Setup Nodejs"
uses: actions/setup-node@v3.1.0
with:
node-version: '14'
# 缓存信息,当缓存发生变化时,请修改key值
- name: "Cache autocard cache file"
uses: actions/cache@v3
with:
key: ${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
path: "node_modules"
- name: "Deploy blog"
uses: GCS-ZHN/hexo-action@v1.0.5
with:
user_name: "Zhang.H.N"
user_email: "zhang.h.n@foxmail.com"
deploy_key: ${{ secrets.PERSONAL_TOKEN }} # 这里的token就是前面对应的token,以github仓库的secrets形式加密储存在github上。
功能设置
启用主页节选原文
在_config.yml中配置excerpt_description: true
,同时要设定原文截断的位置处添加注释<!--more-->
。
显示在主页预览的部分
<!--more-->
后续部分
更换hexo主题
hexo默认主题比较朴素,可以更换其他主题,主需要将主题放到themes文件夹下themes\<主题名称>
,并在_config.yml中设置theme: 主题名称
,通过git管理博客项目的用户,可以以子模块形式添加主题
git submodule add https://github.com/GCS-ZHN/Fan.git themes/Fan
添加ICP备案号
中国境内网站按照要求需要添加ICP备案号,本人拓展开发的Fan主题支持这一功能,详情见其说明