Heo-Neat介绍

需求

因为markdown转html的bug,致使生成的html留有大量的空白,十分的难看,另外就是由于性能原因,需要对js和css进行压缩。

实现过程

前人种树

首先考虑的方案就是使用Hexo的插件来实现,包括其中的然后体验了之后并不完美,甚至报错,并没有符合我的需求的。 于是我决定在其基础上自行开发。

后人乘凉

我参考了官方插件文档,和现有插件,发现了一些问题,包括:

官方文档过时

首先,在 node_modules 文件夹中建立文件夹,文件夹名称开头必须为 hexo-,如此一来 Hexo 才会在启动时载入否则 Hexo 将会忽略它。

然而这一描述对于现行版本根本无效,你必须在手动在根目录的package.json中手动添加依赖才可。

现行release版本的接口出错

如果你使用了主题,就会发现after_render:html这个钩子对于博文是没有效果的,因为hexo现行版本(3.2)的bug导致。 你需要自行更新node_modules\hexo\lib\theme\view.js来解决bug,参考官方最新view.js。

插件依赖的模块接口变动

致使出错

后人种树

在贯通了以上种种之后,我有了自己的解决方案如下。

  1. neat html by HTMLMinifier

  2. neat css by clean-css

  3. neat js by UglifyJS

使用

安装

$ npm install hexo-neat --save

配置

To Enable Auto neat , you must config like this:

neat_enable: true

neat_html:
enable: true
exclude:

  1. enable - Enable the plugin. Defaults to true.

  2. exclude: Exclude files Note: there are so many params please see ‘HTMLMinifier‘

neat_css:
enable: true
exclude:

  1. '*.min.css'

  2. enable - Enable the plugin. Defaults to true.

  3. exclude: Exclude files

neat_js:
enable: true
mangle: true
output:
compress:
exclude:

  1. '*.min.js'

  2. enable - Enable the plugin. Defaults to true.

  3. mangle: Mangle file names

  4. output: Output options

  5. compress: Compress options

  6. exclude: Exclude files

调试

做好以上几步之后,重新生成博客的时候就会自动压缩所有的html、css、js,效果应该和本博客一致。

反馈

如果你在使用的过程中遇到问题,请在本博文下面描述,或到issues下反馈。

关键字:windows

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部