hexo-theme-shokax 0.4.0-alpha.1 → 0.4.0-alpha.3
Sign up to get free protection for your applications and to get access to all the features.
- package/_config.yml +5 -4
- package/languages/README.md +22 -0
- package/languages/ar.yml +153 -0
- package/languages/de.yml +153 -0
- package/languages/es.yml +153 -0
- package/languages/fr.yml +153 -0
- package/languages/hi.yml +153 -0
- package/languages/id.yml +153 -0
- package/languages/it.yml +153 -0
- package/languages/ko.yml +153 -0
- package/languages/nl.yml +153 -0
- package/languages/pl.yml +153 -0
- package/languages/pt.yml +153 -0
- package/languages/ru.yml +153 -0
- package/languages/tr.yml +153 -0
- package/languages/vi.yml +153 -0
- package/layout/_mixin/comment.pug +2 -37
- package/layout/_partials/footer.pug +1 -1
- package/layout/_partials/head/head.pug +7 -3
- package/layout/_partials/header.pug +1 -1
- package/layout/_partials/layout.pug +1 -10
- package/layout/_partials/post/footer.pug +0 -9
- package/package.json +8 -2
- package/scripts/generaters/archive.js +1 -1
- package/scripts/generaters/script.js +63 -39
- package/scripts/helpers/asset.js +3 -72
- package/scripts/helpers/list_categories.js +0 -4
- package/scripts/plugin/lib/injects.js +1 -1
- package/source/js/_app/components/comments.ts +60 -0
- package/source/js/_app/components/sidebar.ts +7 -5
- package/source/js/_app/components/tcomments.ts +41 -0
- package/source/js/_app/globals/globalVars.ts +1 -0
- package/source/js/_app/globals/handles.ts +6 -5
- package/source/js/_app/globals/themeColor.ts +1 -1
- package/source/js/_app/globals/thirdparty.ts +1 -1
- package/source/js/_app/globals/tools.ts +3 -2
- package/source/js/_app/library/anime.ts +6 -5
- package/source/js/_app/library/declare.d.ts +25 -9
- package/source/js/_app/library/loadFile.ts +3 -1
- package/source/js/_app/library/proto.ts +75 -77
- package/source/js/_app/library/vue.ts +38 -48
- package/source/js/_app/page/fancybox.ts +2 -1
- package/source/js/_app/page/post.ts +4 -3
- package/source/js/_app/page/search.ts +17 -11
- package/source/js/_app/page/tab.ts +3 -2
- package/source/js/_app/pjax/domInit.ts +5 -4
- package/source/js/_app/pjax/refresh.ts +20 -2
- package/source/js/_app/pjax/siteInit.ts +12 -7
- package/source/js/_app/player.ts +16 -15
- package/scripts/filters/locals.d.ts +0 -1
- package/scripts/filters/locals.ts +0 -59
- package/scripts/filters/post.d.ts +0 -0
- package/scripts/filters/post.ts +0 -6
- package/scripts/generaters/archive.d.ts +0 -1
- package/scripts/generaters/archive.ts +0 -144
- package/scripts/generaters/config.d.ts +0 -1
- package/scripts/generaters/config.ts +0 -52
- package/scripts/generaters/images.d.ts +0 -1
- package/scripts/generaters/images.ts +0 -26
- package/scripts/generaters/index.d.ts +0 -1
- package/scripts/generaters/index.ts +0 -110
- package/scripts/generaters/pages.d.ts +0 -0
- package/scripts/generaters/pages.ts +0 -16
- package/scripts/generaters/script.d.ts +0 -1
- package/scripts/generaters/script.ts +0 -110
- package/scripts/helpers/asset.d.ts +0 -1
- package/scripts/helpers/asset.ts +0 -158
- package/scripts/helpers/engine.d.ts +0 -1
- package/scripts/helpers/engine.ts +0 -171
- package/scripts/helpers/list_categories.d.ts +0 -1
- package/scripts/helpers/list_categories.ts +0 -104
- package/scripts/helpers/summary_ai.d.ts +0 -1
- package/scripts/helpers/summary_ai.ts +0 -100
- package/scripts/helpers/symbols_count_time.d.ts +0 -1
- package/scripts/helpers/symbols_count_time.ts +0 -76
- package/scripts/plugin/check.d.ts +0 -1
- package/scripts/plugin/check.ts +0 -35
- package/scripts/plugin/index.d.ts +0 -6
- package/scripts/plugin/index.ts +0 -52
- package/scripts/plugin/lib/injects-point.d.ts +0 -5
- package/scripts/plugin/lib/injects-point.ts +0 -20
- package/scripts/plugin/lib/injects.d.ts +0 -2
- package/scripts/plugin/lib/injects.ts +0 -101
- package/scripts/tags/links.d.ts +0 -1
- package/scripts/tags/links.ts +0 -75
- package/scripts/tags/media.d.ts +0 -1
- package/scripts/tags/media.ts +0 -19
- package/source/assets/beian.webp +0 -0
- package/source/js/_app/library/libtype.d.ts +0 -4
package/languages/tr.yml
ADDED
@@ -0,0 +1,153 @@
|
|
1
|
+
---
|
2
|
+
name: Türkçe
|
3
|
+
favicon:
|
4
|
+
show: (●´3`●) İşte yine başlıyoruz.
|
5
|
+
hide: (´Д`) Bu bir felaket!
|
6
|
+
|
7
|
+
title:
|
8
|
+
archive: Arşiv
|
9
|
+
category: Kategori
|
10
|
+
tag: Etiket
|
11
|
+
all: Hepsi
|
12
|
+
not_found: Σ( ° △ °|||)︴404! Hiçbir şey görünmüyor
|
13
|
+
category_in: "%s" kategorisindeki makaleler
|
14
|
+
tag_in: "%s" etiketiyle makaleler
|
15
|
+
archive_in: "%s" tarihinde yayınlanan makaleler
|
16
|
+
|
17
|
+
menu:
|
18
|
+
home: Ana Sayfa
|
19
|
+
posts: Gönderiler
|
20
|
+
archives: Arşivler
|
21
|
+
categories: Kategoriler
|
22
|
+
tags: Etiketler
|
23
|
+
about: Hakkında
|
24
|
+
search: Ara
|
25
|
+
census: Blog ziyaret istatistikleri
|
26
|
+
aboutsite: Bu site hakkında
|
27
|
+
updata: Güncelleme günlüğü
|
28
|
+
statistics: İstatistikler
|
29
|
+
admiration: Takdir
|
30
|
+
friends: Arkadaşlar
|
31
|
+
privacy: Gizlilik Politikası
|
32
|
+
|
33
|
+
sidebar:
|
34
|
+
overview: Genel Bakış
|
35
|
+
toc: İçindekiler
|
36
|
+
related: İlgili makaleler
|
37
|
+
|
38
|
+
index:
|
39
|
+
sticky: Sabitlenmiş gönderiler
|
40
|
+
category: Seçili kategoriler
|
41
|
+
posts: Gönderi listesi
|
42
|
+
random_posts: Rastgele gönderiler
|
43
|
+
recent_comments: Son yorumlar
|
44
|
+
|
45
|
+
post:
|
46
|
+
posted: Yayınlandı
|
47
|
+
edited: Düzenlendi
|
48
|
+
created: Oluşturuldu
|
49
|
+
modified: Değiştirildi
|
50
|
+
edit: Düzenle
|
51
|
+
in: içinde
|
52
|
+
read_more: Daha fazla oku
|
53
|
+
untitled: Başlıksız
|
54
|
+
sticky: Sabitlenmiş
|
55
|
+
views: Görüntülenme
|
56
|
+
related_posts: İlgili gönderiler
|
57
|
+
next: Sonraki gönderi
|
58
|
+
prev: Önceki gönderi
|
59
|
+
copyright:
|
60
|
+
author: Gönderinin yazarı
|
61
|
+
link: Gönderi bağlantısı
|
62
|
+
license_title: Telif hakkı bildirimi
|
63
|
+
license_content: "Bu blogdaki tüm gönderiler, aksi belirtilmedikçe %s altında lisanslanmıştır."
|
64
|
+
nocopy: "<span class=\"red\">Bu sayfanın yeniden basılması yasaktır.</span>"
|
65
|
+
|
66
|
+
footer:
|
67
|
+
powered: "%s tarafından desteklenmektedir"
|
68
|
+
total_views: Toplam görüntülenme
|
69
|
+
total_visitors: Toplam ziyaretçi
|
70
|
+
|
71
|
+
counter:
|
72
|
+
index:
|
73
|
+
post: "Toplam %d gönderi"
|
74
|
+
category: "Toplam %d alt kategori, "
|
75
|
+
tag_cloud:
|
76
|
+
zero: Etiket yok
|
77
|
+
one: Toplam 1 etiket
|
78
|
+
other: "Toplam %d etiket"
|
79
|
+
categories:
|
80
|
+
zero: Kategori yok
|
81
|
+
one: Toplam 1 kategori
|
82
|
+
other: "Toplam %d kategori"
|
83
|
+
archive_posts:
|
84
|
+
zero: Gönderi yok.
|
85
|
+
one: 1 gönderi.
|
86
|
+
other: "Toplam %d gönderi."
|
87
|
+
|
88
|
+
state:
|
89
|
+
posts: Gönderiler
|
90
|
+
tags: Etiketler
|
91
|
+
categories: Kategoriler
|
92
|
+
|
93
|
+
search:
|
94
|
+
placeholder: Gönderileri ara
|
95
|
+
empty: "\"${query}\" için arama sonucu bulunamadı"
|
96
|
+
stats: "${time} ms içinde ${hits} sonuç bulundu"
|
97
|
+
|
98
|
+
cheers:
|
99
|
+
um: Hmm..
|
100
|
+
ok: Tamam
|
101
|
+
nice: Güzel
|
102
|
+
good: İyi
|
103
|
+
great: Harika
|
104
|
+
excellent: Mükemmel
|
105
|
+
|
106
|
+
keep_on: Göndermeye devam edin.
|
107
|
+
|
108
|
+
symbol:
|
109
|
+
comma: ", "
|
110
|
+
period: ". "
|
111
|
+
colon: ": "
|
112
|
+
year: "Y"
|
113
|
+
month: "A"
|
114
|
+
|
115
|
+
reward:
|
116
|
+
donate: Bağış yap
|
117
|
+
text: Bana bir fincan [kahve] ısmarla~( ̄▽ ̄)~*
|
118
|
+
wechatpay: WeChat Pay
|
119
|
+
alipay: Alipay
|
120
|
+
paypal: PayPal
|
121
|
+
bitcoin: Bitcoin
|
122
|
+
|
123
|
+
follow_me:
|
124
|
+
welcome: Diğer yayın kanallarıma hoş geldiniz
|
125
|
+
|
126
|
+
accessibility:
|
127
|
+
nav_toggle: Gezinti çubuğunu aç/kapat
|
128
|
+
prev_page: Önceki sayfa
|
129
|
+
next_page: Sonraki sayfa
|
130
|
+
|
131
|
+
symbols_count_time:
|
132
|
+
count: Gönderideki sembol sayısı
|
133
|
+
count_total: Toplam sembol sayısı
|
134
|
+
time: Okuma süresi
|
135
|
+
time_total: Toplam okuma süresi
|
136
|
+
time_minutes: dk.
|
137
|
+
word: kelimeler
|
138
|
+
view: kez
|
139
|
+
|
140
|
+
tips:
|
141
|
+
copyright: "Başarıyla panoya kopyalandı! <br> Bu blogdaki tüm gönderiler, aksi belirtilmedikçe %s altında lisanslanmıştır."
|
142
|
+
nocopy: "Panoya kopyalama başarısız oldu! Bu sayfanın yeniden basılması yasaktır."
|
143
|
+
|
144
|
+
quiz:
|
145
|
+
choice: Çoktan seçmeli soru
|
146
|
+
multiple: Çoklu yanıt sorusu
|
147
|
+
true_false: Doğru/Yanlış sorusu
|
148
|
+
essay: Açık uçlu sorular
|
149
|
+
gap_fill: Boşluk doldurma sorusu
|
150
|
+
mistake: Yanlış yanıt notu
|
151
|
+
|
152
|
+
outime:
|
153
|
+
template: "<div class=\"note warning\"><p><span class=\"label warning\">Makale zaman uygunluğu uyarısı</span><br>Bu, {{publish}} gün önce yayınlanan ve son olarak {{updated}} gün önce güncellenen bir makaledir. Bazı bilgiler değişmiş olabilir, bu yüzden kontrol ederken dikkatli olun.</p></div>"
|
package/languages/vi.yml
ADDED
@@ -0,0 +1,153 @@
|
|
1
|
+
---
|
2
|
+
name: Tiếng Việt
|
3
|
+
favicon:
|
4
|
+
show: (●´3`●) Hãy bắt đầu lại.
|
5
|
+
hide: (´Д`) Đây là một thảm họa!
|
6
|
+
|
7
|
+
title:
|
8
|
+
archive: Lưu trữ
|
9
|
+
category: Danh mục
|
10
|
+
tag: Thẻ
|
11
|
+
all: Tất cả
|
12
|
+
not_found: Σ( ° △ °|||)︴404! Không thấy gì cả
|
13
|
+
category_in: Bài viết trong danh mục "%s"
|
14
|
+
tag_in: Bài viết với thẻ "%s"
|
15
|
+
archive_in: Bài viết được đăng vào "%s"
|
16
|
+
|
17
|
+
menu:
|
18
|
+
home: Trang chủ
|
19
|
+
posts: Bài đăng
|
20
|
+
archives: Lưu trữ
|
21
|
+
categories: Danh mục
|
22
|
+
tags: Thẻ
|
23
|
+
about: Về chúng tôi
|
24
|
+
search: Tìm kiếm
|
25
|
+
census: Thống kê lượt truy cập blog
|
26
|
+
aboutsite: Về trang web này
|
27
|
+
updata: Nhật ký cập nhật
|
28
|
+
statistics: Thống kê
|
29
|
+
admiration: Ngưỡng mộ
|
30
|
+
friends: Bạn bè
|
31
|
+
privacy: Chính sách bảo mật
|
32
|
+
|
33
|
+
sidebar:
|
34
|
+
overview: Tổng quan
|
35
|
+
toc: Mục lục
|
36
|
+
related: Bài viết liên quan
|
37
|
+
|
38
|
+
index:
|
39
|
+
sticky: Bài đăng được ghim
|
40
|
+
category: Danh mục được chọn
|
41
|
+
posts: Danh sách bài đăng
|
42
|
+
random_posts: Bài đăng ngẫu nhiên
|
43
|
+
recent_comments: Bình luận gần đây
|
44
|
+
|
45
|
+
post:
|
46
|
+
posted: Được đăng
|
47
|
+
edited: Được chỉnh sửa
|
48
|
+
created: Được tạo
|
49
|
+
modified: Được sửa đổi
|
50
|
+
edit: Chỉnh sửa
|
51
|
+
in: Trong
|
52
|
+
read_more: Đọc thêm
|
53
|
+
untitled: Không tiêu đề
|
54
|
+
sticky: Được ghim
|
55
|
+
views: Lượt xem
|
56
|
+
related_posts: Bài đăng liên quan
|
57
|
+
next: Bài đăng tiếp theo
|
58
|
+
prev: Bài đăng trước
|
59
|
+
copyright:
|
60
|
+
author: Tác giả bài đăng
|
61
|
+
link: Liên kết bài đăng
|
62
|
+
license_title: Thông báo bản quyền
|
63
|
+
license_content: "Tất cả các bài đăng trên blog này được cấp phép theo %s, trừ khi có ghi chú khác."
|
64
|
+
nocopy: '<span class="red">Trang này bị cấm in lại.</span>'
|
65
|
+
|
66
|
+
footer:
|
67
|
+
powered: "Được hỗ trợ bởi %s"
|
68
|
+
total_views: Tổng số lượt xem
|
69
|
+
total_visitors: Tổng số khách truy cập
|
70
|
+
|
71
|
+
counter:
|
72
|
+
index:
|
73
|
+
post: "Tổng cộng %d bài đăng"
|
74
|
+
category: "Tổng cộng %d tiểu mục, "
|
75
|
+
tag_cloud:
|
76
|
+
zero: Không có thẻ
|
77
|
+
one: Tổng cộng 1 thẻ
|
78
|
+
other: "Tổng cộng %d thẻ"
|
79
|
+
categories:
|
80
|
+
zero: Không có danh mục
|
81
|
+
one: Tổng cộng 1 danh mục
|
82
|
+
other: "Tổng cộng %d danh mục"
|
83
|
+
archive_posts:
|
84
|
+
zero: Không có bài đăng.
|
85
|
+
one: 1 bài đăng.
|
86
|
+
other: "Tổng cộng %d bài đăng."
|
87
|
+
|
88
|
+
state:
|
89
|
+
posts: Bài đăng
|
90
|
+
tags: Thẻ
|
91
|
+
categories: Danh mục
|
92
|
+
|
93
|
+
search:
|
94
|
+
placeholder: Tìm kiếm bài đăng
|
95
|
+
empty: "Chúng tôi không tìm thấy kết quả nào cho tìm kiếm: ${query}"
|
96
|
+
stats: "Tìm thấy ${hits} kết quả trong ${time} ms"
|
97
|
+
|
98
|
+
cheers:
|
99
|
+
um: Ừm..
|
100
|
+
ok: Được
|
101
|
+
nice: Tốt
|
102
|
+
good: Tốt
|
103
|
+
great: Tuyệt vời
|
104
|
+
excellent: Xuất sắc
|
105
|
+
|
106
|
+
keep_on: Tiếp tục đăng.
|
107
|
+
|
108
|
+
symbol:
|
109
|
+
comma: ", "
|
110
|
+
period: ". "
|
111
|
+
colon: ": "
|
112
|
+
year: "N"
|
113
|
+
month: "T"
|
114
|
+
|
115
|
+
reward:
|
116
|
+
donate: Quyên góp
|
117
|
+
text: Mua cho tôi một cốc [cà phê]~( ̄▽ ̄)~*
|
118
|
+
wechatpay: WeChat Pay
|
119
|
+
alipay: Alipay
|
120
|
+
paypal: PayPal
|
121
|
+
bitcoin: Bitcoin
|
122
|
+
|
123
|
+
follow_me:
|
124
|
+
welcome: Chào mừng bạn đến với các kênh xuất bản khác của tôi
|
125
|
+
|
126
|
+
accessibility:
|
127
|
+
nav_toggle: Chuyển đổi thanh điều hướng
|
128
|
+
prev_page: Trang trước
|
129
|
+
next_page: Trang tiếp theo
|
130
|
+
|
131
|
+
symbols_count_time:
|
132
|
+
count: Số ký tự trong bài đăng
|
133
|
+
count_total: Tổng số ký tự
|
134
|
+
time: Thời gian đọc
|
135
|
+
time_total: Tổng thời gian đọc
|
136
|
+
time_minutes: phút.
|
137
|
+
word: từ
|
138
|
+
view: lần
|
139
|
+
|
140
|
+
tips:
|
141
|
+
copyright: "Đã sao chép thành công vào khay nhớ tạm! <br> Tất cả các bài đăng trên blog này được cấp phép theo %s."
|
142
|
+
nocopy: "Sao chép vào khay nhớ tạm không thành công! Trang này bị cấm in lại."
|
143
|
+
|
144
|
+
quiz:
|
145
|
+
choice: Câu hỏi lựa chọn
|
146
|
+
multiple: Câu hỏi trả lời nhiều
|
147
|
+
true_false: Câu hỏi đúng/sai
|
148
|
+
essay: Câu hỏi
|
149
|
+
gap_fill: Câu hỏi điền vào chỗ trống
|
150
|
+
mistake: Ghi chú về câu trả lời sai
|
151
|
+
|
152
|
+
outime:
|
153
|
+
template: '<div class="note warning"><p><span class="label warning">Cảnh báo về thời gian của bài viết</span><br>Đây là một bài viết được đăng {{publish}} ngày trước và lần cuối cùng được cập nhật {{updated}} ngày trước. Một số thông tin có thể đã thay đổi, vì vậy hãy cẩn thận khi kiểm tra.</p></div>'
|
@@ -1,41 +1,6 @@
|
|
1
1
|
mixin CommentRender()
|
2
2
|
!= shokax_inject('comment')
|
3
|
-
|
4
|
-
|
5
|
-
if tk
|
6
|
-
div(class="wrap" id="comments")
|
7
|
-
script(type="text/javascript" data-pjax).
|
8
|
-
setTimeout(function () {
|
9
|
-
twikoo.init({
|
10
|
-
envId: '#{ theme.twikoo.envId }',
|
11
|
-
el: '#comments',
|
12
|
-
region: '#{theme.twikoo.region}'
|
13
|
-
})
|
14
|
-
}, 1000)
|
15
|
-
else if wl
|
16
|
-
div(class="wrap" id="comments")
|
17
|
-
- var locale = JSON.stringify(theme.waline.locale)
|
18
|
-
- var emoji = JSON.stringify(theme.waline.emoji)
|
19
|
-
- var meta = JSON.stringify(theme.waline.meta)
|
20
|
-
- var requiredMeta = JSON.stringify(theme.waline.requiredMeta)
|
21
|
-
script(type="module" data-pjax).
|
22
|
-
import { init } from 'https://npm.webcache.cn/@waline/client@v2/dist/waline.mjs';
|
23
|
-
|
24
|
-
setTimeout(function () {
|
25
|
-
init({
|
26
|
-
el: '#comments',
|
27
|
-
serverURL: '#{theme.waline.serverURL.replace(/\/+$/, '')}',
|
28
|
-
lang: '#{theme.waline.lang}',
|
29
|
-
locale: !{locale},
|
30
|
-
emoji: !{emoji},
|
31
|
-
meta: !{meta},
|
32
|
-
requiredMeta: !{requiredMeta},
|
33
|
-
wordLimit: #{theme.waline.wordLimit},
|
34
|
-
pageSize: #{theme.waline.pageSize},
|
35
|
-
pageview: #{theme.waline.pageview},
|
36
|
-
path: window.location.pathname,
|
37
|
-
dark: 'html[data-theme="dark"]'
|
38
|
-
});
|
39
|
-
}, 1000)
|
3
|
+
if page.comment !== false
|
4
|
+
div(class="wrap" id="comments")
|
40
5
|
|
41
6
|
|
@@ -33,7 +33,7 @@ div(class="status")
|
|
33
33
|
- var beianN = theme.footer.icp?.beian, RC=theme.footer.icp?.recordcode
|
34
34
|
if beianN && RC
|
35
35
|
br
|
36
|
-
a(target="_blank" href=`https://
|
36
|
+
a(target="_blank" href=`https://beian.mps.gov.cn/#/query/webSearch?code=${RC}`)
|
37
37
|
img(src=theme.statics + theme.assets + '/' + theme.footer.icp.icon style="max-width: 2em;display:inline;" width="20" height="20")
|
38
38
|
!= beianN
|
39
39
|
!= shokax_inject('status')
|
@@ -38,14 +38,18 @@ each prelink in prelinks
|
|
38
38
|
each dnsLink in dnslinks
|
39
39
|
link(rel="dns-prefetch" href=dnsLink)
|
40
40
|
|
41
|
-
- var fontConfig = theme
|
41
|
+
- var fontConfig = theme.font?.loadFromGoogle
|
42
42
|
if fontConfig
|
43
43
|
!= _vendor_font()
|
44
44
|
!= _css('app.css')
|
45
45
|
|
46
|
+
if theme.polyfill.enable
|
47
|
+
script(src=`https://polyfill.io/v3/polyfill.min.js?features=${theme.polyfill.features}` defer)
|
48
|
+
|
49
|
+
!= vendor_js()
|
50
|
+
!= _js('siteInit.js')
|
51
|
+
|
46
52
|
include pwa.pug
|
47
|
-
if tk
|
48
|
-
script(src=theme.twikoo.link )
|
49
53
|
else if wl
|
50
54
|
link(rel="stylesheet" href="https://npm.webcache.cn/@waline/client@v2/dist/waline.css" media="none" onload="this.media='all'")
|
51
55
|
|
@@ -11,7 +11,7 @@ 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="ic
|
14
|
+
i(class="ic i-sun")
|
15
15
|
li(class="item search")
|
16
16
|
i(class="ic i-search")
|
17
17
|
!= shokax_inject('rightNav')
|
@@ -82,6 +82,7 @@ html(lang=page.language?page.language:config.language, style=theme.grayMode ? 'f
|
|
82
82
|
|
83
83
|
script(data-config type="text/javascript").
|
84
84
|
var LOCAL = {
|
85
|
+
ispost: !{is_post()},
|
85
86
|
path: `#{_permapath(page.path)}`,
|
86
87
|
favicon: {
|
87
88
|
show: `#{__('favicon.show')}`,
|
@@ -115,16 +116,6 @@ html(lang=page.language?page.language:config.language, style=theme.grayMode ? 'f
|
|
115
116
|
]
|
116
117
|
};
|
117
118
|
|
118
|
-
if theme.polyfill.enable
|
119
|
-
script(src=`https://polyfill.io/v3/polyfill.min.js?features=${theme.polyfill.features}`)
|
120
|
-
|
121
|
-
- debugVue = theme?.experiments?.debug
|
122
|
-
if debugVue
|
123
|
-
script(src="https://cdn.bootcdn.net/ajax/libs/vue/3.3.4/vue.global.min.js")
|
124
|
-
else
|
125
|
-
script(src="https://cdn.bootcdn.net/ajax/libs/vue/3.3.4/vue.global.prod.min.js")
|
126
|
-
!= vendor_js()
|
127
|
-
!= _js('app.js')
|
128
119
|
!= partial('_partials/third-party/baidu-analytics.pug', {}, {cache: true})
|
129
120
|
!= partial('_partials/third-party/clarity.pug', {}, {cache: true})
|
130
121
|
!= partial('_partials/third-party/google-analytics.pug', {}, {cache: true})
|
@@ -12,14 +12,5 @@ div(class="meta")
|
|
12
12
|
!= __('post.edited')
|
13
13
|
time(title=__('post.modified') + __('symbol.colon') + full_date(post.updated) itemprop="dateModified" datetime=moment(post.updated).format())
|
14
14
|
!= date(post.updated)
|
15
|
-
if theme.waline.pageview && !theme.waline.enable && !theme.twikoo.enable
|
16
|
-
script(type = "module" data-pjax).
|
17
|
-
import { pageviewCount } from 'https://unpkg.com/@waline/client@2/dist/pageview.mjs';
|
18
|
-
|
19
|
-
const path = document.getElementById("twikoo_visitors").getAttribute("data-path");
|
20
|
-
pageviewCount({
|
21
|
-
serverURL: '#{theme.waline.serverURL}',
|
22
|
-
path: path,
|
23
|
-
});
|
24
15
|
|
25
16
|
!= shokax_inject('postMeta')
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "hexo-theme-shokax",
|
3
|
-
"version": "0.4.0-alpha.
|
3
|
+
"version": "0.4.0-alpha.3",
|
4
4
|
"description": "a hexo theme based on shoka",
|
5
5
|
"main": "index.js",
|
6
6
|
"repository": "https://github.com/theme-shoka-x/hexo-theme-shokaX",
|
@@ -16,28 +16,34 @@
|
|
16
16
|
"@types/jquery": "^3.5.29",
|
17
17
|
"@types/js-yaml": "^4.0.9",
|
18
18
|
"@types/node": "^20.11.10",
|
19
|
+
"@types/quicklink": "^2.3.4",
|
19
20
|
"@typescript-eslint/eslint-plugin": "^6.20.0",
|
20
21
|
"@typescript-eslint/parser": "^6.20.0",
|
22
|
+
"@waline/client": "3.0.0-alpha.11",
|
21
23
|
"eslint": "^8.56.0",
|
22
24
|
"eslint-config-standard": "~17",
|
23
25
|
"eslint-plugin-import": "^2.29.1",
|
24
26
|
"eslint-plugin-n": "^16.6.2",
|
25
27
|
"eslint-plugin-promise": "^6.1.1",
|
26
28
|
"eslint-plugin-vue": "^9.20.1",
|
27
|
-
"instantsearch.js": "^4.64.1",
|
28
29
|
"typescript": "^5.3.3",
|
29
30
|
"vue": "^3.4.15"
|
30
31
|
},
|
31
32
|
"dependencies": {
|
33
|
+
"@algolia/client-search": "^4.22.1",
|
34
|
+
"algoliasearch": "4.22.1",
|
32
35
|
"esbuild": "^0.20.0",
|
33
36
|
"hexo": "7.0.0",
|
34
37
|
"hexo-fs": "^4.1.1",
|
35
38
|
"hexo-pagination": "^3.0.0",
|
36
39
|
"hexo-util": "^3.2.0",
|
40
|
+
"instantsearch.js": "^4.64.2",
|
37
41
|
"js-yaml": "^4.1.0",
|
38
42
|
"mouse-firework": "^0.0.5",
|
43
|
+
"quicklink": "^2.3.0",
|
39
44
|
"theme-shokax-anime": "^0.0.6",
|
40
45
|
"theme-shokax-pjax": "^0.0.3",
|
46
|
+
"twikoo": "^1.6.31",
|
41
47
|
"unlazy": "^0.10.4"
|
42
48
|
},
|
43
49
|
"engines": {
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
// @ts-ignore
|
8
8
|
const hexo_pagination_1 = __importDefault(require("hexo-pagination"));
|
9
9
|
// @ts-ignore
|
10
|
-
const fmtNum = num => {
|
10
|
+
const fmtNum = (num) => {
|
11
11
|
return num < 10 ? '0' + num : num;
|
12
12
|
};
|
13
13
|
if (!(hexo.config.archive && hexo.config.archive.enabled === false)) {
|
@@ -1,34 +1,11 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
-
}) : function(o, v) {
|
16
|
-
o["default"] = v;
|
17
|
-
});
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
-
if (mod && mod.__esModule) return mod;
|
20
|
-
var result = {};
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
-
__setModuleDefault(result, mod);
|
23
|
-
return result;
|
24
|
-
};
|
25
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
26
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
4
|
};
|
28
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
29
6
|
/* global hexo */
|
30
7
|
const package_json_1 = __importDefault(require("../../package.json"));
|
31
|
-
const
|
8
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
32
9
|
const esbuild_1 = require("esbuild");
|
33
10
|
const utils_1 = require("../utils");
|
34
11
|
hexo.extend.generator.register('script', function (locals) {
|
@@ -70,7 +47,22 @@ hexo.extend.generator.register('script', function (locals) {
|
|
70
47
|
audio: undefined,
|
71
48
|
fireworks: (theme.fireworks && theme.fireworks.enable && theme.fireworks.options)
|
72
49
|
? theme.fireworks.options
|
73
|
-
: undefined
|
50
|
+
: undefined,
|
51
|
+
waline: {
|
52
|
+
serverURL: theme.waline.serverURL,
|
53
|
+
lang: theme.waline.lang,
|
54
|
+
locale: theme.waline.locale,
|
55
|
+
emoji: theme.waline.emoji,
|
56
|
+
meta: theme.waline.meta,
|
57
|
+
requiredMeta: theme.waline.requiredMeta,
|
58
|
+
wordLimit: theme.waline.wordLimit,
|
59
|
+
pageSize: theme.waline.pageSize,
|
60
|
+
pageview: theme.waline.pageview
|
61
|
+
},
|
62
|
+
twikoo: {
|
63
|
+
envId: theme.twikoo.envId,
|
64
|
+
region: theme.twikoo.region
|
65
|
+
},
|
74
66
|
};
|
75
67
|
if (config?.algolia) {
|
76
68
|
siteConfig.search = {
|
@@ -83,19 +75,17 @@ hexo.extend.generator.register('script', function (locals) {
|
|
83
75
|
if (theme?.audio) {
|
84
76
|
siteConfig.audio = theme.audio;
|
85
77
|
}
|
86
|
-
let text;
|
87
78
|
let enterPoint;
|
88
|
-
if (
|
79
|
+
if (node_fs_1.default.existsSync('themes/shokaX/source/js/_app/pjax/siteInit.ts')) {
|
89
80
|
enterPoint = 'themes/shokaX/source/js/_app/pjax/siteInit.ts';
|
90
81
|
}
|
91
82
|
else {
|
92
83
|
enterPoint = 'node_modules/hexo-theme-shokax/source/js/_app/pjax/siteInit.ts';
|
93
84
|
}
|
94
|
-
text = 'const CONFIG = ' + JSON.stringify(siteConfig) + ';';
|
95
85
|
(0, esbuild_1.buildSync)({
|
96
86
|
entryPoints: [enterPoint],
|
97
87
|
bundle: true,
|
98
|
-
|
88
|
+
outdir: 'shokaxTemp',
|
99
89
|
tsconfigRaw: {
|
100
90
|
compilerOptions: {
|
101
91
|
target: 'ES2022',
|
@@ -106,9 +96,12 @@ hexo.extend.generator.register('script', function (locals) {
|
|
106
96
|
}
|
107
97
|
},
|
108
98
|
platform: 'browser',
|
109
|
-
format: '
|
99
|
+
format: 'esm',
|
110
100
|
target: ['es2022'],
|
111
101
|
minify: true,
|
102
|
+
legalComments: 'linked',
|
103
|
+
mainFields: ['module', 'main'],
|
104
|
+
splitting: true,
|
112
105
|
define: {
|
113
106
|
__UNLAZY_LOGGING__: 'false',
|
114
107
|
__UNLAZY_HASH_DECODING__: theme.modules.unlazyHash ? 'true' : 'false',
|
@@ -119,16 +112,47 @@ hexo.extend.generator.register('script', function (locals) {
|
|
119
112
|
__shokax_outime__: theme.outime.enable ? 'true' : 'false',
|
120
113
|
__shokax_tabs__: theme.modules.tabs ? 'true' : 'false',
|
121
114
|
__shokax_quiz__: theme.modules.quiz ? 'true' : 'false',
|
122
|
-
__shokax_fancybox__: theme.modules.fancybox ? 'true' : 'false'
|
115
|
+
__shokax_fancybox__: theme.modules.fancybox ? 'true' : 'false',
|
116
|
+
__shokax_waline__: theme.waline.enable ? 'true' : 'false',
|
117
|
+
__shokax_twikoo__: theme.twikoo.enable ? 'true' : 'false',
|
118
|
+
shokax_CONFIG: JSON.stringify(siteConfig),
|
119
|
+
shokax_siteURL: "'" + config.url + "'"
|
120
|
+
},
|
121
|
+
alias: {
|
122
|
+
'algoliasearch/lite': 'algoliasearch/dist/algoliasearch-lite.esm.browser.js'
|
123
123
|
}
|
124
124
|
});
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
125
|
+
const res = [];
|
126
|
+
node_fs_1.default.readdirSync('./shokaxTemp').forEach((file) => {
|
127
|
+
const fileText = node_fs_1.default.readFileSync(`./shokaxTemp/${file}`, { encoding: 'utf-8' });
|
128
|
+
if (file.endsWith('js')) {
|
129
|
+
const result = hexo.render.renderSync({ text: fileText, engine: 'js' });
|
130
|
+
res.push({
|
131
|
+
path: theme.js + '/' + file,
|
132
|
+
data: function () {
|
133
|
+
return result;
|
134
|
+
}
|
135
|
+
});
|
132
136
|
}
|
133
|
-
|
137
|
+
else if (file.endsWith('css')) {
|
138
|
+
const result = hexo.render.renderSync({ text: fileText, engine: 'css' });
|
139
|
+
res.push({
|
140
|
+
path: theme.css + '/' + file,
|
141
|
+
data: function () {
|
142
|
+
return result;
|
143
|
+
}
|
144
|
+
});
|
145
|
+
}
|
146
|
+
else {
|
147
|
+
res.push({
|
148
|
+
path: theme.js + '/' + file,
|
149
|
+
data: function () {
|
150
|
+
return fileText;
|
151
|
+
}
|
152
|
+
});
|
153
|
+
}
|
154
|
+
node_fs_1.default.unlinkSync(`./shokaxTemp/${file}`);
|
155
|
+
});
|
156
|
+
node_fs_1.default.rmSync('./shokaxTemp', { force: true, recursive: true });
|
157
|
+
return res;
|
134
158
|
});
|