Hexo安装
准备条件:
node,npm
设置npm源
|
|
安装hexo
|
|
切换主题
下载主题
选择hexo主题,到github上下载主题放到themes文件夹下,如hexo-theme-matery ,将下载的 hexo-theme-matery
的文件夹复制到 Hexo 的 themes
文件夹中即可。
修改配置
修改 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
。
新建分类 categories 页
categories
页是用来展示所有分类的页面,如果 source
目录下还没有 categories/index.md
文件,那么就需要新建一个,命令如下:
|
|
编辑你刚刚新建的页面文件 /source/categories/index.md
,至少需要以下内容:
|
|
新建标签tags页
tags
页是用来展示所有标签的页面,如果 source
目录下还没有 tags/index.md
文件,那么就需要新建一个,命令如下:
|
|
编辑刚刚新建的页面文件 /source/tags/index.md
,至少需要以下内容:
|
|
新建关于我们页
about
页是用来展示关于我和我的博客信息的页面,如果 source
目录下还没有 about/index.md
文件,那么就需要新建一个,命令如下:
|
|
编辑刚刚新建的页面文件 /source/about/index.md
,至少需要以下内容:
|
|
新建友情连接 friends 页(可选的)
friends
页是用来展示友情连接信息的页面,如果 source
目录下还没有 friends/index.md
文件,那么就需要新建一个,命令如下:
|
|
编辑刚刚新建的页面文件 /source/friends/index.md
,至少需要以下内容:
|
|
同时,在 source
目录下新建 _data
目录,在 _data
目录中新建 friends.json
文件,文件内容如下所示:
|
|
代码高亮
由于 Hexo 自带的代码高亮主题显示不好看,所以主题中使用到了 hexo-prism-plugin 的 Hexo 插件来做代码高亮,安装命令如下:
|
|
然后,修改 Hexo 根目录下 _config.yml
文件中 highlight.enable
的值为 false
,并新增 prism
插件相关的配置,主要配置如下:
|
|
搜索
本主题中还使用到了 hexo-generator-search 的 Hexo 插件来做内容搜索,安装命令如下:
|
|
在 Hexo 根目录下的 _config.yml
文件中,新增以下的配置项:
|
|
修改页脚
页脚信息可能需要做定制化修改,而且它不便于做成配置信息,所以可能需要你自己去再修改和加工。修改的地方在主题文件的 /layout/_partial/footer.ejs
文件中,包括站点、使用的主题、访问量等。
修改社交链接
在主题的 _config.yml
文件中,默认支持 QQ
、GitHub
和邮箱的配置,可以在主题文件的 /layout/_partial/social-link.ejs
文件中,新增、修改需要的社交链接地址,增加链接可参考如下代码:
|
|
其中,社交图标(如:fa-github
)可以在 Font Awesome 中搜索找到。以下是常用社交图标的标识,供参考:
- Facebook:
fa-facebook
- Twitter:
fa-twitter
- Google-plus:
fa-google-plus
- Linkedin:
fa-linkedin
- Tumblr:
fa-tumblr
- Medium:
fa-medium
- Slack:
fa-slack
- 新浪微博:
fa-weibo
- 微信:
fa-wechat
- QQ:
fa-qq
修改打赏的二维码图片
在主题文件的 source/medias/reward
文件中,可以替换成你的的微信和支付宝的打赏二维码图片。
文章链接转静态短地址(建议安装)
如果文章名称是中文的,那么 Hexo 默认生成的永久链接也会有中文,这样不利于 SEO
,且 gitment
评论对中文链接也不支持。我们可以用 hexo-permalink-pinyin Hexo 插件生成文章时生成中文拼音的永久链接,或者用hexo-abbrlink 生成静态文章链接。以下结合hexo-abbrlink生成类似 /yyyy/mmdd+随机数.html
的文章链接地址。
安装命令如下:
|
|
在 Hexo 根目录下的 _config.yml
文件中,修改 permalink:
,并在文件末尾新增 abbrlink:
配置项:
|
|
文章字数统计插件(可选的)
如果你想要在文章中显示文章字数、阅读时长信息,可以安装 hexo-wordcount插件。
安装命令如下:
|
|
然后只需在本主题下的 _config.yml
文件中,激活以下配置项即可:
|
|
添加 RSS 订阅支持(可选的)
本主题中还使用到了 hexo-generator-feed 的 Hexo 插件来做 RSS
,安装命令如下:
|
|
在 Hexo 根目录下的 _config.yml
文件中,新增以下的配置项:
|
|
执行 hexo clean && hexo g
重新生成博客文件,然后在 public
文件夹中即可看到 atom.xml
文件,说明已经安装成功了。
修改主题颜色
在主题文件的 /source/css/matery.css
文件中,搜索 .bg-color
来修改背景颜色:
|
|
修改 banner 图和文章特色图
可以直接在 /source/medias/banner
文件夹中更换喜欢的 banner
图片,主题代码中是每天动态切换一张,只需 7
张即可。如果会 JavaScript
代码,可以修改成自己喜欢切换逻辑,如:随机切换等,banner
切换的代码位置在 /layout/_partial/bg-cover-content.ejs
文件的 <script></script>
代码中:
|
|
在 /source/medias/featureimages
文件夹中默认有 24 张特色图片,你可以再增加或者减少,并需要在 _config.yml
做同步修改。
文章 Front-matter 介绍
Front-matter 选项详解
Front-matter
选项中的所有内容均为非必填的。但仍然建议至少填写 title
和 date
的值。
配置选项 | 默认值 | 描述 |
---|---|---|
title | Markdown 的文件标题 |
文章标题,强烈建议填写此选项 |
date | 文件创建时的日期时间 | 发布时间,强烈建议填写此选项,且最好保证全局唯一 |
author | 根 _config.yml 中的 author |
文章作者 |
img | featureImages 中的某个值 |
文章特征图 |
top | true |
推荐文章(文章是否置顶),如果 top 值为 true ,则会作为首页推荐文章 |
cover | false |
表示该文章是否需要加入到首页轮播封面中 |
coverImg | 无 | 表示该文章在首页轮播封面需要显示的图片路径,如果没有,则默认使用文章的特色图片 |
password | 无 | 文章阅读密码,如果要对文章设置阅读验证密码的话,就可以设置 password 的值,该值必须是用 SHA256 加密后的密码,防止被他人识破。前提是在主题的 config.yml 中激活了 verifyPassword 选项 |
toc | true |
是否开启 TOC,可以针对某篇文章单独关闭 TOC 的功能。前提是在主题的 config.yml 中激活了 toc 选项 |
mathjax | false |
是否开启数学公式支持 ,本文章是否开启 mathjax ,且需要在主题的 _config.yml 文件中也需要开启才行 |
summary | 无 | 文章摘要,自定义的文章摘要内容,如果这个属性有值,文章卡片摘要就显示这段文字,否则程序会自动截取文章的部分内容作为摘要 |
categories | 无 | 文章分类,本主题的分类表示宏观上大的分类,只建议一篇文章一个分类 |
tags | 无 | 文章标签,一篇文章可以多个标签 |
注意:
- 如果
img
属性不填写的话,文章特色图会根据文章标题的hashcode
的值取余,然后选取主题中对应的特色图片,从而达到让所有文章都的特色图各有特色。 date
的值尽量保证每篇文章是唯一的,因为本主题中Gitalk
和Gitment
识别id
是通过date
的值来作为唯一标识的。- 如果要对文章设置阅读验证密码的功能,不仅要在 Front-matter 中设置采用了 SHA256 加密的 password 的值,还需要在主题的
_config.yml
中激活了配置。有些在线的 SHA256 加密的地址,可供使用:开源中国在线工具、chahuo、站长工具。
以下为文章的 Front-matter
示例。
|
|
SEO优化
百度优化
登录百度搜索资源平台, 登录成功之后在 用户中心 –> 站点管理 页面中点击添加网站,按提示操作。
提示:由于百度的spider是爬取不到GitHub的内容的,所以在第三步验证网站的时候,建议选择CNAME验证
的方式。
经过以上步骤,百度已经知道有我们网站的存在了,但是百度还不知道我们的网站上有什么内容,所以要向百度推送我们的内容。hexo-theme-matery
主题已经内置了 自动推送
的方式, 检查 themes/hexo-theme-matery/_config.yml
文件中如下配置:
|
|
自动推送的JS代码部署在站点的每一个页面源代码中,当页面在每次被浏览时,链接就会被自动推送给百度。
谷歌优化
登录 Google Search Console,点击添加资源,输入自己的域名,按提示操作。
提示:需要进行DNS验证,进入DNS域名解析设置页面,按提示增加TXT记录,如下图:
验证成功后,需要提交站点地图。通过安装sitemap插件生成站点地图文件:
|
|
安装后直接执行 hexo cl&&hexo g -d
命令,就会在网站根目录生成 sitemap.xml
文件。参照下图提交,等待收录。
注意:hexo配置文件中的url一定要输入正确的域名,插件是根据url生成站点地图的。