Links对齐

  编辑themes/next/source/css/_custom下的custom.styl,添加如下代码即可。

    .links-of-blogroll-title{
margin-left:6px;
} .links-of-blogroll-inline .links-of-blogroll-item{
float: left;
margin-left: 6px;
width: 47%;
}

Code标签

  编辑themes/next/source/css/_custom下的custom.styl,添加如下代码即可。

    //修改文章内code样式
code {color:#c7254e;background:#f8f3f4;}

文章版权优化

  之前添加文章版权的方式比较Low,手工在每个文章末尾添加一段关于版权的代码,不易维护,并且很容易错误。现在优化的办法是将这段代码移至主题的配置加载文件中。并且设置开关,当hexo generate生成代码的时候自动添加版本代码。 
   
  参考:hexo文章添加版权声明及一些特效 
   
  与上述参考不同的是,passage-end-tag.swig文件,内容如下:

    {% if theme.passage_end_tag.enabled %}
<blockquote>
<p>本文作者: {{ theme.author }}<br>本文链接: <a id="versionA" href="#" target="_blank" rel="external"></a><br>版权声明: 本博客所有文章除特别声明外,均采用 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/cn/" target="_blank" rel="external">CC BY-NC-SA 3.0 CN</a> 许可协议。转载请注明出处! </p>
</blockquote>
<script>
window.onload = function () {
var locationUrl= decodeURI(window.location.href);
document.getElementById("versionA").href = locationUrl;
document.getElementById("versionA").innerHTML = locationUrl;
}
</script>
{% endif %}

静态页面压缩

  通过Hexo g自动生成的静态js、css、html是没有经过压缩的,而且存在大量无用的空白。想通过优化的方式,自动将生成的页面进行亚索

  参考文章: 
    使用gulp精简hexo博客代码 
    gulp构建入门 
    gulp-load-plugins-模块化管理插件

  gulp是nodejs下的自动构建工具,通过一列的task执行步骤进行自动流程化处理。 
   
  安装gulp以及所需插件: 
  npm install -d --save gulp gulp-clean gulp-load-plugins gulp-minify-css gulp-minify-html gulp-rename gulp-uglify gulp-shell typescript 
   
  在站点的根目录创建gulpfile.js文件(默认的处理文件),我的站点目录是/opt/blog/。 
 gulpfile.js内容如下:

    var gulp = require('gulp');
var clean = require('gulp-clean');
var minifyCss = require('gulp-minify-css');
var minifyHtml = require('gulp-minify-html');
var uglify = require('gulp-uglify');
var shell = require('gulp-shell');
var ts = require('gulp-typescript'); gulp.task("clean",function() {
return gulp.src("./dst/*")
.pipe(clean()); //plugins为加载的gulp-load-plugins插件,它可以自动加载项目依赖(package.json定义)
}); gulp.task("css",function() {
return gulp.src(["public/**/*.css","!public/**/*.min.css"])
.pipe(minifyCss({compatibility: "ie8"}))
.pipe(gulp.dest("./dst/"));
}); gulp.task("js",function() {
return gulp.src(["public/**/*.js","!public/**/*.min.js"])
.pipe(ts({
target: "es5",
allowJs: true,
module: "commonjs",
moduleResolution: "node"
}))
.pipe(uglify())
.pipe(gulp.dest("./dst/"));
}); gulp.task("html",function() {
return gulp.src("public/**/*.html")
.pipe(minifyHtml())
.pipe(gulp.dest("./dst/"));
}); gulp.task("default",["css","js","html","mv"],function() {
console.log("gulp task finished!");
}); gulp.task("watch",function() {
gulp.watch("public/*",["default"]);
}); gulp.task("mv",function() {
return gulp.src("./dst/*")
.pipe(shell([
"cp -r ./dst/* ./public/"
]));
});

通过执行gulp命令即可开启压缩处理。

执行结果:

[~~~~@~~~~~ blog]# gulp 
[15:35:41] Using gulpfile /opt/blog/gulpfile.js
[15:35:41] Starting 'css'...
[15:35:41] Starting 'js'...
[15:35:41] Starting 'html'...
[15:35:42] Finished 'css' after 1.31 s
public/lib/Han/dist/han.js(2301,7): error TS7028: Unused label.
public/lib/velocity/velocity.js(348,22): error TS2300: Duplicate identifier 'offsetParent'.
public/lib/velocity/velocity.js(360,17): error TS2300: Duplicate identifier 'offsetParent'.
[15:36:01] TypeScript: 3 semantic errors
[15:36:01] TypeScript: emit succeeded (with errors)
[15:36:01] Finished 'js' after 20 s
[15:36:02] Finished 'html' after 20 s
[15:36:02] Starting 'default'...
gulp task finished!
[15:36:02] Finished 'default' after 90 μs

遇到的坑

  Q:GulpUglifyError: unable to minify JavaScript??? 
  A:在进行压缩的时候执行typescript检查javascript的类型(es6,es8)。

    //改写后的处理
var ts = require('gulp-typescript');
var uglify = require('gulp-uglifyjs');
....
.pipe(ts({
target: "es5",
allowJs: true,
module: "commonjs",
moduleResolution: "node"
}))
.pipe(uglify())

  Q: gulp command not found ???? 
  A: npm install -g gulp

菜单项未选中

   
  点击左边菜单栏的选项,发现页面刷新之后,选中项样式没有被添加。 
  搜寻JS发现(themes/next/source/js/src/utils.js)如下这段代码: 
  path = path === '/' ? path : path.substring(0, path.length - 1); 
  假如Path为/archives/,通过上述代码最终Path会被改成/archives。下面获取元素的时候就会找不到对象,解决办法是将后面 -1去除。 
  

Hexo Next 调优的更多相关文章

  1. 46张PPT讲述JVM体系结构、GC算法和调优

    本PPT从JVM体系结构概述.GC算法.Hotspot内存管理.Hotspot垃圾回收器.调优和监控工具六大方面进行讲述.(内嵌iframe,建议使用电脑浏览) 好东西当然要分享,PPT已上传可供下载 ...

  2. 《深入理解Java虚拟机》调优案例分析与实战

    上节学习回顾 在上一节当中,主要学习了Sun JDK的一些命令行和可视化性能监控工具的具体使用,但性能分析的重点还是在解决问题的思路上面,没有好的思路,再好的工具也无补于事. 本节学习重点 在书本上本 ...

  3. Spark Shuffle原理、Shuffle操作问题解决和参数调优

    摘要: 1 shuffle原理 1.1 mapreduce的shuffle原理 1.1.1 map task端操作 1.1.2 reduce task端操作 1.2 spark现在的SortShuff ...

  4. 搭建 windows(7)下Xgboost(0.4)环境 (python,java)以及使用介绍及参数调优

    摘要: 1.所需工具 2.详细过程 3.验证 4.使用指南 5.参数调优 内容: 1.所需工具 我用到了git(内含git bash),Visual Studio 2012(10及以上就可以),xgb ...

  5. jvm系列(四):jvm调优-命令大全(jps jstat jmap jhat jstack jinfo)

    文章同步发布于github博客地址,阅读效果更佳,欢迎品尝 运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole.大名鼎 ...

  6. jvm系列(六):jvm调优-从eclipse开始

    jvm调优-从eclipse开始 概述 什么是jvm调优呢?jvm调优就是根据gc日志分析jvm内存分配.回收的情况来调整各区域内存比例或者gc回收的策略:更深一层就是根据dump出来的内存结构和线程 ...

  7. web前端性能调优

    最近2个月一直在做手机端和电视端开发,开发的过程遇到过各种坑.弄到快元旦了,终于把上线了.2个月干下来满满的的辛苦,没有那么忙了自己准备把前端的性能调优总结以下,以方便以后自己再次使用到的时候得于得心 ...

  8. JVM调优总结

    堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制.32位系统下,一般限制在1.5G~2G:64为操作 ...

  9. Elasticsearch 调优 (官方文档How To)

    How To Elasticsearch默认是提供了一个非常简单的即开即用体验.用户无需修改什么配置就可以直接使用全文检索.结果高亮.聚合.索引功能. 但是想在项目中使用高性能的Elasticsear ...

随机推荐

  1. 时域,频域,s域和z域,一些网上的总结

    https://www.jianshu.com/p/29f4a7663b14 https://wenku.baidu.com/view/26961183b9d528ea81c779e0.html ht ...

  2. [ Linux ] user, password, sudoers

    - 1. Add Linux user,  setup password http://linux.vbird.org/linux_basic/0410accountmanager.php - 2. ...

  3. 「JavaSE 重新出发」02.02 引用数据类型

    引用(复合)数据类型 1. 枚举类型 例: 枚举类型 Size 的声明: enum Size { SMALL, MEDIUM, LARGE, EXTRA_LARGE }; 声明 Size 类型变量: ...

  4. Dapper基础知识二

    在下刚毕业工作,之前实习有用到Dapper?这几天新项目想用上Dapper,在下比较菜鸟,这块只是个人对Dapper的一种总结. 2,如何使用Dapper?     首先Dapper是支持多种数据库的 ...

  5. Sublime Text编辑器配置Python解释器简易教程

    前天在微信上遇到一个小伙伴问我一个关于Sublime text配置Python解释器的问题,可能是初学者,对这方面还不是很懂,想使用快捷键但是徒劳一场,因为缺少Python解释器,直接按下快捷键Ctr ...

  6. 被我忽略许久的set

    心塞,set一直是我忽略的一个数据结构 1.生成一个set: 1) set(iterable) 传入一个可以迭代的数据结构: eg:字符串;元组;列表,字典 2) {v1,v2,.......,vn} ...

  7. NodeJS学习笔记 (9)网络服务-https(ok)

    模块概览 这个模块的重要性,基本不用强调了.在网络安全问题日益严峻的今天,网站采用HTTPS是个必然的趋势. 在nodejs中,提供了 https 这个模块来完成 HTTPS 相关功能.从官方文档来看 ...

  8. HTTP——学习笔记(3)

    HTTP报文:用于HTTP协议交互的信息,客户端的HTTP报文叫做 请求报文,响应端的叫做 响应报文 本质:是由多行(用CR+LF作换行符)数据构成的字符串文本 注:CR:回车,打印针回到行首   L ...

  9. Linux下库文件的设置 (/usr/bin/ld: cannot find -lxxx 的解决办法)

    在软件编译过程中,经常会碰到类似这样的编译错误: /usr/bin/ld: cannot find -lhdf5 这表示找不到库文件 libhdf5.so,若是其它库文件,则是 cannot find ...

  10. poj3134 Power Calculus IDA*

    好端端的一道搜索题目,,,硬生生的被我弄成了乱搞题,,,枚举当前的maxd,深搜结果,然而想到的剪枝方法都没有太好的效果,,,最后用一个贪心乱搞弄出来了,,, 贪心:每次必用上一次做出来的数字与其他数 ...