摘要:博客搭建完成后,对其进行个性化配置,由于pure
主题教程偏少且文档过于简洁,因此详细记录下来。
Hexo博客搭建
博客系列:Hexo博客搭建(1)——建站及部署,环境搭建并部署至Github。
博客系列:Hexo博客搭建(2)——主题配置,针对pure
主题进行个性化配置。
博客系列:Hexo博客搭建(3)——优化评论系统,主要对Valine
评论系统进行优化。
博客系列:Hexo博客搭建(4)——常见问题,修复了pure
主题的系列小bug。
文章作者:鴻塵
一、前言
1.背景
本博客使用的hexo-pure主题——hexo-theme-pure
,由于该主题较为小众,使用人数不多,难以找到靠谱的参考文章,且不论是中文文档、英文文档,还是Hexo博客主题pure使用说明,都不够详细,实际动手过程中仍有许多问题。
因此,将该主题的配置过程详细地记录下来。
说明:主题配置大部分仍然是参考上述文档。
2.配置说明
在 Hexo 中有两份主要的配置文件,其名称都是 _config.yml
。 其中,一份位于站点根目录下,主要包含 Hexo 本身的配置;另一份位于主题目录下,这份配置由主题作者提供,主要用于配置主题相关的选项。为了描述方便,在以下说明中,将前者称为站点配置文件(./_config.yml
), 后者称为主题配置文件(./themes/pure/_config.yml
)。
二、安装启用主题
首先在博客根目录下运行以下命令:1
2
3git clone https://github.com/cofess/hexo-theme-pure.git themes/pure
cd ./themes/pure
git pull
然后打开站点配置文件,找到theme
字段,将其值更改为pure
即可。
到此,主题安装完成。然后启动Hexo服务验证主题是否正确启用。1
hexo s
三、主题配置
1.设置语言
打开站点配置文件, 将language
设置成你所需要的语言。建议明确设置你所需要的语言,可选值对应themes\pure\languages
目录下语言文件,简体中文配置如下:1
language: zh-CN
2.导航菜单
menu
和menu_icons
默认即可,其中menu
为页面左侧导航菜单,menu_icons
为导航菜单图标,若需更改,参考这里。rss
订阅用不上直接设置false
即可~
3.站点信息
此部分只需要关注网站logo头像favicon
的图片路径,将需要使用的logo图片放在./themes/pure/source/favicon.png
,然后设置为favicon: /favicon.png
即可。
站点公告可用HTML
格式,例如<br>
换行、<a href="xxx" styly="xxx">
标签等进行配置。
4.主题个性配置
config
:此部分对照注释配置即可。pagination
:分页设置,默认即可。sidebar
:右侧,默认即可。widgets
:右侧边栏小部件,根据需要展示,不需要注释掉即可。index_widgets
:默认注释掉,不知道是什么,取消注释也没反应。fancybox
:实现点击图片放大的部件,默认关闭,打开后会导致友链打不开(解决办法参考后文Hexo博客搭建(4)——常见问题之如何实现点击图片放大)。search
:分为站内搜索insight
和百度搜索baidu
,两者至多开启一个。站内搜索需要先安装hexo-generator-json-content
插件,百度搜索则需要先被百度收录。donate
:打赏功能只需要将./themes/pure/source/images/donate/xxx.jpg
替换为自己的。share
:*sites
属性值为英文逗号分隔且无空格。github
:填写Github用户名,以正确获取仓库信息及Github主页。
5.评论系统
博客采用Valine
评论系统,此部分配置较为繁琐,此处配置仅针对主题配置文件的配置项,详细配置及源码修改分布详见后文Hexo博客搭建(3)——优化评论系统。
以下配置中的enableQQ
和requiredFields
设置了也不会生效,因为评论样式文件./themes/pure/layout/_script/_comment/valine.js
并没有包含这两个部分,所以需要修改源码。
相关说明:
valine
:需要先将type
设置为valine
,表示启用Valine
评论系统appid
和appkey
:leancloud应用的专属appid
和appkey
,leancloud应用如图:notify
和verify
:该选项已被弃用placeholder
:评论框占位符,可自定义,换行符为\n
avatar
:评论头像,参考valine配置项之avatar和valine头像配置meta
:评论框表头,默认显示「昵称」、「邮箱」、「网址」pageSize
:评论区分页visitor
:leancloud自带的文章阅读量统计(站长可随意修改),若开启则需关闭「不蒜子」,否则会显示两个阅读量,如图所示:enableQQ
:是否启用昵称框自动获取QQ昵称和QQ头像, 默认关闭,需站长主动启用,启用后还需要修改源码recordIP
:是否记录访问者IPrequiredFields
:设置必填项,需要修改源码
1 | comment: |
6.其他
- 豆瓣书单:因为没有豆瓣的账号,此页面拟改为「相册」,因此此处关于「豆瓣」的全部注释掉了
pv
:文章阅读量统计,由于Valine
评论自带有阅读量统计,故此处busuanzi
和leancloud
直接设置为false
禁用postCount
:文章字数及阅读时长统计,需要安装``插件enable
:启用postCount
,设置为true
wordcount
:启用文章字数统计,设置为true
min2read
:启用阅读时长预计,设置为true
plugins
:插件,暂不需要,可根据自身实际配置Miscellaneous
:杂项(包括twitter,Google+,Facebook),暂不需要,可根据自身实际配置
7.个人信息profile
此处配置主要是在页面左侧个人信息,以及「关于」页面右侧边栏的展示。labels
、skills
、links
、works
和projects
显示在「关于」页面右侧边栏,配置格式为键值对形式,参考模板即可。
enabled
:是否启用avatar
:个人头像,替换./themes/pure/source/images/avatar.jpg
即可,路径设置为images/avatar.jpg
gravatar
:gravatar头像,属性值为Gravatar账户邮箱地址,将会覆盖上面的avatar
配置author
:昵称author_title
:略(当做职业描述了…)author_description
:个人简介location
:位置follow
:关注我的主页social
:社交平台链接,以图标形式显示在各页面的左下方links
:各个社交平台的连接可选值参考IconFont图标,一般有「Github」、「微博」、「twitter」、「facebook」、「知乎」、「领英」、「花瓣」、「思否」、「码云」、「QQ/空间」、「邮箱」、「掘金」、「微信」、「stackoverflow」、「支付宝」等,一般展示以4~6个为宜,参考后文Hexo博客搭建(4)——常见问题之如何更改左侧IconFont 图标link_tooltip
:建议设置为true
labels
:个人标签,显示在「关于」页面右侧边栏skills
:技能,显示在「关于」页面右侧边栏links
:个人链接,显示在「关于」页面右侧边栏works
:个人作品,显示在「关于」页面右侧边栏projects
:个人项目,显示在「关于」页面右侧边栏
四、站点配置
站点配置参考:官方文档配置
1.网站
title
:网站标题subtitle
:网站副标题description
:描述keywords
:关键字author
:作者language
:站点语言,第三步已配置timezone
:时区,默认即可
2.网址
url
:主页URL,例如https://hwame.toproot
:网站根路径,需与url
对应,如果站点位于子目录,则url
为http://yoursite.com/child
且同时设置root
为/child
permalink
:文章链接,个人认为以日期为路由分隔即可::year:month:day/:title.html
,此项默认值为:year/:month/:day/:title/
permalink_defaults
:各部分的默认值,留空即可pretty_urls
:如果设置为false
则会去掉尾部的index.html
或.html
3.目录/文章
默认即可,或者参考官方文档配置
4.首页分页
首页分页index_generator
有一个小bug,即当最后一页只有一篇文章时,会直接打开那篇文章(如果设置了Read More,则显示到「摘要」),这个问题还未解决。
path
:主页的路径,默认为''
per_page
:每页展示数量,设置为0则禁用分页order_by
:默认按时间倒序排序
5.其他
Category & Tag
:默认分类default_category
的默认值为uncategorized
,pure
主题已改为categories
,其他默认即可。Metadata elements
:meta_generator
不知道是什么,默认即可。Date / Time format
:日期时间格式默认即可。
6.归档分页
此处配置为「归档」的分页,不同于「首页」的分页
per_page
:每页显示的文章数量 ,默认值为10,设置为0则表示关闭分页功能pagination_dir
:分页目录,保持为默认值page
即可
7.扩展
Include / Exclude file(s)
:包括或不包括目录和文件,include
/exclude
仅应用于source/
目录,而ignore
将应用于所有目录。一般默认即可。theme
:应用的主题,第二部分已设置为pure
。Deployment
:部署部分详见前文Hexo博客搭建(1)——建站及部署之部署Hexo。此处有个小问题,如果按之前配置:repository: https://github.com/username/username.github.io.git
,则会有时候需要手动输入Github用户名密码,更好的方式是配置为repository: git@github.com:username/username.github.io.git
,参考后文Hexo博客搭建(4)——常见问题之免密部署问题。mathjax
:数学公式支持。pure
主题默认不支持mathjax
,此处开启该选项,具体配置见后文Hexo博客搭建(4)——常见问题之如何使其支持Mathjax。