安装Hexo主题
hexo
的主题有很多,比如
hexo-theme-yilia
hexo-theme-bmw
hexo-theme-stun
hexo-theme-matery
- …
等等,这里使用的是
hexo-theme-matery
,可以根据自己的喜好去选择主题.项目地址:
https://github.com/blinkfox/hexo-theme-matery/tree/master
1.下载安装
进入
Blog
的theme
目录,然后下载:$ cd myblog/theme/ $ git clone https://github.com/blinkfox/hexo-theme-matery.git
2.切换主题
修改
Hexo
根目录下的_config.yml
的theme
的值:theme: hexo-theme-matery
_config.yml
文件的其它修改建议:
- 请修改
_config.yml
的url
的值为你的网站主URL
(如:http://xxx.github.io
)。- 建议修改两个
per_page
的分页条数值为6
的倍数,如:12
、18
等,这样文章列表在各个屏幕下都能较好的显示。- 如果你是中文用户,则建议修改
language
的值为zh-CN
。
3.初始化页面
新建分类 categories 页
categories
页是用来展示所有分类的页面,如果在你的博客source
目录下还没有categories/index.md
文件,那么你就需要新建一个,命令如下:$ hexo new page "categories"
编辑你刚刚新建的页面文件
/source/categories/index.md
,至少需要以下内容:--- title: categories date: 2018-09-30 17:25:30 type: "categories" layout: "categories" ---
新建标签 tags 页
tags
页是用来展示所有标签的页面,如果在你的博客source
目录下还没有tags/index.md
文件,那么你就需要新建一个,命令如下:$ hexo new page "tags"
编辑你刚刚新建的页面文件
/source/tags/index.md
,至少需要以下内容:--- title: tags date: 2018-09-30 18:23:38 type: "tags" layout: "tags" ---
新建关于我 about 页
about
页是用来展示关于我和我的博客信息的页面,如果在你的博客source
目录下还没有about/index.md
文件,那么你就需要新建一个,命令如下:$ hexo new page "about"
编辑你刚刚新建的页面文件
/source/about/index.md
,至少需要以下内容:--- title: about date: 2018-09-30 17:25:30 type: "about" layout: "about" ---
新建留言板 contact 页
contact
页是用来展示留言板信息的页面,如果在你的博客source
目录下还没有contact/index.md
文件,那么你就需要新建一个,命令如下:$ hexo new page "contact"
编辑你刚刚新建的页面文件
/source/contact/index.md
,至少需要以下内容:--- title: contact date: 2018-09-30 17:25:30 type: "contact" layout: "contact" ---
注:本留言板功能依赖于第三方评论系统,请激活你的评论系统才有效果。并且在主题的
_config.yml
文件中,第19
至21
行的“菜单”配置,取消关于留言板的注释即可。
新建友情链接 friends 页
friends
页是用来展示友情链接信息的页面,如果在你的博客source
目录下还没有friends/index.md
文件,那么你就需要新建一个,命令如下:$ hexo new page "friends"
编辑你刚刚新建的页面文件
/source/friends/index.md
,至少需要以下内容:--- title: friends date: 2018-12-12 21:25:30 type: "friends" layout: "friends" ---
同时,在你的博客
source
目录下新建_data
目录,在_data
目录中新建friends.json
文件,文件内容如下所示:[{ "avatar": "http://image.luokangyuan.com/1_qq_27922023.jpg", "name": "码酱", "introduction": "我不是大佬,只是在追寻大佬的脚步", "url": "http://luokangyuan.com/", "title": "前去学习" }]
新建 404 页
如果在你的博客
source
目录下还没有404.md
文件,那么你就需要新建一个hexo new page 404
编辑你刚刚新建的页面文件
/source/404/index.md
,至少需要以下内容:--- title: 404 date: 2018-09-30 17:25:30 type: "404" layout: "404" description: "Oops~,我崩溃了!找不到你想要的页面 :(" ---
4.修改主题配置文件
以上初始化了主题,这样
hexo s
会生成静态文件.以下个性化修改以下主题的配置文件
_config.yml
导航菜单
- 菜单导航名称可以是中文也可以是英文(如:
Index
或主页
)- 图标icon 可以在Font Awesome 中查找
- 这里先保持主题中的导航菜单不变,如果后期有所增加,可以在导航菜单中添加新的选项,比如
Navigate: url: /navigate icon: fas fa-rocket Commic: url: /commic icon: fas fa-book
代码高亮
从 Hexo5.0 版本开始自带了
prismjs
代码语法高亮的支持,本主题对此进行了改造支持。如果你的博客中曾经安装过
hexo-prism-plugin
的插件,那么你须要执行npm uninstall > hexo-prism-plugin
来卸载掉它,否则生成的代码中会有{
和}
的转义字> 符。然后,修改 Hexo 根目录下
_config.yml
文件中highlight.enable
的值为false
,> 并将prismjs.enable
的值设置为true
,主要配置如下:highlight: enable: false line_number: true auto_detect: false tab_replace: '' wrap: true hljs: false prismjs: enable: true preprocess: true line_number: true tab_replace: ''
主题中默认的
prismjs
主题是Tomorrow Night
,如果你想定制自己的主题,可以前往 prismjs 下载页面 定制下载自己喜欢的主题css
文件,然后将此 css 主题文件取名为prism.css
,替换掉hexo-theme-matery
主题文件夹中的source/libs/prism/prism.css
文件即可。
搜索
本主题中还使用到了 hexo-generator-search 的 Hexo 插件来做内容搜索,安装命令如下:
npm install hexo-generator-search --save
在 Hexo 根目录下的
_config.yml
文件中,新增以下的配置项:search: path: search.xml field: post
中文链接转拼音(建议安装)
如果你的文章名称是中文的,那么 Hexo 默认生成的永久链接也会有中文,这样不利于
SEO
,且gitment
评论对中文链接也不支持。我们可以用 hexo-permalink-pinyin Hexo 插件使在生成文章时生成中文拼音的永久链接。安装命令如下:
npm i hexo-permalink-pinyin --save
在 Hexo 根目录下的
_config.yml
文件中,新增以下的配置项:permalink_pinyin: enable: true separator: '-' # default: '-'
注:除了此插件外,hexo-abbrlink 插件也可以生成非中文的链接。
- 文章字数统计插件(建议安装)
如果你想要在文章中显示文章字数、阅读时长信息,可以安装 hexo-wordcount插件。
安装命令如下:
npm i --save hexo-wordcount
然后只需在本主题下的
_config.yml
文件中,将各个文章字数相关的配置激活即可:postInfo: date: true update: false wordCount: false # 设置文章字数统计为 true. totalCount: false # 设置站点文章总字数统计为 true. min2read: false # 阅读时长. readCount: false # 阅读次数.
添加emoji表情支持(可选的)
本主题新增了对
emoji
表情的支持,使用到了 hexo-filter-github-emojis 的 Hexo 插件来支持emoji
表情的生成,把对应的markdown emoji
语法(::
,例如::smile:
)转变成会跳跃的emoji
表情,安装命令如下:npm install hexo-filter-github-emojis --save
在 Hexo 根目录下的
_config.yml
文件中,新增以下的配置项:githubEmojis: enable: true className: github-emoji inject: true styles: customEmojis:
添加 RSS 订阅支持(可选的)
本主题中还使用到了 hexo-generator-feed 的 Hexo 插件来做
RSS
,安装命令如下:npm install hexo-generator-feed --save
在 Hexo 根目录下的
_config.yml
文件中,新增以下的配置项:feed: type: atom path: atom.xml limit: 20 hub: content: content_limit: 140 content_limit_delim: ' ' order_by: -date
执行
hexo clean && hexo g
重新生成博客文件,然后在public
文件夹中即可看到atom.xml
文件,说明你已经安装成功了。
修改社交
修改主题文件中的
_config
文件,修改socialLink
选项中的内容,修改为自己的内容.
修改打赏的二维码图片
# 修改这两张图片修改为自己的 ❯ ls themes/hexo-theme-matery/source/medias/reward alipay.jpg wechat.png ❯ hexo g ❯ hexo s
文章头部改写
Front-matter
选项中的所有内容均为非必填的。但我仍然建议至少填写title
和date
的值。
配置选项 默认值 描述 title Markdown
的文件标题文章标题,强烈建议填写此选项 date 文件创建时的日期时间 发布时间,强烈建议填写此选项,且最好保证全局唯一 author 根 _config.yml
中的author
文章作者 img featureImages
中的某个值文章特征图,推荐使用图床(腾讯云、七牛云、又拍云等)来做图片的路径.如: http://xxx.com/xxx.jpg
top true
推荐文章(文章是否置顶),如果 top
值为true
,则会作为首页推荐文章cover false
v1.0.2
版本新增,表示该文章是否需要加入到首页轮播封面中coverImg 无 v1.0.2
版本新增,表示该文章在首页轮播封面需要显示的图片路径,如果没有,则默认使用文章的特色图片password 无 文章阅读密码,如果要对文章设置阅读验证密码的话,就可以设置 password
的值,该值必须是用SHA256
加密后的密码,防止被他人识破。前提是在主题的config.yml
中激活了verifyPassword
选项toc true
是否开启 TOC,可以针对某篇文章单独关闭 TOC 的功能。前提是在主题的 config.yml
中激活了toc
选项mathjax false
是否开启数学公式支持 ,本文章是否开启 mathjax
,且需要在主题的_config.yml
文件中也需要开启才行summary 无 文章摘要,自定义的文章摘要内容,如果这个属性有值,文章卡片摘要就显示这段文字,否则程序会自动截取文章的部分内容作为摘要 categories 无 文章分类,本主题的分类表示宏观上大的分类,只建议一篇文章一个分类 tags 无 文章标签,一篇文章可以多个标签 keywords 文章标题 文章关键字,SEO 时需要 reprintPolicy cc_by 文章转载规则, 可以是 cc_by, cc_by_nd, cc_by_sa, cc_by_nc, cc_by_nc_nd, cc_by_nc_sa, cc0, noreprint 或 pay 中的一个 注意:
- 如果
img
属性不填写的话,文章特色图会根据文章标题的hashcode
的值取余,然后选取主题中对应的特色图片,从而达到让所有文章都的特色图各有特色。date
的值尽量保证每篇文章是唯一的,因为本主题中Gitalk
和Gitment
识别id
是通过date
的值来作为唯一标识的。- 如果要对文章设置阅读验证密码的功能,不仅要在 Front-matter 中设置采用了 SHA256 加密的 password 的值,还需要在主题的
_config.yml
中激活了配置。有些在线的 SHA256 加密的地址,可供你使用:开源中国在线工具、chahuo、站长工具。- 您可以在文章md文件的 front-matter 中指定 reprintPolicy 来给单个文章配置转载规则
以下为文章的
Front-matter
示例。最简示例
--- title: typora-vue-theme主题介绍 date: 2018-09-07 09:25:00 ---
最全示例
--- title: typora-vue-theme主题介绍 date: 2018-09-07 09:25:00 author: 赵奇 img: /source/images/xxx.jpg top: true cover: true coverImg: /images/1.jpg password: 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 toc: false mathjax: false summary: 这是你自定义的文章摘要内容,如果这个属性有值,文章卡片摘要就显示这段文字,否则程序会自动截取文章的部分内容作为摘要 categories: Markdown tags: - Typora - Markdown ---
修改
scaffolds/post.md
中的配置,新生成的文件会以这个文件为模板生成.如果设置了加密,这主题文件下的
_config
文件也需要开启加密(verifyPassword
选项)新生成一个文件.
hexo clean hexo g hexo s
百度统计
# Add baidu analytics configuration # 添加 baidu Analytics 配置 baiduAnalytics: enable: true id: 407f502eb914179baa7e4efa6da65a6e
前端库
可以修改为
cdn
地址.
留言板设置
使用
Valine
,需要申请leancloud
应用
不蒜子
如果网站加载过慢,可以关闭不蒜子(http://busuanzi.ibruce.info/) 网站统计
ICP
如果有自己的备案号,可以添加他.