mirror of
https://github.com/jerryc127/hexo-theme-butterfly.git
synced 2026-04-16 19:30:54 +08:00
✨ 評論增加lazyload
✨ 頭像/打賞圖片 增加lazyload ✨ 調整移動端 ol ul 的邊距 #267 🐛 修復Valine 的requiredFields設置為空 無效的bugs
This commit is contained in:
@@ -43,10 +43,10 @@ div
|
||||
|
||||
//- 鼠標特效
|
||||
if theme.click_heart
|
||||
script(src=url_for(theme.CDN.click_heart))
|
||||
script(src=url_for(theme.CDN.click_heart) async)
|
||||
|
||||
if theme.ClickShowText && theme.ClickShowText.enable
|
||||
script(src=url_for(theme.CDN.ClickShowText))
|
||||
script(src=url_for(theme.CDN.ClickShowText) async)
|
||||
|
||||
if theme.pangu && theme.pangu.enable
|
||||
include ./third-party/pangu.pug
|
||||
@@ -76,11 +76,6 @@ div
|
||||
if theme.busuanzi.site_uv || theme.busuanzi.site_pv || theme.busuanzi.page_pv
|
||||
script(async src=url_for(theme.CDN.busuanzi))
|
||||
|
||||
if theme.pjax && theme.comments && theme.comments.use
|
||||
!=partial('includes/comments/js-load-all', {}, {cache:theme.fragment_cache})
|
||||
else if commentsJsLoad
|
||||
!=partial('includes/comments/js-load-all', {}, {cache:theme.fragment_cache})
|
||||
|
||||
if theme.aplayerInject && !config.aplayer.asset_inject
|
||||
if theme.pjax
|
||||
include ./head/aplayer.pug
|
||||
|
||||
@@ -13,30 +13,27 @@ script.
|
||||
})
|
||||
}
|
||||
|
||||
if (window.DISQUS) {
|
||||
disqusReset()
|
||||
} else {
|
||||
if (window.DISQUS) disqusReset()
|
||||
else {
|
||||
(function() {
|
||||
var d = document, s = d.createElement('script')
|
||||
s.src = 'https://!{theme.disqus.shortname}.disqus.com/embed.js'
|
||||
s.setAttribute('data-timestamp', +new Date())
|
||||
var d = document, s = d.createElement('script');
|
||||
s.src = 'https://!{theme.disqus.shortname}.disqus.com/embed.js';
|
||||
s.setAttribute('data-timestamp', +new Date());
|
||||
(d.head || d.body).appendChild(s);
|
||||
})();
|
||||
}
|
||||
}
|
||||
|
||||
if ('!{defaultComment}' === 'Disqus' || !{theme.comments.load_begin}) {
|
||||
loadDisqus()
|
||||
}
|
||||
else {
|
||||
if ('!{theme.comments.use[0]}' === 'Disqus' || !!{theme.comments.lazyload}) {
|
||||
if (!{theme.comments.lazyload}) loadComment(document.getElementById('disqus_thread'), loadDisqus)
|
||||
else loadDisqus()
|
||||
} else {
|
||||
function loadOtherComment () {
|
||||
loadDisqus()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if is_post() && theme.comments.count && defaultComment === 'Disqus'
|
||||
if is_post() && !theme.comments.lazyload && theme.comments.count && theme.comments.use[0] === 'Disqus'
|
||||
script.
|
||||
if (window.DISQUSWIDGETS === undefined) {
|
||||
var d = document, s = d.createElement('script');
|
||||
|
||||
@@ -33,8 +33,9 @@ script.
|
||||
}
|
||||
}
|
||||
|
||||
if ('!{defaultComment}' === 'Disqusjs' || !{theme.comments.load_begin}) {
|
||||
loadDisqusjs()
|
||||
if ('!{theme.comments.use[0]}' === 'Disqusjs' || !!{theme.comments.lazyload}) {
|
||||
if (!{theme.comments.lazyload}) loadComment(document.getElementById('disqus_thread'), loadDisqusjs)
|
||||
else loadDisqusjs()
|
||||
}
|
||||
else {
|
||||
function loadOtherComment () {
|
||||
@@ -43,7 +44,7 @@ script.
|
||||
}
|
||||
|
||||
|
||||
if is_post() && theme.comments.count && defaultComment === 'Disqusjs'
|
||||
if is_post() && !theme.comments.lazyload && theme.comments.count && theme.comments.use[0] === 'Disqusjs'
|
||||
script.
|
||||
if (window.DISQUSWIDGETS === undefined) {
|
||||
var d = document, s = d.createElement('script');
|
||||
|
||||
@@ -15,13 +15,10 @@ script.
|
||||
}
|
||||
}
|
||||
|
||||
if ('!{defaultComment}' === 'Facebook Comments' || !{theme.comments.load_begin}) {
|
||||
document.getElementsByClassName('fb-comments').length && loadFBComment()
|
||||
!{theme.pjax} && document.addEventListener('pjax:complete', () =>
|
||||
document.getElementsByClassName('fb-comments').length && loadFBComment()
|
||||
)
|
||||
}
|
||||
else {
|
||||
if ('!{theme.comments.use[0]}' === 'Facebook Comments' || !!{theme.comments.lazyload}) {
|
||||
if (!{theme.comments.lazyload}) loadComment(document.querySelector('#post-comment .fb-comments'), loadFBComment)
|
||||
else loadFBComment()
|
||||
} else {
|
||||
function loadOtherComment () {
|
||||
loadFBComment()
|
||||
}
|
||||
|
||||
@@ -33,15 +33,16 @@ script.
|
||||
}
|
||||
|
||||
function commentCount(n){
|
||||
if (document.querySelector('#post-meta .gitalk-comment-count')) {
|
||||
document.querySelector('#post-meta .gitalk-comment-count').innerHTML= n
|
||||
let isCommentCount = document.querySelector('#post-meta .gitalk-comment-count')
|
||||
if (isCommentCount) {
|
||||
isCommentCount.innerHTML= n
|
||||
}
|
||||
}
|
||||
|
||||
if ('!{defaultComment}' === 'Gitalk' || !{theme.comments.load_begin}) {
|
||||
loadGitalk()
|
||||
}
|
||||
else {
|
||||
if ('!{theme.comments.use[0]}' === 'Gitalk' || !!{theme.comments.lazyload}) {
|
||||
if (!{theme.comments.lazyload}) loadComment(document.getElementById('gitalk-container'), loadGitalk)
|
||||
else loadGitalk()
|
||||
} else {
|
||||
function loadOtherComment () {
|
||||
loadGitalk()
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
- let defaultComment = theme.comments.use[0]
|
||||
each name in theme.comments.use
|
||||
case name
|
||||
when 'Valine'
|
||||
include ./valine.pug
|
||||
when 'Facebook Comments'
|
||||
include ./facebook_comments.pug
|
||||
@@ -1,13 +1,16 @@
|
||||
- let defaultComment = theme.comments.use[0]
|
||||
each name in theme.comments.use
|
||||
case name
|
||||
when 'Valine'
|
||||
!=partial('includes/comments/valine', {}, {cache:theme.fragment_cache})
|
||||
when 'Disqus'
|
||||
include ./disqus.pug
|
||||
when 'Disqusjs'
|
||||
include ./disqusjs.pug
|
||||
when 'Livere'
|
||||
include ./livere.pug
|
||||
!=partial('includes/comments/livere', {}, {cache:theme.fragment_cache})
|
||||
when 'Gitalk'
|
||||
include ./gitalk.pug
|
||||
when 'Utterances'
|
||||
include ./utterances.pug
|
||||
!=partial('includes/comments/utterances', {}, {cache:theme.fragment_cache})
|
||||
when 'Facebook Comments'
|
||||
!=partial('includes/comments/facebook_comments', {}, {cache:theme.fragment_cache})
|
||||
|
||||
@@ -10,8 +10,9 @@ script.
|
||||
})(document, 'script');
|
||||
}
|
||||
|
||||
if ('!{defaultComment}' === 'Livere' || !{theme.comments.load_begin}) {
|
||||
loadLivere()
|
||||
if ('!{theme.comments.use[0]}' === 'Livere' || !!{theme.comments.lazyload}) {
|
||||
if (!{theme.comments.lazyload}) loadComment(document.getElementById('lv-container'), loadLivere)
|
||||
else loadLivere()
|
||||
}
|
||||
else {
|
||||
function loadOtherComment () {
|
||||
|
||||
@@ -1,36 +1,34 @@
|
||||
script.
|
||||
if (document.getElementById('utterances-wrap')) {
|
||||
function loadUtterances () {
|
||||
let ele = document.createElement('script')
|
||||
ele.setAttribute('id', 'utterances_comment')
|
||||
ele.setAttribute('src', '!{url_for(theme.CDN.utterances)}')
|
||||
ele.setAttribute('repo', '!{theme.utterances.repo}')
|
||||
ele.setAttribute('issue-term', '!{theme.utterances.issue_term}')
|
||||
let nowTheme = document.documentElement.getAttribute('data-theme') === 'dark' ? '#{theme.utterances.dark_theme}' : '#{theme.utterances.light_theme}'
|
||||
ele.setAttribute('theme', nowTheme)
|
||||
ele.setAttribute('crossorigin', 'anonymous')
|
||||
ele.setAttribute('async', 'true')
|
||||
document.getElementById('utterances-wrap').insertAdjacentElement('afterbegin',ele)
|
||||
}
|
||||
function loadUtterances () {
|
||||
let ele = document.createElement('script')
|
||||
ele.setAttribute('id', 'utterances_comment')
|
||||
ele.setAttribute('src', '!{url_for(theme.CDN.utterances)}')
|
||||
ele.setAttribute('repo', '!{theme.utterances.repo}')
|
||||
ele.setAttribute('issue-term', '!{theme.utterances.issue_term}')
|
||||
let nowTheme = document.documentElement.getAttribute('data-theme') === 'dark' ? '#{theme.utterances.dark_theme}' : '#{theme.utterances.light_theme}'
|
||||
ele.setAttribute('theme', nowTheme)
|
||||
ele.setAttribute('crossorigin', 'anonymous')
|
||||
ele.setAttribute('async', 'true')
|
||||
document.getElementById('utterances-wrap').insertAdjacentElement('afterbegin',ele)
|
||||
}
|
||||
|
||||
function utterancesTheme () {
|
||||
if (document.querySelector('.utterances-frame')) {
|
||||
const theme = document.documentElement.getAttribute('data-theme') === 'dark' ? '#{theme.utterances.dark_theme}' : '#{theme.utterances.light_theme}'
|
||||
const message = {
|
||||
type: 'set-theme',
|
||||
theme: theme
|
||||
};
|
||||
const iframe = document.querySelector('.utterances-frame');
|
||||
iframe.contentWindow.postMessage(message, 'https://utteranc.es');
|
||||
}
|
||||
function utterancesTheme () {
|
||||
if (document.querySelector('.utterances-frame')) {
|
||||
const theme = document.documentElement.getAttribute('data-theme') === 'dark' ? '#{theme.utterances.dark_theme}' : '#{theme.utterances.light_theme}'
|
||||
const message = {
|
||||
type: 'set-theme',
|
||||
theme: theme
|
||||
};
|
||||
const iframe = document.querySelector('.utterances-frame');
|
||||
iframe.contentWindow.postMessage(message, 'https://utteranc.es');
|
||||
}
|
||||
}
|
||||
|
||||
if ('!{defaultComment}' === 'Utterances' || !{theme.comments.load_begin}) {
|
||||
if ('!{theme.comments.use[0]}' === 'Utterances' || !!{theme.comments.lazyload}) {
|
||||
if (!{theme.comments.lazyload}) loadComment(document.getElementById('utterances-wrap'), loadUtterances)
|
||||
else loadUtterances()
|
||||
} else {
|
||||
function loadOtherComment () {
|
||||
loadUtterances()
|
||||
}
|
||||
else {
|
||||
function loadOtherComment () {
|
||||
loadUtterances()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,18 +4,6 @@ if site.data.valine
|
||||
|
||||
script.
|
||||
function loadValine () {
|
||||
function requestSetting (from, set) {
|
||||
var from = from
|
||||
var setting = set.split(',').filter(function(item){
|
||||
return from.indexOf(item) > -1
|
||||
});
|
||||
setting = setting.length == 0 ? from :setting;
|
||||
return setting
|
||||
}
|
||||
|
||||
var guestInfo = requestSetting(['nick','mail','link'],'#{ theme.valine.guest_info }')
|
||||
var requiredFields = requestSetting(['nick','mail'],'#{ theme.valine.requiredFields }')
|
||||
|
||||
function initValine () {
|
||||
window.valine = new Valine({
|
||||
el: '#vcomment',
|
||||
@@ -23,7 +11,7 @@ script.
|
||||
appKey: '#{theme.valine.appKey}',
|
||||
placeholder: '#{theme.valine.placeholder}',
|
||||
avatar: '#{theme.valine.avatar}',
|
||||
meta: guestInfo,
|
||||
meta: '#{theme.valine.guest_info }'.split(','),
|
||||
pageSize: '#{theme.valine.pageSize}',
|
||||
lang: '#{theme.valine.lang}',
|
||||
recordIP: #{theme.valine.recordIP},
|
||||
@@ -31,22 +19,22 @@ script.
|
||||
emojiCDN: '#{theme.valine.emojiCDN}',
|
||||
emojiMaps: !{emojiMaps},
|
||||
enableQQ: #{theme.valine.enableQQ},
|
||||
requiredFields: requiredFields,
|
||||
path: window.location.pathname,
|
||||
});
|
||||
if ('#{theme.valine.requiredFields}') { valine.config.requiredFields= '#{theme.valine.requiredFields}'.split(',') }
|
||||
}
|
||||
|
||||
if (typeof Valine === 'function') initValine()
|
||||
else $.getScript('!{url_for(theme.CDN.valine)}', initValine)
|
||||
}
|
||||
|
||||
if ('!{defaultComment}' === 'Valine' || !{theme.comments.load_begin}) {
|
||||
document.querySelector('#vcomment') && loadValine()
|
||||
!{theme.pjax} && document.addEventListener('pjax:complete', () => document.querySelector('#vcomment') && loadValine())
|
||||
}
|
||||
else {
|
||||
if ('!{theme.comments.use[0]}' === 'Valine' || !!{theme.comments.lazyload}) {
|
||||
if (!{theme.comments.lazyload}) loadComment(document.querySelector('#vcomment'),loadValine)
|
||||
else setTimeout(() => loadValine(), 0)
|
||||
} else {
|
||||
function loadOtherComment () {
|
||||
loadValine()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
if (theme.google_adsense && theme.google_adsense.enable)
|
||||
script(async src=theme.google_adsense.js data-pjax)
|
||||
script(async src=theme.google_adsense.js)
|
||||
|
||||
if theme.google_adsense.auto_ads
|
||||
script.
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
span.post-meta-label=_p('post.page_pv') + ':'
|
||||
span#busuanzi_value_page_pv
|
||||
|
||||
if page.comments !== false && theme.comments.use && theme.comments.count
|
||||
if !theme.comments.lazyload && page.comments !== false && theme.comments.use && theme.comments.count
|
||||
- var whichCount = theme.comments.use[0]
|
||||
if whichCount !== 'Livere' && whichCount !== 'Utterances'
|
||||
span.post-meta-separator |
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#mobile-sidebar-menus
|
||||
.mobile_author_icon
|
||||
img.avatar-img(src=url_for(theme.avatar.img) onerror=`onerror=null;src='${theme.error_img.flink}'` alt="avatar")
|
||||
if theme.lazyload.enable
|
||||
img.avatar-img(data-lazy-src=url_for(theme.avatar.img) onerror=`onerror=null;src='${theme.error_img.flink}'` alt="avatar")
|
||||
else
|
||||
img.avatar-img(src=url_for(theme.avatar.img) onerror=`onerror=null;src='${theme.error_img.flink}'` alt="avatar")
|
||||
.mobile_post_data
|
||||
if site.posts.length
|
||||
.mobile_data_item.is-center
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
each item in theme.reward.QR_code
|
||||
- var clickTo = (item.itemlist||item).link ? (item.itemlist||item).link : (item.itemlist||item).img
|
||||
li.reward-item
|
||||
img.post-qr-code__img(src=url_for((item.itemlist||item).img) alt=(item.itemlist||item).text onclick=`window.open('${url_for(clickTo)}')`)
|
||||
.post-qr-code__desc=(item.itemlist||item).text
|
||||
if theme.lazyload.enable
|
||||
img.post-qr-code-img(data-lazy-src=url_for((item.itemlist||item).img) alt=(item.itemlist||item).text onclick=`window.open('${url_for(clickTo)}')`)
|
||||
else
|
||||
img.post-qr-code-img(src=url_for((item.itemlist||item).img) alt=(item.itemlist||item).text onclick=`window.open('${url_for(clickTo)}')`)
|
||||
.post-qr-code-desc=(item.itemlist||item).text
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
if (theme.sharejs && theme.sharejs.enable)
|
||||
.social-share(data-image=url_for(page.cover|| theme.avatar.img) data-sites= theme.sharejs.sites)
|
||||
link(rel="stylesheet" href=url_for(theme.CDN.sharejs_css))
|
||||
script(src=url_for(theme.CDN.sharejs))
|
||||
script(src=url_for(theme.CDN.sharejs) defer)
|
||||
2
layout/includes/third-party/canvas-nest.pug
vendored
2
layout/includes/third-party/canvas-nest.pug
vendored
@@ -1 +1 @@
|
||||
script#canvas_nest(color=theme.canvas_nest.color opacity=theme.canvas_nest.opacity zIndex=theme.canvas_nest.zIndex count=theme.canvas_nest.count mobile=`${theme.canvas_nest.mobile}` src=url_for(theme.CDN.canvas_nest))
|
||||
script#canvas_nest(defer color=theme.canvas_nest.color opacity=theme.canvas_nest.opacity zIndex=theme.canvas_nest.zIndex count=theme.canvas_nest.count mobile=`${theme.canvas_nest.mobile}` src=url_for(theme.CDN.canvas_nest))
|
||||
@@ -1 +1 @@
|
||||
script(id="ribbon_piao" mobile=`${theme.canvas_ribbon_piao.mobile}` src=url_for(theme.CDN.canvas_ribbon_piao))
|
||||
script(defer id="ribbon_piao" mobile=`${theme.canvas_ribbon_piao.mobile}` src=url_for(theme.CDN.canvas_ribbon_piao))
|
||||
@@ -1,7 +1,10 @@
|
||||
.card-widget.card-info
|
||||
.card-content
|
||||
.card-info-avatar.is-center
|
||||
img.avatar-img(src=url_for(theme.avatar.img) onerror=`this.onerror=null;this.src='` + url_for(theme.error_img.flink) + `'` alt="avatar")
|
||||
if theme.lazyload.enable
|
||||
img.avatar-img(data-lazy-src=url_for(theme.avatar.img) onerror=`this.onerror=null;this.src='` + url_for(theme.error_img.flink) + `'` alt="avatar")
|
||||
else
|
||||
img.avatar-img(src=url_for(theme.avatar.img) onerror=`this.onerror=null;this.src='` + url_for(theme.error_img.flink) + `'` alt="avatar")
|
||||
.author-info__name= config.author
|
||||
.author-info__description!= theme.aside.card_author.description || config.description
|
||||
|
||||
|
||||
Reference in New Issue
Block a user