Hexo-Neat介紹

需求

由於markdownhtml的bug,導致生成的html留有大量的空白,十分的難看,另外就是因爲性能緣由,須要對jscss進行壓縮。css

實現過程

前人種樹

首先考慮的方案就是使用Hexo的插件來實現,包括其中的而後體驗了以後並不完美,甚至報錯,並無符合個人需求的。 因而我決定在其基礎上自行開發。html

後人乘涼

我參考了官方插件文檔,和現有插件,發現了一些問題,包括:node

官方文檔過期

首先,在 node_modules 文件夾中創建文件夾,文件夾名稱開頭必須爲 hexo-,如此一來 Hexo 纔會在啓動時載入不然 Hexo 將會忽略它。git

然而這一描述對於現行版本根本無效,你必須在手動在根目錄的package.json中手動添加依賴纔可。github

現行release版本的接口出錯

若是你使用了主題,就會發現after_render:html這個鉤子對於博文是沒有效果的,由於hexo現行版本(3.2)的bug致使。 你須要自行更新node_modules\hexo\lib\theme\view.js來解決bug,參考官方最新view.jsnpm

插件依賴的模塊接口變更

導致出錯json

後人種樹

在貫通了以上種種以後,我有了本身的解決方案以下。markdown

使用

安裝

$ npm install hexo-neat --save

配置

To Enable Auto neat , you must config like this:

neat_enable: true

neat_html:
enable: true
exclude:

  • enable - Enable the plugin. Defaults to true.

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

    • *

neat_css:
enable: true
exclude:

  • '*.min.css'

  • enable - Enable the plugin. Defaults to true.

  • exclude: Exclude files

    • *

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

  • '*.min.js'

  • enable - Enable the plugin. Defaults to true.

  • mangle: Mangle file names

  • output: Output options

  • compress: Compress options

  • exclude: Exclude files

調試

作好以上幾步以後,從新生成博客的時候就會自動壓縮全部的html、css、js,效果應該和本博客一致。

反饋

若是你在使用的過程當中遇到問題,請在本博文下面描述,或到issues下反饋。

相關文章
相關標籤/搜索