Skip to content

Commit

Permalink
breaking changes: 更改 rightside-bottom 為 rightside_bottom
Browse files Browse the repository at this point in the history
feat: 置頂圖標改為在標題左側
feat: 可配置打賞按鈕的文字
feat: 側邊欄增加 系列文章顯示
feat: 增加 series 系列文章 標籤外掛
feat: 移除 addthis 分享
improvement: 代碼優化
improvement: tabs 標籤外掛的回到頂部箭頭位置調整
improvement: 更新 plugin.yml
  • Loading branch information
jerryc127 committed Jun 24, 2023
1 parent 507780e commit c67b430
Show file tree
Hide file tree
Showing 30 changed files with 222 additions and 121 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ npm i hexo-theme-butterfly
- [x] WordCount
- [x] Related articles
- [x] Displays outdated notice for a post
- [x] Share (AddThis/Sharejs/Addtoany)
- [x] Share (Sharejs/Addtoany)
- [X] Comment (Disqus/Disqusjs/Livere/Gitalk/Valine/Waline/Utterances/Facebook Comments/Twikoo/Giscus/Remark42/artalk)
- [x] Multiple Comment System Support
- [x] Online Chats (Chatra/Tidio/Daovoice/Crisp/messenger)
Expand Down
2 changes: 1 addition & 1 deletion README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ theme: butterfly
- [x] 顯示字數統計
- [x] 顯示相關文章
- [x] 過期文章提醒
- [x] 多種分享系統(AddThis/Sharejs/Addtoany)
- [x] 多種分享系統(Sharejs/Addtoany)
- [X] 多種評論系統(Disqus/Disqusjs/Livere/Gitalk/Valine/Waline/Utterances/Facebook Comments/Twikoo/Giscus/Remark42/artalk)
- [x] 支持雙評論部署
- [x] 多種在線聊天(Chatra/Tidio/Daovoice/Crisp/messenger)
Expand Down
19 changes: 12 additions & 7 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,10 @@ aside:
post_count: true
last_push_date: true
sort_order: # Don't modify the setting unless you know how it works
card_post_series:
enable: true
orderBy: 'date' # Order by title or date
order: -1 # Sort of order. 1, asc for ascending; -1, desc for descending

# busuanzi count for PV / UV in site
# 訪問人數
Expand Down Expand Up @@ -381,12 +385,6 @@ docsearch:
# Share System (分享)
# --------------------------------------

# AddThis
# https://www.addthis.com/
addThis:
enable: false
pubid:

# Share.js
# https://github.com/overtrue/share.js
sharejs:
Expand Down Expand Up @@ -651,7 +649,7 @@ mask:
footer: true

# the position of bottom right button/default unit: px (右下角按鈕距離底部的距離/默認單位為px)
rightside-bottom:
rightside_bottom:

# Enter transitions (開啓網頁進入效果)
enter_transitions: true
Expand Down Expand Up @@ -796,6 +794,13 @@ fancybox: true
# Tag Plugins settings (標籤外掛)
# --------------------------------------

# series (系列文章)
series:
enable: true
orderBy: 'title' # Order by title or date
order: 1 # Sort of order. 1, asc for ascending; -1, desc for descending
number: true

# abcjs (樂譜渲染)
# See https://github.com/paulrosen/abcjs
abcjs:
Expand Down
2 changes: 1 addition & 1 deletion languages/default.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ page:

card_post_count: comments

sticky: Sticky
no_title: No title

post:
Expand Down Expand Up @@ -83,6 +82,7 @@ aside:
link: link
code: code
card_toc: Catalog
card_post_series: Series

date_suffix:
just: Just
Expand Down
2 changes: 1 addition & 1 deletion languages/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ page:

card_post_count: comments

sticky: Sticky
no_title: No title

post:
Expand Down Expand Up @@ -83,6 +82,7 @@ aside:
link: link
code: code
card_toc: Catalog
card_post_series: Series

date_suffix:
just: Just
Expand Down
2 changes: 1 addition & 1 deletion languages/zh-CN.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ page:

card_post_count: 条评论

sticky: 置顶
no_title: 无题

post:
Expand Down Expand Up @@ -84,6 +83,7 @@ aside:
link: 链接
code: 代码
card_toc: 目录
card_post_series: 系列文章

date_suffix:
just: 刚刚
Expand Down
2 changes: 1 addition & 1 deletion languages/zh-TW.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ page:

card_post_count: 條評論

sticky: 置頂
no_title: 無題

post:
Expand Down Expand Up @@ -84,6 +83,7 @@ aside:
link: 連結
code: 程式碼
card_toc: 目錄
card_post_series: 系列文章

date_suffix:
just: 剛剛
Expand Down
10 changes: 4 additions & 6 deletions layout/includes/mixins/post-ui.pug
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,11 @@ mixin postUI(posts)
else
div.post-bg(style=`background: ${post_cover}`)
.recent-post-info(class=no_cover)
a.article-title(href=url_for(link) title=title)= title
.article-meta-wrap
a.article-title(href=url_for(link) title=title)
if (is_home() && (article.top || article.sticky > 0))
span.article-meta
i.fas.fa-thumbtack.sticky
span.sticky= _p('sticky')
span.article-meta-separator |
i.fas.fa-thumbtack.sticky
= title
.article-meta-wrap
if (theme.post_meta.page.date_type)
span.post-meta-date
if (theme.post_meta.page.date_type === 'both')
Expand Down
2 changes: 1 addition & 1 deletion layout/includes/post/reward.pug
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.post-reward
.reward-button
i.fas.fa-qrcode
= ' ' + _p('donate')
= theme.reward.text || _p('donate')
.reward-main
ul.reward-all
each item in theme.reward.QR_code
Expand Down
2 changes: 0 additions & 2 deletions layout/includes/third-party/share/add-this.pug

This file was deleted.

4 changes: 1 addition & 3 deletions layout/includes/third-party/share/index.pug
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
.post_share
if theme.addThis.enable
!=partial('includes/third-party/share/add-this', {}, {cache: true})
else if theme.sharejs.enable
if theme.sharejs.enable
include ./share-js.pug
else if theme.addtoany.enable
!=partial('includes/third-party/share/addtoany', {}, {cache: true})
21 changes: 21 additions & 0 deletions layout/includes/widget/card_post_series.pug
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
if theme.aside.card_post_series.enable
- const array = fragment_cache('seriesArr', groupPosts)
.card-widget.card-post-series
.item-headline
i.fa-solid.fa-layer-group
span= _p('aside.card_post_series')
.aside-list
each item in array[page.series]
- const { path, title = _p('no_title'), cover, cover_type, date:dateA } = item
- let link = url_for(path)
- let no_cover = cover === false || !theme.cover.aside_enable ? 'no-cover' : ''
.aside-list-item(class=no_cover)
if cover && theme.cover.aside_enable
a.thumbnail(href=link title=title)
if cover_type === 'img'
img(src=url_for(cover) onerror=`this.onerror=null;this.src='${url_for(theme.error_img.post_page)}'` alt=title)
else
div(style=`background: ${cover}`)
.content
a.title(href=link title=title)= title
time(datetime=date_xml(dateA) title=_p('post.created') + ' ' + full_date(dateA)) #[=date(dateA, config.date_format)]
2 changes: 2 additions & 0 deletions layout/includes/widget/index.pug
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
.sticky_layout
if showToc
include ./card_post_toc.pug
if page.series
include ./card_post_series.pug
!=partial('includes/widget/card_recent_post', {}, {cache: true})
!=partial('includes/widget/card_ad', {}, {cache: true})
else
Expand Down
14 changes: 7 additions & 7 deletions plugins.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
algolia_search:
name: algoliasearch
file: dist/algoliasearch-lite.umd.js
version: 4.17.1
version: 4.18.0
instantsearch:
name: instantsearch.js
file: dist/instantsearch.production.min.js
version: 4.56.1
version: 4.56.3
pjax:
name: pjax
file: pjax.min.js
Expand Down Expand Up @@ -64,16 +64,16 @@ katex:
name: katex
file: dist/katex.min.css
other_name: KaTeX
version: 0.16.7
version: 0.16.8
katex_copytex:
name: katex
file: dist/contrib/copy-tex.min.js
other_name: KaTeX
version: 0.16.7
version: 0.16.8
mermaid:
name: mermaid
file: dist/mermaid.min.js
version: 10.2.2
version: 10.2.3
canvas_ribbon:
name: butterfly-extsrc
file: dist/canvas-ribbon.min.js
Expand Down Expand Up @@ -202,12 +202,12 @@ docsearch_js:
name: '@docsearch/js'
other_name: docsearch-js
file: dist/umd/index.js
version: 3.4.0
version: 3.5.1
docsearch_css:
name: '@docsearch/css'
other_name: docsearch-css
file: dist/style.css
version: 3.4.0
version: 3.5.1
abcjs_basic_js:
name: abcjs
file: dist/abcjs-basic-min.js
Expand Down
22 changes: 22 additions & 0 deletions scripts/helpers/series.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
'use strict'

hexo.extend.helper.register('groupPosts', function () {
const getGroupArray = array => {
const groups = {}
array.forEach(item => {
const Key = item.series
if (!Key) return
groups[Key] = groups[Key] || []
groups[Key].push(item)
})
return groups
}

const sortPosts = posts => {
const { orderBy = 'date', order = 1 } = this.theme.aside.card_post_series
if (orderBy === 'title') return posts.sort('title', order)
return posts.sort('date', order)
}

return getGroupArray(sortPosts(this.site.posts))
})
12 changes: 2 additions & 10 deletions scripts/tag/button.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,9 @@

const urlFor = require('hexo-util').url_for.bind(hexo)

function btn (args) {
const btn = args => {
args = args.join(' ').split(',')
let url = args[0] || ''
let text = args[1] || ''
let icon = args[2] || ''
let option = args[3] || ''

url = url.trim()
text = text.trim()
icon = icon.trim()
option = option.trim()
const [url = '', text = '', icon = '', option = ''] = args.map(arg => arg.trim())

return `<a class="btn-beautify ${option}" href="${urlFor(url)}"
title="${text}">${icon.length ? `<i class="${icon}"></i>` : ''}${text.length ? `<span>${text}</span>` : ''}</a>`
Expand Down
15 changes: 7 additions & 8 deletions scripts/tag/gallery.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

const urlFor = require('hexo-util').url_for.bind(hexo)

function gallery (args, content) {
const gallery = (args, content) => {
const { data, languages } = hexo.theme.i18n
args = args.join(' ').split(',')
let rowHeight, limit, lazyload, type, dataStr
Expand Down Expand Up @@ -47,19 +47,18 @@ function gallery (args, content) {
</div>`
}

function galleryGroup (args) {
const name = args[0]
const descr = args[1]
const url = urlFor(args[2])
const img = urlFor(args[3])
const galleryGroup = args => {
const [name, descr, url, img] = args
const imgUrl = urlFor(img)
const urlLink = urlFor(url)

return `
<figure class="gallery-group">
<img class="gallery-group-img no-lightbox" src='${img}' alt="Group Image Gallery">
<img class="gallery-group-img no-lightbox" src='${imgUrl}' alt="Group Image Gallery">
<figcaption>
<div class="gallery-group-name">${name}</div>
<p>${descr}</p>
<a href='${url}'></a>
<a href='${urlLink}'></a>
</figcaption>
</figure>
`
Expand Down
Loading

0 comments on commit c67b430

Please sign in to comment.