Jekyll + NexT + GitHub Pages 主题深度优化
前言
笔者在用 Jekyll 搭建个人博客时踩了很多的坑,最后发现了一款不错的主题 jekyll-theme-next,但网上关于 Jekyll 版的 Next 主题优化教程少之又少,于是就决定自己写一篇以供参考。
My Blog ? 传送门
本文仅讲述 Next (Jekyll) 主题的深度优化操作,关于主题的基础配置请移步官方文档。
主题优化
修改内容区域的宽度
打开 _sass/_custom/custom.scss 文件,新增变量:
// 修改成你期望的宽度
$content-desktop = 700px
// 当视窗超过 1600px 后的宽度
$content-desktop-large = 900px
此方法不适用于 Pisces Scheme
当你使用Pisces风格时可以用下面的方法:
编辑 Pisces Scheme 的
_sass/_schemes/Pisces/_layout.scss文件,在最底部添加如下代码:header{ width: 90%; }
.container .main-inner { width: 90%; }
.content-wrap { width: calc(100% - 260px); }
对于有些浏览器或是移动设备,效果可能不是太好
编辑 Pisces Scheme 的
_sass/_schemes/Pisces/_layout.scss文件,修改以下内容:// 将 .header 中的
width: $main-desktop;
// 改为:
width: 80%; // 将 .container .main-inner 中的:
width: $main-desktop;
// 改为:
width: 80%; // 将 .content-wrap 中的:
width: $content-desktop;
// 改为:
width: calc(100% - 260px);
还是不知道如何修改的话,可以直接赋值笔者改好的 ? 传送门
背景透明度
打开 _sass/_custom/custom.scss 文件,新增变量:
//文章内容背景改成了半透明
.content-wrap {
background: rgba(255, 255, 255, 0.8);
}
.sidebar {
background: rgba(255, 255, 255, 0.1);
box-shadow: 0 2px 6px #dbdbdb;
}
.site-nav{
box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.8);
}
.sidebar-inner {
background: rgba(255, 255, 255, 0.8);
box-shadow: 0 2px 6px #dbdbdb;
}
.header-inner {
background: rgba(255, 255, 255, 0.8);
box-shadow: 0 2px 6px #dbdbdb;
}
.footer {
font-size: 14px;
color: #434343;
}
自定义背景图片
打开 _sass/_custom/custom.scss 文件,新增变量:
body{
background:url(https://images8.alphacoders.com/929/929202.jpg);
background-size:cover;
background-repeat:no-repeat;
background-attachment:fixed;
background-position:center;
}
url()中可以时本地图片,也可以是图片链接
彩色时间轴
打开 _sass/_custom/custom.scss 文件,新增变量:
// 时间轴样式
.posts-collapse {
margin: 50px 0px;
}
@media (max-width: 1023px) {
.posts-collapse {
margin: 50px 20px;
}
}
// 时间轴左边线条
.posts-collapse::after {
margin-left: -2px;
background-image: linear-gradient(180deg,#f79533 0,#f37055 15%,#ef4e7b 30%,#a166ab 44%,#5073b8 58%,#1098ad 72%,#07b39b 86%,#6dba82 100%);
}
// 时间轴左边线条圆点颜色
.posts-collapse .collection-title::before {
background-color: rgb(255, 255, 255);
}
// 时间轴文章标题左边圆点颜色
.posts-collapse .post-header:hover::before {
background-color: rgb(161, 102, 171);
}
// 时间轴年份
.posts-collapse .collection-title h1, .posts-collapse .collection-title h2 {
color: rgb(102, 102, 102);
}
// 时间轴文章标题
.posts-collapse .post-title a {
color: rgb(80, 115, 184);
}
.posts-collapse .post-title a:hover {
color: rgb(161, 102, 171);
}
// 时间轴文章标题底部虚线
.posts-collapse .post-header:hover {
border-bottom-color: rgb(161, 102, 171);
}
// archives页面顶部文字
.page-archive .archive-page-counter {
color: rgb(0, 0, 0);
}
// archives页面时间轴左边线条第一个圆点颜色
.page-archive .posts-collapse .archive-move-on {
top: 10px;
opacity: 1;
background-color: rgb(255, 255, 255);
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
}
友链居中
打开 _sass/_custom/custom.scss 文件,新增变量:
//友链居中
.links-of-blogroll-title {
text-align: center;
}
修改友链文本颜色
打开 _sass/_custom/custom.scss 文件,新增变量:
//友链文本颜色
//将链接文本设置为蓝色,鼠标划过时文字颜色加深,并显示下划线
.post-body p a{
text-align: center;
color: #434343;
border-bottom: none;
&:hover {
color: #5073b8;
text-decoration: underline;
}
}
修改友链样式
打开 _sass/_custom/custom.scss 文件,新增变量:
//修改友情链接样式
.links-of-blogroll-item a{
text-align: center;
color: #434343;
border-bottom: none;
&:hover {
color: #5073b8;
text-decoration: underline;
}
}
自定义页脚的心样式
打开 _sass/_custom/custom.scss 文件,新增变量:
// 自定义页脚的心样式
@keyframes heartAnimate {
0%,100%{transform:scale(1);}
10%,30%{transform:scale(0.9);}
20%,40%,60%,80%{transform:scale(1.1);}
50%,70%{transform:scale(1.1);}
}
#heart {
animation: heartAnimate 1.33s ease-in-out infinite;
}
.with-love {
color: rgb(255, 113, 168);
}
设置头像边框为圆形框
打开 _sass/_common/components/sidebar/sidebar-author.scss 文件,新增变量:
.site-author-image {
display: block;
margin: 0 auto;
padding: $site-author-image-padding;
max-width: $site-author-image-width;
height: $site-author-image-height;
border: $site-author-image-border-width solid $site-author-image-border-color;
/* 头像圆形 */
border-radius: 80px;
-webkit-border-radius: 80px;
-moz-border-radius: 80px;
box-shadow: inset 0 -1px 0 #333sf;
特效:鼠标放置头像上旋转
打开 _sass/_common/components/sidebar/sidebar-author.scss 文件,新增变量:
/* 设置循环动画 [animation: (play)动画名称 (2s)动画播放时长单位秒或微秒 (ase-out)动画播放的速度曲线为以低速结束
(1s)等待1秒然后开始动画 (1)动画播放次数(infinite为循环播放) ]*/
/* 鼠标经过头像旋转360度 */
-webkit-transition: -webkit-transform 1.0s ease-out;
-moz-transition: -moz-transform 1.0s ease-out;
transition: transform 1.0s ease-out;
}
img:hover {
/* 鼠标经过停止头像旋转
-webkit-animation-play-state:paused;
animation-play-state:paused;*/
/* 鼠标经过头像旋转360度 */
-webkit-transform: rotateZ(360deg);
-moz-transform: rotateZ(360deg);
transform: rotateZ(360deg);
}
/* Z 轴旋转动画 */
@-webkit-keyframes play {
0% {
-webkit-transform: rotateZ(0deg);
}
100% {
-webkit-transform: rotateZ(-360deg);
}
}
@-moz-keyframes play {
0% {
-moz-transform: rotateZ(0deg);
}
100% {
-moz-transform: rotateZ(-360deg);
}
}
@keyframes play {
0% {
transform: rotateZ(0deg);
}
100% {
transform: rotateZ(-360deg);
}
}
Bug 修复
打赏文字抖动修复
打开 _sass/_common/components/post/post-reward.scss 文件,然后注释其中的函数 wechat:hover 和 alipay:hover ,如下:
/*
#wechat:hover p{
animation: roll 0.1s infinite linear;
-webkit-animation: roll 0.1s infinite linear;
-moz-animation: roll 0.1s infinite linear;
}
#alipay:hover p{
animation: roll 0.1s infinite linear;
-webkit-animation: roll 0.1s infinite linear;
-moz-animation: roll 0.1s infinite linear;
}
*/
修改文章底部的带#号标签
打开 _includes/_macro/post.html 文件,搜索 rel="tag"># ,将 # 换成 <i class="fa fa-tag"></i>
<div class="post-tags">
{% for tag in post.tags %}
{% assign tag_url_encode = tag | url_encode | replace: '+', '%20' %}
<a href="{{ '/tag/#/' | relative_url | append: tag_url_encode }}" rel="tag"><i class="fa fa-tag"></i> {{ tag }}</a>
{% endfor %}
</div>
插件配置
阅读次数统计(LeanCloud)
打开
config.yml文件,搜索leancloud_visitors, 进行如下更改:leancloud_visitors:
enable: true
app_id: <app_id>
app_key: <app_key>
app_id和app_key分别是 你的LearnCloud 账号的AppID和AppKey
阅读次数美化
效果?:

打开
_data/languages/zh-Hans.yml文件,将post中的visitors:阅读次数改为:visitors: 热度。打开
_includes/_macro/post.html文件,搜索leancloud-visitors-count,在<span></span>之间添加℃<span id="{{ post.url | relative_url }}" class="leancloud_visitors" data-flag-title="{{ post.title }}">
<span class="post-meta-divider">|</span>
<span class="post-meta-item-icon">
<i class="fa fa-eye"></i>
</span>
{% if site.post_meta.item_text %}
<span class="post-meta-item-text">{{__.post.visitors}} </span>
{% endif %}
<span class="leancloud-visitors-count"></span>
<span>℃</span>
</span>
在网站底部加上访问量
效果?:

打开
_includes/_partials/footer.html文件,在<div class="copyright" >之前加入下面的代码:<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
在
{% if site.copyright %}之后加入下面的代码:<div class="powered-by">
<i class="fa fa-user-md"></i><span id="busuanzi_container_site_uv">
本站访客数:<span id="busuanzi_value_site_uv"></span>
</span>
</div>
部分样式可参考我的博客?:Laugh’s Blog
参考文章:
参考博客:
Jekyll + NexT + GitHub Pages 主题深度优化的更多相关文章
- 使用jekyll在GitHub Pages上搭建个人博客【转】
网上有不少资源,但大多是“授人以鱼”,文中一步一步的告诉你怎么做,却没有解释为什么,以及他是如何知道的.他们默认着你知道种种专业名词的含义,默认着你掌握着特定技能.你折腾半天,查资料,看教程,一步步下 ...
- hexo next主题深度优化(一),加入pjax功能。
文章目录 背景: 进入正题 pjax初体验--instantclick 真正的pjax 第一步 第二步 第三步 第四步 专门基于hexo next主题的pjax(将丢失的js效果重现) 将下面讲到的提 ...
- hexo next主题深度优化(五),评论系统换成gittalk
文章目录 背景: 开始: 新建comments_git.js 找到comments.swig在最后一个endif之前 引入代码 pjax加入gitalk 遇到的问题 所有的页面共享的一个评论issue ...
- hexo next主题深度优化(二),懒加载。
文章目录 tip:没有耐心的可以直接看:正式在hexo next中加入懒加载(最下面) 废话 背景 懒加载简单介绍 引入js 重点!敲黑板了!!! 完善懒加载函数 懒加载函数可配置的参数 正式在hex ...
- hexo next主题深度优化(十一),next主题中加入scrollReveal.js,让文章随着鼠标的滚动,出现点小动作。
文章目录 效果 scrollReveal简单介绍以及简单操作 参考文档: next主题中加入scrollReveal 给article标签添加属性 给底部的不蒜子添加属性 本地引入依赖并且编写启动函数 ...
- hexo next主题深度优化(七),cdn加速。
文章目录 注: 正题: 免费cdn 收费cdn 个人博客:https://mmmmmm.me 源码:https://github.com/dataiyangu/dataiyangu.github.io ...
- hexo next主题深度优化(九),给博客加入主题,护眼主题,护眼色。
文章目录 背景 效果 码 _layout.swig custom.styl eye.js 引用eye.js 直接引用 main.js pjax的函数中重写 个人博客:https://mmmmmm.me ...
- hexo next主题深度优化(八),微加速
个人博客:https://mmmmmm.me 源码:https://github.com/dataiyangu/dataiyangu.github.io 通过不断地上网查资料,引用的js.css.图片 ...
- hexo next主题深度优化(四),自定义一个share功能,share.js。
文章目录 背景: 开始: 引入资源: 代码 关键的一步 附:方便学习的小demo 一次成功后还出现上面的bug 结束 2018.12.23发现bug(读者可忽略) 个人博客:https://mmmmm ...
随机推荐
- [BUUCTF]REVERSE——内涵的软件
内涵的软件 附件 例行检查,32位程序 32位ida载入,shift+f12检索程序里的字符串 看到一个很像flag的字符串,拿去尝试一下,成功 flag{49d3c93df25caad8123213 ...
- [BUUCTF]PWN16——jarvisoj_level2
[BUUCTF]PWN16--jarvisoj_level2 附件 步骤 例行检查,32位,开启了nx保护 试运行一下程序 32位ida载入,shift+f12查看一下程序里的字符串,发现了syste ...
- 显卡不是你学习 Deep Learning 的借口
显卡不是你学习 Deep Learning 的借口 很多人在学习深度学习的时候会以自己没有 RTX N 卡的理由不动手实操,只满足于看看"娱乐"视频,听几节基础知识.当然,如果只是 ...
- 新建日历(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 默认的标准日历设置好了以后,问题又来了:出现某些特殊的原因,可能还需要一个与标准日历设置不同的日历,这个可怎么弄? 没关系 ...
- 【RTOS】FreeRTOS中的任务堆栈溢出检测机制
目录 前言 任务堆栈 堆栈溢出 任务堆栈溢出检测机制 API 两种堆栈溢出检测方式 堆栈溢出钩子函数 内核何时检测任务堆栈溢出 任务堆栈溢出检测存在的局限性 前言 注意:本笔记发布时可能忘记补充查看d ...
- es(elasticsearch)安装IK中文分词器
IK压缩包下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases?after=v6.7.0,需要下载对应的版本 我也上传了 h ...
- ubuntu ffmpeg 转码错误
[aac @ 0xde2400] The encoder 'aac' is experimental but experimental codecs are not enabled, add '-st ...
- cmake以源码的方式引入第三方项目
最前 本文将介绍一种以源码的方式引入第三方库的方法 准备 主项目,需要引用第三方库的某些函数 第三方库,以源码的形式提供给主项目使用 注意: 本文的背景:已经将第三方源码下载好. 一个例子 我这里准备 ...
- 3942 - Remember the Word
3942 - Remember the Word 思路:字典树+dp dp[i]前i个字符,能由给的字串组成的方案数,那么dp[i] = sum(dp[i-k]);那么只要只要在字典树中查看是否有字串 ...
- 1119 机器人走方格 V2
1119 机器人走方格 V2 基准时间限制:1 秒 空间限制:131072 KB M * N的方格,一个机器人从左上走到右下,只能向右或向下走.有多少种不同的走法?由于方法数量可能很大,只需要输出Mo ...