hexo-theme-shokax 0.2.6 → 0.2.7
Sign up to get free protection for your applications and to get access to all the features.
- package/LICENSE-shoka +21 -0
- package/_config.yml +1 -1
- package/layout/_mixin/comment.pug +3 -3
- package/layout/_mixin/widgets.pug +3 -2
- package/layout/_partials/post/footer.pug +5 -4
- package/package.json +6 -13
- package/scripts/helpers/asset.js +23 -2
package/LICENSE-shoka
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2020 霜月琉璃
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
package/_config.yml
CHANGED
@@ -13,7 +13,7 @@ mixin CommentRender()
|
|
13
13
|
})
|
14
14
|
}, 1000)
|
15
15
|
else if wl
|
16
|
-
div(class="
|
16
|
+
div(class="wrap" id="wcomments")
|
17
17
|
- var locale = JSON.stringify(theme.waline.locale)
|
18
18
|
- var emoji = JSON.stringify(theme.waline.emoji)
|
19
19
|
- var meta = JSON.stringify(theme.waline.meta)
|
@@ -38,7 +38,7 @@ mixin CommentRender()
|
|
38
38
|
});
|
39
39
|
}, 1000)
|
40
40
|
else if gt
|
41
|
-
div(class="
|
41
|
+
div(class="wrap" id="gtcomments")
|
42
42
|
script(type="text/javascript" data-pjax).
|
43
43
|
const gproxy = theme.gitalk.proxy || undefined
|
44
44
|
const gitalk = new Gitalk({
|
@@ -53,7 +53,7 @@ mixin CommentRender()
|
|
53
53
|
});
|
54
54
|
gitalk.render("gtcomments")
|
55
55
|
else if gs
|
56
|
-
div(class="
|
56
|
+
div(class="wrap giscus" id="gscomments")
|
57
57
|
script( src="https://giscus.app/client.js"
|
58
58
|
data-repo="#{theme.giscus.repo}"
|
59
59
|
data-repo-id="#{theme.giscus.repoId}"
|
@@ -10,6 +10,7 @@ mixin field(item)
|
|
10
10
|
|
11
11
|
mixin WRender(item)
|
12
12
|
- var tk = theme?.twikoo?.enable
|
13
|
+
- var waline = theme.waline.enable
|
13
14
|
if theme.widgets.random_posts
|
14
15
|
div(class="rpost pjax")
|
15
16
|
h2
|
@@ -22,10 +23,10 @@ mixin WRender(item)
|
|
22
23
|
div(class="rpost pjax")
|
23
24
|
h2 最新评论
|
24
25
|
ul(class="leancloud-recent-comment" id="new-comment")
|
25
|
-
if tk
|
26
|
+
if tk || waline
|
26
27
|
li(v-for="com in coms" class="item")
|
27
28
|
a(v-bind:href="com.href" data-pjax-state="data-pjax-state")
|
28
|
-
span(class="breadcrumb") {{com.nick}}@{{com.time}}
|
29
|
+
span(class="breadcrumb") {{com.nick}} @ {{com.time}}
|
29
30
|
span {{com.text}}
|
30
31
|
br
|
31
32
|
|
@@ -1,9 +1,10 @@
|
|
1
1
|
div(class="meta")
|
2
2
|
if date(post.date) != date(post.updated) || time(post.date) != time(post.updated)
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
if theme.twikoo.enable || theme.waline.pageview
|
4
|
+
span(class="icon")
|
5
|
+
i(class="ic i-eye")
|
6
|
+
span 此文章已被阅读次数:
|
7
|
+
span(id="twikoo_visitors" class="waline-pageview-count" data-path=post.path) 正在加载...
|
7
8
|
span(class="item")
|
8
9
|
span(class="icon")
|
9
10
|
i(class="ic i-calendar-check")
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "hexo-theme-shokax",
|
3
|
-
"version": "0.2.
|
3
|
+
"version": "0.2.7",
|
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",
|
@@ -8,12 +8,10 @@
|
|
8
8
|
"license": "GPL-3.0-or-later",
|
9
9
|
"scripts": {
|
10
10
|
"test": "tsc",
|
11
|
-
"build": "pnpm install && tsc"
|
12
|
-
"docs:dev": "vuepress dev docs",
|
13
|
-
"docs:build": "vuepress build docs"
|
11
|
+
"build": "pnpm install && tsc"
|
14
12
|
},
|
15
13
|
"devDependencies": {
|
16
|
-
|
14
|
+
|
17
15
|
"@types/fancybox": "^3.5.3",
|
18
16
|
"@types/hexo": "^3.8.8",
|
19
17
|
"@types/jquery": "^3.5.16",
|
@@ -22,9 +20,7 @@
|
|
22
20
|
"@types/node": "^20.1.0",
|
23
21
|
"@typescript-eslint/eslint-plugin": "^5.59.0",
|
24
22
|
"@typescript-eslint/parser": "^5.59.0",
|
25
|
-
|
26
|
-
"@vuepress/plugin-docsearch": "2.0.0-beta.61",
|
27
|
-
"algoliasearch": "^4.17.0",
|
23
|
+
|
28
24
|
"eslint": "^8.39.0",
|
29
25
|
"eslint-config-standard": "^17.0.0",
|
30
26
|
"eslint-plugin-import": "^2.27.5",
|
@@ -37,12 +33,9 @@
|
|
37
33
|
"theme-shokax-anime": "^0.0.4",
|
38
34
|
"theme-shokax-pjax": "^0.0.2",
|
39
35
|
"typescript": "^5.0.4",
|
40
|
-
"vue": "^3.
|
41
|
-
"vuepress": "2.0.0-beta.61",
|
42
|
-
"vuepress-plugin-sitemap2": "2.0.0-beta.208"
|
36
|
+
"vue": "^3.3.4"
|
43
37
|
},
|
44
38
|
"dependencies": {
|
45
|
-
"js-yaml": "^4.1.0"
|
46
|
-
"sass": "^1.62.0"
|
39
|
+
"js-yaml": "^4.1.0"
|
47
40
|
}
|
48
41
|
}
|
package/scripts/helpers/asset.js
CHANGED
@@ -41,12 +41,33 @@ hexo.extend.helper.register('_new_comments', function (mode) {
|
|
41
41
|
else if (mode === 'waline') {
|
42
42
|
return `
|
43
43
|
<script type="module" data-pjax>
|
44
|
+
let items = []
|
44
45
|
import { RecentComments } from 'https://unpkg.com/@waline/client@v2/dist/waline.mjs'
|
45
46
|
RecentComments({
|
46
|
-
el: '#new-comment',
|
47
47
|
serverURL: '${hexo.theme.config.waline.serverURL.replace(/\/+$/, '')}',
|
48
48
|
count: 10,
|
49
|
-
})
|
49
|
+
}).then(({ comments }) => {
|
50
|
+
comments.forEach(function (item) {
|
51
|
+
let cText = (item.orig.length > 50) ? item.orig.substring(0,50)+'...' : item.orig
|
52
|
+
item.url = item.url !== '/' ? '/' + item.url : item.url;
|
53
|
+
const siteLink = item.url + "#" + item.objectId
|
54
|
+
items.push({
|
55
|
+
href: siteLink,
|
56
|
+
nick: item.nick,
|
57
|
+
time: item.insertedAt.split('T').shift(),
|
58
|
+
text: cText
|
59
|
+
})
|
60
|
+
})
|
61
|
+
Vue.createApp({
|
62
|
+
data() {
|
63
|
+
return {
|
64
|
+
coms: items
|
65
|
+
}
|
66
|
+
}
|
67
|
+
}).mount('#new-comment')
|
68
|
+
}).catch(function (err) {
|
69
|
+
console.error(err)
|
70
|
+
})
|
50
71
|
</script>
|
51
72
|
`;
|
52
73
|
}
|