mirror of
https://github.com/jerryc127/hexo-theme-butterfly.git
synced 2026-04-17 04:40:53 +08:00
🏷️ 2.3.0發佈
This commit is contained in:
@@ -192,6 +192,13 @@ img:not([src])
|
||||
|
||||
.img-alt
|
||||
margin: -.5rem 0 .5rem
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
color: $font-black
|
||||
|
||||
&:hover
|
||||
text-decoration: none !important
|
||||
>>>>>>> dev
|
||||
|
||||
// hexo tag video
|
||||
.video-container
|
||||
@@ -209,41 +216,17 @@ img:not([src])
|
||||
width: 100%
|
||||
height: 100%
|
||||
|
||||
// tag-hide
|
||||
.hide-inline,
|
||||
.hide-block
|
||||
& > .hide-button
|
||||
position: relative
|
||||
z-index: 1
|
||||
display: inline-block
|
||||
padding: 0 1rem
|
||||
background: $tag-hide-bg
|
||||
text-align: center
|
||||
cursor: pointer
|
||||
|
||||
&:hover
|
||||
text-decoration: none !important
|
||||
|
||||
& > .hide-content
|
||||
display: none
|
||||
|
||||
.hide-inline
|
||||
& > .hide-button
|
||||
margin: 0 .3rem
|
||||
|
||||
& > .hide-content
|
||||
margin: 0 .3rem
|
||||
|
||||
.hide-block
|
||||
margin: 0 0 .8rem
|
||||
|
||||
.comment_headling
|
||||
margin-bottom: 10px
|
||||
font-weight: 700
|
||||
font-size: 20px
|
||||
|
||||
.post-ad
|
||||
<<<<<<< HEAD
|
||||
margin: 2rem 0 !important
|
||||
=======
|
||||
margin: 2rem 0
|
||||
>>>>>>> dev
|
||||
|
||||
.ad_height
|
||||
display: block !important
|
||||
@@ -256,16 +239,22 @@ img:not([src])
|
||||
#nav
|
||||
animation: nav-effect 1s
|
||||
|
||||
<<<<<<< HEAD
|
||||
// #page-header
|
||||
// animation: header-effect 1s
|
||||
=======
|
||||
>>>>>>> dev
|
||||
#site_title,
|
||||
#site_subtitle
|
||||
animation: titlescale 1s
|
||||
|
||||
canvas,
|
||||
canvas:not(#ribbon-canvas),
|
||||
#web_bg
|
||||
animation: to_show 4s
|
||||
|
||||
#ribbon-canvas
|
||||
animation: ribbon_to_show 4s
|
||||
|
||||
.card-announcement-animation
|
||||
color: #FF0000
|
||||
animation: announ_animation .8s linear infinite
|
||||
@@ -292,10 +281,14 @@ if hexo-config('avatar.effect') == true
|
||||
|
||||
.tocOpenMobile
|
||||
.sidebar-toc__title
|
||||
animation: tocsidebarRtoL .5s
|
||||
animation: tocsidebarRtoL .4s
|
||||
|
||||
.sidebar-toc__progress
|
||||
<<<<<<< HEAD
|
||||
animation: tocsidebarRtoL .7s
|
||||
=======
|
||||
animation: tocsidebarRtoL .6s
|
||||
>>>>>>> dev
|
||||
|
||||
.sidebar-toc__content
|
||||
animation: tocsidebarRtoL .9s
|
||||
@@ -322,6 +315,7 @@ if hexo-config('avatar.effect') == true
|
||||
opacity: 1
|
||||
transform: translateY(0)
|
||||
|
||||
<<<<<<< HEAD
|
||||
@keyframes header-effect
|
||||
0%
|
||||
opacity: 0
|
||||
@@ -334,6 +328,8 @@ if hexo-config('avatar.effect') == true
|
||||
opacity: 1
|
||||
transform: translateY(0)
|
||||
|
||||
=======
|
||||
>>>>>>> dev
|
||||
@keyframes headerNoOpacity
|
||||
0%
|
||||
transform: translateY(-50px)
|
||||
@@ -375,6 +371,13 @@ if hexo-config('avatar.effect') == true
|
||||
100%
|
||||
opacity: 1
|
||||
|
||||
@keyframes ribbon_to_show
|
||||
0%
|
||||
opacity: 0
|
||||
|
||||
100%
|
||||
opacity: hexo-config('canvas_ribbon.alpha')
|
||||
|
||||
@keyframes avatar_turn_around
|
||||
from
|
||||
transform: rotate(0)
|
||||
|
||||
@@ -271,6 +271,3 @@ blockquote
|
||||
background: darken($highlight-background, 5)
|
||||
color: $highlight-foreground
|
||||
font-size: 14px
|
||||
|
||||
.highlight-close
|
||||
height: 0 !important
|
||||
@@ -16,14 +16,13 @@
|
||||
|
||||
.card-info
|
||||
img
|
||||
display: inline-block
|
||||
width: 110px
|
||||
height: 110px
|
||||
border-radius: 70px
|
||||
transition: all .3s
|
||||
transition: all .5s
|
||||
|
||||
&:hover
|
||||
transform: rotate(540deg)
|
||||
transform: rotate(360deg)
|
||||
|
||||
.author-info
|
||||
&__name
|
||||
@@ -34,23 +33,24 @@
|
||||
margin-top: -.3rem
|
||||
|
||||
.card-info-data
|
||||
display: table
|
||||
padding: .7rem 0
|
||||
width: 100%
|
||||
table-layout: fixed
|
||||
|
||||
& > .card-info-data-item
|
||||
display: inline-block
|
||||
width: 33.3%
|
||||
display: table-cell
|
||||
|
||||
a
|
||||
.headline
|
||||
display: block
|
||||
overflow: hidden
|
||||
color: $font-black
|
||||
// text-transform: uppercase
|
||||
text-overflow: ellipsis
|
||||
white-space: nowrap
|
||||
font-size: .7rem
|
||||
|
||||
.length_num
|
||||
margin-top: -.3rem
|
||||
color: $dark-black
|
||||
font-size: 1rem
|
||||
|
||||
@@ -75,7 +75,6 @@
|
||||
display: block
|
||||
background-color: $light-blue
|
||||
color: $button-color
|
||||
text-transform: uppercase
|
||||
line-height: 1.6rem
|
||||
|
||||
span
|
||||
@@ -92,7 +91,8 @@
|
||||
|
||||
.card-tag-cloud
|
||||
a
|
||||
word-break: keep-all
|
||||
display: inline-block
|
||||
padding: 0 .1rem
|
||||
|
||||
&:hover
|
||||
color: $light-blue !important
|
||||
@@ -147,20 +147,20 @@
|
||||
.aside-post_title
|
||||
height: auto
|
||||
|
||||
.card-archives ul.archive-list,
|
||||
.card-categories ul.aside-category-item
|
||||
.card-archives ul.card-archive-list,
|
||||
.card-categories ul.card-category-list
|
||||
margin: 0
|
||||
padding: .2rem 0 0
|
||||
list-style: none
|
||||
|
||||
.card-archives ul.archive-list > .archive-list-item,
|
||||
.card-categories ul.aside-category-item > .aside-category-list
|
||||
padding: .2rem 1rem
|
||||
.card-archives ul.card-archive-list > .card-archive-list-item,
|
||||
.card-categories ul.card-category-list > .card-category-list-item
|
||||
padding: .15rem 1rem
|
||||
cursor: pointer
|
||||
transition: all .3s
|
||||
transition: all .5s
|
||||
|
||||
&:hover
|
||||
padding: .2rem .85rem
|
||||
padding: .15rem .85rem
|
||||
background-color: $light-blue
|
||||
|
||||
a
|
||||
@@ -180,8 +180,18 @@
|
||||
width: 20%
|
||||
text-align: right
|
||||
|
||||
&.more
|
||||
span
|
||||
padding-right: .3rem
|
||||
width: auto !important
|
||||
transition: .5s
|
||||
|
||||
&:hover
|
||||
span
|
||||
padding-right: .6rem
|
||||
|
||||
.card-categories
|
||||
.aside-category-item
|
||||
.card-category-list
|
||||
&.child
|
||||
padding: 0 0 0 1.2rem
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
margin: 0 .5rem
|
||||
color: $light-grey
|
||||
text-shadow: .1rem .1rem .2rem rgba(0, 0, 0, .15)
|
||||
font-size: .9rem
|
||||
font-size: 1rem
|
||||
cursor: pointer
|
||||
|
||||
#scroll_down
|
||||
@@ -246,14 +246,24 @@
|
||||
content: ''
|
||||
|
||||
li
|
||||
<<<<<<< HEAD
|
||||
padding: 1px 10px
|
||||
list-style: none
|
||||
text-align: center
|
||||
=======
|
||||
list-style: none
|
||||
>>>>>>> dev
|
||||
|
||||
&:hover
|
||||
background: $theme-color
|
||||
|
||||
a
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
display: inline-block
|
||||
padding: .3rem .7rem
|
||||
width: 100%
|
||||
>>>>>>> dev
|
||||
color: $font-black
|
||||
text-shadow: none
|
||||
|
||||
@@ -311,4 +321,13 @@
|
||||
|
||||
.post-meta-pv-cv
|
||||
.post-meta__separator:first-child
|
||||
display: none
|
||||
<<<<<<< HEAD
|
||||
display: none
|
||||
=======
|
||||
display: none
|
||||
|
||||
if !hexo-config('busuanzi.page_pv')
|
||||
.post-meta-commentcount
|
||||
.post-meta__separator
|
||||
display: none
|
||||
>>>>>>> dev
|
||||
|
||||
94
source/css/_layout/loadding.styl
Normal file
94
source/css/_layout/loadding.styl
Normal file
@@ -0,0 +1,94 @@
|
||||
if hexo-config('preloader')
|
||||
loading-bg()
|
||||
position: fixed
|
||||
z-index: 1000
|
||||
width: 50%
|
||||
height: 100%
|
||||
background-color: $preloader-bg
|
||||
transition: all .5s
|
||||
|
||||
#loading-box
|
||||
.loading-left-bg
|
||||
loading-bg()
|
||||
|
||||
.loading-right-bg
|
||||
loading-bg()
|
||||
right: 0
|
||||
|
||||
.spinner-box
|
||||
position: fixed
|
||||
z-index: 1001
|
||||
display: flex
|
||||
justify-content: center
|
||||
align-items: center
|
||||
width: 100%
|
||||
height: 100vh
|
||||
|
||||
.configure-border-1
|
||||
position: absolute
|
||||
padding: 3px
|
||||
width: 115px
|
||||
height: 115px
|
||||
background: #ffab91
|
||||
animation: configure-clockwise 3s ease-in-out 0s infinite alternate
|
||||
|
||||
.configure-border-2
|
||||
left: -115px
|
||||
padding: 3px
|
||||
width: 115px
|
||||
height: 115px
|
||||
background: rgb(63, 249, 220)
|
||||
transform: rotate(45deg)
|
||||
animation: configure-xclockwise 3s ease-in-out 0s infinite alternate
|
||||
|
||||
.loading-word
|
||||
position: absolute
|
||||
color: $white
|
||||
font-size: .8rem
|
||||
|
||||
.configure-core
|
||||
width: 100%
|
||||
height: 100%
|
||||
background-color: $preloader-bg
|
||||
|
||||
&.loaded
|
||||
.loading-left-bg
|
||||
transform: translate(-100%, 0)
|
||||
|
||||
.loading-right-bg
|
||||
transform: translate(100%, 0)
|
||||
|
||||
.spinner-box
|
||||
display: none
|
||||
|
||||
@keyframes configure-clockwise
|
||||
0%
|
||||
transform: rotate(0)
|
||||
|
||||
25%
|
||||
transform: rotate(90deg)
|
||||
|
||||
50%
|
||||
transform: rotate(180deg)
|
||||
|
||||
75%
|
||||
transform: rotate(270deg)
|
||||
|
||||
100%
|
||||
transform: rotate(360deg)
|
||||
|
||||
@keyframes configure-xclockwise
|
||||
0%
|
||||
transform: rotate(45deg)
|
||||
|
||||
25%
|
||||
transform: rotate(-45deg)
|
||||
|
||||
50%
|
||||
transform: rotate(-135deg)
|
||||
|
||||
75%
|
||||
transform: rotate(-225deg)
|
||||
|
||||
100%
|
||||
transform: rotate(-315deg)
|
||||
@@ -27,19 +27,22 @@
|
||||
text-align: center
|
||||
|
||||
img
|
||||
display: inline-block
|
||||
padding: 0
|
||||
width: 110px
|
||||
height: 110px
|
||||
border-radius: 70px
|
||||
transition: all .3s
|
||||
transition: all .5s
|
||||
|
||||
&:hover
|
||||
transform: rotate(360deg)
|
||||
|
||||
.mobile_post_data
|
||||
display: table
|
||||
padding: .6rem .5rem 0
|
||||
width: 100%
|
||||
table-layout: fixed
|
||||
|
||||
.mobile_data_item
|
||||
display: inline-block
|
||||
width: 33.3%
|
||||
display: table-cell
|
||||
|
||||
.mobile_data_link
|
||||
& > a > div
|
||||
@@ -54,15 +57,13 @@
|
||||
.headline
|
||||
display: block
|
||||
color: $font-black
|
||||
// text-transform: uppercase
|
||||
font-size: .7rem
|
||||
|
||||
hr
|
||||
margin: 1rem auto
|
||||
|
||||
.menus_items
|
||||
margin-bottom: 5rem
|
||||
padding: 0 .5rem
|
||||
padding: 0 .5rem 2rem
|
||||
|
||||
.site-page
|
||||
position: relative
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
display: -webkit-box
|
||||
overflow: hidden
|
||||
margin-top: .3rem
|
||||
height: 85px
|
||||
// height: 85px
|
||||
word-break: break-word
|
||||
-webkit-line-clamp: 3
|
||||
-webkit-box-orient: vertical
|
||||
@@ -270,7 +270,7 @@
|
||||
-webkit-box-orient: vertical
|
||||
|
||||
&:hover
|
||||
color: $light-blue
|
||||
color: $light-blue !important
|
||||
transform: translateX(20px)
|
||||
|
||||
&__img
|
||||
@@ -379,4 +379,10 @@
|
||||
@media screen and (max-width: 900px)
|
||||
.layout_page
|
||||
& > div:first-child:not(.recent-posts)
|
||||
width: 100% !important
|
||||
width: 100% !important
|
||||
|
||||
// ie10-ios11使用
|
||||
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
|
||||
.recent-post-info
|
||||
.content
|
||||
height: 90px
|
||||
|
||||
@@ -163,9 +163,6 @@ a.fancybox
|
||||
width: 100%
|
||||
text-align: center
|
||||
|
||||
p
|
||||
margin: 0 0 .8rem
|
||||
|
||||
img
|
||||
max-width: 100%
|
||||
transition: all .2s
|
||||
@@ -328,6 +325,9 @@ img
|
||||
img
|
||||
margin: 0 auto .8rem
|
||||
|
||||
p
|
||||
margin: 0 0 .8rem
|
||||
|
||||
@media screen and (max-width: 1024px)
|
||||
.layout_post
|
||||
width: auto
|
||||
@@ -337,4 +337,15 @@ img
|
||||
padding: 1rem 5px
|
||||
|
||||
& > #post
|
||||
padding: 1.8rem .7rem
|
||||
padding: 1.8rem .7rem
|
||||
|
||||
// adjust the layout width in big screen
|
||||
@media screen and (min-width: $lr)
|
||||
.layout_post
|
||||
max-width: 1300px
|
||||
|
||||
.layout_page
|
||||
max-width: 1500px
|
||||
|
||||
&.hide-aside
|
||||
max-width: 1300px
|
||||
@@ -1,28 +1,25 @@
|
||||
if hexo-config('valine.enable')
|
||||
// valine
|
||||
#vcomment
|
||||
button
|
||||
padding: .3rem 1rem
|
||||
padding: .3rem .8rem
|
||||
border-color: $button-color
|
||||
background-color: $light-blue
|
||||
color: $button-color
|
||||
font-size: .7rem
|
||||
transition: all .3s
|
||||
|
||||
&:hover
|
||||
background-color: $theme-button-hover-color
|
||||
|
||||
textarea
|
||||
if hexo-config('valine.bg')
|
||||
if hexo-config('valine.bg')
|
||||
textarea
|
||||
background: url(hexo-config('valine.bg')) 100% 100% no-repeat
|
||||
|
||||
.info
|
||||
display: none
|
||||
|
||||
.vimg
|
||||
border: 0
|
||||
transition: all .3s
|
||||
|
||||
&:hover
|
||||
transform: rotate(540deg)
|
||||
transform: rotate(360deg)
|
||||
|
||||
.vat
|
||||
padding: 0 .8rem
|
||||
@@ -30,6 +27,7 @@ if hexo-config('valine.enable')
|
||||
border-radius: 5px
|
||||
color: $light-blue
|
||||
font-size: .7125rem
|
||||
transition: all .3s
|
||||
|
||||
&:hover
|
||||
background-color: $light-blue
|
||||
|
||||
@@ -39,25 +39,43 @@ if hexo-config('darkmode.enable') || hexo-config('display_mode') == 'dark'
|
||||
.article-title
|
||||
color: alpha(#FFFFFF, .8) !important
|
||||
|
||||
#page-header
|
||||
&.fixed
|
||||
background: alpha(#121212, .8)
|
||||
box-shadow: 0 5px 6px -5px rgba(133, 133, 133, 0)
|
||||
// 頭部
|
||||
#nav
|
||||
&:before
|
||||
position: absolute
|
||||
top: 0
|
||||
right: 0
|
||||
bottom: 0
|
||||
left: 0
|
||||
background-color: alpha($dark-black, .7)
|
||||
content: ''
|
||||
|
||||
.toggle-menu,
|
||||
#site-name,
|
||||
& > #page-header
|
||||
a
|
||||
color: alpha(#FFFFFF, .8)
|
||||
color: alpha(#FFFFFF, .8) !important
|
||||
|
||||
.menus_item_child
|
||||
background-color: lighten(#121212, 5) !important
|
||||
|
||||
li
|
||||
&:hover
|
||||
background: lighten(#121212, 20)
|
||||
&.fixed
|
||||
background: alpha(#121212, .8)
|
||||
box-shadow: 0 5px 6px -5px rgba(133, 133, 133, 0)
|
||||
|
||||
.toggle-menu,
|
||||
#site-name,
|
||||
a
|
||||
color: alpha(#FFFFFF, .6)
|
||||
color: alpha(#FFFFFF, .8)
|
||||
|
||||
.menus_item_child
|
||||
background-color: lighten(#121212, 5) !important
|
||||
|
||||
li
|
||||
&:hover
|
||||
background: lighten(#121212, 20) !important
|
||||
|
||||
a
|
||||
color: alpha(#FFFFFF, .8)
|
||||
|
||||
#site_subtitle
|
||||
& > span
|
||||
color: alpha(#FFFFFF, .6)
|
||||
|
||||
// 代碼框
|
||||
#article-container pre,
|
||||
@@ -109,6 +127,9 @@ if hexo-config('darkmode.enable') || hexo-config('display_mode') == 'dark'
|
||||
.post-copyright-info
|
||||
color: alpha(#FFFFFF, .6)
|
||||
|
||||
&:after
|
||||
background: #121212
|
||||
|
||||
// 音樂播放器
|
||||
.aplayer
|
||||
filter: brightness(.7)
|
||||
@@ -120,11 +141,11 @@ if hexo-config('darkmode.enable') || hexo-config('display_mode') == 'dark'
|
||||
& > i,
|
||||
& > a,
|
||||
& > div
|
||||
background-color: lighten(#121212, 5) !important
|
||||
color: alpha(#FFFFFF, .6) !important
|
||||
background-color: lighten(#121212, 5)
|
||||
color: alpha(#FFFFFF, .6)
|
||||
|
||||
&:hover
|
||||
background: lighten(#121212, 20) !important
|
||||
background: lighten(#121212, 20)
|
||||
|
||||
// 打賞按鈕
|
||||
.post-reward
|
||||
@@ -138,8 +159,8 @@ if hexo-config('darkmode.enable') || hexo-config('display_mode') == 'dark'
|
||||
border-top: 13px solid lighten(#121212, 10) !important
|
||||
|
||||
.md-links-item:before,
|
||||
.aside-category-list:hover,
|
||||
.archive-list-item:hover,
|
||||
.card-category-list-item:hover,
|
||||
.card-archive-list-item:hover,
|
||||
#bookmark-it
|
||||
background-color: lighten(#121212, 10) !important
|
||||
|
||||
@@ -156,33 +177,21 @@ if hexo-config('darkmode.enable') || hexo-config('display_mode') == 'dark'
|
||||
.headline,
|
||||
.length_num,
|
||||
.aside-post_title,
|
||||
.aside-category-list_link,
|
||||
.archive-list-link,
|
||||
.social-icon
|
||||
.card-category-list-link,
|
||||
.card-archive-list-link,
|
||||
.social-icon,
|
||||
.card-category-list-link-more,
|
||||
.card-archive-list-link-more
|
||||
color: alpha(#FFFFFF, .6) !important
|
||||
|
||||
.button--animated:before
|
||||
background: lighten(#121212, 20) !important
|
||||
background: lighten(#121212, 20)
|
||||
|
||||
// 頭部
|
||||
#nav
|
||||
&:before
|
||||
position: absolute
|
||||
top: 0
|
||||
right: 0
|
||||
bottom: 0
|
||||
left: 0
|
||||
background-color: alpha($dark-black, .7)
|
||||
content: ''
|
||||
|
||||
#nav span,
|
||||
#nav i,
|
||||
#page-header a,
|
||||
#page-header .toggle-menu,
|
||||
#post-meta,
|
||||
#post-meta a,
|
||||
#footer-wrap,
|
||||
#footer-wrap a
|
||||
#footer-wrap a,
|
||||
.img-alt
|
||||
color: alpha(#FFFFFF, .6) !important
|
||||
|
||||
.posttitle,
|
||||
@@ -215,11 +224,13 @@ if hexo-config('darkmode.enable') || hexo-config('display_mode') == 'dark'
|
||||
color: alpha(#FFFFFF, .8) !important
|
||||
|
||||
// 時間軸界面
|
||||
.article-sort-item__title
|
||||
color: alpha(#FFFFFF, .6)
|
||||
.article-sort
|
||||
&-item__title
|
||||
color: alpha(#FFFFFF, .6)
|
||||
|
||||
&:hover
|
||||
color: #49b1f5
|
||||
&-item:before,
|
||||
&-title:before
|
||||
background: #121212
|
||||
|
||||
// 手機 MENU,TOC
|
||||
#mobile-sidebar
|
||||
@@ -245,6 +256,10 @@ if hexo-config('darkmode.enable') || hexo-config('display_mode') == 'dark'
|
||||
filter: brightness(.7)
|
||||
color: #4c4948
|
||||
|
||||
// hide-tags
|
||||
.hide-button
|
||||
filter: brightness(.7)
|
||||
|
||||
// 第三方
|
||||
// 插件 hexo-blog-encrypt
|
||||
#hexo-blog-encrypt
|
||||
@@ -255,6 +270,9 @@ if hexo-config('darkmode.enable') || hexo-config('display_mode') == 'dark'
|
||||
input
|
||||
background-color: #121212
|
||||
|
||||
.mermaid
|
||||
filter: brightness(.7)
|
||||
|
||||
if hexo-config('gitalk') && hexo-config('gitalk.enable')
|
||||
#gitalk-container
|
||||
.gt-header-textarea,
|
||||
@@ -268,61 +286,16 @@ if hexo-config('darkmode.enable') || hexo-config('display_mode') == 'dark'
|
||||
fill: alpha(#FFFFFF, .6) !important
|
||||
|
||||
if hexo-config('valine') && hexo-config('valine.enable')
|
||||
// 評論
|
||||
#vcomment
|
||||
p,
|
||||
a,
|
||||
textarea,
|
||||
.vemoji-btn,
|
||||
.vpreview-btn,
|
||||
input,
|
||||
path,
|
||||
.vcount,
|
||||
.vnum,
|
||||
.vtime,
|
||||
.vsys,
|
||||
.vsys,
|
||||
.vnick
|
||||
color: alpha(#FFFFFF, .6) !important
|
||||
|
||||
.vsys
|
||||
background: rgb(97, 106, 107) !important
|
||||
|
||||
.vbtn,
|
||||
.vat
|
||||
border: 1px solid alpha(#FFFFFF, .6)
|
||||
background: lighten(#121212, 5) !important
|
||||
background: #121212 !important
|
||||
color: alpha(#FFFFFF, .6) !important
|
||||
|
||||
&:hover
|
||||
background: lighten(#121212, 20) !important
|
||||
|
||||
.vwrap
|
||||
border: 1px solid alpha(#FFFFFF, .6)
|
||||
|
||||
input
|
||||
border-bottom: 1px dashed #616a6b
|
||||
|
||||
.vh
|
||||
border-bottom: 1px dashed #616a6b
|
||||
|
||||
pre
|
||||
border: 1px solid alpha(#FFFFFF, .6)
|
||||
background-color: #121212
|
||||
|
||||
code
|
||||
background: transparent
|
||||
|
||||
code
|
||||
background-color: #2c2c2c
|
||||
color: alpha(#FFFFFF, .6)
|
||||
|
||||
.vcontent.expand:before
|
||||
background: linear-gradient(180deg, hsla(0, 0, 0, 0), hsl(218, 8%, 19%))
|
||||
|
||||
.vcontent.expand:after
|
||||
background: hsla(204, 5%, 22%, 1)
|
||||
|
||||
if hexo-config('local_search') && hexo-config('local_search.enable')
|
||||
#local-search
|
||||
background: #121212
|
||||
@@ -366,5 +339,12 @@ if hexo-config('darkmode.enable') || hexo-config('display_mode') == 'dark'
|
||||
blockquote
|
||||
color: alpha(#FFFFFF, .6)
|
||||
|
||||
.mermaid
|
||||
filter: brightness(.7)
|
||||
if hexo-config('preloader')
|
||||
#loading-box
|
||||
.loading-left-bg,
|
||||
.loading-right-bg,
|
||||
.configure-core
|
||||
background-color: darken(#121212, 2)
|
||||
|
||||
.loading-word
|
||||
color: alpha(#FFFFFF, .6)
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
if hexo-config('readmode') && hexo-config('readmode.enable')
|
||||
[data-theme='light']
|
||||
$light-redmode-bg = #fff
|
||||
|
||||
.read-mode
|
||||
background: #fff
|
||||
background: $light-redmode-bg
|
||||
|
||||
#nav.post-bg
|
||||
a
|
||||
@@ -17,12 +19,12 @@ if hexo-config('readmode') && hexo-config('readmode.enable')
|
||||
|
||||
blockquote
|
||||
border-left: .2rem solid #ddd
|
||||
background-color: transparent
|
||||
background-color: $light-redmode-bg
|
||||
|
||||
ol,
|
||||
li
|
||||
&:before
|
||||
background: transparent
|
||||
background: $light-redmode-bg
|
||||
color: #4c4948
|
||||
|
||||
ul
|
||||
@@ -32,28 +34,40 @@ if hexo-config('readmode') && hexo-config('readmode.enable')
|
||||
|
||||
hr
|
||||
border: 2px dashed #d6dbdf
|
||||
background: transparent
|
||||
background: $light-redmode-bg
|
||||
|
||||
&:before
|
||||
color: darken(#d6dbdf, 10)
|
||||
|
||||
.hide-toggle
|
||||
border: 1px solid darken(#d6dbdf, 10) !important
|
||||
|
||||
.hide-button
|
||||
background: darken(#d6dbdf, 10) !important
|
||||
background: $light-redmode-bg !important
|
||||
color: #4c4948 !important
|
||||
|
||||
.hide-inline,
|
||||
.hide-block
|
||||
& >.hide-button
|
||||
border: 1px solid darken(#d6dbdf, 10)
|
||||
|
||||
& > .button--animated:before
|
||||
background: $light-redmode-bg
|
||||
|
||||
.note
|
||||
border: 2px solid #eee
|
||||
border-left-color: transparent
|
||||
background-color: transparent
|
||||
background-color: $light-redmode-bg
|
||||
|
||||
#mobile-sidebar-menus,
|
||||
#rightside i,
|
||||
#rightside i:not(.fa-cog),
|
||||
#rightside a,
|
||||
#rightside #rightside_config
|
||||
background: darken(#d6dbdf, 10) !important
|
||||
background: darken(#d6dbdf, 20) !important
|
||||
|
||||
[data-theme='dark']
|
||||
$dark-readmode-bg = #0d0d0d
|
||||
|
||||
.read-mode
|
||||
background: #0d0d0d
|
||||
background: $dark-readmode-bg
|
||||
|
||||
#article-container
|
||||
code
|
||||
@@ -61,12 +75,12 @@ if hexo-config('readmode') && hexo-config('readmode.enable')
|
||||
|
||||
blockquote
|
||||
border-left: .2rem solid rgba(255, 255, 255, .6)
|
||||
background-color: transparent
|
||||
background-color: $dark-readmode-bg
|
||||
|
||||
ol,
|
||||
li
|
||||
&:before
|
||||
background: transparent
|
||||
background: $dark-readmode-bg
|
||||
color: rgba(255, 255, 255, .6)
|
||||
|
||||
ul
|
||||
@@ -74,15 +88,27 @@ if hexo-config('readmode') && hexo-config('readmode.enable')
|
||||
&:before
|
||||
border: .15rem solid rgba(255, 255, 255, .6)
|
||||
|
||||
.note
|
||||
border: 2px solid rgba(255, 255, 255, .6)
|
||||
border-left-color: transparent
|
||||
filter: none
|
||||
background-color: transparent
|
||||
color: rgba(255, 255, 255, .6)
|
||||
.hide-toggle
|
||||
border: 1px solid rgba(255, 255, 255, .6) !important
|
||||
|
||||
.hide-button
|
||||
background: #1f1f1f !important
|
||||
background: $dark-readmode-bg !important
|
||||
filter: none
|
||||
color: rgba(255, 255, 255, .6) !important
|
||||
|
||||
.hide-inline,
|
||||
.hide-block
|
||||
& >.hide-button
|
||||
border: 1px solid rgba(255, 255, 255, .6)
|
||||
|
||||
& > .button--animated:before
|
||||
background: $dark-readmode-bg !important
|
||||
|
||||
.note
|
||||
border: 2px solid rgba(255, 255, 255, .6)
|
||||
filter: none
|
||||
background-color: $dark-readmode-bg
|
||||
color: rgba(255, 255, 255, .6)
|
||||
|
||||
.read-mode
|
||||
#body-wrap
|
||||
@@ -114,10 +140,6 @@ if hexo-config('readmode') && hexo-config('readmode.enable')
|
||||
.highlight
|
||||
display: block !important
|
||||
|
||||
#rightside
|
||||
#darkmode
|
||||
display: none
|
||||
|
||||
& > canvas
|
||||
display: none !important
|
||||
|
||||
|
||||
@@ -45,6 +45,10 @@
|
||||
&:hover
|
||||
color: $search-color
|
||||
|
||||
em
|
||||
color: $search-keyword-highlight
|
||||
font-weight: bold
|
||||
|
||||
.ais-pagination.pagination
|
||||
margin: .8rem 0 0
|
||||
padding: 0
|
||||
|
||||
@@ -50,4 +50,5 @@
|
||||
height: 100%
|
||||
|
||||
.search-result-list
|
||||
max-height: 100% !important
|
||||
max-height: 75vh !important
|
||||
padding-bottom: 2rem
|
||||
|
||||
@@ -18,7 +18,8 @@
|
||||
|
||||
.local-search__hit-item
|
||||
position: relative
|
||||
padding-left: 1.5rem
|
||||
padding-left: 1.3rem
|
||||
line-height: 1.7
|
||||
|
||||
&:hover
|
||||
&:before
|
||||
@@ -27,7 +28,7 @@
|
||||
&:before
|
||||
$w = .3rem
|
||||
position: absolute
|
||||
top: .4rem
|
||||
top: .3rem
|
||||
left: 0
|
||||
width: w = $w
|
||||
height: h = w
|
||||
@@ -41,12 +42,21 @@
|
||||
a
|
||||
display: block
|
||||
color: $font-black
|
||||
font-weight: 600
|
||||
font-size: 14px
|
||||
cursor: pointer
|
||||
|
||||
&:hover
|
||||
color: $search-color
|
||||
|
||||
.search-result
|
||||
margin: 0 0 .4rem
|
||||
word-break: break-all
|
||||
|
||||
.search-keyword
|
||||
color: $search-keyword-highlight
|
||||
font-weight: bold
|
||||
|
||||
.local-search-stats__hr
|
||||
display: none !important
|
||||
|
||||
|
||||
@@ -9,6 +9,9 @@ figure.gallery-group
|
||||
background: $dark-black
|
||||
-webkit-transform: translate3d(0, 0, 0)
|
||||
|
||||
@media screen and (max-width: 600px)
|
||||
width: calc(100% - .4rem)
|
||||
|
||||
&:hover
|
||||
img
|
||||
opacity: .4
|
||||
@@ -105,8 +108,4 @@ figure.gallery-group
|
||||
|
||||
.fancybox
|
||||
width: auto
|
||||
text-align: inherit
|
||||
|
||||
@media screen and (max-width: 600px)
|
||||
figure.gallery-group
|
||||
width: calc(100% - .4rem)
|
||||
text-align: inherit
|
||||
53
source/css/_tags/hide.styl
Normal file
53
source/css/_tags/hide.styl
Normal file
@@ -0,0 +1,53 @@
|
||||
// tag-hide
|
||||
.hide-inline,
|
||||
.hide-block
|
||||
& > a.hide-button
|
||||
position: relative
|
||||
z-index: 1
|
||||
display: inline-block
|
||||
padding: 0 1rem
|
||||
background: $tag-hide-bg
|
||||
color: $white !important
|
||||
text-align: center
|
||||
cursor: pointer
|
||||
|
||||
&:hover
|
||||
text-decoration: none !important
|
||||
|
||||
&.open
|
||||
display: none
|
||||
|
||||
& > .hide-content
|
||||
display: none
|
||||
|
||||
.hide-inline
|
||||
& > .hide-button
|
||||
margin: 0 .3rem
|
||||
|
||||
& > .hide-content
|
||||
margin: 0 .3rem
|
||||
|
||||
.hide-block
|
||||
margin: 0 0 .8rem
|
||||
|
||||
.hide-toggle
|
||||
margin-bottom: 1rem
|
||||
border: 1px solid $tag-hide-toggle-bg
|
||||
|
||||
& > .hide-button
|
||||
padding: .3rem .5rem
|
||||
background: $tag-hide-toggle-bg
|
||||
color: $font-color
|
||||
cursor: pointer
|
||||
|
||||
& > i
|
||||
font-size: 1.2em
|
||||
transition: all .3s
|
||||
|
||||
&.open
|
||||
i
|
||||
transform: rotate(90deg)
|
||||
|
||||
& > .hide-content
|
||||
display: none
|
||||
margin: 1.5rem 1.2rem
|
||||
@@ -5,6 +5,7 @@
|
||||
@import '_global'
|
||||
@import '_highlight/highlight'
|
||||
@import '_layout/*'
|
||||
@import '_tags/*'
|
||||
@import '_mode/*'
|
||||
|
||||
// search
|
||||
|
||||
@@ -39,6 +39,7 @@ $rem = 20px
|
||||
$text-line-height = 2
|
||||
$sm = 768px
|
||||
$bg = 1024px
|
||||
$lr = 2000px
|
||||
$web-bg = convert(hexo-config('background'))
|
||||
$index_top_img_height = convert(hexo-config('index_top_img_height')) || 100vh
|
||||
$index_site_info_top = convert(hexo-config('index_site_info_top')) || 43%
|
||||
@@ -78,12 +79,14 @@ $reward-pop-up-color = #858585
|
||||
// search
|
||||
$search-bg = #f6f8fa
|
||||
$search-color = $theme-color
|
||||
$search-keyword-highlight = #F47466
|
||||
//gallery
|
||||
$gallery-color = #fff
|
||||
// tag-hide
|
||||
$tag-hide-bg = $theme-color
|
||||
|
||||
|
||||
$tag-hide-toggle-bg = #f0f0f0
|
||||
//preloader
|
||||
$preloader-bg = #37474f
|
||||
|
||||
// Note colors
|
||||
// --------------------------------------------------
|
||||
|
||||
@@ -247,18 +247,23 @@ $(function () {
|
||||
|
||||
/**
|
||||
* 代碼
|
||||
* 只適用於Hexo默認的代碼渲染
|
||||
*/
|
||||
const isHighlightCopy = GLOBAL_CONFIG.highlightCopy
|
||||
const isHighlightLang = GLOBAL_CONFIG.highlightLang
|
||||
const isHighlightShrink = GLOBAL_CONFIG.highlightShrink
|
||||
const $figureHighlight = $('figure.highlight')
|
||||
if (isHighlightCopy || isHighlightLang || isHighlightShrink !== 'none') {
|
||||
$figureHighlight.wrap('<div class="code-area-wrap"></div>').before('<div class="highlight-tools"></div>')
|
||||
}
|
||||
|
||||
/**
|
||||
if ($figureHighlight.length) {
|
||||
const isHighlightCopy = GLOBAL_CONFIG.highlightCopy
|
||||
const isHighlightLang = GLOBAL_CONFIG.highlightLang
|
||||
const isHighlightShrink = GLOBAL_CONFIG.highlightShrink
|
||||
|
||||
if (isHighlightCopy || isHighlightLang || isHighlightShrink !== 'none') {
|
||||
$figureHighlight.wrap('<div class="code-area-wrap"></div>').before('<div class="highlight-tools"></div>')
|
||||
}
|
||||
|
||||
/**
|
||||
* 代碼收縮
|
||||
*/
|
||||
<<<<<<< HEAD
|
||||
const $highlightTools = $('.highlight-tools')
|
||||
if (isHighlightShrink === 'true') {
|
||||
$highlightTools.append('<i class="fa fa-angle-down code-expand code-closed" aria-hidden="true"></i>')
|
||||
@@ -274,94 +279,129 @@ $(function () {
|
||||
} else {
|
||||
$table.css('display', 'none')
|
||||
$(this).addClass('code-closed')
|
||||
=======
|
||||
const $highlightTools = $('.highlight-tools')
|
||||
if (isHighlightShrink === 'true') {
|
||||
$highlightTools.append('<i class="fa fa-angle-down code-expand code-closed" aria-hidden="true"></i>')
|
||||
} else if (isHighlightShrink === 'false') {
|
||||
$highlightTools.append('<i class="fa fa-angle-down code-expand" aria-hidden="true"></i>')
|
||||
>>>>>>> dev
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
$(document).on('click', '.highlight-tools >.code-expand', function () {
|
||||
var $table = $(this).parent().next()
|
||||
if ($(this).hasClass('code-closed')) {
|
||||
$table.css('display', 'block')
|
||||
$(this).removeClass('code-closed')
|
||||
} else {
|
||||
$table.css('display', 'none')
|
||||
$(this).addClass('code-closed')
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* 代碼語言
|
||||
*/
|
||||
if (isHighlightLang) {
|
||||
var langNameIndex, langName
|
||||
$figureHighlight.each(function () {
|
||||
langNameIndex = langName = $(this).attr('class').split(' ')[1]
|
||||
if (langNameIndex === 'plain') langName = 'Code'
|
||||
$(this).prev().append('<div class="code-lang">' + langName + '</div>')
|
||||
})
|
||||
}
|
||||
/**
|
||||
if (isHighlightLang) {
|
||||
var langNameIndex, langName
|
||||
$figureHighlight.each(function () {
|
||||
langNameIndex = langName = $(this).attr('class').split(' ')[1]
|
||||
if (langNameIndex === 'plain') langName = 'Code'
|
||||
$(this).prev().append('<div class="code-lang">' + langName + '</div>')
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 代碼copy
|
||||
* copy function
|
||||
*/
|
||||
if (isHighlightCopy) {
|
||||
$highlightTools.append('<div class="copy-notice"></div><i class="fa fa-clipboard" aria-hidden="true"></i>')
|
||||
var copy = function (text, ctx) {
|
||||
if (document.queryCommandSupported && document.queryCommandSupported('copy')) {
|
||||
try {
|
||||
document.execCommand('copy') // Security exception may be thrown by some browsers.
|
||||
if (isSnackbar) {
|
||||
snackbarShow(GLOBAL_CONFIG.copy.success)
|
||||
} else {
|
||||
$(ctx).prev('.copy-notice')
|
||||
.text(GLOBAL_CONFIG.copy.success)
|
||||
.animate({
|
||||
opacity: 1,
|
||||
right: 30
|
||||
}, 450, function () {
|
||||
setTimeout(function () {
|
||||
$(ctx).prev('.copy-notice').animate({
|
||||
opacity: 0,
|
||||
right: 0
|
||||
}, 650)
|
||||
}, 400)
|
||||
})
|
||||
if (isHighlightCopy) {
|
||||
$highlightTools.append('<div class="copy-notice"></div><i class="fa fa-clipboard" aria-hidden="true"></i>')
|
||||
var copy = function (text, ctx) {
|
||||
if (document.queryCommandSupported && document.queryCommandSupported('copy')) {
|
||||
try {
|
||||
document.execCommand('copy') // Security exception may be thrown by some browsers.
|
||||
if (isSnackbar) {
|
||||
snackbarShow(GLOBAL_CONFIG.copy.success)
|
||||
} else {
|
||||
$(ctx).prev('.copy-notice')
|
||||
.text(GLOBAL_CONFIG.copy.success)
|
||||
.animate({
|
||||
opacity: 1,
|
||||
right: 30
|
||||
}, 450, function () {
|
||||
setTimeout(function () {
|
||||
$(ctx).prev('.copy-notice').animate({
|
||||
opacity: 0,
|
||||
right: 0
|
||||
}, 650)
|
||||
}, 400)
|
||||
})
|
||||
}
|
||||
} catch (ex) {
|
||||
if (isSnackbar) {
|
||||
snackbarShow(GLOBAL_CONFIG.copy.success)
|
||||
} else {
|
||||
$(ctx).prev('.copy-notice')
|
||||
.text(GLOBAL_CONFIG.copy.error)
|
||||
.animate({
|
||||
opacity: 1,
|
||||
right: 30
|
||||
}, 650, function () {
|
||||
setTimeout(function () {
|
||||
$(ctx).prev('.copy-notice').animate({
|
||||
opacity: 0,
|
||||
right: 0
|
||||
}, 650)
|
||||
}, 400)
|
||||
})
|
||||
return false
|
||||
}
|
||||
}
|
||||
} catch (ex) {
|
||||
if (isSnackbar) {
|
||||
snackbarShow(GLOBAL_CONFIG.copy.success)
|
||||
} else {
|
||||
$(ctx).prev('.copy-notice')
|
||||
.text(GLOBAL_CONFIG.copy.error)
|
||||
.animate({
|
||||
opacity: 1,
|
||||
right: 30
|
||||
}, 650, function () {
|
||||
setTimeout(function () {
|
||||
$(ctx).prev('.copy-notice').animate({
|
||||
opacity: 0,
|
||||
right: 0
|
||||
}, 650)
|
||||
}, 400)
|
||||
})
|
||||
return false
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (isSnackbar) {
|
||||
snackbarShow(GLOBAL_CONFIG.copy.noSupport)
|
||||
} else {
|
||||
$(ctx).prev('.copy-notice').text(GLOBAL_CONFIG.copy.noSupport)
|
||||
if (isSnackbar) {
|
||||
snackbarShow(GLOBAL_CONFIG.copy.noSupport)
|
||||
} else {
|
||||
$(ctx).prev('.copy-notice').text(GLOBAL_CONFIG.copy.noSupport)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// click events
|
||||
$(document).on('click', '.highlight-tools>.fa-clipboard', function () {
|
||||
var selection = window.getSelection()
|
||||
var range = document.createRange()
|
||||
range.selectNodeContents($(this).parent().next().find('.code pre')[0])
|
||||
selection.removeAllRanges()
|
||||
selection.addRange(range)
|
||||
var text = selection.toString()
|
||||
copy(text, this)
|
||||
selection.removeAllRanges()
|
||||
// click events
|
||||
$(document).on('click', '.highlight-tools>.fa-clipboard', function () {
|
||||
var selection = window.getSelection()
|
||||
var range = document.createRange()
|
||||
range.selectNodeContents($(this).parent().next().find('.code pre')[0])
|
||||
selection.removeAllRanges()
|
||||
selection.addRange(range)
|
||||
var text = selection.toString()
|
||||
copy(text, this)
|
||||
selection.removeAllRanges()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* PhotoFigcaption
|
||||
*/
|
||||
function addPhotoFigcaption () {
|
||||
var images = $('#article-container img')
|
||||
images.each(function (i, o) {
|
||||
var $this = $(o)
|
||||
if ($this.attr('alt')) {
|
||||
var t = $('<div class="img-alt is-center">' + $this.attr('alt') + '</div>')
|
||||
$this.after(t)
|
||||
}
|
||||
})
|
||||
}
|
||||
if (GLOBAL_CONFIG.isPhotoFigcaption) addPhotoFigcaption()
|
||||
|
||||
/**
|
||||
* justified-gallery 圖庫排版
|
||||
*/
|
||||
var $justifiedGallery = $('.justified-gallery')
|
||||
var isJustifiedGallery = false
|
||||
if ($justifiedGallery.length) {
|
||||
isJustifiedGallery = true
|
||||
var $imgList = $justifiedGallery.find('img')
|
||||
$imgList.unwrap()
|
||||
if ($imgList.length) {
|
||||
@@ -372,11 +412,19 @@ $(function () {
|
||||
}
|
||||
$('head').append('<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/justifiedGallery/dist/css/justifiedGallery.min.css">')
|
||||
loadScript('https://cdn.jsdelivr.net/npm/justifiedGallery/dist/js/jquery.justifiedGallery.min.js', function () {
|
||||
$justifiedGallery.not($('.hide-content .justified-gallery')).justifiedGallery({
|
||||
rowHeight: 220,
|
||||
margins: 4
|
||||
})
|
||||
initJustifiedGallery($justifiedGallery)
|
||||
})
|
||||
|
||||
var initJustifiedGallery = function (selector) {
|
||||
selector.each(function (i, o) {
|
||||
if ($(this).is(':visible')) {
|
||||
$(this).justifiedGallery({
|
||||
rowHeight: 220,
|
||||
margins: 4
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -503,8 +551,8 @@ $(function () {
|
||||
}
|
||||
|
||||
var updateAnchor = function (anchor) {
|
||||
if (window.history.replaceState && anchor !== window.location.hash) {
|
||||
window.history.replaceState(undefined, undefined, anchor)
|
||||
if (anchor !== window.location.hash) {
|
||||
location.replace(window.location.href.split('#')[0] + anchor)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -708,6 +756,9 @@ $(function () {
|
||||
interval = setInterval(showDateTime, 10000)
|
||||
}
|
||||
|
||||
/**
|
||||
* 百度推送
|
||||
*/
|
||||
if (GLOBAL_CONFIG.baiduPush) {
|
||||
(function () {
|
||||
var bp = document.createElement('script')
|
||||
@@ -726,15 +777,20 @@ $(function () {
|
||||
* tag-hide
|
||||
*/
|
||||
var $hideInline = $('.hide-button')
|
||||
$hideInline.on('click', function (e) {
|
||||
e.preventDefault()
|
||||
$(this).hide()
|
||||
var $hideContent = $(this).next('.hide-content')
|
||||
$hideContent.show()
|
||||
$hideContent.find('.justified-gallery').justifiedGallery({
|
||||
rowHeight: 220,
|
||||
margins: 4
|
||||
if ($hideInline.length) {
|
||||
$hideInline.on('click', function (e) {
|
||||
e.preventDefault()
|
||||
var $this = $(this)
|
||||
var $hideContent = $(this).next('.hide-content')
|
||||
$this.toggleClass('open')
|
||||
$hideContent.toggle()
|
||||
if ($this.hasClass('open')) {
|
||||
if (isJustifiedGallery && $hideContent.find('.justified-gallery').length > 0) {
|
||||
initJustifiedGallery($hideContent.find('.justified-gallery'))
|
||||
}
|
||||
}
|
||||
})
|
||||
<<<<<<< HEAD
|
||||
})
|
||||
|
||||
function addPhotoFigcaption () {
|
||||
@@ -748,4 +804,7 @@ $(function () {
|
||||
})
|
||||
}
|
||||
if (GLOBAL_CONFIG.isPhotoFigcaption) addPhotoFigcaption()
|
||||
=======
|
||||
}
|
||||
>>>>>>> dev
|
||||
})
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
$(function () {
|
||||
var loadFlag = false
|
||||
$('a.social-icon.search').on('click', function () {
|
||||
$('body').css({ width: '100%', overflow: 'hidden' })
|
||||
$('body').css({
|
||||
width: '100%',
|
||||
overflow: 'hidden'
|
||||
})
|
||||
$('.search-dialog').css('display', 'block')
|
||||
$('#local-search-input input').focus()
|
||||
$('.search-mask').fadeIn()
|
||||
@@ -52,6 +55,7 @@ $(function () {
|
||||
url: $('url', this).text()
|
||||
}
|
||||
}).get()
|
||||
|
||||
var $input = $('#local-search-input input')[0]
|
||||
var $resultContent = $('#local-hits')[0]
|
||||
$input.addEventListener('input', function () {
|
||||
@@ -66,13 +70,17 @@ $(function () {
|
||||
// perform local searching
|
||||
datas.forEach(function (data) {
|
||||
var isMatch = true
|
||||
if (!data.title || data.title.trim() === '') {
|
||||
data.title = 'Untitled'
|
||||
}
|
||||
var dataTitle = data.title.trim().toLowerCase()
|
||||
var dataContent = data.content.trim().replace(/<[^>]+>/g, '').toLowerCase()
|
||||
var dataUrl = data.url
|
||||
var indexTitle = -1
|
||||
var indexContent = -1
|
||||
var firstOccur = -1
|
||||
// only match artiles with not empty titles and contents
|
||||
if (dataTitle !== '' && dataContent !== '') {
|
||||
if (dataTitle !== '' || dataContent !== '') {
|
||||
keywords.forEach(function (keyword, i) {
|
||||
indexTitle = dataTitle.indexOf(keyword)
|
||||
indexContent = dataContent.indexOf(keyword)
|
||||
@@ -82,20 +90,60 @@ $(function () {
|
||||
if (indexContent < 0) {
|
||||
indexContent = 0
|
||||
}
|
||||
if (i === 0) {
|
||||
firstOccur = indexContent
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
isMatch = false
|
||||
}
|
||||
|
||||
// show search results
|
||||
if (isMatch) {
|
||||
str += '<div class="local-search__hit-item"><a href="' + dataUrl + '" class="search-result-title">' + dataTitle + '</a>' + '</div>'
|
||||
count += 1
|
||||
$('.local-search-stats__hr').show()
|
||||
var content = data.content.trim().replace(/<[^>]+>/g, '')
|
||||
if (firstOccur >= 0) {
|
||||
// cut out 130 characters
|
||||
var start = firstOccur - 30
|
||||
var end = firstOccur + 100
|
||||
|
||||
if (start < 0) {
|
||||
start = 0
|
||||
}
|
||||
|
||||
if (start === 0) {
|
||||
end = 100
|
||||
}
|
||||
|
||||
if (end > content.length) {
|
||||
end = content.length
|
||||
}
|
||||
|
||||
var matchContent = content.substring(start, end)
|
||||
|
||||
// highlight all keywords
|
||||
keywords.forEach(function (keyword) {
|
||||
var regS = new RegExp(keyword, 'gi')
|
||||
matchContent = matchContent.replace(regS, '<span class="search-keyword">' + keyword + '</span>')
|
||||
dataTitle = dataTitle.replace(regS, '<span class="search-keyword">' + keyword + '</span>')
|
||||
})
|
||||
|
||||
str += '<div class="local-search__hit-item"><a href="' + dataUrl + '" class="search-result-title">' + dataTitle + '</a>'
|
||||
count += 1
|
||||
$('.local-search-stats__hr').show()
|
||||
|
||||
if (dataContent !== '') {
|
||||
str += '<p class="search-result">' + matchContent + '...</p>'
|
||||
}
|
||||
}
|
||||
str += '</div>'
|
||||
}
|
||||
})
|
||||
if (count === 0) {
|
||||
str += '<div id="local-search__hits-empty">' + GLOBAL_CONFIG.localSearch.languages.hits_empty.replace(/\$\{query}/, this.value.trim()) +
|
||||
'</div>'
|
||||
}
|
||||
str += '</div>'
|
||||
$resultContent.innerHTML = str
|
||||
})
|
||||
}
|
||||
|
||||
116
source/js/third-party/canvas-ribbon.js
vendored
116
source/js/third-party/canvas-ribbon.js
vendored
@@ -5,31 +5,32 @@
|
||||
* GitHub: https://github.com/hustcc/ribbon.js
|
||||
**/
|
||||
|
||||
!(function () {
|
||||
|
||||
var script = document.getElementById('ribbon');
|
||||
var mb = script.getAttribute("mobile");
|
||||
if (mb == 'false' && (/Android|webOS|iPhone|iPod|iPad|BlackBerry/i.test(navigator.userAgent))) {
|
||||
!(function() {
|
||||
var script = document.getElementById("ribbon");
|
||||
var mb = script.getAttribute("mobile");
|
||||
if (
|
||||
mb == "false" &&
|
||||
/Android|webOS|iPhone|iPod|iPad|BlackBerry/i.test(navigator.userAgent)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
config = {
|
||||
z: attr(script, 'zIndex', -1), // z-index
|
||||
a: attr(script, 'alpha', 0.6), // alpha
|
||||
s: attr(script, 'size', 90), // size
|
||||
c: attr(script, 'data-click', true) // click-to-change
|
||||
}
|
||||
z: attr(script, "zIndex", -1), // z-index
|
||||
a: attr(script, "alpha", 0.6), // alpha
|
||||
s: attr(script, "size", 90), // size
|
||||
c: attr(script, "data-click", true) // click-to-change
|
||||
};
|
||||
|
||||
|
||||
function attr (node, attr, default_value) {
|
||||
function attr(node, attr, default_value) {
|
||||
if (default_value === true) {
|
||||
return node.getAttribute(attr) || default_value
|
||||
return node.getAttribute(attr) || default_value;
|
||||
}
|
||||
return Number(node.getAttribute(attr)) || default_value
|
||||
return Number(node.getAttribute(attr)) || default_value;
|
||||
}
|
||||
|
||||
var canvas = document.createElement('canvas'),
|
||||
g2d = canvas.getContext('2d'),
|
||||
var canvas = document.createElement("canvas"),
|
||||
g2d = canvas.getContext("2d"),
|
||||
pr = window.devicePixelRatio || 1,
|
||||
width = window.innerWidth,
|
||||
height = window.innerHeight,
|
||||
@@ -40,52 +41,67 @@
|
||||
r = 0,
|
||||
pi = m.PI * 2,
|
||||
cos = m.cos,
|
||||
random = m.random
|
||||
canvas.width = width * pr
|
||||
canvas.height = height * pr
|
||||
g2d.scale(pr, pr)
|
||||
g2d.globalAlpha = config.a
|
||||
random = m.random;
|
||||
canvas.id = "ribbon-canvas";
|
||||
canvas.width = width * pr;
|
||||
canvas.height = height * pr;
|
||||
g2d.scale(pr, pr);
|
||||
g2d.globalAlpha = config.a;
|
||||
canvas.style.cssText =
|
||||
'opacity: ' +
|
||||
"opacity: " +
|
||||
config.a +
|
||||
';position:fixed;top:0;left:0;z-index: ' +
|
||||
";position:fixed;top:0;left:0;z-index: " +
|
||||
config.z +
|
||||
';width:100%;height:100%;pointer-events:none;'
|
||||
";width:100%;height:100%;pointer-events:none;";
|
||||
// create canvas
|
||||
document.getElementsByTagName('body')[0].appendChild(canvas)
|
||||
document.getElementsByTagName("body")[0].appendChild(canvas);
|
||||
|
||||
function redraw () {
|
||||
g2d.clearRect(0, 0, width, height)
|
||||
q = [{ x: 0, y: height * 0.7 + f }, { x: 0, y: height * 0.7 - f }]
|
||||
while (q[1].x < width + f) draw(q[0], q[1])
|
||||
function redraw() {
|
||||
g2d.clearRect(0, 0, width, height);
|
||||
q = [
|
||||
{
|
||||
x: 0,
|
||||
y: height * 0.7 + f
|
||||
},
|
||||
{
|
||||
x: 0,
|
||||
y: height * 0.7 - f
|
||||
}
|
||||
];
|
||||
while (q[1].x < width + f) draw(q[0], q[1]);
|
||||
}
|
||||
function draw (i, j) {
|
||||
g2d.beginPath()
|
||||
g2d.moveTo(i.x, i.y)
|
||||
g2d.lineTo(j.x, j.y)
|
||||
|
||||
function draw(i, j) {
|
||||
g2d.beginPath();
|
||||
g2d.moveTo(i.x, i.y);
|
||||
g2d.lineTo(j.x, j.y);
|
||||
var k = j.x + (random() * 2 - 0.25) * f,
|
||||
n = line(j.y)
|
||||
g2d.lineTo(k, n)
|
||||
g2d.closePath()
|
||||
r -= pi / -50
|
||||
n = line(j.y);
|
||||
g2d.lineTo(k, n);
|
||||
g2d.closePath();
|
||||
r -= pi / -50;
|
||||
g2d.fillStyle =
|
||||
'#' +
|
||||
"#" +
|
||||
(
|
||||
((cos(r) * 127 + 128) << 16) |
|
||||
((cos(r + pi / 3) * 127 + 128) << 8) |
|
||||
(cos(r + (pi / 3) * 2) * 127 + 128)
|
||||
).toString(16)
|
||||
g2d.fill()
|
||||
q[0] = q[1]
|
||||
q[1] = { x: k, y: n }
|
||||
).toString(16);
|
||||
g2d.fill();
|
||||
q[0] = q[1];
|
||||
q[1] = {
|
||||
x: k,
|
||||
y: n
|
||||
};
|
||||
}
|
||||
function line (p) {
|
||||
t = p + (random() * 2 - 1.1) * f
|
||||
return t > height || t < 0 ? line(p) : t
|
||||
|
||||
function line(p) {
|
||||
t = p + (random() * 2 - 1.1) * f;
|
||||
return t > height || t < 0 ? line(p) : t;
|
||||
}
|
||||
if (config.c !== 'false') {
|
||||
document.onclick = redraw
|
||||
document.ontouchstart = redraw
|
||||
if (config.c !== "false") {
|
||||
document.onclick = redraw;
|
||||
document.ontouchstart = redraw;
|
||||
}
|
||||
redraw()
|
||||
})()
|
||||
redraw();
|
||||
})();
|
||||
|
||||
@@ -48,10 +48,10 @@ function throttle (func, wait, options) {
|
||||
return throttled
|
||||
}
|
||||
|
||||
function sidebarPaddingR() {
|
||||
let innerWidth = window.innerWidth
|
||||
let clientWidth = document.body.clientWidth
|
||||
let paddingRight = innerWidth - clientWidth
|
||||
function sidebarPaddingR () {
|
||||
var innerWidth = window.innerWidth
|
||||
var clientWidth = document.body.clientWidth
|
||||
var paddingRight = innerWidth - clientWidth
|
||||
if (innerWidth !== clientWidth) {
|
||||
$('body').css('padding-right', paddingRight)
|
||||
}
|
||||
@@ -59,7 +59,7 @@ function sidebarPaddingR() {
|
||||
|
||||
// iPadOS
|
||||
function isIpad () {
|
||||
return navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1
|
||||
return navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1
|
||||
}
|
||||
|
||||
function isTMobile () {
|
||||
|
||||
Reference in New Issue
Block a user