feat: 增加 post_pagination 配置(可關閉/配置分頁展示邏輯)

feat: 可配置最新評論的緩存時間
fix: 修復pjax下不會跳轉404頁面的bug
fix: 修復手持設備橫向翻轉時,menu 沒有進行判斷,而導致樣式錯亂的bug
fix: 修復文字點擊關閉random無效的bug
fix: 修復子目錄下,打賞圖片跳轉鏈接會錯誤的bug
improvement: 文章版權右上角改為 版權icon
improvement: pangu的操作範圍增大到 body-wrap裏的內容
improvement: pug 判斷優化
improvement: 最新評論js優化
remove: 移除 fragment_cache 配置(默認開啟)
remove: 移除百度推送(百度已棄用)和百度轉碼
This commit is contained in:
Jerry
2021-01-10 19:26:32 +08:00
Unverified
parent 81fc48df40
commit 0eac648267
31 changed files with 130 additions and 176 deletions

View File

@@ -1,15 +0,0 @@
if theme.baidu_push
script.
(function(){
const bp = document.createElement('script');
const curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else{
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
bp.dataset.pjax = ''
const s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})()

View File

@@ -1,20 +1,20 @@
each name in theme.comments.use
case name
when 'Valine'
!=partial('includes/third-party/comments/valine', {}, {cache:theme.fragment_cache})
!=partial('includes/third-party/comments/valine', {}, {cache: true})
when 'Disqus'
include ./disqus.pug
when 'Disqusjs'
include ./disqusjs.pug
when 'Livere'
!=partial('includes/third-party/comments/livere', {}, {cache:theme.fragment_cache})
!=partial('includes/third-party/comments/livere', {}, {cache: true})
when 'Gitalk'
include ./gitalk.pug
when 'Utterances'
!=partial('includes/third-party/comments/utterances', {}, {cache:theme.fragment_cache})
!=partial('includes/third-party/comments/utterances', {}, {cache: true})
when 'Twikoo'
!=partial('includes/third-party/comments/twikoo', {}, {cache:theme.fragment_cache})
!=partial('includes/third-party/comments/twikoo', {}, {cache: true})
when 'Waline'
!=partial('includes/third-party/comments/waline', {}, {cache:theme.fragment_cache})
!=partial('includes/third-party/comments/waline', {}, {cache: true})
when 'Facebook Comments'
!=partial('includes/third-party/comments/facebook_comments', {}, {cache:theme.fragment_cache})
!=partial('includes/third-party/comments/facebook_comments', {}, {cache: true})

View File

@@ -1,6 +1,6 @@
if theme.mathjax && theme.mathjax.enable
if theme.mathjax.per_page
if(!is_tag() && !is_category() && !is_archive() && !is_home())
if is_post() && is_page()
include ./mathjax.pug
else
if page.mathjax
@@ -8,7 +8,7 @@ if theme.mathjax && theme.mathjax.enable
if theme.katex && theme.katex.enable
if theme.katex.per_page
if(!is_tag() && !is_category() && !is_archive() && !is_home())
if is_post() && is_page()
include ./katex.pug
else
if page.katex

View File

@@ -27,7 +27,7 @@ script.
}
})
// set expiry to 10 min
saveToLocal.set('disqus-newest-comments', JSON.stringify(disqusArray), 10/(60*24))
saveToLocal.set('disqus-newest-comments', JSON.stringify(disqusArray), !{theme.newest_comments.storage}/(60*24))
generateHtml(disqusArray)
}).catch(e => {
const $dom = document.querySelector('#card-newest-comments .aside-list')
@@ -43,10 +43,7 @@ script.
result += '<div class=\'aside-list-item\'>'
if (!{theme.newest_comments.avatar}) {
let name = 'src'
if(!{theme.lazyload.enable}) {
name = 'data-lazy-src'
}
const name = '!{theme.lazyload.enable ? "data-lazy-src" : "src"}'
result += `<a href='${array[i].url}' class='thumbnail'><img ${name}='${array[i].avatar}' alt='${array[i].nick}'></a>`
}

View File

@@ -26,7 +26,7 @@ script.
'date': item.updated_at
}
})
saveToLocal.set('github-newest-comments', JSON.stringify(githubArray), 10/(60*24))
saveToLocal.set('github-newest-comments', JSON.stringify(githubArray), !{theme.newest_comments.storage}/(60*24))
generateHtml(githubArray)
}).catch(e => {
const $dom = document.querySelector('#card-newest-comments .aside-list')
@@ -42,10 +42,7 @@ script.
result += '<div class=\'aside-list-item\'>'
if (!{theme.newest_comments.avatar}) {
let name = 'src'
if(!{theme.lazyload.enable}) {
name = 'data-lazy-src'
}
const name = '!{theme.lazyload.enable ? "data-lazy-src" : "src"}'
result += `<a href='${array[i].url}' class="thumbnail"><img ${name}='${array[i].avatar}' alt='${array[i].nick}'></a>`
}

View File

@@ -21,7 +21,7 @@ script.
pageSize: !{theme.newest_comments.limit},
includeReply: true
}).then(function (res) {
saveToLocal.set('twikoo-newest-comments', JSON.stringify(res), 10/(60*24))
saveToLocal.set('twikoo-newest-comments', JSON.stringify(res), !{theme.newest_comments.storage}/(60*24))
generateHtml(res)
}).catch(function (err) {
const $dom = document.querySelector('#card-newest-comments .aside-list')
@@ -44,10 +44,7 @@ script.
result += '<div class=\'aside-list-item\'>'
if (!{theme.newest_comments.avatar}) {
let name = 'src'
if(!{theme.lazyload.enable}) {
name = 'data-lazy-src'
}
const name = '!{theme.lazyload.enable ? "data-lazy-src" : "src"}'
result += `<a href='${array[i].url + '#' + array[i].id}' class='thumbnail'><img ${name}='${array[i].avatar}' alt='${array[i].nick}'></a>`
}

View File

@@ -18,7 +18,6 @@ script.
const getIcon = (icon, mail) => {
if (icon) return icon
let defaultIcon = '!{ default_avatar ? `?d=${default_avatar}` : ''}'
let iconUrl = `https://gravatar.loli.net/avatar/${md5(mail.toLowerCase()) + defaultIcon}`
return iconUrl
@@ -32,10 +31,7 @@ script.
result += '<div class=\'aside-list-item\'>'
if (!{theme.newest_comments.avatar}) {
let name = 'src'
if(!{theme.lazyload.enable}) {
name = 'data-lazy-src'
}
const name = '!{theme.lazyload.enable ? "data-lazy-src" : "src"}'
result += `<a href='${array[i].url}' class="thumbnail"><img ${name}='${getIcon(array[i].avatar, array[i].mail)}' alt='${array[i].nick}'></a>`
}
@@ -55,12 +51,7 @@ script.
}
const getComment = () => {
let serverURL = ''
if (!{Boolean(theme.valine.serverURLs)}) {
serverURL = '!{theme.valine.serverURLs}'
} else {
serverURL = 'https://!{theme.valine.appId.substring(0,8)}.api.lncldglobal.com'
}
const serverURL = '!{theme.valine.serverURLs || `https://${theme.valine.appId.substring(0,8)}.api.lncldglobal.com` }'
var settings = {
"method": "GET",
@@ -84,7 +75,7 @@ script.
'date': e.createdAt,
}
})
saveToLocal.set('leancloud-newest-comments', JSON.stringify(valineArray), 10/(60*24))
saveToLocal.set('valine-newest-comments', JSON.stringify(valineArray), !{theme.newest_comments.storage}/(60*24))
generateHtml(valineArray)
}).catch(e => {
const $dom = document.querySelector('#card-newest-comments .aside-list')
@@ -94,7 +85,7 @@ script.
const newestCommentInit = () => {
if (document.querySelector('#card-newest-comments .aside-list')) {
const data = saveToLocal.get('leancloud-newest-comments')
const data = saveToLocal.get('valine-newest-comments')
if (data) {
generateHtml(JSON.parse(data))
} else {

View File

@@ -29,10 +29,7 @@ script.
result += '<div class=\'aside-list-item\'>'
if (!{theme.newest_comments.avatar}) {
let name = 'src'
if(!{theme.lazyload.enable}) {
name = 'data-lazy-src'
}
const name = '!{theme.lazyload.enable ? "data-lazy-src" : "src"}'
result += `<a href='${array[i].url}' class="thumbnail"><img ${name}='${getIcon(array[i].mail)}' alt='${array[i].nick}'></a>`
}
@@ -67,7 +64,7 @@ script.
'date': e.createdAt,
}
})
saveToLocal.set('waline-newest-comments', JSON.stringify(walineArray), 10/(60*24))
saveToLocal.set('waline-newest-comments', JSON.stringify(walineArray), !{theme.newest_comments.storage}/(60*24))
generateHtml(walineArray)
}).catch(e => {
const $dom = document.querySelector('#card-newest-comments .aside-list')

View File

@@ -1,10 +1,10 @@
script.
function panguFn () {
if (typeof pangu === 'object') pangu.spacingElementById('content-inner')
if (typeof pangu === 'object') pangu.spacingElementById('body-wrap')
else {
getScript('!{url_for(theme.CDN.pangu)}')
.then(() => {
pangu.spacingElementById('content-inner')
pangu.spacingElementById('body-wrap')
})
}
}

View File

@@ -78,3 +78,9 @@ script.
$bodyClassList.contains('read-mode') && $bodyClassList.remove('read-mode')
})
document.addEventListener('pjax:error', (e) => {
if (e.request.status === 404) {
pjax.loadUrl('/404.html')
}
})

View File

@@ -1,7 +1,7 @@
.post_share
if theme.addThis.enable
!=partial('includes/third-party/share/add-this', {}, {cache:theme.fragment_cache})
!=partial('includes/third-party/share/add-this', {}, {cache: true})
else if theme.sharejs.enable
include ./share-js.pug
else if theme.addtoany.enable
!=partial('includes/third-party/share/addtoany', {}, {cache:theme.fragment_cache})
!=partial('includes/third-party/share/addtoany', {}, {cache: true})