博客配置过程(二)
在 博客搭建过程(一) 中简单说明了hexo博客框架所需要的环境和基本命令
这里更加详细地解释一下如何具体配置(主要是怕自己忘了)。由于hexo和butterfly主题都有_config.yml
配置文件,
这里将hexo的配置文件称为站点_config文件,butterfly主题的配置文件即为主题_config文件。
附上找到的一个在线代码对比工具网址:https://tool.oschina.net/diff
站点配置文件
在站点配置文件中,第5行开始描述了站点的基本信息,改成自己的即可。
基本信息
1 | # Site |
主题和部署仓库
第100行的theme属性改为自己所用的主题(在每个主题的主页都会有提醒);填上要部署博客的仓库地址,我用的是git,部署在github上
1 | # Extensions |
以上是站点配置文件的修改,下面是主题配置文件:
主题配置文件
目录
修改目录(页面左上角的导航栏的内容)
1 | # Menu 目錄 |
代码块风格
代码块设置为mac风格(纯粹因为好看),其他属性随意
1 | # Code Blocks (代碼相關) |
社交网站
社交网站设置为自己的账号
1 | # Social Settings (社交圖標設置) |
下面是一些图标和图像的装饰,文件都在themes/butterfly/source/下的img和my_image文件夹中
- favicon:网站图标
- avatar:头像
- banner image:顶部横幅图像
- index_img:主页图像
- default_top_img:默认顶部图像
网站图标图像
1 | # Favicon(網站圖標) |
文章封面
cover描述了文章(post)的封面图像,在主题_config文件中可以指定一组图像随机设置,我全部设为了我哀
1 | cover: |
分页设置
pagination:分页设置,选择2即下一篇指向新发表的文章1
2
3
4
5
6# post_pagination (分頁)
# value: 1 || 2 || false
# 1: The 'next post' will link to old post
# 2: The 'next post' will link to new post
# false: disable pagination
post_pagination: 2
主题颜色自定义
主题颜色自定义:这位更是重量级,咱也不懂配色,大概设置成协调的(?)算了(这么敷衍的配色也是花了好久配好的)
1 | # Theme color for customize |
网站背景图
网站背景图像(要用url包裹起来,参数可以填网址也可以填文件路径)
1 | # Website Background (設置網站背景) |
副标题
进入博客时显示的副标题:
1 | # the subtitle on homepage (主頁subtitle) |
字数统计功能
字数统计功能,这里注意要安装插件
1 | npm install hexo-wordcount --save |
1 | # wordcount (字數統計) |
系列文章
这个我还不会用
1 | # series (系列文章) |
加密
2024/1/29
添加加密访问功能:安装hexo加密插件:(官方文档 https://github.com/D0n9X1n/hexo-blog-encrypt)
1 | npm install hexo-blog-encrypt |
在文章的frontmatters中设置password
参数即可,这篇博客也有更具体的介绍:https://www.itfanr.cc/2021/04/16/hexo-blog-article-encryption/
完善数学公式
2024/2/4
这里重新安装了博客系统,使用mathjax渲染数学公式。根据butterfly官方文档,由于hexo自带渲染器marked,先执行1
npm uninstall hexo-renderer-marked --save
卸载marked渲染器,然后安装kramed渲染器:1
npm install hexo-renderer-kramed --save
在主题配置文件中修改1
2
3
4
5mathjax:
enable: true
# true 表示每一頁都加載mathjax.js
# false 需要時加載,須在使用的Markdown Front-matter 加上 mathjax: true
per_page: false
在hexo根目录配置文件中修改1
2
3
4
5
6
7
8kramed:
gfm: true
pedantic: false
sanitize: false
tables: true
breaks: true
smartLists: true
smartypants: true
由于latex的渲染会与markdown的部分语法混淆,这里参考 https://i-m.dev/posts/20190304-210101.html 找到node_modules/kramed/lib/rules/inline.js
文件,将其中的
1 | var inline = { |
改为
1 | var inline = { |
其他功能待开发……
前往博客搭建过程(一)