Files
hexo-theme-butterfly/layout/includes/page/flink.pug
Jerry 18d9d652a0 feat: 美化 firefox 瀏覽器滾動條
fix: Utterances 評論區在多個頁面顯示的是同一個評論區
fix: 修復評論配置爲 Livere 和 Facebook Comments 時,最新評論模塊仍然顯示的 bug
improvement: blueimp_md5 CDN 可配置
improvement: timeline 優化
improvement: css優化
improvement: 友情鏈接優化
2022-01-15 00:30:01 +08:00

69 lines
2.9 KiB
Plaintext

#article-container
.flink
if page.flink_url
script.
(()=>{
const replaceSymbol = (str) => {
return str.replace(/[\p{P}\p{S}]/gu, '-')
}
let result = ''
fetch('!{url_for(page.flink_url)}')
.then(response => response.json())
.then(str => {
for(let i = 0; i < str.length; i++){
const replaceClassName = replaceSymbol(str[i].class_name)
const className = str[i].class_name ? `<h2 id='${replaceClassName}'><a href="#${replaceClassName}" class="headerlink" title="${str[i].class_name}"></a>${str[i].class_name}</h2>` : ''
const classDesc = str[i].class_desc ? `<div class='flink-desc'>${str[i].class_desc}</div>` : ''
let listResult = ''
const lists = str[i].link_list
for(let j = 0; j < lists.length; j++){
listResult += `
<div class="flink-list-item">
<a href='${lists[j].link}' title='${lists[j].name}' target='_blank'>
<div class='flink-item-icon'>
<img class='no-lightbox' src='${lists[j].avatar}' onerror='this.onerror=null;this.src="!{url_for(theme.error_img.flink)}"' alt='${lists[j].name}' />
</div>
<div class='flink-item-name'>${lists[j].name}</div>
<div class='flink-item-desc' title='${lists[j].descr}'>${lists[j].descr}</div>
</a>
</div>`
}
result += `${className}${classDesc} <div class='flink-list'>${listResult}</div>`
}
document.querySelector('.flink').insertAdjacentHTML('afterbegin', result)
})
})()
else
if site.data.link
- let result = ''
each i in site.data.link
- let className = i.class_name ? markdown(`## ${i.class_name}`) : ''
- let classDesc = i.class_desc ? `<div class='flink-desc'>${i.class_desc}</div>` : ''
- let listResult = ''
each j in i.link_list
-
listResult += `
<div class="flink-list-item">
<a href='${j.link}' title='${j.name}' target='_blank'>
<div class='flink-item-icon'>
<img class='no-lightbox' src='${j.avatar}' onerror='this.onerror=null;this.src="${url_for(theme.error_img.flink)}"' alt='${j.name}' />
</div>
<div class='flink-item-name'>${j.name}</div>
<div class='flink-item-desc' title='${j.descr}'>${j.descr}</div>
</a>
</div>`
-
- result += `${className}${classDesc} <div class='flink-list'>${listResult}</div>`
- page.content = result + page.content
!= page.content