diff --git a/settings.yaml b/settings.yaml index f105178f..c6de27c5 100644 --- a/settings.yaml +++ b/settings.yaml @@ -198,7 +198,7 @@ spec: label: 宠物挂件 help: 需要瞬间丶顶部 Banner显示 value: - climbEnable: true + climbEnable: false climbImg: https://imgapi.yyds.pink/random?sort=animals children: - $formkit: radio @@ -2180,11 +2180,6 @@ spec: value: true - label: 禁用 value: false - - $formkit: number - name: maxBarrage - value: 20 - label: 弹幕数页数 - placeholder: 请输入弹幕数页数 - $formkit: radio label: 信笺 name: enable_envelope_comment @@ -2272,12 +2267,15 @@ spec: id: use key: use value: commentWidget - help: Twikoo评论需要填写下方配置 options: - label: 默认 value: commentWidget - label: Twikoo value: Twikoo + - label: Artalk + value: Artalk + - label: Waline + value: Waline - $formkit: radio if: $get(use).value == 'Twikoo' name: twikooEnable @@ -2285,6 +2283,7 @@ spec: key: twikooEnable label: Twikoo value: true + help: Twikoo评论需要填写下方配置 options: - label: 打开 value: true @@ -2293,47 +2292,167 @@ spec: - $formkit: group if: $get(twikooEnable).value name: twikoos - label: Twikoo评论配置 + label: Twikoo评论配置 (文档:https://twikoo.js.org/) value: - maxBarrage: - barrageTime: envId: accessToken: - mailMd5: js: "" children: - - $formkit: number - name: maxBarrage - value: 1 - label: 同时最多显示弹幕数 - placeholder: 请输入显示弹幕数 - help: 右下角同时最多显示的弹幕数量 - - $formkit: number - name: barrageTime - value: 4000 - label: 弹幕显示间隔时间ms - placeholder: 请输入间隔时间ms - help: 右下角弹出热评弹幕的间隔时间 - $formkit: url name: envId + key: envId label: Twikoo评论 - 环境id/后端URL placeholder: 请输入环境id或URL - help: 详情请查看文档 + help: 详情请查看文档 (后缀带 / ) + validation: required - $formkit: text name: accessToken + key: accessToken label: Twikoo评论 - 管理员令牌 placeholder: 请输入token help: 在浏览器F12的控制台中获取,用于显示弹幕,详情请查看文档 - - $formkit: text - name: mailMd5 - label: Twikoo评论 - 博主邮箱MD5值 - placeholder: 请输入md5值 - help: 用于验证博主评论,可前往cmd5.com加密自己使用的邮箱,选择32位小写 + validation: required - $formkit: text name: js + key: js label: Twikoo评论 - js placeholder: 请输入js文件地址 help: 主题的twikoo版本是最新版本(如果你使用的不是最新版本请自己引入js文件) + - $formkit: radio + if: $get(use).value == 'Artalk' + name: artalkEnable + id: artalkEnable + key: artalkEnable + label: Artalk + value: true + help: Artalk评论需要填写下方配置 + options: + - label: 打开 + value: true + - label: 关闭 + value: false + - $formkit: group + if: $get(artalkEnable).value + name: artalks + label: Artalk评论配置 (文档:https://artalk.js.org/) + value: + siteName: "" + server: "" + js: "" + css: "" + children: + - $formkit: url + name: server + key: artalkServer + label: Artalk评论 - 后端URL + placeholder: 请输入后端URL + help: 详情请查看文档 (后缀带 / ) + validation: required + - $formkit: text + name: siteName + key: siteName + label: 标题 + placeholder: 请输入标题 + validation: required + - $formkit: text + name: artalkJs + key: artalkJs + label: Artalk评论 - js + placeholder: 请输入js文件地址 + help: 主题的Artalk版本是最新版本(如果你使用的不是最新版本请自己引入js文件) + - $formkit: text + name: artalkCss + key: artalkCss + label: Artalk评论 - css + placeholder: 请输入css文件地址 + help: 主题的Artalk版本是最新版本(如果你使用的不是最新版本请自己引入css文件) + - $formkit: radio + if: $get(use).value == 'Waline' + name: walineEnable + id: walineEnable + key: walineEnable + label: Waline + value: true + help: Waline评论需要填写下方配置 + options: + - label: 打开 + value: true + - label: 关闭 + value: false + - $formkit: group + if: $get(walineEnable).value + name: walines + label: Waline评论配置 (文档:https://waline.js.org/) + value: + serverURL: "" + walinesJs: "" + walinesCss: "" + children: + - $formkit: url + name: serverURL + key: serverURL + label: Waline评论 - 后端URL + placeholder: 请输入后端URL + help: 详情请查看文档 (后缀不带 / ) + validation: required + - $formkit: text + name: walinesJs + key: walinesJs + label: Waline评论 - js + placeholder: 请输入js文件地址 + help: 主题的walines版本是最新版本(如果你使用的不是最新版本请自己引入js文件) + - $formkit: text + name: walinesCss + key: walinesCss + label: Waline评论 - css + placeholder: 请输入css文件地址 + help: 主题的walines版本是最新版本(如果你使用的不是最新版本请自己引入css文件) + - $formkit: group + name: commentBarrageConfig + if: ($get(use).value == 'Artalk' && $get(twikooEnable).value) || + ($get(use).value == 'Twikoo' && $get(twikooEnable).value) || + ($get(use).value == 'Waline' && $get(twikooEnable).value) + label: 留言弹幕配置 + value: + commentBarrageEnable: true + maxBarrage: 1 + barrageTime: 4000 + mailMd5: + children: + - $formkit: radio + name: commentBarrageEnable + id: commentBarrageEnable + key: commentBarrageEnable + options: + - label: 打开 + value: true + - label: 关闭 + value: false + - $formkit: number + if: $get(commentBarrageEnable).value + name: maxBarrage + key: maxBarrage + label: 同时最多显示弹幕数 + placeholder: 请输入显示弹幕数 + help: 右下角同时最多显示的弹幕数量 + validation: required + - $formkit: number + if: $get(commentBarrageEnable).value + name: barrageTime + key: barrageTime + label: 弹幕显示间隔时间ms + placeholder: 请输入间隔时间ms + help: 右下角弹出热评弹幕的间隔时间 + validation: required + - $formkit: text + if: $get(commentBarrageEnable).value && $get(use).value != 'Waline' + name: mailMd5 + key: mailMd5 + label: 评论 - 博主邮箱MD5值 + placeholder: 请输入md5值 + help: 用于验证博主评论,可前往cmd5.com加密自己使用的邮箱,选择32位小写 + validation: required + - group: style label: 样式 @@ -2407,7 +2526,7 @@ spec: key: enable label: 启用代码块 help: 如果安装代码块插件,可关闭此功能 - value: false + value: true options: - label: 启用 value: true diff --git a/templates/assets/js/halo.js b/templates/assets/js/halo.js index 138ae7be..2ea13c1e 100644 --- a/templates/assets/js/halo.js +++ b/templates/assets/js/halo.js @@ -257,7 +257,7 @@ let halo = { document.head.appendChild(a) }, - danmu: (url,token,maxBarrage)=>{ + danmu: ()=>{ const e = new EasyDanmakuMin({ el: "#danmu", line: 10, @@ -273,32 +273,84 @@ let halo = { function a(e) { return e = (e = (e = (e = (e = e.replace(/<\/*br>|[\s\uFEFF\xA0]+/g, "")).replace(//g, "[图片]")).replace(/.*?<\/a>/g, "[链接]")).replace(/.*?<\/pre>/g, "[代码块]")).replace(/<.*?>/g, "") } - fetch(url, { - method: "POST", - body: JSON.stringify({ - event: "GET_RECENT_COMMENTS", - accessToken: token, - includeReply: !1, - pageSize: maxBarrage - }), - headers: { - "Content-Type": "application/json" + if(GLOBAL_CONFIG.source.comments.use == 'Twikoo'){ + fetch(GLOBAL_CONFIG.source.twikoo.twikooUrl, { + method: "POST", + body: JSON.stringify({ + event: "GET_RECENT_COMMENTS", + accessToken: GLOBAL_CONFIG.source.twikoo.accessToken, + includeReply: !1, + pageSize: 5 + }), + headers: { + "Content-Type": "application/json" + } + }).then((e=>e.json())).then((({data: t})=>{ + t.forEach((e=>{ + null == e.avatar && (e.avatar = "https://cravatar.cn/avatar/d615d5793929e8c7d70eab5f00f7f5f1?d=mp"), + n.push({ + avatar: e.avatar, + content: e.nick + ":" + a(e.comment), + href: e.url + '#' + e.id + + }) + } + )), + e.batchSend(n, !0), + saveToLocal.set("danmu", n, .02) + } + )) + } + if(GLOBAL_CONFIG.source.comments.use == 'Artalk'){ + const statheaderList = { + method: 'POST', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + 'Origin': window.location.origin + }, + body: new URLSearchParams({ + 'site_name': GLOBAL_CONFIG.source.artalk.siteName, + 'limit': '100', + 'type':'latest_comments' + }) } - }).then((e=>e.json())).then((({data: t})=>{ - t.forEach((e=>{ - null == e.avatar && (e.avatar = "https://cravatar.cn/avatar/d615d5793929e8c7d70eab5f00f7f5f1?d=mp"), + fetch(GLOBAL_CONFIG.source.artalk.artalkUrl + 'api/stat', statheaderList) + .then((e=>e.json())).then((({data: t})=>{ + t.forEach((e=>{ n.push({ - avatar: e.avatar, - content: e.nick + ":" + a(e.comment), - href: e.url + '#' + e.id + avatar: 'https://cravatar.cn/avatar/' + e.email_encrypted + '?d=mp&s=240', + content: e.nick + ":" + a(e.content_marked), + href: e.page_url + '#atk-comment-' + e.id }) - } - )), - e.batchSend(n, !0), - saveToLocal.set("danmu", n, .02) + } + )), + e.batchSend(n, !0), + saveToLocal.set("danmu", n, .02) + } + )) + } + if(GLOBAL_CONFIG.source.comments.use == 'Waline'){ + const loadWaline = () => { + Waline.RecentComments({ + serverURL: GLOBAL_CONFIG.source.waline.serverURL, + count: 50 + }).then(({ comments }) => { + const walineArray = comments.map(e => { + return { + 'content': e.nick + ":" + a(e.comment), + 'avatar': e.avatar, + 'href': e.url + '#' + e.objectId, + } + }) + e.batchSend(walineArray, !0), + saveToLocal.set("danmu", walineArray, .02) + }) } - )) + if (typeof Waline === 'object') loadWaline() + else getScript(GLOBAL_CONFIG.source.waline.js).then(loadWaline) + } + } document.getElementById("danmuBtn").innerHTML = " " }, diff --git a/templates/assets/zhheo/blogex.js b/templates/assets/zhheo/blogex.js index 024f1738..98185397 100644 --- a/templates/assets/zhheo/blogex.js +++ b/templates/assets/zhheo/blogex.js @@ -293,7 +293,8 @@ function rightMenuCommentText(txt) { if (GLOBAL_CONFIG.rightMenuEnable) { rm.hideRightMenu(); } - var input = document.getElementsByClassName('el-textarea__inner')[0]; + var input = GLOBAL_CONFIG.source.comments.use=='Twikoo' ? document.getElementsByClassName('el-textarea__inner')[0] : + GLOBAL_CONFIG.source.comments.use=='Artalk' ? document.getElementsByClassName('atk-textarea')[0] : document.getElementsByClassName('appearance-none')[0]; let evt = document.createEvent('HTMLEvents'); evt.initEvent('input', true, true); let inputValue = replaceAll(txt, '\n', '\n> ') diff --git a/templates/assets/zhheo/commentBarrage.js b/templates/assets/zhheo/commentBarrage.js index 8dd327c0..0c27bc2a 100644 --- a/templates/assets/zhheo/commentBarrage.js +++ b/templates/assets/zhheo/commentBarrage.js @@ -1,19 +1,24 @@ -if(GLOBAL_CONFIG.htmlType!='comments') { +if(GLOBAL_CONFIG.htmlType!='comments' && document.querySelector('#post-comment')) { + var commentBarrageConfig = { //同时最多显示弹幕数 - maxBarrage: GLOBAL_CONFIG.source.twikoo.maxBarrage, + maxBarrage: GLOBAL_CONFIG.source.comments.maxBarrage, //弹幕显示间隔时间ms - barrageTime: GLOBAL_CONFIG.source.twikoo.barrageTime, + barrageTime: GLOBAL_CONFIG.source.comments.barrageTime, //twikoo部署地址腾讯云的为环境ID twikooUrl: GLOBAL_CONFIG.source.twikoo.twikooUrl, + artalkUrl: GLOBAL_CONFIG.source.artalk.artalkUrl, + walineUrl: GLOBAL_CONFIG.source.waline.serverURL, //token获取见上方 accessToken: GLOBAL_CONFIG.source.twikoo.accessToken, - mailMd5: GLOBAL_CONFIG.source.twikoo.mailMd5, + mailMd5: GLOBAL_CONFIG.source.comments.mailMd5, pageUrl: window.location.pathname, barrageTimer: [], barrageList: [], + siteName: GLOBAL_CONFIG.source.artalk.siteName, barrageIndex: 0, dom: document.querySelector('.comment-barrage'), + use: GLOBAL_CONFIG.source.comments.use } var commentInterval = null; @@ -30,23 +35,57 @@ if(GLOBAL_CONFIG.htmlType!='comments') { function initCommentBarrage() { //console.log("开始创建热评") - var data = JSON.stringify({ - "event": "COMMENT_GET", - "commentBarrageConfig.accessToken": commentBarrageConfig.accessToken, - "url": commentBarrageConfig.pageUrl - }); - var xhr = new XMLHttpRequest(); - xhr.withCredentials = true; - xhr.addEventListener("readystatechange", function () { - if (this.readyState === 4) { - commentBarrageConfig.barrageList = commentLinkFilter(JSON.parse(this.responseText).data); - commentBarrageConfig.dom.innerHTML = ''; - } - }); - xhr.open("POST", commentBarrageConfig.twikooUrl); - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.send(data); + if(commentBarrageConfig.use=='Twikoo'){ + var data = JSON.stringify({ + "event": "COMMENT_GET", + "commentBarrageConfig.accessToken": commentBarrageConfig.accessToken, + "url": commentBarrageConfig.pageUrl + }); + var xhr = new XMLHttpRequest(); + xhr.withCredentials = true; + xhr.addEventListener("readystatechange", function () { + if (this.readyState === 4) { + commentBarrageConfig.barrageList = commentLinkFilter(JSON.parse(this.responseText).data); + commentBarrageConfig.dom.innerHTML = ''; + } + }); + xhr.open("POST", commentBarrageConfig.twikooUrl); + xhr.setRequestHeader("Content-Type", "application/json"); + xhr.send(data); + } + if(commentBarrageConfig.use=='Artalk'){ + var data ={ + "site_name": commentBarrageConfig.siteName, + "page_key": commentBarrageConfig.pageUrl, + "limit": 100, + "offset": 0 + }; + var xhr = new XMLHttpRequest(); + xhr.withCredentials = true; + xhr.addEventListener("readystatechange", function () { + if (this.readyState === 4) { + commentBarrageConfig.barrageList = commentLinkFilter(JSON.parse(this.responseText).data.comments); + commentBarrageConfig.dom.innerHTML = ''; + } + }); + const usp = new URLSearchParams(data) + const query = usp.toString() + xhr.open("POST", commentBarrageConfig.artalkUrl+'api/get'); + xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); + xhr.send(query); + } + + if(commentBarrageConfig.use=='Waline'){ + fetch( commentBarrageConfig.walineUrl+`/comment?path=${commentBarrageConfig.pageUrl}&pageSize=100&page=1&lang=zh-CN&sortBy=insertedAt_desc`) + .then((e=>e.json())).then((({data: t})=>{ + if(t.length>0){ + commentBarrageConfig.barrageList = commentLinkFilter(t); + commentBarrageConfig.dom.innerHTML = ''; + } + } + )) + } clearInterval(commentInterval); commentInterval = null; @@ -64,13 +103,33 @@ if(GLOBAL_CONFIG.htmlType!='comments') { } function commentLinkFilter(data) { - data.sort((a, b) => { - return a.created - b.created; - }) let newData = []; - data.forEach(item => { - newData.push(...getCommentReplies(item)); - }); + if(commentBarrageConfig.use=='Twikoo'){ + data.sort((a, b) => { + return a.created - b.created; + }) + data.forEach(item => { + newData.push(...getCommentReplies(item)); + }); + } + if(commentBarrageConfig.use=='Artalk'){ + data.sort((a, b) => { + const aCreated = Date.parse(a.date); + const bCreated = Date.parse(b.date); + return aCreated - bCreated; + }) + data.forEach(item => { + newData.push(item); + }); + } + if(commentBarrageConfig.use=='Waline'){ + data.sort((a, b) => { + return a.time - b.time; + }) + data.forEach(item => { + newData.push(...getCommentWalineReplies(item)); + }); + } return newData; } @@ -85,9 +144,35 @@ if(GLOBAL_CONFIG.htmlType!='comments') { return []; } } + function getCommentWalineReplies(item) { + if (item.children) { + let children = [item]; + item.children.forEach(item => { + children.push(...getCommentReplies(item)); + }) + return children; + } else { + return []; + } + } function popCommentBarrage(data) { - + let isTwikoo = commentBarrageConfig.use=='Twikoo' + let isArtalk = commentBarrageConfig.use=='Artalk'; + let isWaline = commentBarrageConfig.use=='Waline'; + let nick = data.nick; + let avatar = isTwikoo ? `https://cravatar.cn/avatar/${data.mailMd5}` : + isArtalk ? `https://cravatar.cn/avatar/${data.email_encrypted}?d=mp&s=240` : + isWaline ? data.avatar :'https://cravatar.cn/avatar/'; + let barrageBlogger = isTwikoo ? data.mailMd5 === commentBarrageConfig.mailMd5 : + isArtalk ? data.email_encrypted === commentBarrageConfig.mailMd5 : + isWaline ? data.type === 'administrator' :false; + let id = isTwikoo ? data.id : + isArtalk ? 'atk-comment-'+data.id : + isWaline ? data.objectId : 'post-comment'; + let comment = isTwikoo ? data.comment : + isArtalk ? data.content : + isWaline ? data.comment : ''; let barrage = document.createElement('div'); let width = commentBarrageConfig.dom.clientWidth; let height = commentBarrageConfig.dom.clientHeight; @@ -95,14 +180,14 @@ if(GLOBAL_CONFIG.htmlType!='comments') { barrage.innerHTML = ` - ${data.comment} + ${comment} ` // 获取hao标签内的所有pre元素 let haoPres = barrage.querySelectorAll(".barrageContent pre"); diff --git a/templates/assets/zhheo/custom.css b/templates/assets/zhheo/custom.css index 8db4c82e..cc08e66a 100644 --- a/templates/assets/zhheo/custom.css +++ b/templates/assets/zhheo/custom.css @@ -2495,4 +2495,24 @@ p.p.gray,span.p.gray { border-bottom: 0; padding: 0; width: fit-content; +} + +#waline-wrap { + --waline-font-size: 1.1em; + --waline-theme-color: var(--heo-main); + --waline-active-color: #ff7242; +} +#waline-wrap .vuser { + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -o-transition: all 0.5s; + -ms-transition: all 0.5s; + transition: all 0.5s; +} +#waline-wrap .vuser:hover { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); } \ No newline at end of file diff --git a/templates/comments.html b/templates/comments.html index c70a143e..b5ad2be2 100644 --- a/templates/comments.html +++ b/templates/comments.html @@ -151,8 +151,9 @@ -
diff --git a/templates/modules/comment.html b/templates/modules/comment.html index 5d051cf7..5283ea07 100644 --- a/templates/modules/comment.html +++ b/templates/modules/comment.html @@ -1,9 +1,9 @@ - -
+ +
+ + +
+
+
评论
+ +
+ 你无需删除空行,直接评论以获取最佳展示效果 +
+
+
+
+ \ No newline at end of file diff --git a/templates/modules/comment/newest-comments/artalk.html b/templates/modules/comment/newest-comments/artalk.html new file mode 100644 index 00000000..d2ac391a --- /dev/null +++ b/templates/modules/comment/newest-comments/artalk.html @@ -0,0 +1,222 @@ + + + + +
+ + +
+ + + +
+ + \ No newline at end of file diff --git a/templates/modules/widgets/cardNewestComments.html b/templates/modules/comment/newest-comments/twikoo.html similarity index 96% rename from templates/modules/widgets/cardNewestComments.html rename to templates/modules/comment/newest-comments/twikoo.html index 5bcf79ac..840c4201 100644 --- a/templates/modules/widgets/cardNewestComments.html +++ b/templates/modules/comment/newest-comments/twikoo.html @@ -1,12 +1,11 @@ - + - +
+ +
+ \ No newline at end of file diff --git a/templates/modules/comment/twikoo.html b/templates/modules/comment/twikoo.html index 21d2731d..56a4b448 100644 --- a/templates/modules/comment/twikoo.html +++ b/templates/modules/comment/twikoo.html @@ -1,7 +1,9 @@ -
+
评论
diff --git a/templates/modules/comment/waline.html b/templates/modules/comment/waline.html new file mode 100644 index 00000000..2fe02765 --- /dev/null +++ b/templates/modules/comment/waline.html @@ -0,0 +1,16 @@ + + + +
+
+
评论
+ +
+ 你无需删除空行,直接评论以获取最佳展示效果 +
+
+
+
+ \ No newline at end of file diff --git a/templates/modules/common/rightside.html b/templates/modules/common/rightside.html index 888105a5..012793ae 100644 --- a/templates/modules/common/rightside.html +++ b/templates/modules/common/rightside.html @@ -12,7 +12,7 @@ - + new Promise((resolve, reject) => { + const link = document.createElement('link') + link.rel = 'stylesheet' + link.href = url + if (id) link.id = id + link.onerror = reject + link.onload = link.onreadystatechange = function() { + const loadState = this.readyState + if (loadState && loadState !== 'loaded' && loadState !== 'complete') return + link.onload = link.onreadystatechange = null + resolve() + } + document.head.appendChild(link) + }) + win.activateDarkMode = function () { document.documentElement.setAttribute('data-theme', 'dark') heo.initThemeColor() @@ -205,13 +220,28 @@ js: 'https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.js', css: 'https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.css' }, + comments:{ + use: [[${theme.config.comments.use}]], + maxBarrage: [[${ theme.config.comments.commentBarrageConfig.maxBarrage }]], + barrageTime: [[${ theme.config.comments.commentBarrageConfig.barrageTime }]], + mailMd5: "[(${theme.config.comments.commentBarrageConfig.mailMd5})]", + }, twikoo:{ js:[[${not #strings.isEmpty(theme.config.comments.twikoos.js) ? theme.config.comments.twikoos.js : assets_link +'/libs/twikoo/twikoo.all.min.js' }]], - maxBarrage: [[${ theme.config.comments.twikoos.maxBarrage }]], - barrageTime: [[${ theme.config.comments.twikoos.barrageTime }]], twikooUrl: "[(${theme.config.comments.twikoos.envId})]", accessToken: "[(${theme.config.comments.twikoos.accessToken})]", - mailMd5: "[(${theme.config.comments.twikoos.mailMd5})]", + + }, + artalk:{ + js:[[${not #strings.isEmpty(theme.config.comments.artalks.artalkJs) ? theme.config.comments.artalks.artalkJs : 'https://cdn.bootcdn.net/ajax/libs/artalk/2.6.2/Artalk.js' }]], + css:[[${not #strings.isEmpty(theme.config.comments.artalks.artalkCss) ? theme.config.comments.artalks.artalkCss : 'https://cdn.bootcdn.net/ajax/libs/artalk/2.6.2/Artalk.css' }]], + artalkUrl: "[(${theme.config.comments.artalks.server})]", + siteName: "[(${theme.config.comments.artalks.siteName})]", + }, + waline:{ + js:[[${not #strings.isEmpty(theme.config.comments.walines.walinesJs) ? theme.config.comments.walines.walinesJs : 'https://cdn.cbd.int/@waline/client@2.15.7/dist/waline.js' }]], + css:[[${not #strings.isEmpty(theme.config.comments.walines.walinesCss) ? theme.config.comments.walines.walinesCss : 'https://cdn.cbd.int/@waline/client@2.15.7/dist/waline.css' }]], + serverURL: "[(${theme.config.comments.walines.serverURL})]", }, welcome:{ key:"[(${theme.config.sidebar.welcome.key})]", diff --git a/templates/modules/layouts/layout.html b/templates/modules/layouts/layout.html index 7c29ac73..1b8d5973 100644 --- a/templates/modules/layouts/layout.html +++ b/templates/modules/layouts/layout.html @@ -67,8 +67,11 @@ - - + + + + @@ -97,11 +100,14 @@ - + @@ -229,7 +235,7 @@ if(document.querySelector('#danmu') && document.body.clientWidth > 768 && [[${theme.config.envelope_comment.enable_danmu}]]){ - halo.addScript("Danmaku", "[[${assets_link + '/libs/twikoo/easy-Danmaku.min.js'}]]", halo.danmu("[(${theme.config.comments.twikoos.envId})]","[(${theme.config.comments.twikoos.accessToken})]",[[${theme.config.envelope_comment.maxBarrage}]])) + halo.addScript("Danmaku", "[[${assets_link + '/libs/twikoo/easy-Danmaku.min.js'}]]", halo.danmu()) } diff --git a/templates/modules/right-menu.html b/templates/modules/right-menu.html index c3525064..cc61584c 100644 --- a/templates/modules/right-menu.html +++ b/templates/modules/right-menu.html @@ -102,7 +102,7 @@ 复制地址
-