🐛 修復POST-META關閉閲讀分鐘和訪問量後,評論量前有分割線的bug

🐛 修復canvas_ribbon透明度變為1再變回預設值bug
🐛 修復當default_cover沒設置時,會出現無圖片的bug
🎨 部分js調整
This commit is contained in:
Jerry
2020-04-02 22:16:01 +08:00
Unverified
parent 5e37ab641a
commit eb11e4afeb
18 changed files with 433 additions and 315 deletions

View File

@@ -4,60 +4,63 @@
* modify by Jerry
*/
'use strict';
'use strict'
var public_generators = [];
var public_generators = []
hexo.extend.filter.register('before_generate', function () {
this._bindLocals();
this._bindLocals()
const all_posts = this.locals.get('posts');
const all_posts = this.locals.get('posts')
const hidden_posts = all_posts.find({
'hide': true
});
const normal_posts = all_posts.filter(post => !post['hide']);
hide: true
})
const normal_posts = all_posts.filter(post => !post.hide)
this.locals.set('all_posts', all_posts);
this.locals.set('hidden_posts', hidden_posts);
this.locals.set('posts', normal_posts);
});
this.locals.set('all_posts', all_posts)
this.locals.set('hidden_posts', hidden_posts)
this.locals.set('posts', normal_posts)
})
hexo.extend.filter.register('after_init', function () {
const original = {};
const original = {}
for (const name in hexo.extend.generator.list()) {
original[name] = hexo.extend.generator.get(name);
original[name] = hexo.extend.generator.get(name)
}
hexo.extend.generator.register('post', async function (locals) {
const fg = original.post.bind(this);
const fg = original.post.bind(this)
const generated_public = await fg(locals);
const generated_hidden = await fg(Object.assign({}, locals, {
posts: locals.hidden_posts
}));
const generated_public = await fg(locals)
const generated_hidden = await fg(
Object.assign({}, locals, {
posts: locals.hidden_posts
})
)
// Remove post.prev and post.next for hidden posts
generated_hidden.forEach(ele => {
ele.data.prev = ele.data.next = null;
});
ele.data.prev = ele.data.next = null
})
return generated_public.concat(generated_hidden);
});
return generated_public.concat(generated_hidden)
})
// Then we hack into other generators if necessary
public_generators.filter(
name => Object.keys(original).includes(name)
).forEach(name => {
// Overwrite original generator
hexo.extend.generator.register(name, function (locals) {
const fg = original[name].bind(this);
public_generators
.filter(name => Object.keys(original).includes(name))
.forEach(name => {
// Overwrite original generator
hexo.extend.generator.register(name, function (locals) {
const fg = original[name].bind(this)
return fg(Object.assign({}, locals, {
posts: new locals.posts.constructor(
locals.posts.data.concat(locals.hidden_posts.data)
return fg(
Object.assign({}, locals, {
posts: new locals.posts.constructor(
locals.posts.data.concat(locals.hidden_posts.data)
)
})
)
}));
});
});
});
})
})
})