blob: 04d28e091899c847280e837ff45b9499c0d44900 [file] [log] [blame]
'use strict'
var cheerio = require('cheerio');
hexo.extend.helper.register('url_for_lang', function(path){
var root = this.config.root || ''
var langsArr = this.config.language
var lang = this.page.lang
var isDefault = lang === langsArr[0]
var url = this.url_for(path)
if (!isDefault && url.indexOf(lang) === -1) {
url = root + lang + url.replace(root, '/')
}
return url
})
hexo.extend.helper.register('page_anchor', function(str){
var $ = cheerio.load(str, {decodeEntities: true});
var headings = $('h1, h2, h3, h4, h5, h6');
if (!headings.length) return str;
headings.each(function(){
$(this).addClass('article-heading')
});
return $.html();
});
hexo.extend.helper.register('pick_lang', function(lang){
var root = this.config.root || ''
var langsArr = this.config.language
var currentLang = this.page.lang
var path = this.page.path
var url = ''
if (path.split('/')[0] === currentLang) {
path = path.substring(currentLang.length)
}
if (path[0] !== '/') {
path = '/' + path
}
if (lang === langsArr[0] || lang === '') {
url = root + path.substring(1)
} else {
url = root + lang + path
}
return url
})