mirror of
https://github.com/jerryc127/hexo-theme-butterfly.git
synced 2026-04-16 19:20:53 +08:00
✨ aplayer的間距調整
🐛 修復tabs外挂標簽與aplayer插件衝突而異常的bugs
This commit is contained in:
@@ -7,17 +7,17 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
function postTabs (args, content) {
|
function postTabs (args, content) {
|
||||||
var tabBlock = /<!--\s*tab (.*?)\s*-->\n([\w\W\s\S]*?)<!--\s*endtab\s*-->/g
|
const tabBlock = /<!--\s*tab (.*?)\s*-->\n([\w\W\s\S]*?)<!--\s*endtab\s*-->/g
|
||||||
|
|
||||||
args = args.join(' ').split(',')
|
args = args.join(' ').split(',')
|
||||||
var tabName = args[0]
|
const tabName = args[0]
|
||||||
var tabActive = Number(args[1]) || 0
|
const tabActive = Number(args[1]) || 0
|
||||||
|
|
||||||
var matches = []
|
const matches = []
|
||||||
var match
|
let match
|
||||||
var tabId = 0
|
let tabId = 0
|
||||||
var tabNav = ''
|
let tabNav = ''
|
||||||
var tabContent = ''
|
let tabContent = ''
|
||||||
|
|
||||||
!tabName && hexo.log.warn('Tabs block must have unique name!')
|
!tabName && hexo.log.warn('Tabs block must have unique name!')
|
||||||
|
|
||||||
@@ -26,12 +26,12 @@ function postTabs (args, content) {
|
|||||||
matches.push(match[2])
|
matches.push(match[2])
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var i = 0; i < matches.length; i += 2) {
|
for (let i = 0; i < matches.length; i += 2) {
|
||||||
var tabParameters = matches[i].split('@')
|
const tabParameters = matches[i].split('@')
|
||||||
var postContent = matches[i + 1]
|
let postContent = matches[i + 1]
|
||||||
var tabCaption = tabParameters[0] || ''
|
let tabCaption = tabParameters[0] || ''
|
||||||
var tabIcon = tabParameters[1] || ''
|
let tabIcon = tabParameters[1] || ''
|
||||||
var tabHref = ''
|
let tabHref = ''
|
||||||
|
|
||||||
postContent = hexo.render.renderSync({ text: postContent, engine: 'markdown' }).trim()
|
postContent = hexo.render.renderSync({ text: postContent, engine: 'markdown' }).trim()
|
||||||
|
|
||||||
@@ -40,14 +40,14 @@ function postTabs (args, content) {
|
|||||||
|
|
||||||
((tabCaption.length === 0) && (tabIcon.length === 0)) && (tabCaption = tabName + ' ' + tabId)
|
((tabCaption.length === 0) && (tabIcon.length === 0)) && (tabCaption = tabName + ' ' + tabId)
|
||||||
|
|
||||||
var isOnlyicon = tabIcon.length > 0 && tabCaption.length === 0 ? ' style="text-align: center;"' : ''
|
const isOnlyicon = tabIcon.length > 0 && tabCaption.length === 0 ? ' style="text-align: center;"' : ''
|
||||||
var icon = tabIcon.trim()
|
const icon = tabIcon.trim()
|
||||||
tabIcon.length > 0 && (tabIcon = `<i class="${icon}"${isOnlyicon}></i>`)
|
tabIcon.length > 0 && (tabIcon = `<i class="${icon}"${isOnlyicon}></i>`)
|
||||||
|
|
||||||
var toTop = '<button class="tab-to-top" onclick="scrollToDest($(this).parents(\'.tabs\'),65)"><i class="fas fa-arrow-up"></i></button>'
|
const toTop = '<button class="tab-to-top" onclick="scrollToDest($(this).parents(\'.tabs\'),65)"><i class="fas fa-arrow-up"></i></button>'
|
||||||
|
|
||||||
var isActive = (tabActive > 0 && tabActive === tabId) || (tabActive === 0 && tabId === 1) ? ' active' : ''
|
const isActive = (tabActive > 0 && tabActive === tabId) || (tabActive === 0 && tabId === 1) ? ' active' : ''
|
||||||
tabNav += `<li class="tab${isActive}"><a href="#${tabHref}">${tabIcon + tabCaption.trim()}</a></li>`
|
tabNav += `<li class="tab${isActive}"><button data-href="#${tabHref}">${tabIcon + tabCaption.trim()}</button></li>`
|
||||||
tabContent += `<div class="tab-item-content${isActive}" id="${tabHref}">${postContent + toTop}</div>`
|
tabContent += `<div class="tab-item-content${isActive}" id="${tabHref}">${postContent + toTop}</div>`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,3 +85,8 @@ if hexo-config('beautify.enable')
|
|||||||
|
|
||||||
.has-jax
|
.has-jax
|
||||||
overflow: auto
|
overflow: auto
|
||||||
|
|
||||||
|
//aplayer
|
||||||
|
#article-container
|
||||||
|
.aplayer
|
||||||
|
margin: 0 0 1rem
|
||||||
@@ -288,19 +288,19 @@ if hexo-config('darkmode.enable') || hexo-config('display_mode') == 'dark'
|
|||||||
> .nav-tabs
|
> .nav-tabs
|
||||||
background: #2c2c2c
|
background: #2c2c2c
|
||||||
|
|
||||||
a
|
button
|
||||||
border-top: 2px solid #2c2c2c
|
border-top: 2px solid #2c2c2c
|
||||||
background: #2c2c2c
|
background: #2c2c2c
|
||||||
color: alpha(#FFFFFF, .6)
|
color: alpha(#FFFFFF, .6)
|
||||||
|
|
||||||
.tab:not(.active)
|
.tab:not(.active)
|
||||||
a
|
button
|
||||||
&:hover
|
&:hover
|
||||||
border-top: 2px solid lighten(#121212, 20)
|
border-top: 2px solid lighten(#121212, 20)
|
||||||
background: lighten(#121212, 20)
|
background: lighten(#121212, 20)
|
||||||
|
|
||||||
.active
|
.active
|
||||||
a
|
button
|
||||||
background: #121212
|
background: #121212
|
||||||
|
|
||||||
// 第三方
|
// 第三方
|
||||||
|
|||||||
@@ -143,12 +143,6 @@ if hexo-config('readmode')
|
|||||||
.tabs
|
.tabs
|
||||||
border: 2px solid rgba(255, 255, 255, .6)
|
border: 2px solid rgba(255, 255, 255, .6)
|
||||||
|
|
||||||
> .nav-tabs
|
|
||||||
filter: none
|
|
||||||
|
|
||||||
a
|
|
||||||
color: rgba(255, 255, 255, .6)
|
|
||||||
|
|
||||||
.read-mode
|
.read-mode
|
||||||
#body-wrap
|
#body-wrap
|
||||||
padding-left: 0 !important
|
padding-left: 0 !important
|
||||||
@@ -236,7 +230,7 @@ if hexo-config('readmode')
|
|||||||
> .tab
|
> .tab
|
||||||
border-bottom: 0
|
border-bottom: 0
|
||||||
|
|
||||||
a
|
button
|
||||||
border-top: none !important
|
border-top: none !important
|
||||||
background: transparent
|
background: transparent
|
||||||
|
|
||||||
@@ -244,7 +238,7 @@ if hexo-config('readmode')
|
|||||||
background: none !important
|
background: none !important
|
||||||
|
|
||||||
&.active
|
&.active
|
||||||
a
|
button
|
||||||
text-decoration: underline
|
text-decoration: underline
|
||||||
|
|
||||||
> .tab-contents .tab-item-content.active
|
> .tab-contents .tab-item-content.active
|
||||||
|
|||||||
@@ -20,26 +20,25 @@
|
|||||||
@media screen and (max-width: 768px)
|
@media screen and (max-width: 768px)
|
||||||
flex-grow: 1
|
flex-grow: 1
|
||||||
|
|
||||||
a
|
button
|
||||||
display: block
|
display: block
|
||||||
padding: .5rem .8rem
|
padding: .5rem 1rem
|
||||||
outline: 0
|
|
||||||
border-top: 2px solid $tab-border-color
|
border-top: 2px solid $tab-border-color
|
||||||
background: $tab-botton-bg
|
background: $tab-botton-bg
|
||||||
color: $font-color
|
color: $font-color
|
||||||
text-align: center
|
width 100%
|
||||||
|
line-height: 2
|
||||||
transition: all .4s
|
transition: all .4s
|
||||||
|
|
||||||
&:hover
|
&:hover
|
||||||
border-top: 2px solid $tab-button-hover-bg
|
border-top: 2px solid $tab-button-hover-bg
|
||||||
background: $tab-button-hover-bg
|
background: $tab-button-hover-bg
|
||||||
text-decoration: none
|
|
||||||
|
|
||||||
i
|
i
|
||||||
width: 1.5em
|
width: 1.5em
|
||||||
|
|
||||||
&.active
|
&.active
|
||||||
a
|
button
|
||||||
border-top: 2px solid $tab-active-border-color
|
border-top: 2px solid $tab-active-border-color
|
||||||
background: $card-bg
|
background: $card-bg
|
||||||
cursor: default
|
cursor: default
|
||||||
|
|||||||
@@ -760,20 +760,19 @@ $(function () {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
var $tab = $('#article-container .tabs')
|
const $tab = $('#article-container .tabs')
|
||||||
$tab.find('.tab a').on('click', function (e) {
|
$tab.find('.tab button').on('click', function (e) {
|
||||||
e.preventDefault()
|
const $this = $(this)
|
||||||
var $this = $(this)
|
const $tabItem = $this.parent()
|
||||||
var $tabItem = $this.parent()
|
|
||||||
|
|
||||||
if (!$tabItem.hasClass('active')) {
|
if (!$tabItem.hasClass('active')) {
|
||||||
var $tacbContent = $this.parents('.nav-tabs').next()
|
const $tacbContent = $this.parents('.nav-tabs').next()
|
||||||
$tabItem.siblings('.active').removeClass('active')
|
$tabItem.siblings('.active').removeClass('active')
|
||||||
$tabItem.addClass('active')
|
$tabItem.addClass('active')
|
||||||
var tabId = $this.attr('href')
|
const tabId = $this.attr('data-href')
|
||||||
$tacbContent.find('> .tab-item-content').removeClass('active')
|
$tacbContent.find('> .tab-item-content').removeClass('active')
|
||||||
$tacbContent.find(`> ${tabId}`).addClass('active')
|
$tacbContent.find(`> ${tabId}`).addClass('active')
|
||||||
var $isTabJustifiedGallery = $tacbContent.find(tabId).find('.justified-gallery')
|
const $isTabJustifiedGallery = $tacbContent.find(tabId).find('.justified-gallery')
|
||||||
if (isJustifiedGallery && $isTabJustifiedGallery.length > 0) {
|
if (isJustifiedGallery && $isTabJustifiedGallery.length > 0) {
|
||||||
initJustifiedGallery($isTabJustifiedGallery)
|
initJustifiedGallery($isTabJustifiedGallery)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user