mirror of
https://github.com/jerryc127/hexo-theme-butterfly.git
synced 2026-04-10 21:17:07 +08:00
1. 部分配置更改 feat: 1. 移除 messenger 聊天插件 2. 更新 fackbook 版本號 3. 增加 香港繁體、日文和韓語 4. 使用的新的複製api 代替舊的 5. 增加 umami 分析 6. 增加 umami 獲取訪問量/訪客數 7. snackbar 增加透明度 8. 文章頁下, nav fixed 下 顯示文章標題 improvement: 1. 代碼優化 2. 修改部分用語 3. 回復之前的相對時間邏輯 4. timeline tag 樣式優化 5. 優化 seo 6. 優化 artalk 的最新評論 fix: 1. tag-hide toggle 圓角問題 2. lazyload 為 false 時,artalk 無法正常加載評論的 bug 3. 修復 gallery 出現抖動的 bug
42 lines
1.3 KiB
JavaScript
42 lines
1.3 KiB
JavaScript
/**
|
|
* timeline
|
|
* by Jerry
|
|
*/
|
|
|
|
'use strict'
|
|
|
|
const timeLineFn = (args, content) => {
|
|
const tlBlock = /<!--\s*timeline (.*?)\s*-->\n([\w\W\s\S]*?)<!--\s*endtimeline\s*-->/g
|
|
|
|
let result = ''
|
|
let color = ''
|
|
let text = ''
|
|
if (args.length) {
|
|
[text, color] = args.join(' ').split(',')
|
|
const mdContent = hexo.render.renderSync({ text, engine: 'markdown' })
|
|
result += `<div class='timeline-item headline'><div class='timeline-item-title'><div class='item-circle'>${mdContent}</div></div></div>`
|
|
}
|
|
|
|
const matches = []
|
|
let match
|
|
|
|
while ((match = tlBlock.exec(content)) !== null) {
|
|
matches.push(match[1])
|
|
matches.push(match[2])
|
|
}
|
|
|
|
for (let i = 0; i < matches.length; i += 2) {
|
|
const tlChildTitle = hexo.render.renderSync({ text: matches[i], engine: 'markdown' })
|
|
const tlChildContent = hexo.render.renderSync({ text: matches[i + 1], engine: 'markdown' })
|
|
|
|
const tlTitleHtml = `<div class='timeline-item-title'><div class='item-circle'>${tlChildTitle}</div></div>`
|
|
const tlContentHtml = `<div class='timeline-item-content'>${tlChildContent}</div>`
|
|
|
|
result += `<div class='timeline-item'>${tlTitleHtml + tlContentHtml}</div>`
|
|
}
|
|
|
|
return `<div class="timeline ${color || ''}">${result}</div>`
|
|
}
|
|
|
|
hexo.extend.tag.register('timeline', timeLineFn, { ends: true })
|