Hexo启用Han支持过程中发现的问题

由于很多适配上和格式调整上的原因,我现在停用了汉字标准格式

Han指的是「汉字标准格式」。 「汉字标准格式」是一个集合了「语意样式标准化」「文字设计」「高级排版功能」等三大概念的网页排版框架,使用Sass及JavaScript构架而成。其专为汉字网页提供的美观而标准化的环境,不仅符合传统阅读习惯、更为萤幕阅读提供了既成标准,得以完整解决现今汉字网页设计的排版需求。

汉字标准格式

总而言之,使用Han这个框架可以让排版更好看。按道理,启用Han应该在NexT主题中的选项即可

1
han: true

不过这么设置之后还是不行。原因是启用之后只会引入CSS,而没有引入js渲染,导致一些比较高级的排版效果,如标点调整无法使用。因此,还需要手动调整一下。于themes/next/layout/_layout.swigbody标签底部加入如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script src="https://ethantw.github.io/Han/latest/han.min.js"></script>
<script>
void function(){
window.hinst = Han().setRoutine([
'initCond',
'renderElem',
'renderJiya',
'renderHanging',
'renderHWS',
'correctBasicBD',
'substCombLigaWithPUA'
]).render()
}()
</script>

注:使用文档中给的cloudflare CDN地址里面的js文件渲染有问题,会导致标点不可见,使用github.io这个版本提供的文件就没有问题。另外,如果本地的han.min.css有问题,也可以切换成github.io版本。