- 前段时间, 辛辛苦苦花了一周的时间搭建了属于自己的个人技术博客, 当然也是各种采坑各种跳, 大家如果在搭建过程中遇到什么问题, 可以参考基于GitHub和Hexo搭建个人博客
- 我现在用的是
NexT
主题, 这是作者提供的NexT主题中文配置 - 下面我把集成NexT主题配置时遇到的坑给大家总结分享一下
- 文章主要介绍的优化方面主要有以下34种配置
- 集成Mob社会化分享
- 在右上角或者左上角实现fork me on github
- 添加RSS
- 添加动态背景
- 实现点击出现桃心效果
- 修改文章内链接文本样式
- 修改文章底部的那个带#号的标签
- 在每篇文章末尾统一添加“本文结束”标记
- 修改作者头像并旋转
- 博文压缩
- 修改``代码块自定义样式
- 侧边栏社交小图标设置
- 主页文章添加阴影效果
- 在网站底部加上访问量
- 添加热度
- 网站底部字数统计
- 添加 README.md 文件
- 设置网站的图标Favicon
- 实现统计功能
- 添加顶部加载条
- 在文章底部增加版权信息
- 添加网易云跟帖(跟帖关闭,已失效,改为来必力)
- 隐藏网页底部powered By Hexo / 强力驱动
- 修改网页底部的桃心
- 文章加密访问
- 添加jiathis分享
- 博文置顶
- 修改字体大小
- 修改打赏字体不闪动
- 侧边栏推荐阅读
- 自定义鼠标样式
- 为博客加上萌萌的宠物
- 点击爆炸效果
https技术博客配置社会化分享
大家应该知道像一些JiaThis
分享和百度分享并不支持https
, 这里给大家推荐一个, 支持https
的社会化分享-Mob
1-1. 获取App Key
博客集成Mod分享组件, 参考 Mob官方文档 , 获取到App Key
1-2. 在主题配置文件中添加配置:
1 | mob_share: |
1-3. 在next/layout/_partials/share/
里面添加mob_share.swig
文件, 并在mob_share.swig
内输入一下内容:
- 这里需要注意的一点:
- 以下代码只支持
http
开头的网址, 在https
中点击分享按钮会没有任何反应 - 如果需要支持
https
的网址, 在最后一行src=http://f1.webshare.mob.com
, 需要把这里的http
同样改成https
, 这样你就可以实现分享功能了
- 以下代码只支持
1 | <!--MOB SHARE BEGIN--> |
1-4. 在next/layout/post.swig
中添加条件分支:
1 | {% if theme.jiathis %} |
1-5. 在next/source/css/_common/components/third-party/
里添加样式文件mob_share.styl
:
1 | .-hoofoo-share-buttons{ |
1-6. 同一目录下的 third-party.styl
中添加:
1 | @import "mob_share"; |
1-7. 在next/layout/_scripts/third-party/
里添加脚本文件mob_share.swig
:
1 | {% if theme.mob_share.enable %} |
1-8. 在next/layout/_layout.swig的body
标签结束前添加:
1 | {% include '_scripts/third-party/mob_share.swig' %} |
更改上一篇,下一篇的顺序
- 进入一篇文章,在文章底部,有上下篇的链接,但是点击 发现进入的是页面中的的上面那篇文章,不符合我们的正常习惯, 修改方法如下:
- 文件位置:
themes/next/layout/_macro/post.swig
1 | {% if not is_index and (post.prev or post.next) %} |
需要注意的是`prev`和`next`一定不要弄错了
文章底部加上评分小星星
这里我们先看一个评分的效果图
- 首先先去WidgetPack注册一个账号并登陆, 填一下自己博客的信息,左上角有个 ID
- 首先打开主题配置文件:
themes/next/_config.yml
1 | # Star rating support to each article. |
color
: 色值可改成自己喜欢的颜色- 设置配置项
- 可以配置评分方式,侧栏 >
Rating
>Setting
,建议用IP address
或Device(cookie)
,免登录,毕竟Socials
里面的选项几乎都被墙,不适合国内网络环境。 - 建议 侧栏 >
Site
>Setting
中勾选Private
选项。 - 上面两步勾选后别忘了点击页面右下方的
SAVE SETTING
绿色按钮保存
- 可以配置评分方式,侧栏 >
经过上面的配置,默认最下面只会显示 5 颗简单的小星星, 下面我们在自己优化一下样式吧
首先打开文件:blog/themes/next/layout/_macro/post.swig
, 添加有+
哪一行代码
1 | {% if theme.rating.enable %} |
然后打开文件:blog/themes/next/source/css/_custom/custom.styl
, 添加如下代码
1 | // 星星评分更改高度 |
leanCloud
统计
统计文章阅读量
- 通过
leanCloud
统计您网站的文章阅读量 - 注册LeanCloud, 并创建一个你自己的应用
- 点击图片右上角的设置图标进入应用界面
- 到此,你的应用创建成功,继续表的创建
- 创建表,并将表的名字命名为:
Counter
, 如图
- 创建表,并将表的名字命名为:
打开设置 -> 应用key 获取`App ID`和`App Key`
最后打开主题配置文件: themes/next/_config.yml
1 | leancloud_visitors: |
完成配置并重新编译。到此您已经成功设置了阅读量的统计
WEB安全
为了保证应用的统计计数功能仅应用于自己的博客系统,你可以在应用->设置->安全中心的Web安全域名中加入自己的博客域名,以保证数据的调用安全
配置Valine评论系统
- 评论系统之前用的来必力, 但是有时也会被墙, 用起来也不是很方便
- 现在更换的
Valine
评论系统还是很爽的 Valine
是一款基于Leancloud
的快速、简洁且高效的无后端评论系统- 特性¶
- 快速
- 安全
- 无后端实现
MarkDown
全语法支持- 轻量易用(~15kb gzipped)
- 配置方法
- 获取
Leancloud
的APP ID
和APP KEY
, 上面设置中已经介绍了获取方法
- 获取
打开主题配置文件: `themes/next/_config.yml`
1 | # Valine. |
其他相关配置和邮件提醒方式可查看[Valline详细配置官网](https://valine.js.org/configuration/)
下面着重说一下自定义样式
看一下默认效果图
修改后的效果图
- 首先下载 Valine.min.js, 并把下载好的文件放到文件夹
themes/next/source/js/src
- 然后打开文件
themes/next/layout/_third-party/comments/valine.swig
, 按照如下修改
1 | {% if theme.valine.enable and theme.valine.appid and theme.valine.appkey %} |
修改评论按钮文字
打开刚刚下载的Valine.min.js
文件, 找到class="vsubmit">回复</button>
代码, 更换为class="vsubmit">提交</button>
, 这样文字就修改了
侧栏加入已运行的时间
相当于给记录博客的年龄, 但是我的不显示, 不知道为啥, 比较惆怅, 估计可能是主题风格的原因吧
首先, 在`~/blog/themes/next/layout/_custom/sidebar.swig`, 加入以下代码
1 | <div id="days"></div> |
切记要将上面的`Date`按照一样的格式改成自己的时间
然后还要修改~/blog/themes/next/layout/_macro/sidebar.swig
1 | {# Blogroll #} |
如果你还想修改样式, 打开~/blog/themes/next/source/css/_custom/custom.styl
1 | // 自定义的侧栏时间样式 |
添加Top阅读排行页面
- 基于
Leancloud
的文章阅读量进行文章排行, 所以前提是在主题配置文件中, 配置了Leancloud
的相关配置 - 新建排行榜页面
- 终端打开博客所在目录:
~/blog/
- 终端输入:
hexo new page "top"
- 终端打开博客所在目录:
- 在主题配置文件中加上菜单
top
和它的icon
, 文件位置:~/blog/themes/next/_config.yml
1 | menu: |
接着在语言翻译文件中加上菜单 top
, 文件位置:~/blog/themes/next/languages/zh_Hans.yml
1 | menu: |
最后,编辑第一步新建页面生成的index.md
文件
1 | --- |
必须将里面的里面的app_id
和app_key
替换为你的主题配置文件中的值,必须替换里面博客的链接,1000是显示文章的数量
点击侧栏头像回到博客首页
- 首先要在主题配置文件中配置好,比如我把头像
avatar.gif
放在~/blog/source/uploads/
- 修改主题配置文件:
~/blog/themes/next/_config.yml
1 | # Sidebar Avatar |
然后编辑文件:~/blog/themes/next/layout/_macro/sidebar.swig
1 | + <a href="/" class="site-author-image" rel="start" style="border:none"> |
文章摘要图片
- 文章摘要是指每篇文章在页面上显示的那部分内容,也就是阅读全文之前的文章内容, 进入文章后图片自动隐藏
- 在主题配置文件中:
~/blog/themes/next/_config.yml
1 | excerpt_description: false |
在文件中添加如下代码: ~/blog/themes/next/layout/_macro/post.swig
1 | {% if is_index %} |
为了防止有的图片宽度不够导致风格不够统一,页面不美观,需要在~/blog/themes/next/source/css/_custom/custom.styl
中添加
1 | // 自定义的文章摘要图片样式 |
最后编辑有这需求的相关文章时, 在Front-matter
(文件最上方以---
分隔的区域)加上一行:
1 | image: url # 图片的链接地址 |
使用CloudFlare
配置https
参考
- 使用 CloudFlare 为 hexo 博客实现 HTTPS
- 使用 cloudflare 为网站添加免费 CDN 并获取免费 SSL 服务
- 为自定义域名的GitHub Pages添加SSL 完整方案
关于next主题个性化配置
这里给大家推荐, 提供33中炫酷效果的文章