sinzmise-cetastories 2.0.0-1731114112124 → 2.0.0-1731116663626

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 (201) hide show
  1. package/404/index.html +1 -4033
  2. package/about/index.html +1 -4041
  3. package/album/index.html +1 -4050
  4. package/archives/2021/12/index.html +1 -3917
  5. package/archives/2021/index.html +1 -3917
  6. package/archives/2022/12/index.html +1 -3917
  7. package/archives/2022/index.html +1 -3917
  8. package/archives/2023/01/index.html +1 -4072
  9. package/archives/2023/02/index.html +1 -3917
  10. package/archives/2023/03/index.html +1 -4063
  11. package/archives/2023/04/index.html +1 -3992
  12. package/archives/2023/07/index.html +1 -4217
  13. package/archives/2023/08/index.html +1 -4067
  14. package/archives/2023/09/index.html +1 -3917
  15. package/archives/2023/10/index.html +1 -3917
  16. package/archives/2023/11/index.html +1 -3917
  17. package/archives/2023/12/index.html +1 -3918
  18. package/archives/2023/index.html +1 -4591
  19. package/archives/2023/page/2/index.html +1 -4572
  20. package/archives/2023/page/3/index.html +1 -3930
  21. package/archives/2024/01/index.html +1 -4142
  22. package/archives/2024/02/index.html +1 -3922
  23. package/archives/2024/03/index.html +1 -3916
  24. package/archives/2024/04/index.html +1 -3997
  25. package/archives/2024/05/index.html +1 -4065
  26. package/archives/2024/06/index.html +1 -3917
  27. package/archives/2024/07/index.html +1 -3917
  28. package/archives/2024/08/index.html +1 -3992
  29. package/archives/2024/09/index.html +1 -3917
  30. package/archives/2024/10/index.html +1 -3984
  31. package/archives/2024/index.html +1 -4576
  32. package/archives/2024/page/2/index.html +1 -4433
  33. package/archives/index.html +1 -4560
  34. package/archives/page/2/index.html +1 -4560
  35. package/archives/page/3/index.html +1 -4560
  36. package/archives/page/4/index.html +1 -4560
  37. package/archives/page/5/index.html +1 -4560
  38. package/assets/algolia/algoliasearch.js +3 -7182
  39. package/assets/algolia/algoliasearchLite.js +3 -4445
  40. package/atom.xml +31 -31
  41. package/bbs/bbs.html +1 -4012
  42. package/bbs/bbs.js +2 -12
  43. package/bbs/index.html +1 -4031
  44. package/categories/index.html +1 -4050
  45. package/categories//344/270/252/344/272/272/345/260/217/350/256/260/index.html +1 -4570
  46. package/categories//344/270/252/344/272/272/345/260/217/350/256/260/page/2/index.html +1 -4485
  47. package/categories//346/255/214/346/233/262/346/224/266/351/233/206/index.html +1 -3920
  48. package/categories//346/270/270/346/210/217/347/233/270/345/205/263/index.html +1 -4148
  49. package/categories//347/253/231/347/202/271/346/212/230/350/205/276/index.html +1 -4610
  50. package/categories//347/253/231/347/202/271/346/212/230/350/205/276/page/2/index.html +1 -4148
  51. package/categories//351/241/271/347/233/256/346/212/230/350/205/276/index.html +1 -4072
  52. package/charts/index.html +1 -4039
  53. package/comments/index.html +1 -4052
  54. package/css/custom2.css +2 -3
  55. package/css/first.css +2 -1868
  56. package/css/pace/big-counter.css +2 -39
  57. package/css/pace/corner-indicator.css +2 -72
  58. package/css/pace/flash.css +2 -76
  59. package/css/pace/mac-osx.css +2 -86
  60. package/css/pace/pace.css +2 -50
  61. package/css/plane.css +2 -59
  62. package/css/style.css +2 -8585
  63. package/css/tags.css +2 -3516
  64. package/essay/index.html +1 -4050
  65. package/fcircle/index.html +1 -4075
  66. package/games +2 -2
  67. package/index.html +1 -4717
  68. package/js/app.js +2 -1341
  69. package/js/autoload.js +2 -62
  70. package/js/ceta/fancybox.css +2 -2
  71. package/js/ceta/fancybox.umd.js +2 -2
  72. package/js/ceta/iconfontInkss.js +2 -1
  73. package/js/ceta/message.css +2 -6
  74. package/js/ceta/message.js +2 -6
  75. package/js/clock.js +2 -1
  76. package/js/kslink.js +2 -38
  77. package/js/newyear.js +2 -76
  78. package/js/plane.js +2 -2200
  79. package/js/plugins/aplayer.js +2 -186
  80. package/js/plugins/parallax.js +2 -191
  81. package/js/plugins/rightMenus.js +2 -623
  82. package/js/plugins/tags/contributors.js +2 -92
  83. package/js/plugins/tags/friends.js +2 -93
  84. package/js/plugins/tags/sites.js +2 -96
  85. package/js/search/algolia.js +2 -239
  86. package/js/search/hexo.js +2 -195
  87. package/js/search/meilisearch.js +2 -220
  88. package/js/txmap.js +2 -248
  89. package/link/index.html +1 -6180
  90. package/load.html +1 -294
  91. package/maps/assets/algolia/algoliasearch.js.map +1 -0
  92. package/maps/assets/algolia/algoliasearchLite.js.map +1 -0
  93. package/maps/bbs/bbs.js.map +1 -0
  94. package/maps/css/custom2.css.map +1 -0
  95. package/maps/css/first.css.map +1 -0
  96. package/maps/css/pace/big-counter.css.map +1 -0
  97. package/maps/css/pace/corner-indicator.css.map +1 -0
  98. package/maps/css/pace/flash.css.map +1 -0
  99. package/maps/css/pace/mac-osx.css.map +1 -0
  100. package/maps/css/pace/pace.css.map +1 -0
  101. package/maps/css/plane.css.map +1 -0
  102. package/maps/css/style.css.map +1 -0
  103. package/maps/css/tags.css.map +1 -0
  104. package/maps/js/app.js.map +1 -0
  105. package/maps/js/autoload.js.map +1 -0
  106. package/maps/js/ceta/fancybox.css.map +1 -0
  107. package/maps/js/ceta/fancybox.umd.js.map +1 -0
  108. package/maps/js/ceta/iconfontInkss.js.map +1 -0
  109. package/maps/js/ceta/message.css.map +1 -0
  110. package/maps/js/ceta/message.js.map +1 -0
  111. package/maps/js/clock.js.map +1 -0
  112. package/maps/js/kslink.js.map +1 -0
  113. package/maps/js/newyear.js.map +1 -0
  114. package/maps/js/plane.js.map +1 -0
  115. package/maps/js/plugins/aplayer.js.map +1 -0
  116. package/maps/js/plugins/parallax.js.map +1 -0
  117. package/maps/js/plugins/rightMenus.js.map +1 -0
  118. package/maps/js/plugins/tags/contributors.js.map +1 -0
  119. package/maps/js/plugins/tags/friends.js.map +1 -0
  120. package/maps/js/plugins/tags/sites.js.map +1 -0
  121. package/maps/js/search/algolia.js.map +1 -0
  122. package/maps/js/search/hexo.js.map +1 -0
  123. package/maps/js/search/meilisearch.js.map +1 -0
  124. package/maps/js/txmap.js.map +1 -0
  125. package/maps/sw.js.map +1 -0
  126. package/maps/weichuncai/css/style.css.map +1 -0
  127. package/maps/weichuncai/js/common.js.map +1 -0
  128. package/maps/weichuncai/js/jquery.js.map +1 -0
  129. package/maps/weichuncai/wcc-config.js.map +1 -0
  130. package/music/index.html +1 -4033
  131. package/package.json +1 -1
  132. package/page/2/index.html +1 -4578
  133. package/page/3/index.html +1 -4575
  134. package/page/4/index.html +1 -4572
  135. package/page/5/index.html +1 -3924
  136. package/posts/10021/index.html +5 -4130
  137. package/posts/10045/index.html +1 -4224
  138. package/posts/10733/index.html +1 -4125
  139. package/posts/10996/index.html +5 -4127
  140. package/posts/12779/index.html +1 -4134
  141. package/posts/13624/index.html +1 -4179
  142. package/posts/15688/index.html +1 -4133
  143. package/posts/15748/index.html +5 -4121
  144. package/posts/15799/index.html +1 -4130
  145. package/posts/15842/index.html +5 -4121
  146. package/posts/16107/index.html +1 -4111
  147. package/posts/18063/index.html +1 -4124
  148. package/posts/20412/index.html +1 -4134
  149. package/posts/21375/index.html +1 -4124
  150. package/posts/22945/index.html +4 -4169
  151. package/posts/23021/index.html +1 -4104
  152. package/posts/27531/index.html +5 -4121
  153. package/posts/28536/index.html +1 -4116
  154. package/posts/28733/index.html +1 -4168
  155. package/posts/29196/index.html +1 -4106
  156. package/posts/38917/index.html +1 -4144
  157. package/posts/38964/index.html +1 -4208
  158. package/posts/42487/index.html +1 -4135
  159. package/posts/42580/index.html +1 -4128
  160. package/posts/45875/index.html +1 -4118
  161. package/posts/46640/index.html +1 -4147
  162. package/posts/48762/index.html +1 -4109
  163. package/posts/50710/index.html +1 -4114
  164. package/posts/52677/index.html +1 -4125
  165. package/posts/53662/index.html +1 -4123
  166. package/posts/54386/index.html +1 -4116
  167. package/posts/54481/index.html +1 -4133
  168. package/posts/54787/index.html +5 -4124
  169. package/posts/56467/index.html +1 -4121
  170. package/posts/57692/index.html +1 -4143
  171. package/posts/58203/index.html +1 -4116
  172. package/posts/61417/index.html +1 -4117
  173. package/posts/61712/index.html +1 -4113
  174. package/posts/646/index.html +1 -4106
  175. package/posts/64856/index.html +1 -4120
  176. package/posts/64935/index.html +1 -4120
  177. package/search.xml +70 -70
  178. package/seas/index.html +1 -4050
  179. package/sw.js +2 -798
  180. package/tags/Flash/347/233/270/345/205/263/index.html +1 -3924
  181. package/tags/Steam/346/270/270/346/210/217/index.html +1 -3924
  182. package/tags/Windows/350/275/257/344/273/266/index.html +1 -3997
  183. package/tags/index.html +1 -4033
  184. package/tags//344/270/252/344/272/272/345/260/217/350/256/260/index.html +1 -4570
  185. package/tags//344/270/252/344/272/272/345/260/217/350/256/260/page/2/index.html +1 -4485
  186. package/tags//345/205/266/345/256/203/346/270/270/346/210/217/index.html +1 -4073
  187. package/tags//345/212/240/350/275/275/345/212/250/347/224/273/index.html +1 -3924
  188. package/tags//346/202/254/346/265/256/345/256/240/347/211/251-/347/234/213/346/235/277/345/250/230/index.html +1 -3925
  189. package/tags//346/255/214/346/233/262/346/224/266/351/233/206/index.html +1 -3920
  190. package/tags//346/270/270/346/210/217/347/233/270/345/205/263/index.html +1 -4148
  191. package/tags//347/253/231/347/202/271/345/272/225/351/203/250/351/255/224/346/224/271/index.html +1 -3924
  192. package/tags//347/253/231/347/202/271/346/212/230/350/205/276/index.html +1 -4610
  193. package/tags//347/253/231/347/202/271/346/212/230/350/205/276/page/2/index.html +1 -4148
  194. package/tags//350/207/252/345/273/272/351/203/250/347/275/262/index.html +1 -4224
  195. package/tags//351/241/265/351/235/242/351/255/224/346/224/271/index.html +1 -4075
  196. package/tags//351/241/271/347/233/256/346/212/230/350/205/276/index.html +1 -4072
  197. package/update/index.html +1 -4112
  198. package/weichuncai/css/style.css +2 -25
  199. package/weichuncai/js/common.js +2 -449
  200. package/weichuncai/js/jquery.js +2 -139
  201. package/weichuncai/wcc-config.js +2 -17
@@ -1,92 +1,2 @@
1
- const ContributorsJS = {
2
- requestAPI: (url, callback, timeout) => {
3
- let retryTimes = 5;
4
-
5
- function request() {
6
- return new Promise((resolve, reject) => {
7
- let status = 0; // 0 等待 1 完成 2 超时
8
- let timer = setTimeout(() => {
9
- if (status === 0) {
10
- status = 2;
11
- timer = null;
12
- reject('请求超时');
13
- if (retryTimes == 0) {
14
- timeout();
15
- }
16
- }
17
- }, 5000);
18
- fetch(url).then(function (response) {
19
- if (status !== 2) {
20
- clearTimeout(timer);
21
- resolve(response);
22
- timer = null;
23
- status = 1;
24
- }
25
- if (response.ok) {
26
- return response.json();
27
- }
28
- throw new Error('Network response was not ok.');
29
- }).then(function (data) {
30
- retryTimes = 0;
31
- callback(data);
32
- }).catch(function (error) {
33
- if (retryTimes > 0) {
34
- retryTimes -= 1;
35
- setTimeout(() => {
36
- request();
37
- }, 5000);
38
- } else {
39
- timeout();
40
- }
41
- });
42
- });
43
- }
44
- request();
45
- },
46
- layout: (cfg) => {
47
- const el = cfg.el;
48
- ContributorsJS.requestAPI(cfg.api, function (data) {
49
- el.querySelector('.loading-wrap').remove();
50
- var cellALL = "";
51
- (data || []).forEach((item, i) => {
52
- var user = '<div class="user-card">';
53
- user += '<a class="card-link" target="_blank" rel="external noopener noreferrer"';
54
- user += ' href="' + item.html_url + '">';
55
- user += '<img alt="' + item.login + '" src="' + (item.avatar_url || cfg.avatar) + '" onerror="errorImgAvatar(this)">';
56
- user += '<div class="name"><span>' + item.login + '</span></div>';
57
- user += '</a>';
58
- user += '</div>';
59
- cellALL += user;
60
- });
61
- el.querySelector('.group-body').innerHTML = cellALL;
62
- }, function () {
63
- try {
64
- el.querySelector('.loading-wrap svg').remove();
65
- el.querySelector('.loading-wrap p').innerText('加载失败,请稍后重试。');
66
- } catch (e) { }
67
- });
68
- },
69
- start: () => {
70
- const els = document.getElementsByClassName('contributorsjs-wrap');
71
- for (var i = 0; i < els.length; i++) {
72
- const el = els[i];
73
- const api = el.getAttribute('api');
74
- if (api == null) {
75
- continue;
76
- }
77
- var cfg = new Object();
78
- cfg.el = el;
79
- cfg.api = api;
80
- cfg.class = el.getAttribute('class');
81
- cfg.avatar = volantis.GLOBAL_CONFIG.default.avatar;
82
- ContributorsJS.layout(cfg);
83
- }
84
- }
85
- }
86
-
87
-
88
-
89
- ContributorsJS.start();
90
- document.addEventListener('pjax:complete', function () {
91
- ContributorsJS.start();
92
- });
1
+ const ContributorsJS={requestAPI:(t,r,e)=>{let n=5;!function o(){return new Promise(((a,s)=>{let l=0,i=setTimeout((()=>{0===l&&(l=2,i=null,s("请求超时"),0==n&&e())}),5e3);fetch(t).then((function(t){if(2!==l&&(clearTimeout(i),a(t),i=null,l=1),t.ok)return t.json();throw new Error("Network response was not ok.")})).then((function(t){n=0,r(t)})).catch((function(t){n>0?(n-=1,setTimeout((()=>{o()}),5e3)):e()}))}))}()},layout:t=>{const r=t.el;ContributorsJS.requestAPI(t.api,(function(e){r.querySelector(".loading-wrap").remove();var n="";(e||[]).forEach(((r,e)=>{var o='<div class="user-card">';o+='<a class="card-link" target="_blank" rel="external noopener noreferrer"',o+=' href="'+r.html_url+'">',o+='<img alt="'+r.login+'" src="'+(r.avatar_url||t.avatar)+'" onerror="errorImgAvatar(this)">',o+='<div class="name"><span>'+r.login+"</span></div>",o+="</a>",n+=o+="</div>"})),r.querySelector(".group-body").innerHTML=n}),(function(){try{r.querySelector(".loading-wrap svg").remove(),r.querySelector(".loading-wrap p").innerText("加载失败,请稍后重试。")}catch(t){}}))},start:()=>{const t=document.getElementsByClassName("contributorsjs-wrap");for(var r=0;r<t.length;r++){const n=t[r],o=n.getAttribute("api");if(null!=o){var e=new Object;e.el=n,e.api=o,e.class=n.getAttribute("class"),e.avatar=volantis.GLOBAL_CONFIG.default.avatar,ContributorsJS.layout(e)}}}};ContributorsJS.start(),document.addEventListener("pjax:complete",(function(){ContributorsJS.start()}));
2
+ //# sourceMappingURL=../../../maps/js/plugins/tags/contributors.js.map
@@ -1,93 +1,2 @@
1
- const FriendsJS = {
2
- requestAPI: (url, callback, timeout) => {
3
- let retryTimes = 5;
4
-
5
- function request() {
6
- return new Promise((resolve, reject) => {
7
- let status = 0; // 0 等待 1 完成 2 超时
8
- let timer = setTimeout(() => {
9
- if (status === 0) {
10
- status = 2;
11
- timer = null;
12
- reject('请求超时');
13
- if (retryTimes == 0) {
14
- timeout();
15
- }
16
- }
17
- }, 5000);
18
- fetch(url).then(function (response) {
19
- if (status !== 2) {
20
- clearTimeout(timer);
21
- resolve(response);
22
- timer = null;
23
- status = 1;
24
- }
25
- if (response.ok) {
26
- return response.json();
27
- }
28
- throw new Error('Network response was not ok.');
29
- }).then(function (data) {
30
- retryTimes = 0;
31
- callback(data);
32
- }).catch(function (error) {
33
- if (retryTimes > 0) {
34
- retryTimes -= 1;
35
- setTimeout(() => {
36
- request();
37
- }, 5000);
38
- } else {
39
- timeout();
40
- }
41
- });
42
- });
43
- }
44
- request();
45
- },
46
- layout: (cfg) => {
47
- const el = cfg.el;
48
- FriendsJS.requestAPI(cfg.api, function (data) {
49
- el.querySelector('.loading-wrap').remove();
50
- const arr = data.content;
51
- var cellALL = "";
52
- arr.forEach((item, i) => {
53
- var user = '<div class="user-card">';
54
- user += '<a class="card-link" target="_blank" rel="external noopener noreferrer"';
55
- user += ' href="' + item.url + '">';
56
- user += '<img alt="' + item.title + '" src="' + (item.avatar || cfg.avatar) + '" onerror="errorImgAvatar(this)">';
57
- user += '<div class="name"><span>' + item.title + '</span></div>';
58
- user += '</a>';
59
- user += '</div>';
60
- cellALL += user;
61
- });
62
- el.querySelector('.group-body').innerHTML = cellALL;
63
- }, function () {
64
- try {
65
- el.querySelector('.loading-wrap svg').remove();
66
- el.querySelector('.loading-wrap p').innerText('加载失败,请稍后重试。');
67
- } catch (e) { }
68
- });
69
- },
70
- start: () => {
71
- const els = document.getElementsByClassName('friendsjs-wrap');
72
- for (var i = 0; i < els.length; i++) {
73
- const el = els[i];
74
- const api = el.getAttribute('api');
75
- if (api == null) {
76
- continue;
77
- }
78
- var cfg = new Object();
79
- cfg.el = el;
80
- cfg.api = api;
81
- cfg.class = el.getAttribute('class');
82
- cfg.avatar = volantis.GLOBAL_CONFIG.default.avatar;
83
- FriendsJS.layout(cfg);
84
- }
85
- }
86
- }
87
-
88
-
89
-
90
- FriendsJS.start();
91
- document.addEventListener('pjax:complete', function () {
92
- FriendsJS.start();
93
- });
1
+ const FriendsJS={requestAPI:(e,t,r)=>{let n=5;!function a(){return new Promise(((o,s)=>{let i=0,l=setTimeout((()=>{0===i&&(i=2,l=null,s("请求超时"),0==n&&r())}),5e3);fetch(e).then((function(e){if(2!==i&&(clearTimeout(l),o(e),l=null,i=1),e.ok)return e.json();throw new Error("Network response was not ok.")})).then((function(e){n=0,t(e)})).catch((function(e){n>0?(n-=1,setTimeout((()=>{a()}),5e3)):r()}))}))}()},layout:e=>{const t=e.el;FriendsJS.requestAPI(e.api,(function(r){t.querySelector(".loading-wrap").remove();const n=r.content;var a="";n.forEach(((t,r)=>{var n='<div class="user-card">';n+='<a class="card-link" target="_blank" rel="external noopener noreferrer"',n+=' href="'+t.url+'">',n+='<img alt="'+t.title+'" src="'+(t.avatar||e.avatar)+'" onerror="errorImgAvatar(this)">',n+='<div class="name"><span>'+t.title+"</span></div>",n+="</a>",a+=n+="</div>"})),t.querySelector(".group-body").innerHTML=a}),(function(){try{t.querySelector(".loading-wrap svg").remove(),t.querySelector(".loading-wrap p").innerText("加载失败,请稍后重试。")}catch(e){}}))},start:()=>{const e=document.getElementsByClassName("friendsjs-wrap");for(var t=0;t<e.length;t++){const n=e[t],a=n.getAttribute("api");if(null!=a){var r=new Object;r.el=n,r.api=a,r.class=n.getAttribute("class"),r.avatar=volantis.GLOBAL_CONFIG.default.avatar,FriendsJS.layout(r)}}}};FriendsJS.start(),document.addEventListener("pjax:complete",(function(){FriendsJS.start()}));
2
+ //# sourceMappingURL=../../../maps/js/plugins/tags/friends.js.map
@@ -1,96 +1,2 @@
1
- const SitesJS = {
2
- requestAPI: (url, callback, timeout) => {
3
- let retryTimes = 5;
4
-
5
- function request() {
6
- return new Promise((resolve, reject) => {
7
- let status = 0; // 0 等待 1 完成 2 超时
8
- let timer = setTimeout(() => {
9
- if (status === 0) {
10
- status = 2;
11
- timer = null;
12
- reject('请求超时');
13
- if (retryTimes == 0) {
14
- timeout();
15
- }
16
- }
17
- }, 5000);
18
- fetch(url).then(function (response) {
19
- if (status !== 2) {
20
- clearTimeout(timer);
21
- resolve(response);
22
- timer = null;
23
- status = 1;
24
- }
25
- if (response.ok) {
26
- return response.json();
27
- }
28
- throw new Error('Network response was not ok.');
29
- }).then(function (data) {
30
- retryTimes = 0;
31
- callback(data);
32
- }).catch(function (error) {
33
- if (retryTimes > 0) {
34
- retryTimes -= 1;
35
- setTimeout(() => {
36
- request();
37
- }, 5000);
38
- } else {
39
- timeout();
40
- }
41
- });
42
- });
43
- }
44
- request();
45
- },
46
- layout: (cfg) => {
47
- const el = cfg.el;
48
- SitesJS.requestAPI(cfg.api, function (data) {
49
- el.querySelector('.loading-wrap').remove();
50
- const arr = data.content;
51
- var cellALL = "";
52
- arr.forEach((item, i) => {
53
- var cell = '<div class="site-card">';
54
- cell += '<a class="card-link" target="_blank" rel="external noopener noreferrer" href="' + item.url + '">';
55
- cell += '<img alt="' + item.title + '" src="' + (item.screenshot || ('https://image.thum.io/get/width/1024/crop/768/' + item.url)) + '" onerror="errorImgCover(this)"/>';
56
- cell += '<div class="info">';
57
- cell += '<img alt="' + item.title + '" src="' + (item.avatar || cfg.avatar) + '" onerror="errorImgAvatar(this)"/>';
58
- cell += '<span class="title">' + item.title + '</span>';
59
- cell += '<span class="desc">' + (item.description || item.url) + '</span>';
60
- cell += '</div>';
61
- cell += '</a>';
62
- cell += '</div>';
63
- cellALL += cell;
64
- });
65
- el.querySelector('.group-body').innerHTML = cellALL;
66
- }, function () {
67
- try {
68
- el.querySelector('.loading-wrap svg').remove();
69
- el.querySelector('.loading-wrap p').innerText('加载失败,请稍后重试。');
70
- } catch (e) { }
71
- });
72
- },
73
- start: (cfg) => {
74
- const els = document.getElementsByClassName('sitesjs-wrap');
75
- for (var i = 0; i < els.length; i++) {
76
- const el = els[i];
77
- const api = el.getAttribute('api');
78
- if (api == null) {
79
- continue;
80
- }
81
- var cfg = new Object();
82
- cfg.class = el.getAttribute('class');
83
- cfg.el = el;
84
- cfg.api = api;
85
- cfg.avatar = volantis.GLOBAL_CONFIG.default.link;
86
- cfg.screenshot = volantis.GLOBAL_CONFIG.default.cover;
87
- SitesJS.layout(cfg);
88
- }
89
- }
90
- }
91
-
92
-
93
- SitesJS.start();
94
- document.addEventListener('pjax:complete', function () {
95
- SitesJS.start();
96
- });
1
+ const SitesJS={requestAPI:(e,t,r)=>{let n=5;!function a(){return new Promise(((o,s)=>{let i=0,l=setTimeout((()=>{0===i&&(i=2,l=null,s("请求超时"),0==n&&r())}),5e3);fetch(e).then((function(e){if(2!==i&&(clearTimeout(l),o(e),l=null,i=1),e.ok)return e.json();throw new Error("Network response was not ok.")})).then((function(e){n=0,t(e)})).catch((function(e){n>0?(n-=1,setTimeout((()=>{a()}),5e3)):r()}))}))}()},layout:e=>{const t=e.el;SitesJS.requestAPI(e.api,(function(r){t.querySelector(".loading-wrap").remove();const n=r.content;var a="";n.forEach(((t,r)=>{var n='<div class="site-card">';n+='<a class="card-link" target="_blank" rel="external noopener noreferrer" href="'+t.url+'">',n+='<img alt="'+t.title+'" src="'+(t.screenshot||"https://image.thum.io/get/width/1024/crop/768/"+t.url)+'" onerror="errorImgCover(this)"/>',n+='<div class="info">',n+='<img alt="'+t.title+'" src="'+(t.avatar||e.avatar)+'" onerror="errorImgAvatar(this)"/>',n+='<span class="title">'+t.title+"</span>",n+='<span class="desc">'+(t.description||t.url)+"</span>",n+="</div>",n+="</a>",a+=n+="</div>"})),t.querySelector(".group-body").innerHTML=a}),(function(){try{t.querySelector(".loading-wrap svg").remove(),t.querySelector(".loading-wrap p").innerText("加载失败,请稍后重试。")}catch(e){}}))},start:e=>{const t=document.getElementsByClassName("sitesjs-wrap");for(var r=0;r<t.length;r++){const n=t[r],a=n.getAttribute("api");if(null!=a)(e=new Object).class=n.getAttribute("class"),e.el=n,e.api=a,e.avatar=volantis.GLOBAL_CONFIG.default.link,e.screenshot=volantis.GLOBAL_CONFIG.default.cover,SitesJS.layout(e)}}};SitesJS.start(),document.addEventListener("pjax:complete",(function(){SitesJS.start()}));
2
+ //# sourceMappingURL=../../../maps/js/plugins/tags/sites.js.map
@@ -1,239 +1,2 @@
1
- let SearchService = (() => {
2
- const fn = {};
3
- let search, algolia, timerId;
4
- fn.queryText = null;
5
- fn.template = `<div id="u-search">
6
- <div class="modal">
7
- <header class="modal-header" class="clearfix">
8
- <button type="submit" id="u-search-modal-btn-submit" class="u-search-btn-submit">
9
- <span class="fa-solid fa-search"></span>
10
- </button>
11
- <div id="algolia-search-input"></div>
12
- <a id="u-search-btn-close" class="btn-close"> <span class="fa-solid fa-times"></span> </a>
13
- </header>
14
- <main class="modal-body">
15
- <div id="algolia-search-results">
16
- <div id="algolia-hits">
17
- <div class="search-icon"><i class="fa-sharp fa-solid fa-telescope"></i></i></div>
18
- </div>
19
- </div>
20
- </main>
21
- <footer>
22
- <div id="algolia-pagination"></div>
23
- <hr>
24
- <div id="algolia-info">
25
- <div class="algolia-stats"></div>
26
- <div class="algolia-poweredBy"></div>
27
- </div>
28
- </footer>
29
- </div>
30
- <div id="modal-overlay" class="modal-overlay"></div>
31
- </div>
32
- `;
33
-
34
- fn.init = () => {
35
- let div = document.createElement("div");
36
- div.innerHTML += fn.template;
37
- document.body.append(div);
38
-
39
- algolia = volantis.GLOBAL_CONFIG.search;
40
- if (algolia.appId && algolia.apiKey && algolia.indexName) {
41
- fn.event();
42
- fn.setAlgolia();
43
- } else {
44
- document.querySelector('#u-search main.modal-body').innerHTML = 'Algolia setting is invalid!';
45
- document.querySelector('#u-search main.modal-body').style.textAlign = 'center';
46
- document.querySelector('#u-search .modal').style.maxHeight = '128px';
47
- }
48
- }
49
-
50
- fn.event = () => {
51
- document
52
- .querySelector("#u-search-btn-close")
53
- .addEventListener("click", fn.close, false);
54
- document
55
- .querySelector("#modal-overlay")
56
- .addEventListener("click", fn.close, false);
57
- document.querySelectorAll(".u-search-form").forEach((e) => {
58
- e.addEventListener("submit", fn.onSubmit, false);
59
- });
60
- document.querySelector("#algolia-search-input").addEventListener("input", event => {
61
- let input = event.target.querySelector(".ais-SearchBox-input");
62
- if (input) {
63
- fn.queryText = input.value;
64
- } else {
65
- fn.queryText = event.target.value;
66
- }
67
- })
68
- }
69
-
70
- fn.setAlgolia = () => {
71
- search = instantsearch({
72
- indexName: algolia.indexName,
73
- searchClient: algoliasearch(algolia.appId, algolia.apiKey),
74
- searchFunction(helper) {
75
- helper.state.query && helper.search()
76
- },
77
- })
78
-
79
- const configure = instantsearch.widgets.configure({
80
- hitsPerPage: algolia.hitsPerPage
81
- })
82
-
83
- const searchBox = instantsearch.widgets.searchBox({
84
- container: '#algolia-search-input',
85
- autofocus: true,
86
- showReset: false,
87
- showSubmit: false,
88
- showLoadingIndicator: false,
89
- searchAsYouType: algolia.searchAsYouType,
90
- placeholder: algolia.placeholder,
91
- templates: {
92
- input: 'algolia-input'
93
- },
94
- queryHook(query, refine) {
95
- clearTimeout(timerId)
96
- timerId = setTimeout(() => refine(query), 500)
97
- }
98
- })
99
-
100
- const hits = instantsearch.widgets.hits({
101
- container: '#algolia-hits',
102
- templates: {
103
- item(data) {
104
- const keyword = !!fn.queryText ? `?keyword=${fn.queryText}` : ''
105
- const link = data.permalink ? data.permalink : `${volantis.GLOBAL_CONFIG.root}${data.path}`
106
- const result = data._highlightResult
107
- const content = result.contentStripTruncate
108
- ? fn.cutContent(result.contentStripTruncate.value)
109
- : result.contentStrip
110
- ? fn.cutContent(result.contentStrip.value)
111
- : result.content
112
- ? fn.cutContent(result.content.value)
113
- : ''
114
- return `
115
- <a href="${link}${keyword}" class="result">
116
- <span class="title">${result.title.value || 'no-title'}</span>
117
- <span class="digest">${content}</span>
118
- </a>`
119
- },
120
- empty: function (data) {
121
- return (
122
- `<div id="resule-hits-empty"><i class="fa-solid fa-box-open"></i><p>${volantis.GLOBAL_CONFIG.languages.search.hits_empty.replace(/\$\{query}/, data.query)}</p></div>`
123
- )
124
- }
125
- }
126
- })
127
-
128
- const stats = instantsearch.widgets.stats({
129
- container: '#algolia-info > .algolia-stats',
130
- templates: {
131
- text: function (data) {
132
- const stats = volantis.GLOBAL_CONFIG.languages.search.hits_stats
133
- .replace(/\$\{hits}/, data.nbHits)
134
- .replace(/\$\{time}/, data.processingTimeMS)
135
- return (
136
- `${stats}`
137
- )
138
- }
139
- }
140
- })
141
-
142
- const powerBy = instantsearch.widgets.poweredBy({
143
- container: '#algolia-info > .algolia-poweredBy',
144
- theme: volantis.dark?.mode === 'dark' ? 'dark' : 'light'
145
- })
146
-
147
- const pagination = instantsearch.widgets.pagination({
148
- container: '#algolia-pagination',
149
- totalPages: 5,
150
- templates: {
151
- first: '<i class="fas fa-angle-double-left"></i>',
152
- last: '<i class="fas fa-angle-double-right"></i>',
153
- previous: '<i class="fas fa-angle-left"></i>',
154
- next: '<i class="fas fa-angle-right"></i>'
155
- }
156
- })
157
-
158
- search.addWidgets([configure, searchBox, hits, stats, powerBy, pagination])
159
-
160
- search.start()
161
-
162
- window.pjax && search.on('render', () => {
163
- window.pjax.refresh(document.getElementById('algolia-hits'))
164
- })
165
- }
166
-
167
- fn.setQueryText = queryText => {
168
- fn.queryText = queryText;
169
- if (!search) {
170
- fn.init()
171
- }
172
- search?.setUiState({
173
- [algolia.indexName]: {
174
- query: queryText
175
- }
176
- })
177
- }
178
-
179
- fn.search = () => {
180
- document.querySelector("#u-search").style.display = "block";
181
- document.addEventListener("keydown", event => {
182
- if (event.code === "Escape") {
183
- fn.close();
184
- }
185
- }, { once: true })
186
- }
187
-
188
- fn.onSubmit = (event) => {
189
- event.preventDefault();
190
- let input = event.target.querySelector(".u-search-input");
191
- fn.setQueryText(input?.value ? input.value : event.target.value)
192
- fn.search();
193
- };
194
-
195
- fn.cutContent = content => {
196
- if (content === '') return ''
197
-
198
- const firstOccur = content.indexOf('<mark>')
199
-
200
- let start = firstOccur - 30
201
- let end = firstOccur + 120
202
- let pre = ''
203
- let post = ''
204
-
205
- if (start <= 0) {
206
- start = 0
207
- end = 140
208
- } else {
209
- pre = '...'
210
- }
211
-
212
- if (end > content.length) {
213
- end = content.length
214
- } else {
215
- post = '...'
216
- }
217
-
218
- let matchContent = pre + content.substring(start, end) + post
219
- return matchContent
220
- }
221
-
222
- fn.close = () => {
223
- document.querySelector("#u-search").style.display = "none";
224
- };
225
-
226
- return {
227
- init: fn.init,
228
- setQueryText: queryText => {
229
- fn.setQueryText(queryText);
230
- },
231
- search: fn.search,
232
- close: fn.close
233
- }
234
- })()
235
-
236
- Object.freeze(SearchService);
237
-
238
- SearchService.init();
239
- document.addEventListener("pjax:send", SearchService.close);
1
+ let SearchService=(()=>{const e={};let t,a,n;return e.queryText=null,e.template='<div id="u-search">\n <div class="modal">\n <header class="modal-header" class="clearfix">\n <button type="submit" id="u-search-modal-btn-submit" class="u-search-btn-submit">\n <span class="fa-solid fa-search"></span>\n </button>\n <div id="algolia-search-input"></div>\n <a id="u-search-btn-close" class="btn-close"> <span class="fa-solid fa-times"></span> </a>\n </header>\n <main class="modal-body">\n <div id="algolia-search-results">\n <div id="algolia-hits">\n <div class="search-icon"><i class="fa-sharp fa-solid fa-telescope"></i></i></div>\n </div>\n </div>\n </main>\n <footer>\n <div id="algolia-pagination"></div>\n <hr>\n <div id="algolia-info">\n <div class="algolia-stats"></div>\n <div class="algolia-poweredBy"></div>\n </div>\n </footer>\n </div>\n <div id="modal-overlay" class="modal-overlay"></div>\n </div>\n ',e.init=()=>{let t=document.createElement("div");t.innerHTML+=e.template,document.body.append(t),a=volantis.GLOBAL_CONFIG.search,a.appId&&a.apiKey&&a.indexName?(e.event(),e.setAlgolia()):(document.querySelector("#u-search main.modal-body").innerHTML="Algolia setting is invalid!",document.querySelector("#u-search main.modal-body").style.textAlign="center",document.querySelector("#u-search .modal").style.maxHeight="128px")},e.event=()=>{document.querySelector("#u-search-btn-close").addEventListener("click",e.close,!1),document.querySelector("#modal-overlay").addEventListener("click",e.close,!1),document.querySelectorAll(".u-search-form").forEach((t=>{t.addEventListener("submit",e.onSubmit,!1)})),document.querySelector("#algolia-search-input").addEventListener("input",(t=>{let a=t.target.querySelector(".ais-SearchBox-input");e.queryText=a?a.value:t.target.value}))},e.setAlgolia=()=>{t=instantsearch({indexName:a.indexName,searchClient:algoliasearch(a.appId,a.apiKey),searchFunction(e){e.state.query&&e.search()}});const i=instantsearch.widgets.configure({hitsPerPage:a.hitsPerPage}),s=instantsearch.widgets.searchBox({container:"#algolia-search-input",autofocus:!0,showReset:!1,showSubmit:!1,showLoadingIndicator:!1,searchAsYouType:a.searchAsYouType,placeholder:a.placeholder,templates:{input:"algolia-input"},queryHook(e,t){clearTimeout(n),n=setTimeout((()=>t(e)),500)}}),l=instantsearch.widgets.hits({container:"#algolia-hits",templates:{item(t){const a=e.queryText?`?keyword=${e.queryText}`:"",n=t.permalink?t.permalink:`${volantis.GLOBAL_CONFIG.root}${t.path}`,i=t._highlightResult,s=i.contentStripTruncate?e.cutContent(i.contentStripTruncate.value):i.contentStrip?e.cutContent(i.contentStrip.value):i.content?e.cutContent(i.content.value):"";return`\n <a href="${n}${a}" class="result">\n <span class="title">${i.title.value||"no-title"}</span>\n <span class="digest">${s}</span>\n </a>`},empty:function(e){return`<div id="resule-hits-empty"><i class="fa-solid fa-box-open"></i><p>${volantis.GLOBAL_CONFIG.languages.search.hits_empty.replace(/\$\{query}/,e.query)}</p></div>`}}}),r=instantsearch.widgets.stats({container:"#algolia-info > .algolia-stats",templates:{text:function(e){return`${volantis.GLOBAL_CONFIG.languages.search.hits_stats.replace(/\$\{hits}/,e.nbHits).replace(/\$\{time}/,e.processingTimeMS)}`}}}),o=instantsearch.widgets.poweredBy({container:"#algolia-info > .algolia-poweredBy",theme:"dark"===volantis.dark?.mode?"dark":"light"}),c=instantsearch.widgets.pagination({container:"#algolia-pagination",totalPages:5,templates:{first:'<i class="fas fa-angle-double-left"></i>',last:'<i class="fas fa-angle-double-right"></i>',previous:'<i class="fas fa-angle-left"></i>',next:'<i class="fas fa-angle-right"></i>'}});t.addWidgets([i,s,l,r,o,c]),t.start(),window.pjax&&t.on("render",(()=>{window.pjax.refresh(document.getElementById("algolia-hits"))}))},e.setQueryText=n=>{e.queryText=n,t||e.init(),t?.setUiState({[a.indexName]:{query:n}})},e.search=()=>{document.querySelector("#u-search").style.display="block",document.addEventListener("keydown",(t=>{"Escape"===t.code&&e.close()}),{once:!0})},e.onSubmit=t=>{t.preventDefault();let a=t.target.querySelector(".u-search-input");e.setQueryText(a?.value?a.value:t.target.value),e.search()},e.cutContent=e=>{if(""===e)return"";const t=e.indexOf("<mark>");let a=t-30,n=t+120,i="",s="";return a<=0?(a=0,n=140):i="...",n>e.length?n=e.length:s="...",i+e.substring(a,n)+s},e.close=()=>{document.querySelector("#u-search").style.display="none"},{init:e.init,setQueryText:t=>{e.setQueryText(t)},search:e.search,close:e.close}})();Object.freeze(SearchService),SearchService.init(),document.addEventListener("pjax:send",SearchService.close);
2
+ //# sourceMappingURL=../../maps/js/search/algolia.js.map