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.
Files changed (34) hide show
  1. package/_config.yml +15 -27
  2. package/languages/default.yml +14 -15
  3. package/languages/en.yml +22 -24
  4. package/languages/zh-CN.yml +14 -15
  5. package/languages/zh-TW.yml +14 -15
  6. package/layout/includes/head/config.pug +0 -11
  7. package/layout/includes/head/page_config.pug +1 -1
  8. package/layout/includes/inject/body.pug +1 -1
  9. package/layout/includes/layout.pug +0 -4
  10. package/layout/includes/page/brevity.pug +2 -2
  11. package/layout/includes/widgets/page/about/skillsinfo.pug +12 -11
  12. package/layout/includes/widgets/page/kit/content.pug +3 -2
  13. package/layout/includes/widgets/page/links/banner.pug +7 -6
  14. package/layout/includes/widgets/post/ai.pug +7 -0
  15. package/layout/post.pug +2 -2
  16. package/package.json +1 -1
  17. package/scripts/event/cdn.js +83 -60
  18. package/scripts/event/merge_config.js +385 -385
  19. package/scripts/filter/default.js +22 -24
  20. package/scripts/tags/tabs.js +29 -18
  21. package/source/css/_global/index.styl +2 -2
  22. package/source/css/_layout/article-container.styl +1 -1
  23. package/source/css/_layout/other.styl +2 -2
  24. package/source/css/_post/index.styl +103 -4
  25. package/source/css/_tags/tabs.styl +40 -101
  26. package/source/css/index.styl +0 -4
  27. package/source/js/main.js +447 -257
  28. package/source/js/post_ai.js +60 -0
  29. package/source/js/utils.js +0 -6
  30. package/layout/includes/widgets/post/post-ai.pug +0 -12
  31. package/layout/includes/widgets/third-party/tianli-talk.pug +0 -26
  32. package/source/css/_post/postAI.styl +0 -132
  33. package/source/css/third_party/tianli_talk.styl +0 -77
  34. package/source/js/third_party/post_ai.min.js +0 -184
@@ -3,75 +3,98 @@
3
3
  * Merge CDN
4
4
  */
5
5
 
6
- 'use strict';
6
+ "use strict";
7
7
 
8
- const { version } = require('../../package.json');
9
- const path = require('path');
8
+ const { version } = require("../../package.json");
9
+ const path = require("path");
10
10
 
11
- hexo.extend.filter.register('before_generate', () => {
12
- const themeConfig = hexo.theme.config;
13
- const { CDN } = themeConfig;
14
- const name = 'hexo-theme-solitude';
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
- const thirdPartySrc = hexo.render.renderSync({ path: path.join(hexo.theme_dir, '/plugins.yml'), engine: 'yaml' });
17
- const internalSrc = {
18
- main: { name, file: 'js/main.js', version },
19
- utils: { name, file: 'js/utils.js', version },
20
- local_search: { name, file: 'js/search/local.js', version },
21
- algolia_js: { name, file: 'js/search/algolia.js', version },
22
- cover_local: { name, file: 'js/covercolor/local.js', version },
23
- cover_api: { name, file: 'js/covercolor/api.js', version },
24
- cover_ave: { name, file: 'js/covercolor/ave.js', version },
25
- music_js: { name, file: 'js/music.js', version },
26
- right_menu_js: { name, file: 'js/right_menu.js', version },
27
- translate_js: { name, file: 'js/tw_cn.js', version },
28
- post_ai: { name, file: 'js/third_party/post_ai.min.js', version },
29
- commentBarrage: { name, file: 'js/third_party/barrage.min.js', version },
30
- waterfall: { name, file: 'js/third_party/waterfall.min.js', version },
31
- universe_js: { name, file: 'js/third_party/universe.min.js', version },
32
- envelope_js: { name, file: 'js/third_party/envelope.min.js', version }
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
- const minFile = file => file.replace(/(?<!\.min)\.(js|css)$/g, ext => `.min${ext}`);
38
+ const minFile = (file) =>
39
+ file.replace(/(?<!\.min)\.(js|css)$/g, (ext) => `.min${ext}`);
36
40
 
37
- const createCDNLink = (data, type, cond = '') => {
38
- Object.keys(data).forEach(key => {
39
- let { name, version, file, other_name } = data[key];
40
- const cdnjs_name = other_name || name;
41
- const cdnjs_file = file.replace(/^[lib|dist]*\/|browser\//g, '');
42
- const min_cdnjs_file = minFile(cdnjs_file);
43
- if (cond === 'internal') file = `source/${file}`;
44
- const min_file = minFile(file);
45
- const verType = CDN.version ? (type === 'local' ? `?v=${version}` : `@${version}`) : '';
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
- const value = { version, name, file, cdnjs_file, min_file, min_cdnjs_file, cdnjs_name };
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
- const cdnSource = {
50
- local: cond === 'internal' ? `${cdnjs_file + verType}` : `/pluginsSrc/${name}/${file + verType}`,
51
- jsdelivr: `https://cdn.jsdelivr.net/npm/${name}${verType}/${min_file}`,
52
- unpkg: `https://unpkg.com/${name}${verType}/${file}`,
53
- cdnjs: `https://cdnjs.cloudflare.com/ajax/libs/${cdnjs_name}/${version}/${min_cdnjs_file}`,
54
- custom: (CDN.custom_format || '').replace(/\$\{(.+?)}/g, (match, $1) => value[$1]),
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
- data[key] = cdnSource[type];
58
- });
79
+ data[key] = cdnSource[type];
80
+ });
59
81
 
60
- if (cond === 'internal') data.main_css = `css/index.css${CDN.version ? `?v=${version}` : ''}`;
61
- return data;
62
- };
82
+ if (cond === "internal")
83
+ data.main_css = `css/index.css${CDN.version ? `?v=${version}` : ""}`;
84
+ return data;
85
+ };
63
86
 
64
- const deleteNullValue = obj => {
65
- if (!obj) return;
66
- for (const key in obj) {
67
- if (obj[key] === null) delete obj[key];
68
- }
69
- return obj;
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
- themeConfig.cdn = Object.assign(
73
- createCDNLink(internalSrc, CDN.internal, 'internal'),
74
- createCDNLink(thirdPartySrc, CDN.third_party),
75
- deleteNullValue(CDN.options)
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
  });