1. 置主题风格
打开 themes/next/_config.yml
文件,搜索 scheme
关键字,将你需用启用的 scheme
前面注释 # 去除即可。
1 | # --------------------------------------------------------------- |
2. 设置菜单项的显示文本和图标
NexT 使用的是 Font Awesome 提供的图标, Font Awesome 提供了 600+ 的图标,可以满足绝大的多数的场景,同时无须担心在 Retina 屏幕下图标模糊的问题。
2.1 设置菜单项的显示中文文本:
打开 themes/next/languages/zh-Hans.yml
文件,搜索 menu
关键字,修改对应中文或者新增。
1 | menu: |
2.2 设定菜单项的文件目录和对应图标(新版两项合并)
打开 themes/next/_config.yml
文件,搜索 menu_icons
关键字,修改对应图标名称或者新增对应 menu
的图标。
1 | # --------------------------------------------------------------- |
除了 home
, archives
, /
后面都需要手动创建这个页面
2.3 创建菜单项对应文件目录,以分类为例
在终端窗口下,定位到 Hexo
站点目录下。使用 hexo new page
新建一个页面,命名为 categories :
1 | $ cd your-hexo-site |
编辑刚新建的页面,设置分类
1 | --- |
3. 头像设置
3.1 添加头像
打开 themes/next/_config.yml
文件,搜索 Sidebar Avatar
关键字,去掉 avatar
前面的#
:
1 | # Sidebar Avatar |
或者使用本地图片,把图片放入 themes/next/source/images
下,修改 avatar
:
1 | avatar: /images/avatar.gif |
3.2 设置头像边框为圆形框
打开位于 themes/next/source/css/_common/components/sidebar/sidebar-author.syl
文件,修改如下:
1 | .site-author-image { |
3.3 特效:鼠标放置头像上旋转
1 | .site-author-image { |
4. 浏览页面的时候显示当前浏览进度
打开 themes/next/_config.yml
,搜索关键字 scrollpercent
,把 false
改为 true
。
1 | # Scroll percent label in b2t button |
如果想把 top
按钮放在侧边栏,打开 themes/next/_config.yml
,搜索关键字 b2t
,把 false
改为 true
。
1 | # Back to top in sidebar |
5. 侧边栏设置
5.1 设置侧边栏社交链接
打开 themes/next/_config.yml
文件,搜索关键字 social
,然后添加社交站点名称与地址即可。
1 | # --------------------------------------------------------------- |
5.2 设置侧边栏社交图标
打开 themes/next/_config.yml
文件,搜索关键字 social_icons
,添加社交站点名称(注意大小写)图标,Font Awesome图标地。
5.3 RSS
在你 Hexo
站点目录下:
1 | $ npm install hexo-generator-feed --save |
打开 Hexo
站点下的 _config.yml
,添加如下配置:
1 | # feed |
5.4 友情链接
打开 themes/next/_config.yml
文件,搜索关键字 Blog rolls
:
1 | # Blog rolls |
6. 主页文章添加边框阴影效果
打开 themes/next/source/css/_custom/custom.styl
,向里面加代码:
1 | // 主页文章添加阴影效果 |
7. 修改文章间分割线
打开 themes/next/source/css/_common/components/post/post-eof.styl
,修改:
1 | .posts-expand { |
8. 代码块自定义样式
1 | // Custom styles. |
9. 开启版权声明
主题配置文件下,搜索关键字 post_copyright
, enable
改为 true
:
1 | # Declare license on posts |
10. 自定义文章底部版权声明
效果:
1 | 作者:Dragonstyle |
在目录 themes/next/layout/_macro/
下添加 my-copyright.swig
,内容如下:
1 | {% if page.copyright %} |
在目录 themes/next/source/css/_common/components/post/
下添加 my-post-copyright.styl
,内容如下:
1 | .my_post_copyright { |
修改 themes/next/layout/_macro/post.swig
,在代码如下:
1 | {% if theme.wechat_subscriber.enabled and not is_index %} |
之前添加增加如下代码:
1 | <div> |
修改 themes/next/source/css/_common/components/post/post.styl
文件,在最后一行增加代码:
1 | @import "my-post-copyright" |
设置新建文章自动开启
copyright
,即新建文章自动显示自定义的版权声明,设置 your site/scaffolds/post.md
文件
1 | --- |
11. 在右上角或者左上角实现fork me on github
选择样式GitHub Ribbons,修改图片跳转链接,并复制文本框中的代码,将如下地方代码换为自己Github主页:
打开 themes/next/layout/_layout.swig
文件,把代码复制到<div class="headband"></div>
下面。
12. 修改文章底部的那个带#号的标签
打开 themes/next/layout/_macro/post.swig
文件,搜索 rel="tag">#
,将 #
换成 <i class="fa fa-tag"></i>
1 | <div class="post-tags"> |
13. 添加顶部加载条
打开 themes/next/_config.yml
,搜索关键字 pace
,设置为 true
,可以更换加载样式:
1 | # Progress bar in the top during page loading. |
14. 本地搜索
在你站点的根目录下
1 | $ npm install hexo-generator-searchdb --save |
打开 Hexo
站点的 _config.yml
,添加配置
1 | search: |
打开 themes/next/_config.yml
,搜索关键字 local_search
,设置为 true
:
1 | # Local search |
15. 修改网页底部
在图标库中找到你自己喜欢的图标, 修改桃心,打开
themes/next_config.yml
,搜索关键字authoricon
,替换图标名1
2# icon between year and author @Footer
authoricon: id-card隐藏网页底部
Hexo 强力驱动
打开主题配置文件,搜索关键字 copyright
,如下:
1 | # Footer `powered-by` and `theme-info` copyright |
16. 博文置顶
打开 (next 5.1以后主题已自带此功能)Hexo
站点下 node_modules/hexo-generator-index/lib/generator.js
文件。代码全部替换为:
1 | ; |
打开文章添加top字段,设置数值,数值越大文章越靠前:
1 | --- |
17. 统计功能,统计功能,显示文章字数统计,阅读时长,总字数
在站点的根目录下:
1 | $ npm i --save hexo-wordcount |
打开 themes/next/_config.yml
,搜索关键字 post_wordcount
:
1 | # Post wordcount display settings |
18. 修改文章内文本连接样式
打开 themes/next/source/css/_custom/custom.styl
,添加代码:
1 | // 文章内链接文本样式 |
19. 每篇文章末尾统一添加“本文结束”标记
在路径 /themes/next/layout/_macro
中新建 passage-end-tag.swig
文件,并添加以下内容:
1 | <div> |
打开 themes/next/layout/_macro/post.swig
文件,添加:
1 | <div> |
然后打开主题配置文件 _config.yml
,在末尾添加:
1 | # 文章末尾添加“本文结束”标记 |
20. 文章顶部显示更新时间
打开主题配置文件 _config.yml
,搜索关键字 updated_at
设置为 true
:
1 | # Post meta display settings |
编辑文章,增加关键字(next可以根据文章改变时间自动更改)updated
1 | --- |
21. 修改访问URL路径
默认情况下访问URL路径为:domain/2017/08/18/关于本站
,修改为 domain/About/关于本站
。
编辑 Hexo
站点下的 _config.yml
文件,修改其中的 permalink
字段:
1 | permalink: :category/:title/ |
22. 给代码块添加复制功能
- 下载插件clipboard.js 。
- 打开
themes/next/source/lib/
,新建文件夹clipboard
。 - 把下载
clipboard.js
下的src
文件夹下的文件拖动到clipboard
文件夹下。 打开
themes/next/source/js/src/
,新建文件custom.js
,代码如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102//此函数用于创建复制按钮
function createCopyBtns() {
var $codeArea = $("figure table");
//查看页面是否具有代码区域,没有代码块则不创建 复制按钮
if ($codeArea.length > 0) {
//复制成功后将要干的事情
function changeToSuccess(item) {
$imgOK = $("#copyBtn").find("#imgSuccess");
if ($imgOK.css("display") == "none") {
$imgOK.css({
opacity: 0,
display: "block"
});
$imgOK.animate({
opacity: 1
}, 1000);
setTimeout(function() {
$imgOK.animate({
opacity: 0
}, 2000);
}, 2000);
setTimeout(function() {
$imgOK.css("display", "none");
}, 4000);
};
};
//创建 全局复制按钮,仅有一组。包含:复制按钮,复制成功响应按钮
//值得注意的是:1.按钮默认隐藏,2.位置使用绝对位置 position: absolute; (position: fixed 也可以,需要修改代码)
$(".post-body").before('<div id="copyBtn" style="opacity: 0; position: absolute;top:0px;display: none;line-height: 1; font-size:1.5em"><span id="imgCopy" ><i class="fa fa-paste fa-fw"></i></span><span id="imgSuccess" style="display: none;"><i class="fa fa-check-circle fa-fw" aria-hidden="true"></i></span>');
//创建 复制 插件,绑定单机时间到 指定元素,支持JQuery
var clipboard = new Clipboard('#copyBtn', {
target: function() {
//返回需要复制的元素内容
return document.querySelector("[copyFlag]");
},
isSupported: function() {
//支持复制内容
return document.querySelector("[copyFlag]");
}
});
//复制成功事件绑定
clipboard.on('success',
function(e) {
//清除内容被选择状态
e.clearSelection();
changeToSuccess(e);
});
//复制失败绑定事件
clipboard.on('error',
function(e) {
console.error('Action:', e.action);
console.error('Trigger:', e.trigger);
});
//鼠标 在复制按钮上滑动和离开后渐变显示/隐藏效果
$("#copyBtn").hover(
function() {
$(this).stop();
$(this).css("opacity", 1);
},
function() {
$(this).animate({
opacity: 0
}, 2000);
}
);
}
}
//感应鼠标是否在代码区
$("figure").hover(
function() {
//-------鼠标活动在代码块内
//移除之前含有复制标志代码块的 copyFlag
$("[copyFlag]").removeAttr("copyFlag");
//在新的(当前鼠标所在代码区)代码块插入标志:copyFlag
$(this).find(".code").attr("copyFlag", 1);
//获取复制按钮
$copyBtn = $("#copyBtn");
if ($copyBtn.lenght != 0) {
//获取到按钮的前提下进行一下操作
//停止按钮动画效果
//设置为 显示状态
//修改 复制按钮 位置到 当前代码块开始部位
//设置代码块 左侧位置
$copyBtn.stop();
$copyBtn.css("opacity", 0.8);
$copyBtn.css("display", "block");
$copyBtn.css("top", parseInt($copyBtn.css("top")) + $(this).offset().top - $copyBtn.offset().top + 3);
$copyBtn.css("left", -$copyBtn.width() - 3);
}
},
function() {
//-------鼠标离开代码块
//设置复制按钮可见度 2秒内到 0
$("#copyBtn").animate({
opacity: 0
}, 2000);
}
);
//页面载入完成后,创建复制按钮
$(document).ready(function() {
createCopyBtns();
});打开
themes/next/layout/_custom/
,新建文件custom.swig
,代码如下:1
2<script type="text/javascript" src="/lib/clipboard/clipboard.js"></script>
<script type="text/javascript" src="/js/src/custom.js"></script>修改文件
themes/next/layout/_layout.swig
,在标签</body>
上面插入代码:1
{% include '_custom/custom.swig' %}
23. 新建404界面
在站点根目录下,输入 hexo new page 404
,默认在 Hexo
站点下/source/404/index.md
打开新建的404界面,在顶部插入一行,写上 permalink: /404
,这表示指定该页固定链接为 http://"主页"/404.html
。
1 | --- |
如果你不想编辑属于自己的404界面,可以显示腾讯公益404界面,代码如下:
1 |
|
24. 静态资源压缩
在站点目录下:
1 | $ npm install gulp -g |
安装gulp插件:
1 | npm install gulp-minify-css --save |
在 Hexo
站点下添加 gulpfile.js
文件,文件内容如下:
1 | var gulp = require('gulp'); |
只需要每次在执行 generate
命令后执行 gulp
就可以实现对静态资源的压缩,压缩完成后执行 deploy
命令同步到服务器:
1 | hexo g |
25. 本地站点推送到GitHub上
在站点更目录下:
1 | $ npm install hexo-deployer-git --save |
在 Hexo
站点的 _config.yml
中配置 deploy
:
1 | # Deployment |
1 | $ hexo clean |
1 | $ hexo d --g |
hexo g # 生成本地 public 静态文件,
hexo d # 部署到 Github 上,
也可以缩写成:hexo g –d 。
26. 添加文章书写样式
26.1 文字增加背景色块
打开 themes/next/source/css/_custom
下的 custom.styl
文件,添加属性样式:
1 | // 颜色块-黄 |
在你需要编辑的文章地方。放置如下代码:
1 | <span id="inline-blue"> 站点配置文件 </span> |
26.2 下载样式
打开 themes/next/source/css/_custom/custom.styl
文件,添加属性样式:
1 | a#download { |
在你需要编辑的文章地方。放置如下代码:
1 | <a id="download" href="https://git-scm.com/download/win"><i class="fa fa-download"></i><span> Download Now</span> </a> |
26.3 在文档中增加图标, Font Awesome 提供图标
1 | <i class="fa fa-pencil"></i>支持Markdown |
27. 实现点击出现桃心效果
- 复制网页代码
- 新建
love.js
文件并且将代码复制进去,然后保存。 - 将
love.js
文件放到路径/themes/next/source/js/src
里面 - 然后打开
\themes\next\layout\_layout.swig
文件,在末尾(在前面引用会出现找不到的bug)添加以下代码:1
2<!-- 页面点击小红心 -->
<script type="text/javascript" src="/js/src/love.js"></script>
28. 添加热度
next主题集成leanCloud,根据next官方文档设置阅读次数统计(LeanCloud) ,然后打开 /themes/next/layout/_macro/post.swig
,在画红线的区域添加 ℃
:
然后打开 /themes/next/languages/zh-Hans.yml
,将 visitors
汉化为热度就可以了:
1 | post: |
29. 添加 README.md 文件
每个项目下一般都有一个 README.md
文件,但是使用 hexo
部署到仓库后,项目下是没有 README.md 文件的。
在 Hexo
目录下的 source
根目录下添加一个 README.m
d 文件,修改站点配置文件 _config.yml
,将 skip_render
参数的值设置为:
1 | skip_render: README.md |
保存退出即可。再次使用 hexo d
命令部署博客的时候就不会在渲染 README.md
这个文件了。
30. 文章加密访问
打开 themes/next/layout/_partials/head.swig
文件,在 之前插入代码:
1 | <script> |
在文章上应用:
1 | --- |
31. 添加jiathis分享
在主题配置文件中,做如下配置:
1 | # Share |
如果你想自定义话,打开 themes/next/layout/_partials/share/jiathis.swig
根据官网代码修改。
32. 修改打赏字体不闪动
修改文件 next/source/css/_common/components/post/post-reward.styl
,然后注释其中的函数 wechat:hover
和 alipay:hover
,如下:
1 | /* 注释文字闪动函数 |
33. 自定义鼠标样式
打开 themes/next/source/css/_custom/custom.styl
,在里面写下如下代码:
1 | // 鼠标样式 |
其中 url 里面必须是 ico 图片,ico 图片可以上传到网上(我是使用七牛云图床),然后获取外链,复制到 url 里就行了。
34. 网站标题栏背景颜色
当使用Pisces主题时,网站标题栏背景颜色是黑色的,感觉不好看,可以在 source/css/_schemes/Pisces/_brand.styl
中修改:
1 | .site-meta { |
但是,我们一般不主张这样修改源码的,在 next/source/css/_custom
目录下面专门提供了 custom.styl
供我们自定义样式的,因此也可以在 custom.styl
里面添加:
1 | // Custom styles. |
35. 修改内容区域的宽度
我们用Next主题是发现在电脑上阅读文章时内容两边留的空白较多,这样在浏览代码块时经常要滚动滚动条才能阅读完整,体验不是很好,下面提供修改内容区域的宽度的方法。
NexT 对于内容的宽度的设定如下:
- 700px,当屏幕宽度 < 1600px
- 900px,当屏幕宽度 >= 1600px
- 移动设备下,宽度自适应
如果你需要修改内容的宽度,同样需要编辑样式文件。
在Mist和Muse风格可以用下面的方法:
编辑主题的 source/css/_variables/custom.styl
文件,新增变量:
1 | // 修改成你期望的宽度 |
当你使用Pisces风格时可以用下面的方法:
1 | header{ width: 90%; } |
36. 修改Logo字体
在 themes/next/source/css/_custom/custom.styl
中添加如下代码:
1 | @font-face { |
其中字体文件在 themes/next/source/fonts
目录下,里面有个 .gitkeep
的隐藏文件,打开写入你要保留的字体文件,比如我的是就是写入 Zitiming.ttf
,具体字库自己从网上下载即可。
37. 添加背景图
在 themes/next/source/css/_custom/custom.styl 中添加如下代码:
1 | body{ |
38. 各版块透明度修改
38.1 内容板块透明
博客根目录 themes\next\source\css\_schemes\Pisces\_layout.styl
文件 .content-wrap
标签下 background: white
修改为:
1 | background: rgba(255,255,255,0.7); //0.7是透明度 |
38.2 菜单栏背景
博客根目录 themes\next\source\css\_schemes\Pisces\_layout.styl
文件 .header-inner
标签下 background: white
修改为:
1 | background: rgba(255,255,255,0.7); //0.7是透明度 |
38.3 站点概况背景
博客根目录 themes\next\source\css\_schemes\Pisces\_sidebar.styl
文件 .sidebar-inner
标签下 background: white
修改为:
1 | background: rgba(255,255,255,0.7); //0.7是透明度 |
然后修改博客根目录 themes\next\source\css\_schemes\Pisces\_layout.styl
文件 .sidebar
标签下 background: $body-bg-color
修改为:
1 | background: rgba(255,255,255,0.7); //0.7是透明度 |
38.4 按钮背景
博客根目录 themes\next\source\css\_common\components\post\post-button.styl
同上修改对应位置为 background: transparent;
39. 添加网易云音乐
在网易云音乐(网页版)中搜索我们想要插入的音乐,然后点击生成外链播放器
然后根据你得设置生成相应的html代码,将获得的html代码插入到你想要插入的位置。
我放在了侧边栏,在 themes/next/layout/_custom/sidebar.swig
文件中增加生成的HTML代码:
1 | <div id="music163player"> |
可以根据自己实际情况修改宽高等样式。
参考自:
http://www.jianshu.com/p/3ff20be857
http://blog.csdn.net/qq_33699981/article/details/72716951
http://blog.csdn.net/heqiangflytosky/article/details/54863185