修改 Ghost(v0.11.4) 博客文章摘要长度 增加 支持, 手动指定摘要位置 更改 word 统计为 character 统计, 修正中文统计问题

Step 1

打开文件 /ghost/core/server/data/meta/excerpt.js 找到如下内容:

// Strip other html  
excerpt = excerpt.replace(/<\/?[^>]+>/gi, '');  
excerpt = excerpt.replace(/(\r\n|\n|\r)+/gm, ' ');  
/*jslint regexp:false */

if (!truncateOptions.words && !truncateOptions.characters) {  
truncateOptions.words = 50;  
}

修改为:

// Strip other html
excerpt = excerpt.slice(0, excerpt.search(''))  
excerpt = excerpt.replace(/\s*<\/?code>\s*/g, ' ')  
excerpt = excerpt.replace(/<\/?[^>]+>/gi, '');  
excerpt = excerpt.replace(/(\r\n|\n|\r)+/gm, '');  
excerpt = excerpt.replace(/^()+/gm, '');  
/*jslint regexp:false */

if (!truncateOptions.words && !truncateOptions.characters) {  
    truncateOptions.characters = 150; 
} 

以上增加的代码是为了增加 支持, 以及摘要分行显示. truncateOptions.words 换成 truncateOptions.characters是为了修正中文统计问题.

Step 2

修改博客首页的摘要长度 修改文件 /ghost/content/themes/YOUR_THEME/partials/loop.hbs{{excerpt words="26"}} 改为 {{excerpt characters="150"}}

修改 Posts 页面底部的文章摘要长度 修改文件 /ghost/content/themes/YOUR_THEME/posts.hbsclass="read-next" 的区块中,修改 {{excerpt words="26"}}{{excerpt characters="150"}}

Step 3

在需要的文章中插入 , 则摘要只会显示之前的文字; 如果没有则只显示文章的前150个characters.

由于 md 引擎在解析时可能有点问题,务必让 紧跟摘要的结尾,而不是换行后再加上

最后重启Ghost

Reference