hexo-theme-solitude 3.0.10 → 3.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_config.yml +15 -27
- package/languages/default.yml +14 -15
- package/languages/en.yml +22 -24
- package/languages/zh-CN.yml +14 -15
- package/languages/zh-TW.yml +14 -15
- package/layout/includes/head/config.pug +0 -11
- package/layout/includes/head/page_config.pug +1 -1
- package/layout/includes/inject/body.pug +1 -1
- package/layout/includes/layout.pug +0 -4
- package/layout/includes/page/brevity.pug +2 -2
- package/layout/includes/widgets/page/about/skillsinfo.pug +12 -11
- package/layout/includes/widgets/page/kit/content.pug +3 -2
- package/layout/includes/widgets/page/links/banner.pug +7 -6
- package/layout/includes/widgets/post/ai.pug +7 -0
- package/layout/post.pug +2 -2
- package/package.json +1 -1
- package/scripts/event/cdn.js +83 -60
- package/scripts/event/merge_config.js +385 -385
- package/scripts/filter/default.js +22 -24
- package/scripts/tags/tabs.js +29 -18
- package/source/css/_global/index.styl +2 -2
- package/source/css/_layout/article-container.styl +1 -1
- package/source/css/_layout/other.styl +2 -2
- package/source/css/_post/index.styl +103 -4
- package/source/css/_tags/tabs.styl +40 -101
- package/source/css/index.styl +0 -4
- package/source/js/main.js +447 -257
- package/source/js/post_ai.js +60 -0
- package/source/js/utils.js +0 -6
- package/layout/includes/widgets/post/post-ai.pug +0 -12
- package/layout/includes/widgets/third-party/tianli-talk.pug +0 -26
- package/source/css/_post/postAI.styl +0 -132
- package/source/css/third_party/tianli_talk.styl +0 -77
- package/source/js/third_party/post_ai.min.js +0 -184
package/scripts/event/cdn.js
CHANGED
@@ -3,75 +3,98 @@
|
|
3
3
|
* Merge CDN
|
4
4
|
*/
|
5
5
|
|
6
|
-
|
6
|
+
"use strict";
|
7
7
|
|
8
|
-
const { version } = require(
|
9
|
-
const path = require(
|
8
|
+
const { version } = require("../../package.json");
|
9
|
+
const path = require("path");
|
10
10
|
|
11
|
-
hexo.extend.filter.register(
|
12
|
-
|
13
|
-
|
14
|
-
|
11
|
+
hexo.extend.filter.register("before_generate", () => {
|
12
|
+
const themeConfig = hexo.theme.config;
|
13
|
+
const { CDN } = themeConfig;
|
14
|
+
const name = "hexo-theme-solitude";
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
}
|
16
|
+
const thirdPartySrc = hexo.render.renderSync({
|
17
|
+
path: path.join(hexo.theme_dir, "/plugins.yml"),
|
18
|
+
engine: "yaml",
|
19
|
+
});
|
20
|
+
const internalSrc = {
|
21
|
+
main: { name, file: "js/main.js", version },
|
22
|
+
utils: { name, file: "js/utils.js", version },
|
23
|
+
local_search: { name, file: "js/search/local.js", version },
|
24
|
+
algolia_js: { name, file: "js/search/algolia.js", version },
|
25
|
+
cover_local: { name, file: "js/covercolor/local.js", version },
|
26
|
+
cover_api: { name, file: "js/covercolor/api.js", version },
|
27
|
+
cover_ave: { name, file: "js/covercolor/ave.js", version },
|
28
|
+
music_js: { name, file: "js/music.js", version },
|
29
|
+
right_menu_js: { name, file: "js/right_menu.js", version },
|
30
|
+
translate_js: { name, file: "js/tw_cn.js", version },
|
31
|
+
commentBarrage: { name, file: "js/third_party/barrage.min.js", version },
|
32
|
+
waterfall: { name, file: "js/third_party/waterfall.min.js", version },
|
33
|
+
universe_js: { name, file: "js/third_party/universe.min.js", version },
|
34
|
+
post_ai: { name, file: "js/post_ai.js", version },
|
35
|
+
envelope_js: { name, file: "js/third_party/envelope.min.js", version },
|
36
|
+
};
|
34
37
|
|
35
|
-
|
38
|
+
const minFile = (file) =>
|
39
|
+
file.replace(/(?<!\.min)\.(js|css)$/g, (ext) => `.min${ext}`);
|
36
40
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
41
|
+
const createCDNLink = (data, type, cond = "") => {
|
42
|
+
Object.keys(data).forEach((key) => {
|
43
|
+
let { name, version, file, other_name } = data[key];
|
44
|
+
const cdnjs_name = other_name || name;
|
45
|
+
const cdnjs_file = file.replace(/^[lib|dist]*\/|browser\//g, "");
|
46
|
+
const min_cdnjs_file = minFile(cdnjs_file);
|
47
|
+
if (cond === "internal") file = `source/${file}`;
|
48
|
+
const min_file = minFile(file);
|
49
|
+
const verType = CDN.version
|
50
|
+
? type === "local"
|
51
|
+
? `?v=${version}`
|
52
|
+
: `@${version}`
|
53
|
+
: "";
|
46
54
|
|
47
|
-
|
55
|
+
const value = {
|
56
|
+
version,
|
57
|
+
name,
|
58
|
+
file,
|
59
|
+
cdnjs_file,
|
60
|
+
min_file,
|
61
|
+
min_cdnjs_file,
|
62
|
+
cdnjs_name,
|
63
|
+
};
|
48
64
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
65
|
+
const cdnSource = {
|
66
|
+
local:
|
67
|
+
cond === "internal"
|
68
|
+
? `${cdnjs_file + verType}`
|
69
|
+
: `/pluginsSrc/${name}/${file + verType}`,
|
70
|
+
jsdelivr: `https://cdn.jsdelivr.net/npm/${name}${verType}/${min_file}`,
|
71
|
+
unpkg: `https://unpkg.com/${name}${verType}/${file}`,
|
72
|
+
cdnjs: `https://cdnjs.cloudflare.com/ajax/libs/${cdnjs_name}/${version}/${min_cdnjs_file}`,
|
73
|
+
custom: (CDN.custom_format || "").replace(
|
74
|
+
/\$\{(.+?)}/g,
|
75
|
+
(match, $1) => value[$1]
|
76
|
+
),
|
77
|
+
};
|
56
78
|
|
57
|
-
|
58
|
-
|
79
|
+
data[key] = cdnSource[type];
|
80
|
+
});
|
59
81
|
|
60
|
-
|
61
|
-
|
62
|
-
|
82
|
+
if (cond === "internal")
|
83
|
+
data.main_css = `css/index.css${CDN.version ? `?v=${version}` : ""}`;
|
84
|
+
return data;
|
85
|
+
};
|
63
86
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
87
|
+
const deleteNullValue = (obj) => {
|
88
|
+
if (!obj) return;
|
89
|
+
for (const key in obj) {
|
90
|
+
if (obj[key] === null) delete obj[key];
|
91
|
+
}
|
92
|
+
return obj;
|
93
|
+
};
|
71
94
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
95
|
+
themeConfig.cdn = Object.assign(
|
96
|
+
createCDNLink(internalSrc, CDN.internal, "internal"),
|
97
|
+
createCDNLink(thirdPartySrc, CDN.third_party),
|
98
|
+
deleteNullValue(CDN.options)
|
99
|
+
);
|
77
100
|
});
|