hexo-theme-shokax 0.0.4-alpha3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- package/layout/_mixin/breadcrumb.pug +3 -3
- package/layout/_mixin/card.pug +4 -5
- package/layout/_mixin/postmeta.pug +3 -3
- package/layout/_mixin/segment.pug +2 -2
- package/layout/_mixin/sidebar.pug +4 -4
- package/layout/_mixin/widgets.pug +1 -1
- package/layout/_partials/footer.pug +4 -3
- package/layout/_partials/head/head.pug +4 -4
- package/layout/_partials/header.pug +2 -2
- package/layout/_partials/layout.pug +5 -2
- package/layout/_partials/pagination.pug +1 -1
- package/layout/_partials/post/copyright.pug +2 -2
- package/layout/_partials/post/footer.pug +2 -2
- package/layout/_partials/post/nav.pug +1 -1
- package/layout/_partials/post/post.pug +1 -1
- package/layout/_partials/post/reward.pug +1 -1
- package/layout/_partials/sidebar/menu.pug +2 -2
- package/layout/_partials/sidebar/overview.pug +1 -1
- package/layout/archive.pug +1 -1
- package/layout/category.pug +1 -1
- package/layout/page.pug +1 -1
- package/layout/post.pug +1 -1
- package/layout/tag.pug +1 -1
- package/package.json +1 -1
- package/source/css/_common/components/highlight/highlight.styl +2 -2
- package/source/css/_common/components/pages/home.styl +2 -2
- package/source/css/_common/components/post/breadcrumb.styl +1 -1
- package/source/css/_common/components/post/post.styl +1 -1
- package/source/css/_common/components/tags/links.styl +1 -1
- package/source/css/_common/components/third-party/valine.styl +3 -2
- package/source/css/_common/outline/header/menu.styl +1 -1
- package/source/css/_common/outline/sidebar/menu.styl +1 -1
- package/source/css/_common/scaffolding/base.styl +13 -17
- package/source/css/_common/scaffolding/buttons.styl +1 -1
- package/source/css/app.styl +4 -4
- package/source/js/_app/global.js +5 -5
- package/source/js/_app/library.js +3 -3
- package/source/js/_app/page.js +15 -15
- package/source/js/_app/vue.js +1 -1
@@ -1,7 +1,7 @@
|
|
1
1
|
mixin BCRender(post, home)
|
2
2
|
if home
|
3
3
|
!= '<div class="breadcrumb" itemListElement itemscope itemtype="https://schema.org/BreadcrumbList">'
|
4
|
-
i(class="
|
4
|
+
i(class="ic i-home")
|
5
5
|
span
|
6
6
|
a(href=url_for(site.path))
|
7
7
|
!= __('menu.home')
|
@@ -10,7 +10,7 @@ mixin BCRender(post, home)
|
|
10
10
|
if post.categories && post.categories.length
|
11
11
|
- var cat_length = post.categories.length
|
12
12
|
if home
|
13
|
-
i(class="
|
13
|
+
i(class="ic i-angle-right")
|
14
14
|
each cat,index in post.categories.toArray()
|
15
15
|
if home
|
16
16
|
if index===cat_length
|
@@ -29,5 +29,5 @@ mixin BCRender(post, home)
|
|
29
29
|
a(href=url_for(cat.path) title=__('post.in')+cat.name)
|
30
30
|
!= cat.name
|
31
31
|
if cat_length > 1 && index !== cat_length
|
32
|
-
i(class="
|
32
|
+
i(class="ic i-angle-right")
|
33
33
|
!= '</div>'
|
package/layout/_mixin/card.pug
CHANGED
@@ -12,11 +12,10 @@ mixin CardRender(item)
|
|
12
12
|
!= item.top.name
|
13
13
|
div(class="info")
|
14
14
|
if item.link
|
15
|
-
- var postTitleIcon = '<i class="
|
15
|
+
- var postTitleIcon = '<i class="ic i-link-alt"></i>'
|
16
16
|
- var postText = itemname || item.link || __('post.untitled')
|
17
|
-
- var tempI = postText + (postTitleIcon || '')
|
18
17
|
div(class="ribbon")
|
19
|
-
!= _url(item.link ,
|
18
|
+
!= _url(item.link , postText + (postTitleIcon || ''), {itemprop: 'url', title: postText})
|
20
19
|
div(class="inner")
|
21
20
|
- var len = ''
|
22
21
|
if item.child
|
@@ -31,8 +30,8 @@ mixin CardRender(item)
|
|
31
30
|
div(class="meta footer")
|
32
31
|
if item.top
|
33
32
|
span
|
34
|
-
!= _url(item.top.path, '<i class="
|
33
|
+
!= _url(item.top.path, '<i class="ic i-flag"></i>'+item.top.name, {itemprop: 'url', title: item.top.name})
|
35
34
|
span
|
36
|
-
i(class="
|
35
|
+
i(class="ic i-file")
|
37
36
|
!= len
|
38
37
|
!= _url(item.path, 'more...', {itemprop: 'url', title: itemname, class: 'btn'})
|
@@ -5,7 +5,7 @@ mixin PMRender(item, full)
|
|
5
5
|
- var create_title = __('post.created') + __('symbol.colon') + full_date(item.date)
|
6
6
|
span(class="item" title=create_title)
|
7
7
|
span(class="icon")
|
8
|
-
i(class="
|
8
|
+
i(class="ic i-calendar")
|
9
9
|
if full
|
10
10
|
span(class="text")
|
11
11
|
!= __('post.posted')
|
@@ -14,7 +14,7 @@ mixin PMRender(item, full)
|
|
14
14
|
if theme.post.count
|
15
15
|
span(class="item" title=__('symbols_count_time.count'))
|
16
16
|
span(class="icon")
|
17
|
-
i(class="
|
17
|
+
i(class="ic i-pen")
|
18
18
|
if full
|
19
19
|
span(class="text")
|
20
20
|
!= __('symbols_count_time.count')
|
@@ -23,7 +23,7 @@ mixin PMRender(item, full)
|
|
23
23
|
!= __('symbols_count_time.word')
|
24
24
|
span(class="item" title=__('symbols_count_time.time'))
|
25
25
|
span(class="icon")
|
26
|
-
i(class="
|
26
|
+
i(class="ic i-clock")
|
27
27
|
if full
|
28
28
|
span(class="text")
|
29
29
|
!= __('symbols_count_time.time')
|
@@ -4,7 +4,7 @@ mixin SMRender(item)
|
|
4
4
|
- var link1 = item.link || item.path
|
5
5
|
- var gradient = theme?.experiments?.gradient
|
6
6
|
if item.link
|
7
|
-
- var postTitleIcon = '<i class="
|
7
|
+
- var postTitleIcon = '<i class="ic i-link-alt"></i>'
|
8
8
|
- var postText = item.title || item.link || __('post.untitled')
|
9
9
|
article(class="item")
|
10
10
|
if gradient
|
@@ -27,6 +27,6 @@ mixin SMRender(item)
|
|
27
27
|
div(class="meta footer")
|
28
28
|
span
|
29
29
|
- var lastcat = item.categories.last()
|
30
|
-
!= _url(lastcat.path, '<i class="
|
30
|
+
!= _url(lastcat.path, '<i class="ic i-flag"></i>' + lastcat.name, {itemprop: 'url', title: lastcat.name})
|
31
31
|
!= _url(link1, 'more...', {itemprop: 'url', title: postText, class: 'btn'})
|
32
32
|
|
@@ -25,12 +25,12 @@ mixin sidebarRender(display_toc)
|
|
25
25
|
li(class="prev pjax")
|
26
26
|
if page && page.prev
|
27
27
|
if prevlink
|
28
|
-
!= _url(prevlink, '<i class="
|
28
|
+
!= _url(prevlink, '<i class="ic i-chevron-left"></i>', {rel: 'prev', title: __('post.prev')})
|
29
29
|
li(class="up")
|
30
|
-
i(class="
|
30
|
+
i(class="ic i-arrow-up")
|
31
31
|
li(class="down")
|
32
|
-
i(class="
|
32
|
+
i(class="ic i-arrow-down")
|
33
33
|
li(class="next pjax")
|
34
34
|
if nextlink
|
35
|
-
!= _url(nextlink, '<i class="
|
35
|
+
!= _url(nextlink, '<i class="ic i-chevron-right"></i>', {rel: 'next', title: __('post.next')})
|
36
36
|
li(class="percent")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
mixin field(item)
|
2
2
|
if item.link
|
3
|
-
- var postTitleIcon = '<i class="
|
3
|
+
- var postTitleIcon = '<i class="ic i-link-alt"></i>'
|
4
4
|
li(class="item")
|
5
5
|
+BCRender(item, false)
|
6
6
|
- var postText = item.title || item.link || __('post.untitled')
|
@@ -2,21 +2,22 @@ div(class="status")
|
|
2
2
|
div(class="copyright")
|
3
3
|
- var copyright_year = date(null, 'YYYY')
|
4
4
|
if theme.footer.since && theme.footer.since != copyright_year
|
5
|
+
!= `© ${theme.footer.since} -`
|
5
6
|
span(itemprop="copyrightYear")
|
6
7
|
!= copyright_year
|
7
8
|
span(class="with-love")
|
8
|
-
i(class=`
|
9
|
+
i(class=`ic i-${ theme.footer.icon.name }`)
|
9
10
|
span(class="author" itemprop="copyrightHolder")
|
10
11
|
!= `${author} @ ${ alternate?alternate:title}`
|
11
12
|
if theme.footer.count
|
12
13
|
div(class="count")
|
13
14
|
span(class="post-meta-item-icon")
|
14
|
-
i(class="
|
15
|
+
i(class="ic i-chart-area")
|
15
16
|
span(title=__('symbols_count_time.count_total'))
|
16
17
|
!= `${ symbolsCountTotal(site) } ${__('symbols_count_time.word')}`
|
17
18
|
span(class="post-meta-divider") |
|
18
19
|
span(class="post-meta-item-icon")
|
19
|
-
i(class="
|
20
|
+
i(class="ic i-coffee")
|
20
21
|
span(title=__('symbols_count_time.time_total'))
|
21
22
|
!= symbolsTimeTotal(site, config.symbols_count_time.awl, config.symbols_count_time.wpm, __('symbols_count_time.time_minutes'))
|
22
23
|
//- span(id="timeDate")
|
@@ -2,7 +2,7 @@
|
|
2
2
|
- var yandexValid = theme?.seo?.yandex,baiduValid = theme?.seo?.baidu
|
3
3
|
- var siteTitle = config.title,noBaiduT = theme?.seo?.disable_baidu_transformation
|
4
4
|
- var feedLink = full_url_for("/feed.json")
|
5
|
-
- var
|
5
|
+
- var tk= theme?.twikoo?.enable;var jsInjects = theme?.inject?.head?.js,cssInjects = theme?.inject?.head?.css
|
6
6
|
- var wl = theme.waline.enable,gt=theme?.gitalk?.enable
|
7
7
|
meta(charset="UTF-8")
|
8
8
|
meta(name="viewport" content="width=device-width,initial-scale=1,maximum-scale=2")
|
@@ -33,16 +33,16 @@ link(rel="alternate" type="application/json" title=siteTitle href=feedLink)
|
|
33
33
|
if fontConfig
|
34
34
|
!= _vendor_font()
|
35
35
|
!= _css('app.css')
|
36
|
-
|
36
|
+
|
37
37
|
- var debugVue = theme?.experiments?.debug
|
38
38
|
if debugVue
|
39
39
|
script(src="https://cdn.staticfile.org/vue/3.2.45/vue.global.js")
|
40
40
|
else
|
41
41
|
script(src="https://cdn.staticfile.org/vue/3.2.45/vue.global.prod.js")
|
42
42
|
include pwa.pug
|
43
|
-
if
|
43
|
+
if tk
|
44
44
|
!= _css("twikoo.css")
|
45
|
-
script(src=
|
45
|
+
script(src=theme.twikoo.link)
|
46
46
|
else if wl
|
47
47
|
link(rel="stylesheet" href="https://unpkg.com/@waline/client@v2/dist/waline.css")
|
48
48
|
else if gt
|
@@ -11,8 +11,8 @@ nav(id="nav")
|
|
11
11
|
!= alternate || title
|
12
12
|
ul(class="right" id="rightNav")
|
13
13
|
li(class="item theme" @click="changeThemeByBtn")
|
14
|
-
i(class="
|
14
|
+
i(class="ic" :class="{'i-sun': !themeStatus,'i-moon': themeStatus}")
|
15
15
|
li(class="item search")
|
16
|
-
i(class="
|
16
|
+
i(class="ic i-search")
|
17
17
|
!= shokax_inject('rightNav')
|
18
18
|
|
@@ -65,7 +65,7 @@ html(lang=page.language?page.language:config.language, style=theme.grayMode ? 'f
|
|
65
65
|
div(class="widgets")
|
66
66
|
+WRender
|
67
67
|
!= partial('_partials/footer.pug', {}, {cache: true})
|
68
|
-
- var ccIcon = '<i class="
|
68
|
+
- var ccIcon = '<i class="ic i-creative-commons"></i>'
|
69
69
|
- var ccText = theme.creative_commons.license.toUpperCase()
|
70
70
|
<script data-config type="text/javascript" >
|
71
71
|
| var LOCAL = {
|
@@ -135,7 +135,10 @@ html(lang=page.language?page.language:config.language, style=theme.grayMode ? 'f
|
|
135
135
|
!= _js('app.js')
|
136
136
|
!= partial('_partials/third-party/baidu-analytics.pug', {}, {cache: true})
|
137
137
|
!= partial('_partials/third-party/clarity.pug', {}, {cache: true})
|
138
|
-
|
138
|
+
if theme.twikoo.enable
|
139
|
+
!= _new_comments('twikoo')
|
140
|
+
else if theme.waline.enable
|
141
|
+
!= _new_comments('waline')
|
139
142
|
|
140
143
|
!= shokax_inject('bodyEnd')
|
141
144
|
|
@@ -1,4 +1,4 @@
|
|
1
1
|
if page.prev || page.next
|
2
2
|
nav(class="pagination")
|
3
3
|
div(class="inner")
|
4
|
-
!= paginator({prev_text: '<i class="
|
4
|
+
!= paginator({prev_text: '<i class="ic i-angle-left" aria-label="' + __('accessibility.prev_page') + '"></i>',next_text: '<i class="ic i-angle-right" aria-label="' + __('accessibility.next_page') + '"></i>',mid_size : 1,escape : false})
|
@@ -1,5 +1,5 @@
|
|
1
1
|
if page.copyright !== false
|
2
|
-
- var ccIcon = '<i class="
|
2
|
+
- var ccIcon = '<i class="ic i-creative-commons"><em>(CC)</em></i>'
|
3
3
|
- var ccText = theme.creative_commons.license.toUpperCase()
|
4
4
|
div(id="copyright")
|
5
5
|
ul
|
@@ -7,7 +7,7 @@ if page.copyright !== false
|
|
7
7
|
strong
|
8
8
|
!= __('post.copyright.author') + __('symbol.colon')
|
9
9
|
!= page.author || author
|
10
|
-
i(class="
|
10
|
+
i(class="ic i-at")
|
11
11
|
em @
|
12
12
|
!= title
|
13
13
|
li(class="link")
|
@@ -1,12 +1,12 @@
|
|
1
1
|
div(class="meta")
|
2
2
|
if date(post.date) != date(post.updated) || time(post.date) != time(post.updated)
|
3
3
|
span(class="icon")
|
4
|
-
i(class="
|
4
|
+
i(class="ic i-eye")
|
5
5
|
span 此文章已被阅读次数:
|
6
6
|
span(id="twikoo_visitors" class="waline-pageview-count" data-path=post.path) 正在加载...
|
7
7
|
span(class="item")
|
8
8
|
span(class="icon")
|
9
|
-
i(class="
|
9
|
+
i(class="ic i-calendar-check")
|
10
10
|
span(class="text")
|
11
11
|
!= __('post.edited')
|
12
12
|
time(title=__('post.modified') + __('symbol.colon') + full_date(post.updated) itemprop="dateModified" datetime=moment(post.updated).format())
|
@@ -1,7 +1,7 @@
|
|
1
1
|
mixin navpost(item, type)
|
2
2
|
- var postText = item.title || item.link || __('post.untitled')
|
3
3
|
- var lastcat = item.categories.last()
|
4
|
-
- var itemlink=`<span class="type">${__('post.' + type)}</span><span class="category"><i class="
|
4
|
+
- var itemlink=`<span class="type">${__('post.' + type)}</span><span class="category"><i class="ic i-flag"></i>${lastcat?.name}</span><h3>${ postText }</h3>`
|
5
5
|
!= _url(item.path, itemlink, {itemprop: 'url', rel: type, 'data-background-image': _cover(item), title: postText})
|
6
6
|
|
7
7
|
div(class="post-nav")
|
@@ -17,7 +17,7 @@ article(itemscope itemtype="http://schema.org/Article" class="post block" lang=t
|
|
17
17
|
div(class="tags")
|
18
18
|
each tag in post.tags.toArray()
|
19
19
|
a(href!=url_for(tag.path) rel="tag")
|
20
|
-
i(class="
|
20
|
+
i(class="ic i-tag")
|
21
21
|
!= tag.name
|
22
22
|
footer
|
23
23
|
!= partial('_partials/post/footer.pug')
|
@@ -3,7 +3,7 @@ mixin item(name, path, parent, dropdown, sublist)
|
|
3
3
|
- var path = path.split('||')
|
4
4
|
- var itemURL = path[0].trim()
|
5
5
|
- if (!itemURL.startsWith('http')){ itemURL = itemURL.replace('//', '/') }
|
6
|
-
- var menuIcon = '<i class="
|
6
|
+
- var menuIcon = '<i class="ic i-' + trimn(path[1]) + '"></i>'
|
7
7
|
- var menuText = __('menu.' + name).replace('menu.', '')
|
8
8
|
if parent
|
9
9
|
li(class="item dropdown")
|
@@ -21,7 +21,7 @@ mixin item(name, path, parent, dropdown, sublist)
|
|
21
21
|
- var menuText = __('menu.' + subname).replace('menu.', '')
|
22
22
|
if subname == 'default'
|
23
23
|
- var menuText = __('menu.' + name).replace('menu.', '')
|
24
|
-
- var menuIcon = '<i class="
|
24
|
+
- var menuIcon = '<i class="ic i-' + trimn(path[1]) + '"></i>'
|
25
25
|
li(class="item")
|
26
26
|
!= _url(itemURL, menuIcon + menuText, {rel: 'section'})
|
27
27
|
else
|
@@ -32,7 +32,7 @@ nav(class="state")
|
|
32
32
|
div(class="social")
|
33
33
|
each link, name in theme.social
|
34
34
|
- var sidebarURL = link.split('||')[0].trim()
|
35
|
-
- var sidebarIcon = '<i class="
|
35
|
+
- var sidebarIcon = '<i class="ic i-' + link.split('||')[1].trim() + '"></i>'
|
36
36
|
!= _url(sidebarURL, sidebarIcon, {title: sidebarURL, class: 'item ' + name})
|
37
37
|
|
38
38
|
!= shokax_inject('sidebar')
|
package/layout/archive.pug
CHANGED
@@ -103,7 +103,7 @@ block content
|
|
103
103
|
a(href=url_for(cat.path)) #{cat.name}
|
104
104
|
div(class="title")
|
105
105
|
if post.link
|
106
|
-
- var postTitleIcon = '<i class="
|
106
|
+
- var postTitleIcon = '<i class="ic i-link-alt"></i>'
|
107
107
|
- var postText = post.title || post.link
|
108
108
|
!= _url(post.link, postText + postTitleIcon, {class: 'external', itemprop: 'url'})
|
109
109
|
else
|
package/layout/category.pug
CHANGED
@@ -53,7 +53,7 @@ block content
|
|
53
53
|
) #{date(post.date, 'MM-DD')}
|
54
54
|
div(class="title")
|
55
55
|
if post.link
|
56
|
-
- var postTitleIcon = '<i class="
|
56
|
+
- var postTitleIcon = '<i class="ic i-link-alt"></i>'
|
57
57
|
- var postText = post.title || post.link
|
58
58
|
!= _url(post.link, postText + postTitleIcon, {class: 'external', itemprop: 'url'})
|
59
59
|
else
|
package/layout/page.pug
CHANGED
@@ -16,7 +16,7 @@ block title
|
|
16
16
|
block header
|
17
17
|
h1(itemprop="name headline")
|
18
18
|
if page.link
|
19
|
-
- var postTitleIcon = '<i class="
|
19
|
+
- var postTitleIcon = '<i class="ic i-link-alt"></i>'
|
20
20
|
- var postText = page.title || page.link
|
21
21
|
!= _url(page.link, postText + postTitleIcon, {class: 'link external', itemprop: 'url'})
|
22
22
|
else
|
package/layout/post.pug
CHANGED
@@ -17,7 +17,7 @@ block title
|
|
17
17
|
block header
|
18
18
|
h1(itemprop="name headline")
|
19
19
|
if page.link
|
20
|
-
- var postTitleIcon = '<i class="
|
20
|
+
- var postTitleIcon = '<i class="ic i-link-alt"></i>'
|
21
21
|
- var postText = page.title || page.link
|
22
22
|
!= _url(page.link, postText + postTitleIcon, {class: 'link external', itemprop: 'url'})
|
23
23
|
else
|
package/layout/tag.pug
CHANGED
@@ -33,7 +33,7 @@ block content
|
|
33
33
|
!= cat.name
|
34
34
|
div(class="title")
|
35
35
|
if post.link
|
36
|
-
- var postTitleIcon = '<i class="
|
36
|
+
- var postTitleIcon = '<i class="ic i-link-alt"></i>'
|
37
37
|
- var postText = post.title || post.link
|
38
38
|
!= _url(post.link, postText + postTitleIcon, {class: 'external', itemprop: 'url'})
|
39
39
|
else
|
package/package.json
CHANGED
@@ -243,7 +243,7 @@ code,
|
|
243
243
|
background: var(--grey-2);
|
244
244
|
}
|
245
245
|
|
246
|
-
.
|
246
|
+
.ic {
|
247
247
|
margin-top: 1rem;
|
248
248
|
@extend .up-down;
|
249
249
|
}
|
@@ -256,7 +256,7 @@ code,
|
|
256
256
|
display: none;
|
257
257
|
}
|
258
258
|
|
259
|
-
.
|
259
|
+
.ic {
|
260
260
|
@extend .down-up;
|
261
261
|
}
|
262
262
|
}
|
@@ -186,11 +186,12 @@
|
|
186
186
|
margin: .5rem;
|
187
187
|
overflow: hidden;
|
188
188
|
vertical-align: middle;
|
189
|
-
|
189
|
+
|
190
|
+
&.actived .ic {
|
190
191
|
color: var(--primary-color);
|
191
192
|
}
|
192
193
|
|
193
|
-
.
|
194
|
+
.ic {
|
194
195
|
color: var(--grey-6);
|
195
196
|
transition: all .25s ease;
|
196
197
|
|
@@ -129,15 +129,15 @@ dd {
|
|
129
129
|
input, textarea {
|
130
130
|
color: var(--text-color);
|
131
131
|
}
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
132
|
+
@font-face {
|
133
|
+
font-family: 'ic';
|
134
|
+
src: url('//at.alicdn.com/t/font_' + $iconfont + '.eot');
|
135
|
+
src: url('//at.alicdn.com/t/font_' + $iconfont + '.eot?#iefix') format('embedded-opentype'),
|
136
|
+
url('//at.alicdn.com/t/font_' + $iconfont + '.woff2') format('woff2'),
|
137
|
+
url('//at.alicdn.com/t/font_' + $iconfont + '.woff') format('woff'),
|
138
|
+
url('//at.alicdn.com/t/font_' + $iconfont + '.ttf') format('truetype'),
|
139
|
+
url('//at.alicdn.com/t/font_' + $iconfont + '.svg#ic') format('svg');
|
140
|
+
}
|
141
141
|
|
142
142
|
@font-face {
|
143
143
|
font-family: 'jetbrains-mono';
|
@@ -145,8 +145,8 @@ input, textarea {
|
|
145
145
|
src: url("https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono@2.242/fonts/webfonts/JetBrainsMono-Regular.woff2") format("woff2");
|
146
146
|
}
|
147
147
|
|
148
|
-
|
149
|
-
|
148
|
+
.ic {
|
149
|
+
font-family: "ic" !important;
|
150
150
|
-webkit-font-smoothing: antialiased;
|
151
151
|
-moz-osx-font-smoothing: grayscale;
|
152
152
|
text-align: center;
|
@@ -158,15 +158,11 @@ input, textarea {
|
|
158
158
|
line-height: 1;
|
159
159
|
}
|
160
160
|
|
161
|
-
|
162
|
-
|
163
|
-
.fa em {
|
161
|
+
.ic em {
|
164
162
|
font-size: 0;
|
165
163
|
}
|
166
164
|
|
167
|
-
|
168
|
-
|
169
|
-
.fa-lg {
|
165
|
+
.ic-lg {
|
170
166
|
font-size: 1.33333em;
|
171
167
|
line-height: .75em;
|
172
168
|
vertical-align: -.0667em;
|
package/source/css/app.styl
CHANGED
@@ -13,10 +13,10 @@ if $colors = hexo-config('style.colors')
|
|
13
13
|
else
|
14
14
|
@import "_colors";
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
if $_iconfont = hexo-config('style.iconfont')
|
17
|
+
@import $_iconfont;
|
18
|
+
else
|
19
|
+
@import "_iconfont";
|
20
20
|
|
21
21
|
// Scaffolding
|
22
22
|
@import "_common/scaffolding";
|
package/source/js/_app/global.js
CHANGED
@@ -25,16 +25,16 @@ let LOCAL_HASH = 0;
|
|
25
25
|
let LOCAL_URL = window.location.href;
|
26
26
|
let pjax;
|
27
27
|
const changeTheme = function (type) {
|
28
|
-
const btn = $dom('.theme .
|
28
|
+
const btn = $dom('.theme .ic');
|
29
29
|
if (type === 'dark') {
|
30
30
|
HTML.attr('data-theme', type);
|
31
|
-
btn.removeClass('
|
32
|
-
btn.addClass('
|
31
|
+
btn.removeClass('i-sun');
|
32
|
+
btn.addClass('i-moon');
|
33
33
|
}
|
34
34
|
else {
|
35
35
|
HTML.attr('data-theme', null);
|
36
|
-
btn.removeClass('
|
37
|
-
btn.addClass('
|
36
|
+
btn.removeClass('i-moon');
|
37
|
+
btn.addClass('i-sun');
|
38
38
|
}
|
39
39
|
};
|
40
40
|
const autoDarkmode = function () {
|
@@ -163,12 +163,12 @@ const getScript = function (url, callback, condition) {
|
|
163
163
|
};
|
164
164
|
const assetUrl = function (asset, type) {
|
165
165
|
const str = CONFIG[asset][type];
|
166
|
-
if (str.indexOf('npm') > -1) {
|
167
|
-
return `https://unpkg.com/${str}`;
|
168
|
-
}
|
169
166
|
if (str.indexOf('gh') > -1 || str.indexOf('combine') > -1) {
|
170
167
|
return `https://cdn.jsdelivr.net/${str}`;
|
171
168
|
}
|
169
|
+
if (str.indexOf('npm') > -1) {
|
170
|
+
return `https://unpkg.com/${str}`;
|
171
|
+
}
|
172
172
|
if (str.indexOf('http') > -1) {
|
173
173
|
return str;
|
174
174
|
}
|
package/source/js/_app/page.js
CHANGED
@@ -175,7 +175,7 @@ const postBeauty = function () {
|
|
175
175
|
$dom.each('figure.highlight', function (element) {
|
176
176
|
const code_container = element.child('.code-container');
|
177
177
|
const caption = element.child('figcaption');
|
178
|
-
element.insertAdjacentHTML('beforeend', '<div class="operation"><span class="breakline-btn"><i class="
|
178
|
+
element.insertAdjacentHTML('beforeend', '<div class="operation"><span class="breakline-btn"><i class="ic i-align-left"></i></span><span class="copy-btn"><i class="ic i-clipboard"></i></span><span class="fullscreen-btn"><i class="ic i-expand"></i></span></div>');
|
179
179
|
const copyBtn = element.child('.copy-btn');
|
180
180
|
if (LOCAL.nocopy) {
|
181
181
|
copyBtn.remove();
|
@@ -190,14 +190,14 @@ const postBeauty = function () {
|
|
190
190
|
comma = '\n';
|
191
191
|
});
|
192
192
|
clipBoard(code, function (result) {
|
193
|
-
target.child('.
|
193
|
+
target.child('.ic').className = result ? 'ic i-check' : 'ic i-times';
|
194
194
|
target.blur();
|
195
195
|
showtip(LOCAL.copyright);
|
196
196
|
});
|
197
197
|
}, { passive: true });
|
198
198
|
copyBtn.addEventListener('mouseleave', function (event) {
|
199
199
|
setTimeout(function () {
|
200
|
-
event.target.child('.
|
200
|
+
event.target.child('.ic').className = 'ic i-clipboard';
|
201
201
|
}, 1000);
|
202
202
|
});
|
203
203
|
}
|
@@ -206,11 +206,11 @@ const postBeauty = function () {
|
|
206
206
|
const target = event.currentTarget;
|
207
207
|
if (element.hasClass('breakline')) {
|
208
208
|
element.removeClass('breakline');
|
209
|
-
target.child('.
|
209
|
+
target.child('.ic').className = 'ic i-align-left';
|
210
210
|
}
|
211
211
|
else {
|
212
212
|
element.addClass('breakline');
|
213
|
-
target.child('.
|
213
|
+
target.child('.ic').className = 'ic i-align-justify';
|
214
214
|
}
|
215
215
|
});
|
216
216
|
const fullscreenBtn = element.child('.fullscreen-btn');
|
@@ -218,7 +218,7 @@ const postBeauty = function () {
|
|
218
218
|
element.removeClass('fullscreen');
|
219
219
|
element.scrollTop = 0;
|
220
220
|
BODY.removeClass('fullscreen');
|
221
|
-
fullscreenBtn.child('.
|
221
|
+
fullscreenBtn.child('.ic').className = 'ic i-expand';
|
222
222
|
};
|
223
223
|
const fullscreenHandle = function (event) {
|
224
224
|
const target = event.currentTarget;
|
@@ -234,7 +234,7 @@ const postBeauty = function () {
|
|
234
234
|
else {
|
235
235
|
element.addClass('fullscreen');
|
236
236
|
BODY.addClass('fullscreen');
|
237
|
-
fullscreenBtn.child('.
|
237
|
+
fullscreenBtn.child('.ic').className = 'ic i-compress';
|
238
238
|
if (code_container && code_container.find('tr').length > 15) {
|
239
239
|
const showBtn = code_container.child('.show-btn');
|
240
240
|
code_container.style.maxHeight = '';
|
@@ -246,7 +246,7 @@ const postBeauty = function () {
|
|
246
246
|
caption && caption.addEventListener('click', fullscreenHandle);
|
247
247
|
if (code_container && code_container.find('tr').length > 15) {
|
248
248
|
code_container.style.maxHeight = '300px';
|
249
|
-
code_container.insertAdjacentHTML('beforeend', '<div class="show-btn"><i class="
|
249
|
+
code_container.insertAdjacentHTML('beforeend', '<div class="show-btn"><i class="ic i-angle-down"></i></div>');
|
250
250
|
const showBtn = code_container.child('.show-btn');
|
251
251
|
const hideCode = function () {
|
252
252
|
code_container.style.maxHeight = '300px';
|
@@ -414,7 +414,7 @@ const algoliaSearch = function (pjax) {
|
|
414
414
|
if (!siteSearch) {
|
415
415
|
siteSearch = BODY.createChild('div', {
|
416
416
|
id: 'search',
|
417
|
-
innerHTML: '<div class="inner"><div class="header"><span class="icon"><i class="
|
417
|
+
innerHTML: '<div class="inner"><div class="header"><span class="icon"><i class="ic i-search"></i></span><div class="search-input-container"></div><span class="close-btn"><i class="ic i-times-circle"></i></span></div><div class="results"><div class="inner"><div id="search-stats"></div><div id="search-hits"></div><div id="search-pagination"></div></div></div></div>'
|
418
418
|
});
|
419
419
|
}
|
420
420
|
const search = instantsearch({
|
@@ -459,7 +459,7 @@ const algoliaSearch = function (pjax) {
|
|
459
459
|
container: '#search-hits',
|
460
460
|
templates: {
|
461
461
|
item: function (data) {
|
462
|
-
const cats = data.categories ? '<span>' + data.categories.join('<i class="
|
462
|
+
const cats = data.categories ? '<span>' + data.categories.join('<i class="ic i-angle-right"></i>') + '</span>' : '';
|
463
463
|
return '<a href="' + CONFIG.root + data.path + '">' + cats + data._highlightResult.title.value + '</a>';
|
464
464
|
},
|
465
465
|
empty: function (data) {
|
@@ -478,10 +478,10 @@ const algoliaSearch = function (pjax) {
|
|
478
478
|
showFirst: false,
|
479
479
|
showLast: false,
|
480
480
|
templates: {
|
481
|
-
first: '<i class="
|
482
|
-
last: '<i class="
|
483
|
-
previous: '<i class="
|
484
|
-
next: '<i class="
|
481
|
+
first: '<i class="ic i-angle-double-left"></i>',
|
482
|
+
last: '<i class="ic i-angle-double-right"></i>',
|
483
|
+
previous: '<i class="ic i-angle-left"></i>',
|
484
|
+
next: '<i class="ic i-angle-right"></i>'
|
485
485
|
},
|
486
486
|
cssClasses: {
|
487
487
|
root: 'pagination',
|
@@ -530,7 +530,7 @@ const domInit = function () {
|
|
530
530
|
if (!toolBtn) {
|
531
531
|
toolBtn = siteHeader.createChild('div', {
|
532
532
|
id: 'tool',
|
533
|
-
innerHTML: '<div class="item player"></div><div class="item contents"><i class="
|
533
|
+
innerHTML: '<div class="item player"></div><div class="item contents"><i class="ic i-list-ol"></i></div><div class="item chat"><i class="ic i-comments"></i></div><div class="item back-to-top"><i class="ic i-arrow-up"></i><span>0%</span></div>'
|
534
534
|
});
|
535
535
|
}
|
536
536
|
toolPlayer = toolBtn.child('.player');
|
package/source/js/_app/vue.js
CHANGED
@@ -5,7 +5,7 @@ Vue.createApp({
|
|
5
5
|
methods: {
|
6
6
|
changeThemeByBtn() {
|
7
7
|
let c;
|
8
|
-
const btn = $dom('.theme').child('.
|
8
|
+
const btn = $dom('.theme').child('.ic');
|
9
9
|
const neko = BODY.createChild('div', {
|
10
10
|
id: 'neko',
|
11
11
|
innerHTML: '<div class="planet"><div class="sun"></div><div class="moon"></div></div><div class="body"><div class="face"><section class="eyes left"><span class="pupil"></span></section><section class="eyes right"><span class="pupil"></span></section><span class="nose"></span></div></div>'
|