由於markdown
轉html
的bug,導致生成的html
留有大量的空白,十分的難看,另外就是因爲性能緣由,須要對js
和css
進行壓縮。css
首先考慮的方案就是使用Hexo的插件來實現,包括其中的而後體驗了以後並不完美,甚至報錯,並無符合個人需求的。 因而我決定在其基礎上自行開發。html
我參考了官方插件文檔,和現有插件,發現了一些問題,包括:node
首先,在 node_modules 文件夾中創建文件夾,文件夾名稱開頭必須爲 hexo-,如此一來 Hexo 纔會在啓動時載入不然 Hexo 將會忽略它。git
然而這一描述對於現行版本根本無效,你必須在手動在根目錄的package.json
中手動添加依賴纔可。github
若是你使用了主題,就會發現after_render:html
這個鉤子對於博文是沒有效果的,由於hexo
現行版本(3.2)的bug致使。 你須要自行更新node_modules\hexo\lib\theme\view.js
來解決bug,參考官方最新view.js。npm
導致出錯json
在貫通了以上種種以後,我有了本身的解決方案以下。markdown
neat html by HTMLMinifierhexo
neat css by clean-css性能
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:
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下反饋。