本篇教程基于NexT主题的博客配置,实现更换主题、评论、打赏等36项功能,接下来根据这些功能进行分点描述,附上个人博客以供比对参考:个人博客链接。
搭建基本Hexo博客
Hexo博客基本搭建参考:《hexo+GitHub博客搭建实战》一文,,笔者按照教程的顺序一步一步来,是没有出现错误的,如果读者们在搭建的时候遇到了问题不知如何解决,笔者会尽自己所能帮助读者,并将遇到的问题及解决方法附在文章下方。
Hexo博客绑定域名
关于Hexo博客如何绑定自己的域名,详情可参阅《hexo搭建的Github博客绑定域名》一文。
博主按照上述教程,已经成功地绑定域名wangwlj.com。
更换Hexo主题
笔者更换后的主题为NexT,其Github网址为:https://github.com/iissnan/hexo-theme-next 。首先将NexT的主题源文件下载到本地,使用Git克隆指令如下:
|
|
下载后,将压缩包解压缩(文件位于指令运行的当前目录),复制其中名称为next
的文件夹到Hexo
的主题目录下,主题目录的路径为:
Hexo博客根目录/themes/
在Hexo根目录下有一个以_config.yml
命名的文件(下称站点配置文件 ),用Sublime/NotePad++
等文本编辑器打开,在其中找到theme
属性,将其由landscape
改为next
。
然后在Hexo根目录执行部署Hexo指令:
|
|
便可以在远程的博客上看到修改主题后的样式了。
设置Hexo主题模式
看到上图,读者可能会产生疑问,为什么自己的主题样式和笔者的不一样,这是因为在Hexo主题中,有四种不同的模式,通过切换模式,让NexT主题显示不一样的样式。
在NexT
根目录下有一个同样名称为_config.yml
,为了区分hexo
根目录下的_config.yml
,将前者称为主题配置文件 ,在其中找到scheme属性,如下图所示:
|
|
NexT主题默认使用Muse模式,笔者采用的是Pisces模式,读者可根据自己的喜好,选择其中一种模式。
修正图片显示问题
经过上面的配置后,发现上传的博客文章里面的本地图片居然显示不来(没有同步上传)。
于是,找到解决方案:
1 把主页配置文件_config.yml
里的post_asset_folder:
这个选项设置为true
2 在你的hexo目录下执行这样一句话npm install hexo-asset-image --save
,这是下载安装一个可以上传本地图片的插件
3 等待一小段时间后,再运行hexo n "xxxx"
来生成md
博文时,/source/_posts
文件夹内除了xxxx.md
文件还有一个同名的文件夹
4 最后在xxxx.md中想引入图片时,先把图片复制到xxxx这个文件夹中,然后只需要在xxxx.md中按照markdown的格式引入图片:
注意: xxxx
是这个md文件的名字,也是同名文件夹的名字。只需要有文件夹名字即可,不需要有什么绝对路径。你想引入的图片就只需要放入xxxx
这个文件夹内就好了,很像引用相对路径。
5.hexo s
,运行本地服务器,打开http://localhost:4000/
,可实时查看修改情况。
6.hexo d
,同步到github。
参考自:hexo生成博文插入图片
设置预览摘要
设置完模式后,读者们会发现,尽管首页显示的是所有文章的列表,但是每一篇文章都显示了所有内容,这样感觉看起来不舒服,这时候可以启用预览摘要模式,在主题配置文件 中找到auto_excerpt
属性,将enable
设置为true
,将length
设置为想要预览到的字数,如下图所示:
|
|
这里说明一下:上述的部署指令中
hexo deploy
可以换成hexo server
,两者的区别在于,前者是将博客部署到远程的Github上,而后者是运行在本地,通过http://localhost:4000
在浏览器中访问。后者是为了调试配置方便而使用,但是最终本地博客还是需要hexo deploy
指令将其部署至Github上。
添加评论功能
更新
目前的评论系统,友言,网易云跟帖都挂了。所以,我最终采用的是来必力。
我新写一篇文章详细介绍了来必力评论系统的实现方法:hexo博客优化之实现来必力评论功能
以下是原文
NexT目前出到5.1.0版本,功能模块已经相当的丰富。NexT主题集成了评论系统,只需要设置相关的属性即可实现功能,其目前支持多说、Disqus、Facebook评论、Hyper评论、网页云跟帖等,其中“多说”是NexT推荐的评论系统,但是多说评论系统不稳定,经常会出现服务异常的问题。
笔者采用的是一款名为友言的评论系统,它也是NexT已经集成好的,可以直接拿来用的。下面对其操作进行讲解:
- 注册友言账号
打开友言官网,单击“注册”按钮后,按照套路可完成账号注册。
- 获取uid
注册完登录后,在首页单击“后台管理”按钮进入后台界面便可看到自己的用户ID,将其复制下来。
- 设置uid
打开主题配置文件 ,在其中找到属性youyan_uid
,然后在: 后添加之前复制的uid。
> 提醒一下,: 冒号后面一定要有一个空格
然后部署一下Hexo,可以在本地或远程看到实现的评论功能,如下图所示:
> 在笔者配置评论功能的时候,笔者遇到了一个问题:本地博客有评论功能,而远程博客却没有 。折腾了一下午,始终不知道其原因所在。后来,当笔者对博客绑定自己的域名后,发现远程的博客自动出现了评论功能。在此推测为域名的缘故。若没有绑定域名的读者们遇到这个情况,可以放放,先配置其他功能。
设置侧边栏显示效果
在主题配置文件 中,找到sidebar
的display
属性,display
属性有四种显示模式:分别为:
|
|
笔者将其设置为hide模式,读者们可根据个人喜好进行设置。
添加菜单选项
默认情况下,菜单导航栏有首页、归档、关于三个选项,除此之外笔者还添加了分类、标签和关于。在主题配置文件 中,找到menu
属性,并去掉categories、 tags、about
的的注释,如下图所示:
然后在Hexo根目录执行指令如下:
|
|
执行完上述指令后,在Hexo根目录/source/
文件夹下创建三个文件夹,命名分别为:categories、tags、about
文件夹,在这些文件夹中分别会创建一个以index
命名的Markdown文件,对这三个Markdown文件内容进行修改,使之分别为:
|
|
完成文件的修改,然后部署Hexo即可完成菜单选项的添加。
添加阅读次数统计
注册LeanCloud
账号,完成激活;点击左上角的”应用”-“创建新应用”-点击“数据”右边的齿轮–点击创建类class,类名字叫做Counter
。
然后,修改主题配置文件 ,找到leancloud_visitors
,添加修改:
|
|
从设置中找到相应的id和key:
然后预览,如图:
添加社交链接
笔者希望在个人博客中加入自己的微博、知乎和Github链接以提高访问量,接下来了解一下社交链接如何添加:
- 添加链接及图标
在主题配置文件 中找到social
属性,在其下方添加社交链接及图标,其格式为:
社交平台名称:链接 || 图标
链接的图标全部来自于Font Awesome
- 个人配置
笔者社交链接添加情况如以下代码所示:
|
|
其中,微博有其对应的图标,而知乎在图标库中却没有找到,笔者找了一款gratipay
的图标来代替知乎图标。
如果没有找到指定的图标,将会启用默认的图标。
- 效果展示
配置完成后,具体效果显示如下:
添加友情链接功能
在主题配置文件 中找到links
属性,修改links_title
属性的值为“友情链接”(也可以是其他文案),取消注释links:
,然后添加上好友的博客名称和博客地址,其格式如下:
|
|
笔者友情链接出现位置在社交链接的下方,效果如下图所示:
设置博文内链接为蓝色
- 修改原因
链接的默认颜色是白色的,和普通字体颜色相同,不容易区分,如下图所示:
- 修改方法
通过路径:
F:Hexo\themes\next\source\css\_common\components\post\
打开post.styl
文件,在文件中添加,如下字段:
|
|
最好将新添加的内容放在原文件内容的底部,便于查看。
- 效果预览
设置完成后部署一下,预览效果如图:
图中Git的链接出现的下划线是鼠标悬停时的效果。
设置文章末尾”本文结束”标记
实现方法
在路径F:\Hexo\themes\next\layout\_macro
下,新建一个文件passage-end-tag.swig
,文件内容中添加以下代码:
|
|
代码截图如下(在网站中看到的div标签生效消失了,故此截图):
这里可以更改字体显示的颜色,大小,以及内容,例如可将本文结束用The Happy Ending代替,并将字体颜色设置为了自己喜欢的#CDBA96,你可以去这里选择自己喜欢的颜色对应的RGB值。
然后在路径\themes\next\layout\_macro\
下找到并打开post.swig
文件,在 post-body
之后, post-footer
之前添加如下代码(post-footer之前两个DIV):
|
|
具体位置如下图所示:
最后在主题配置文件 中,在末尾添加如下语句:
|
|
实现效果图
最终实现效果如下:
显示每篇文章字数
实现方法
首先安装插件,执行以下命令:
|
|
然后修改主题配置文件 ,定位到post_wordcount
,将wordcount
由false
改为true
即可。
实现效果图
在每篇文章标题下会有如下效果:
显示站点文章总字数
实现方法
首先安装插件,插件安装同上(已经“显示每篇文章字数”则忽略这步)。
然后修改主题配置文件 ,定位到post_wordcount
,将totalcount
由false
改为true
即可。
实现效果图
在页面最底部会有如下效果:
文章末尾添加版权说明
直接修改主题配置文件 ,定位到post_copyright
,将enable
由false
改为true
即可。
该字段如下:
|
|
实现效果如图所示:
设置个人头像
通过上面切换到Pisces发现,自己的头像还是属于匿名状态,因此,我们有必要设置一下自己的头像。
实现方法
在主题配置文件 中找到avatar
字段,进行修改:
|
|
先将avatar
字段前的#删除,然后粘贴上头像的目录位置或者链接。
笔者将头像图片保存在了主题目录下的source/images
文件夹,也可以存放在站点目录下的source/uploads
文件夹。也可以将自己的头像图片,保存在百度网盘或者新浪微盘的某个地方,然后将对应的url
地址复制过来,添加在avatar
字段后即可。
实现效果图
其效果如下图所示:
达到效果后即可部署至远程。
设置头像动态特效
在路径F:\Hexo\themes\next\layout\_partials
找到head.swig
文件并打开,在其末尾添加,如下字段:
|
|
并在路径themes\next\source\css\_common\components\sidebar\
下找到sidebar-author.styl
文件并打开,添加如下语句:
|
|
其中jello
是我选择的动态效果,你可以在这里找到你喜欢的特效;然后更换上述代码中的jello
字段,达到预期效果后,即可部署至远程。
设置网站图标
实现方法
打开主题配置文件 ,找到以下字段,进行相应的修改:
|
|
其中,图片web_icon.jpg
存放在hexo-site/source/
目录下。
然后预览,在自己的博客网站上有这样的图标:
因为我使用了与头像一样的图片,所以图标与头像一样。达到效果后即可部署至远程。
添加留言版块
我们还可以在菜单栏增加一个”留言板”,让他人可以通过留言板直接给我们留言。
实现方法
在博客目录中,执行以下命令,新建一个页面:
|
|
然后通过路径F:\Hexo\source\guestbook
找到并打开guestbook
文件夹下的index.md
文件,然后再文件中添加以下代码:
|
|
然后打开主题配置文件 ,在menu字段下,添加如下字段:
|
|
newspaper-o
是留言板的图标,可以在这里找到自己喜欢的图标。
笔者采用的youyan评论系统,默认在新建页面上会产生评论板块。效果如下:
这个效果暂时不稳定,可能是由于笔者暂时还没有绑定域名的关系。
项目主页添加README
在建立Github上建立自己的博客仓库的时候,没有生成README
文件,这样使得其他人无法知道我们这个仓库是做什么,即我们的这个仓库缺少一个说明文件;但是如果直接使用命令hexo n README
,再部署至远程的时候,hexo会将它解析为html
文件,这不是我们想要的。
实现方法
因此,解决方式是在路径F:\Hexo\source
下手动新建README.mdown
注意这里的后缀是.mdown
,Mardownpad
可以将文件保存为.mdown
后缀文件;然后再在这个新建文件中写README
即可。再之后hexo g
会把它复制到public
文件夹,而不会被解析成html
文件,发布在博客中。
实现效果图
预览效果,如图:
实现fork me on github
在右上角或者左上角实现fork me on github。
实现方法
点击这里挑选自己喜欢的样式,并复制代码。 例如,我是复制如下代码:
然后粘贴刚才复制的代码到themes/next/layout/_layout.swig
文件中(放在<div class="headband"></div>
的下面),并把href
标签改为你的github
地址:
实现效果图
实现效果图如下(右上角):
实现点击出现桃心效果
实现方法
打开浏览器,输入如下网址
然后将里面的代码copy一下,新建love.js
文件并且将代码复制进去,然后保存。将love.js
文件放到路径/themes/next/source/js/src
里面,然后打开\themes\next\layout\_layout.swig
文件,在末尾(在前面引用会出现找不到的bug)添加以下代码:
|
|
实现效果图
修改文章底部的#号标签
实现方法
修改模板/themes/next/layout/_macro/post.swig
,搜索 rel="tag">#
,将其中的 #
换成<i class="fa fa-tag"></i>
实现效果图
添加动态背景
实现方法
在主题配置文件 中,定位到如下部分:
|
|
这是已经集成好的几个动态效果,笔者采用的是canvas_nest,读者可依次体验(将false改为true),选择最喜欢的动态背景。
实现效果图
代码块样式自定义
实现方法
打开\themes\next\source\css\_custom\custom.styl
,向里面加入:(颜色可以自己定义)
实现效果图
文章加密访问
实现方法
打开themes->next->layout->_partials->head.swig
文件,在以下位置插入这样一段代码:
代码如下:
然后在文章上写成类似这样:
实现效果图
添加jiathis分享
实现方法
在主题配置文件 中,jiathis为true,就行了,代码如下:
|
|
实现效果图
自定义鼠标样式
实现方法
打开themes/next/source/css/_custom/custom.styl
,在里面写下如下代码
其中 url
里面必须是 ico
图片,ico
图片可以上传到网上,然后获取外链,复制到 url
里就行了
支持mathjax公式
看到网上说明安装hexo-math工具,或者其他的一系列教程,如这个。
其实在目前的hexo/NexT主题已经集成了mathjax,所以不需要那么麻烦的设置了。
实现方法
在主题配置文件 中,定位到mathjax,将后面的选项为true,就行了。
另外,虽然这样设置了,但是在编写的时候还会出现mathjax与markdown默认渲染不兼容的问题,导致有时候公式一复杂就显示不出来。
解决上述问题的方法请参照我写的另一片博客:https://qwerty200696.github.io/2017/09/21/markdown_mathjax/
修改字体颜色/大小/背景色
比如说,想在文章中对某一部分的文字进行强调(改变大小,颜色),该操作具体说明如下:
如果想自定义字体大小以及颜色,可以直接在 Markdown 文档中使用 html 语法:
其中#FF0000
为RGB颜色代码,读者可去RGB颜色查询对照表网站查找自己喜欢的颜色。
若想在RGB颜色值与十六进制颜色码之间相互转化,可查看该网站。
效果如下:
这里输入文字,自定义字体大小
这里输入文字,自定义字体颜色
这里输入文字,自定义字体背景色
这是综合起来的效果
这是综合起来的效果2
实现首行缩进
由于markdown语法主要考虑的是英文,所以对于中文的首行缩进并不太友好,因此想要实现行缩进需要加上相应的代码,如下。
在需要缩进行的开头处,先输入下面的代码,然后紧跟着输入文本即可。分号也不要漏掉。
直接写:
亲测可行。
插入表格
方法1:html代码
插入表格的代码是:
效果为:
北京 | 雾霾 |
深圳 | 暴雨 |
可以看到上面多出了很多空行,所以我一般采用第二种方法,如下:
方法二:markdown代码
|
|
效果如下:
函数名 | 功能 |
---|---|
max | 求最大值 |
min | 求最小值 |
添加RSS
安装 hexo-generator-feed 插件
RSS需要有一个Feed链接,而这个链接需要靠hexo-generator-feed
插件来生成,所以第一步需要添加插件,在Hexo根目录执行安装指令:
配置feed信息
在站点配置文件 中追加如下代码:
feed属性下的各个子属性的含义借用feed官方英文解释如下:
至此RSS功能大功告成,部署至远程后,会发现RSS已经自动出现,效果图如下:
手机端订阅图
手机端订阅效果展示:
添加搜索功能
笔者采用的是local search。
安装 hexo-generator-searchdb,在站点的根目录下执行以下命令:
编辑 站点配置文件 (站点根目录下),新增以下内容到任意位置:
编辑 主题配置文件 (主题目录下),启用本地搜索功能:
之后部署到远程即可。
Hexo博客提交百度和Google收录
这篇文章写得很详细,我就不详细说了:
Hexo博客收录百度和谷歌-基于Next主题
添加打赏功能
参考这篇文章:hexo的next主题打赏
博文置顶
目前按照上述方法,安装新工具之后,只需要在需要置顶文章上面加上top: true
字段即可。
比如说置顶这篇文章:
|
|