Skip to content

Commit

Permalink
Merge pull request #704 from carolcoral/main
Browse files Browse the repository at this point in the history
add: 兼容2.8以后版本的artalk接口
  • Loading branch information
carolcoral authored Mar 28, 2024
2 parents 8edde29 + ffc1892 commit aa9fe8b
Showing 1 changed file with 64 additions and 48 deletions.
112 changes: 64 additions & 48 deletions templates/modules/comment/Artalk.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,22 @@
window.addEventListener('load', () => {
const generateHtml = array => {
let result = ''

if (array.length) {
for (let i = 0; i < array.length; i++) {
if (i == 6) {
break;
}
result += '<div class=\'aside-list-item\'>'

if (true) {
let name = 'src'
if ([[${ isLazyload }]]) {
name = 'data-lazy-src'
}
result += `<a href='${array[i].url}' class='thumbnail'><img ${name}='${array[i].avatar}' alt='${array[i].nick}'><div class='name'><span>${array[i].nick}</span></div></a>`
}

result += `<div class='content'>
<a class='comment' href='${array[i].url}' title='${array[i].content}'>${array[i].content}</a>
<time datetime="${array[i].date}">${btf.diffDate(array[i].date, true)}</time></div>
Expand All @@ -33,28 +33,28 @@
} else {
result += '没有评论'
}

let $dom = document.querySelector('#card-newest-comments .aside-list')
$dom.innerHTML = result
window.lazyLoadInstance && window.lazyLoadInstance.update()
window.pjax && window.pjax.refresh($dom)
}

const necommHtml = array => {
let result = ''

const pagesize = [[${ theme.config.sidebar.newcomment.newcommentnumber }]];
const defaultpagesize = 5;
const finalpagesize = pagesize <= 0 ? defaultpagesize : pagesize;

if (array.length) {
for (let i = 0; i < array.length; i++) {

if (i == finalpagesize) {
break;
}
result += '<div class="aside-list-item">'

if (true) {
let name = 'src'
if ([[${ isLazyload }]]) {
Expand All @@ -66,7 +66,7 @@
</a>
`
}

result += `
<div class="content">
<a class="comment" style="display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;"
Expand All @@ -84,13 +84,25 @@
} else {
result += '没有评论'
}

let $dom = document.querySelector('#newcomm')
$dom.innerHTML = result
window.lazyLoadInstance && window.lazyLoadInstance.update()
window.pjax && window.pjax.refresh($dom)
}


let artalkUrl = '';
const getArtalkUrl = () => {
fetch("[(${theme.config.comments.artalks.server})]" + 'api/v2/conf')
.then(response => response.json())
.then(d => {
artalkUrl = '/api/v2/stats/latest_comments'
})
.catch(e => {
artalkUrl = '/api/stat'
})
}

const getComment = () => {
const statheaderList = {
method: 'POST',
Expand All @@ -104,22 +116,24 @@
'type': 'latest_comments'
})
}
fetch("[(${theme.config.comments.artalks.server})]" + 'api/stat', statheaderList)
.then(response => response.json())
.then(d => {
const artalk = d.data.map(function (e) {
return {
'avatar': 'https://cravatar.cn/avatar/' + e.email_encrypted + '?d=mp&s=240',
'content': btf.changeContent(e.content_marked,150),
'nick': e.nick,
'url': e.page_url + '#atk-comment-' + e.id,
'date': e.date,
}
})
saveToLocal.set('artalk-newest-comments', JSON.stringify(artalk), 10 / (60 * 24))
generateHtml(artalk)
document.querySelector('#newcomm') && necommHtml(artalk)
}).catch(e => {
// 兼容2.8以后版本的artalk接口
getArtalkUrl();
fetch("[(${theme.config.comments.artalks.server})]" + artalkUrl, statheaderList)
.then(response => response.json())
.then(d => {
const artalk = d.data.map(function (e) {
return {
'avatar': 'https://cravatar.cn/avatar/' + e.email_encrypted + '?d=mp&s=240',
'content': btf.changeContent(e.content_marked, 150),
'nick': e.nick,
'url': e.page_url + '#atk-comment-' + e.id,
'date': e.date,
}
})
saveToLocal.set('artalk-newest-comments', JSON.stringify(artalk), 10 / (60 * 24))
generateHtml(artalk)
document.querySelector('#newcomm') && necommHtml(artalk)
}).catch(e => {
const $dom = document.querySelector('#card-newest-comments .aside-list')
$dom.innerHTML = "无法获取评论,请确认相关配置是否正确"
})
Expand All @@ -135,7 +149,7 @@
}
}
}

newestCommentInit()
document.addEventListener('pjax:complete', newestCommentInit)
})
Expand All @@ -151,7 +165,7 @@
padding: 10px 0;
background: #FFF;
}

@media only screen and (max-width: 600px) {
.atk-sidebar-layer {
width: 100%;
Expand All @@ -161,46 +175,48 @@
border-radius: 0
}
}

.atk-layer-wrap .atk-layer-mask {
backdrop-filter: blur(10px);
}

.atk-main-editor>.atk-bottom .atk-plug-btn:not(:last-child) {
.atk-main-editor > .atk-bottom .atk-plug-btn:not(:last-child) {
border-right: 1px solid var(--at-color-border);
}

.atk-main-editor>.atk-bottom .atk-plug-btn {
.atk-main-editor > .atk-bottom .atk-plug-btn {
display: inline-flex;
align-content: center;
justify-content: center;
}

.atk-comment>.atk-avatar {
.atk-comment > .atk-avatar {
width: 48px;
height: 48px
}

.atk-comment>.atk-avatar img {
.atk-comment > .atk-avatar img {
width: 48px;
height: 48px;
border-radius: 50%;
transition: all .3s ease;
}
.atk-comment>.atk-avatar img:hover {

.atk-comment > .atk-avatar img:hover {
transform: scale(1.2);
border-radius: 4px
}

.atk-comment>.atk-avatar img.error:before {
.atk-comment > .atk-avatar img.error:before {
width: 48px !important;
height: 48px !important;
border-radius: 3px
}

.atk-comment>.atk-avatar img.error:after {
.atk-comment > .atk-avatar img.error:after {
display: none
}

#owo-big p {
color: var(--at-color-meta);
text-overflow: ellipsis;
Expand All @@ -209,10 +225,10 @@
text-align: center;
font-size: 12px;
margin: 0;
margin-top: -14px!important;
margin-top: -14px !important;
}


</style>

</th:block>
</th:block>

0 comments on commit aa9fe8b

Please sign in to comment.