q78kgblog 1.0.0

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 (231) hide show
  1. package/.github/workflows/HexoSeoAutoPush.yml +36 -0
  2. package/404.html +933 -0
  3. package/BingSiteAuth.xml +4 -0
  4. package/CNAME +1 -0
  5. package/about/index.html +1096 -0
  6. package/archives/2022/06/index.html +942 -0
  7. package/archives/2022/index.html +942 -0
  8. package/archives/2023/02/index.html +942 -0
  9. package/archives/2023/04/index.html +942 -0
  10. package/archives/2023/05/index.html +942 -0
  11. package/archives/2023/08/index.html +942 -0
  12. package/archives/2023/09/index.html +942 -0
  13. package/archives/2023/index.html +942 -0
  14. package/archives/2024/01/index.html +942 -0
  15. package/archives/2024/02/index.html +942 -0
  16. package/archives/2024/index.html +942 -0
  17. package/archives/index.html +942 -0
  18. package/assets/css/APlayer.min.css +3 -0
  19. package/assets/douban-loading.gif +0 -0
  20. package/assets/js/APlayer.min.js +2 -0
  21. package/assets/js/Meting.min.js +1 -0
  22. package/atom.xml +311 -0
  23. package/baidusitemap.xml +43 -0
  24. package/bangumis/index.html +1247 -0
  25. package/bigpie/index.html +714 -0
  26. package/bing.json +1 -0
  27. package/categories/Hello-World/index.html +954 -0
  28. package/categories/Hexo/index.html +954 -0
  29. package/categories/index.html +710 -0
  30. package/categories//345/271/264/347/273/210/346/200/273/347/273/223/index.html +954 -0
  31. package/categories//346/201/260/351/245/255/index.html +954 -0
  32. package/categories//347/264/240/346/235/220/index.html +954 -0
  33. package/categories//351/227/262/350/201/212/346/235/202/350/260/210/index.html +954 -0
  34. package/content.json +1 -0
  35. package/css/404page.css +65 -0
  36. package/css/ariasakablog.css +5632 -0
  37. package/css/commentBarrage.css +111 -0
  38. package/css/danmaku.css +89 -0
  39. package/css/essay.css +306 -0
  40. package/css/iconfont.css +55 -0
  41. package/css/iconfont.ttf +0 -0
  42. package/css/iconfont.woff +0 -0
  43. package/css/iconfont.woff2 +0 -0
  44. package/css/index.css +7006 -0
  45. package/css/people.css +18 -0
  46. package/css/stylessimple.css +40 -0
  47. package/css/swiper.min.css +701 -0
  48. package/css/swiperstyle.css +567 -0
  49. package/css/var.css +0 -0
  50. package/essay/index.html +701 -0
  51. package/favicon.ico +0 -0
  52. package/fcircle/index.html +733 -0
  53. package/fontawesome/index.html +716 -0
  54. package/google.txt +10 -0
  55. package/googlebe706248808ee393.html +1 -0
  56. package/img/144.png +0 -0
  57. package/img/16.png +0 -0
  58. package/img/1666416625095-iPhone X.png +0 -0
  59. package/img/1666416702650-Macbook Pro 2016 (1).png +0 -0
  60. package/img/1666416764216-Nexus 9.png +0 -0
  61. package/img/180.png +0 -0
  62. package/img/192.png +0 -0
  63. package/img/20200904222157.png +0 -0
  64. package/img/20200924153652.png +0 -0
  65. package/img/256.png +0 -0
  66. package/img/36.png +0 -0
  67. package/img/48.png +0 -0
  68. package/img/512.png +0 -0
  69. package/img/72.png +0 -0
  70. package/img/72645310.jpg +0 -0
  71. package/img/8DSTSS20990281646044689944.PNG +0 -0
  72. package/img/96.png +0 -0
  73. package/img/O35HOG22090681654187900371.jpg +0 -0
  74. package/img/a.webp +0 -0
  75. package/img/ad.png +0 -0
  76. package/img/apple-touch-icon.png +0 -0
  77. package/img/avatar.jpg +0 -0
  78. package/img/buYgVO22990681624844309044.jpg +0 -0
  79. package/img/comment.png +0 -0
  80. package/img/favicon.ico +0 -0
  81. package/img/favicon.jpg +0 -0
  82. package/img/friend_404.gif +0 -0
  83. package/img/mqaizf23990681654186719414.jpeg +0 -0
  84. package/img/nyancat.gif +0 -0
  85. package/img/siteshot.png +0 -0
  86. package/img/uTools_1666416859497-iMac.png +0 -0
  87. package/img-col/index.html +802 -0
  88. package/index.html +1056 -0
  89. package/js/aplayersave.js +268 -0
  90. package/js/baiduhistory.js +76 -0
  91. package/js/bbtalk.js +11354 -0
  92. package/js/bbtalklunbo.js +78 -0
  93. package/js/browser.js +35 -0
  94. package/js/calendar.js +380 -0
  95. package/js/cate.js +22 -0
  96. package/js/commentBarrage.js +240 -0
  97. package/js/commentsCount.js +43 -0
  98. package/js/copy.js +23 -0
  99. package/js/countup.js +209 -0
  100. package/js/cursor.js +82 -0
  101. package/js/danmaku.js +106 -0
  102. package/js/day.js +199 -0
  103. package/js/dianzan.js +249 -0
  104. package/js/dis.js +255 -0
  105. package/js/dist/baiduhistory.dev.js +102 -0
  106. package/js/dist/bbtalk.dev.js +12876 -0
  107. package/js/dist/bbtalklunbo.dev.js +45 -0
  108. package/js/dist/calendar.dev.js +395 -0
  109. package/js/dist/fixbugpjax.dev.js +8 -0
  110. package/js/dist/gongnong.dev.js +565 -0
  111. package/js/dist/heimu.dev.js +19 -0
  112. package/js/dist/links.dev.js +13 -0
  113. package/js/dist/main.dev.js +845 -0
  114. package/js/dist/resizeTop.dev.js +50 -0
  115. package/js/dist/seo.dev.js +33 -0
  116. package/js/dist/twikoo.all.min.dev.js +1 -0
  117. package/js/fixbugpjax.js +7 -0
  118. package/js/fixed_card_widget.js +46 -0
  119. package/js/fps.js +58 -0
  120. package/js/gitalker.js +11 -0
  121. package/js/gsap.min.js +11 -0
  122. package/js/heimu.js +16 -0
  123. package/js/hide.show.js +17 -0
  124. package/js/jike.js +121 -0
  125. package/js/jikewater.js +60 -0
  126. package/js/languages.js +511 -0
  127. package/js/latest.js +49 -0
  128. package/js/local-search.js +476 -0
  129. package/js/lunar.js +1071 -0
  130. package/js/lyxTalk.js +12 -0
  131. package/js/main.js +783 -0
  132. package/js/nav.js +30 -0
  133. package/js/noie.js +3 -0
  134. package/js/owo.js +52 -0
  135. package/js/people.js +175 -0
  136. package/js/pikaday.js +109 -0
  137. package/js/random.js +1 -0
  138. package/js/randomFriend.js +95 -0
  139. package/js/resizeTop.js +43 -0
  140. package/js/rightmenu.js +335 -0
  141. package/js/sakura.js +164 -0
  142. package/js/search/algolia.js +155 -0
  143. package/js/search/local-search.js +188 -0
  144. package/js/settings.js +353 -0
  145. package/js/sitetime.js +25 -0
  146. package/js/smooth-scrolling.js +546 -0
  147. package/js/sw-toolbox.js +16 -0
  148. package/js/swiperinit.js +23 -0
  149. package/js/tw_cn.js +100 -0
  150. package/js/twikoo.all.min.js +2 -0
  151. package/js/utils.js +278 -0
  152. package/js/welcome.js +107 -0
  153. package/js/welcomeconsole.js +23 -0
  154. package/links/index.html +842 -0
  155. package/live2d-widget/LICENSE +674 -0
  156. package/live2d-widget/README.md +188 -0
  157. package/live2d-widget/assets/screenshot-1.png +0 -0
  158. package/live2d-widget/assets/screenshot-2.png +0 -0
  159. package/live2d-widget/assets/screenshot-3.png +0 -0
  160. package/live2d-widget/autoload.js +63 -0
  161. package/live2d-widget/demo/demo.html +34 -0
  162. package/live2d-widget/demo/login.html +271 -0
  163. package/live2d-widget/live2d.min.js +1 -0
  164. package/live2d-widget/package.json +31 -0
  165. package/live2d-widget/rollup.config.js +38 -0
  166. package/live2d-widget/src/index.js +178 -0
  167. package/live2d-widget/src/message.js +22 -0
  168. package/live2d-widget/src/model.js +75 -0
  169. package/live2d-widget/src/tools.js +78 -0
  170. package/live2d-widget/src/utils.js +5 -0
  171. package/live2d-widget/src/waifu-tips.js +3 -0
  172. package/live2d-widget/waifu-tips.js +5 -0
  173. package/live2d-widget/waifu-tips.json +255 -0
  174. package/live2d-widget/waifu.css +310 -0
  175. package/manifest.json +1 -0
  176. package/noie.html +69 -0
  177. package/othersite/index.html +779 -0
  178. package/owo.json +1 -0
  179. package/package.json +1 -0
  180. package/people.html +24 -0
  181. package/posts/164ef646/index.html +1027 -0
  182. package/posts/228c2ef8/index.html +1014 -0
  183. package/posts/4a17b156/index.html +1010 -0
  184. package/posts/6f3c565b/index.html +1013 -0
  185. package/posts/7da7c3f6/index.html +1070 -0
  186. package/posts/a9a6c1fb/index.html +1041 -0
  187. package/posts/c262e439/index.html +1002 -0
  188. package/posts/c81531cf/index.html +1080 -0
  189. package/posts/da2093a1/index.html +1022 -0
  190. package/posts/e54f7476/index.html +1052 -0
  191. package/projects.html +424 -0
  192. package/random.html +32 -0
  193. package/robots.txt +17 -0
  194. package/search.xml +309 -0
  195. package/sitemap.txt +62 -0
  196. package/sitemap.xml +488 -0
  197. package/sw.js +190 -0
  198. package/swReg.js +29 -0
  199. package/tags/AI/index.html +955 -0
  200. package/tags/Butterfly/index.html +955 -0
  201. package/tags/Cloudflare/index.html +955 -0
  202. package/tags/DiffSinger/index.html +955 -0
  203. package/tags/Hexo/index.html +955 -0
  204. package/tags/Next/index.html +955 -0
  205. package/tags/RAID/index.html +955 -0
  206. package/tags/VPS/index.html +955 -0
  207. package/tags/Vercel/index.html +955 -0
  208. package/tags/Workers/index.html +955 -0
  209. package/tags/hello-world/index.html +955 -0
  210. package/tags/index.html +710 -0
  211. package/tags//344/270/273/351/242/230/index.html +955 -0
  212. package/tags//344/272/221/346/234/215/345/212/241/345/231/250/index.html +955 -0
  213. package/tags//344/276/277/345/256/234/index.html +955 -0
  214. package/tags//345/206/231/344/275/234/index.html +955 -0
  215. package/tags//345/245/263/346/200/247/346/204/217/350/257/206/index.html +955 -0
  216. package/tags//345/255/246/344/271/240/index.html +955 -0
  217. package/tags//345/256/266/351/207/214/344/272/221/index.html +955 -0
  218. package/tags//345/271/264/347/273/210/346/200/273/347/273/223/index.html +955 -0
  219. package/tags//346/200/247/344/273/267/346/257/224/index.html +955 -0
  220. package/tags//346/212/230/350/205/276/index.html +955 -0
  221. package/tags//346/217/220/344/276/233/345/225/206/index.html +955 -0
  222. package/tags//346/227/245/345/270/270/index.html +955 -0
  223. package/tags//346/234/215/345/212/241/345/231/250/index.html +955 -0
  224. package/tags//346/265/252/346/275/256/index.html +955 -0
  225. package/tags//347/256/200/347/210/261/index.html +955 -0
  226. package/tags//350/207/252/345/212/250/346/240/207/346/263/250/index.html +955 -0
  227. package/tags//350/256/272/346/226/207/index.html +955 -0
  228. package/tags//350/260/267/346/255/214/347/277/273/350/257/221/index.html +955 -0
  229. package/tags//350/264/237/350/275/275/345/235/207/350/241/241/index.html +955 -0
  230. package/tags//351/207/221/345/217/245/index.html +955 -0
  231. package/tags//351/255/224/346/224/271/index.html +955 -0
@@ -0,0 +1,78 @@
1
+
2
+ AV.init({
3
+ appId: "",
4
+ appKey: "",
5
+ serverURL: ""
6
+ });
7
+ function lunbo(){
8
+ var speaks=[];
9
+ const query = new AV.Query('content');
10
+ Date.prototype.Format = function (fmt) {
11
+ var o = {
12
+ "M+": this.getMonth() + 1, //月份
13
+ "d+": this.getDate(), //日
14
+ "H+": this.getHours(), //小时
15
+ "m+": this.getMinutes(), //分
16
+ "s+": this.getSeconds(), //秒
17
+ "q+": Math.floor((this.getMonth() + 3) / 3), //季度
18
+ "S": this.getMilliseconds() //毫秒
19
+ };
20
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
21
+ for (var k in o)
22
+ if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
23
+ return fmt;
24
+ }
25
+ query.find().then((talks) => {
26
+ dat=new Date()
27
+ for(i=talks.length-1;i>=talks.length-31;i--){
28
+ var usedTime = Date.parse(dat) - Date.parse(talks[i]["createdAt"]);
29
+ var days = Math.floor(usedTime / (24 * 3600 * 1000));
30
+ var leave1 = usedTime % (24 * 3600 * 1000);
31
+ var hours = Math.floor(leave1 / (3600 * 1000));
32
+ var leave2 = leave1 % (3600 * 1000);
33
+ var minutes = Math.floor(leave2 / (60 * 1000));
34
+ var bbcontent=talks[i]["attributes"]["content"].replace(/<[^>]+>/g, "").replace(/<[^>]+>/g, "").replace(/(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\*\+,;=.]+\.(png|jpg|jpeg|webp)/g,"[图片]").replace(/(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\*\+,;=.]+/g,"[链接]");
35
+ if(days>31){
36
+ speaks.push(String(talks[i]["createdAt"].Format("yyyy-MM-dd"))+":"+bbcontent)
37
+ }
38
+ else if(days>0){
39
+ speaks.push(String(days)+" 天前:"+bbcontent);
40
+ }
41
+ else if(hours>0){
42
+ speaks.push(String(hours)+" 小时前:"+bbcontent);
43
+ }
44
+ else{
45
+ speaks.push(String(minutes)+" 分钟前:"+bbcontent);
46
+ }
47
+ }
48
+ document.querySelector(".shuoshuo").innerHTML=""
49
+ for(i=0;i<speaks.length;i++){
50
+ var ch=document.createElement("div");
51
+ ch.className="swiper-slide bbtalks";
52
+ ch.innerHTML=speaks[i];
53
+ document.querySelector(".shuoshuo").appendChild(ch)
54
+ }
55
+ var fxxkccf = new Swiper("#speaks", {
56
+ loop: true,
57
+ direction: "vertical",
58
+ autoplay: {
59
+ delay: 5000,
60
+ disableOnInteraction: false,
61
+ },
62
+ mousewheel:true,
63
+ })
64
+ fxxkccf.el.onmouseover = function(){
65
+ fxxkccf.autoplay.stop();
66
+ }
67
+ fxxkccf.el.onmouseout = function(){
68
+ fxxkccf.autoplay.start();
69
+ }
70
+ });
71
+
72
+ }
73
+ document.addEventListener('pjax:complete', (e) => {
74
+ lunbo();
75
+ })
76
+ document.addEventListener('DOMContentLoaded', (e) => {
77
+ lunbo();
78
+ })
package/js/browser.js ADDED
@@ -0,0 +1,35 @@
1
+ if(location.href.split('/')[location.href.split('/').length - 1]=="index.html"){
2
+ function myBrowser(){
3
+ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
4
+ var isOpera = userAgent.indexOf("Opera") > -1;
5
+ if (isOpera) {
6
+ return "Opera"
7
+ }; //判断是否Opera浏览器
8
+ if (userAgent.indexOf("Firefox") > -1) {
9
+ return "FF";
10
+ } //判断是否Firefox浏览器
11
+ if (userAgent.indexOf("Chrome") > -1){
12
+ return "Chrome";
13
+ }
14
+ if (userAgent.indexOf("Safari") > -1) {
15
+ return "Safari";
16
+ } //判断是否Safari浏览器
17
+ if (userAgent.indexOf("Trident")>-1||userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
18
+ return "IE";
19
+ }; //判断是否IE浏览器
20
+ }
21
+ var a=myBrowser();
22
+ if(a=="IE"){
23
+ alert("IE已经停止支持!!!本博客不支持IE浏览器!!!推荐使用Chrome 100+或新版Edge。要强制浏览请再点5次");
24
+ alert("本博客不支持IE浏览器!!!推荐使用Chrome 100+或新版Edge。要强制浏览请再点4次");
25
+ alert("本博客不支持IE浏览器!!!推荐使用Chrome 100+或新版Edge。要强制浏览请再点3次");
26
+ alert("本博客不支持IE浏览器!!!推荐使用Chrome 100+或新版Edge。要强制浏览请再点2次");
27
+ alert("本博客不支持IE浏览器!!!推荐使用Chrome 100+或新版Edge。要强制浏览请再点1次");
28
+ document.getElementById("loading-box").innerHTML=""
29
+ }
30
+ else if(a=="FF"){
31
+ alert("本博客可能在FireFox浏览器上有少许兼容问题,推荐使用Chrome 100+或新版Edge。");
32
+ }
33
+ else if(a=="Opera"){
34
+ alert("本博客可能可能在Opera浏览器上有少许兼容问题,推荐使用Chrome 100+或新版Edge。");
35
+ }}
package/js/calendar.js ADDED
@@ -0,0 +1,380 @@
1
+ /**
2
+ * Calendar - displays a calendar of the current month. Dates appear links if there are posts for that day.
3
+ */
4
+ (function($) {
5
+ var aCalendar = function(language, options, object) {
6
+ var now = new Date();
7
+ var nDay = now.getDate();
8
+ var nMonth = now.getMonth();
9
+ var nYear = now.getFullYear();
10
+ var dDay = nDay;
11
+ var dMonth = nMonth;
12
+ var dYear = nYear;
13
+ var instance = object;
14
+ var allPosts = null;
15
+ var months = null;
16
+ /* Current month's posts */
17
+ var current = {
18
+ posts: [],
19
+ prev: null,
20
+ next: null
21
+ };
22
+ var currentLanguage = 'en';
23
+
24
+ initLanguage(language);
25
+
26
+ var settings = $.extend({}, $.fn.aCalendar.defaults, typeof calLanguages === 'undefined' ? {} : calLanguages[currentLanguage], options);
27
+
28
+ if (settings.root[0] !== '/') {
29
+ settings.root = '/' + settings.root;
30
+ }
31
+
32
+ if (settings.root[settings.root.length - 1] !== '/') {
33
+ settings.root += '/';
34
+ }
35
+
36
+ /**
37
+ * Initial language.
38
+ */
39
+ function initLanguage(key) {
40
+ if (key && typeof calLanguages !== 'undefined' && calLanguages[key]) {
41
+ currentLanguage = key;
42
+ }
43
+ }
44
+
45
+ /**
46
+ * Click handler for next month arrow button.
47
+ */
48
+ function nextMonth() {
49
+ if (dMonth < 11) {
50
+ dMonth++;
51
+ } else {
52
+ dMonth = 0;
53
+ dYear++;
54
+ }
55
+
56
+ draw();
57
+ };
58
+
59
+ /**
60
+ * Click handler for previous month arrow button.
61
+ */
62
+ function previousMonth() {
63
+ if (dMonth > 0) {
64
+ dMonth--;
65
+ } else {
66
+ dMonth = 11;
67
+ dYear--;
68
+ }
69
+
70
+ draw();
71
+ };
72
+
73
+ /**
74
+ * Click handler for navigating to a month if there are posts.
75
+ */
76
+ function toPostsMonth(date) {
77
+ if (date) {
78
+ dYear = date.getFullYear();
79
+ dMonth = date.getMonth();
80
+ draw();
81
+ }
82
+ }
83
+
84
+ /**
85
+ * Load current month's posts.
86
+ */
87
+ function loadPosts() {
88
+ if (settings.single) {
89
+ loadAllPosts();
90
+ } else {
91
+ loadPostsByMonth();
92
+ }
93
+ }
94
+
95
+ /**
96
+ * Load all month's posts.
97
+ */
98
+ function loadAllPosts() {
99
+ if (settings.url != null && settings.url != '') {
100
+ if (allPosts === null) {
101
+ $.ajax({
102
+ url: settings.url,
103
+ async: false,
104
+ success: function(data) {
105
+ allPosts = data;
106
+ initMonths(Object.keys(allPosts));
107
+ }
108
+ });
109
+ }
110
+
111
+ if (allPosts !== null) {
112
+ if (parse()) {
113
+ current.posts = allPosts[dYear + '-' + (dMonth + 1)];
114
+ }
115
+ }
116
+ }
117
+ }
118
+
119
+ /**
120
+ * Load posts by the month.
121
+ */
122
+ function loadPostsByMonth() {
123
+ if (months === null) {
124
+ $.ajax({
125
+ url: settings.root + 'list.json',
126
+ async: false,
127
+ success: function(data) {
128
+ initMonths(data);
129
+ }
130
+ });
131
+ }
132
+
133
+ if (parse()) {
134
+ $.ajax({
135
+ url: settings.root + dYear + '-' + (dMonth + 1) + '.json',
136
+ async: false,
137
+ success: function(data) {
138
+ current.posts = data;
139
+ }
140
+ });
141
+ }
142
+ }
143
+
144
+ /**
145
+ * Initial months array.
146
+ */
147
+ function initMonths(array) {
148
+ months = array.map(function(item) {
149
+ var ym = item.split('-');
150
+ return new Date(Date.UTC(+ym[0], +ym[1] - 1));
151
+ });
152
+ }
153
+
154
+ /**
155
+ * Parse posts month array, and set current.next and current.prev.
156
+ *
157
+ * @return if there are posts in this month, return true. ortherwise return false.
158
+ */
159
+ function parse() {
160
+ var time = Date.UTC(dYear, dMonth);
161
+
162
+ if (months === null || months.length === 0) {
163
+ return false;
164
+ }
165
+
166
+ //If no posts in the current month, and before (or after) the current month yet not published articles, then the response to click previous month's (or next month's) event don't need to parse months array
167
+ if (current.posts.length === 0 && (current.prev === null && current.next !== null && current.next.getTime() > time || current.next === null && current.prev !== null && current.prev.getTime() < time)) {
168
+ return false;
169
+ }
170
+
171
+ current.posts = [];
172
+
173
+ for (var i = 0; i < months.length; i++) {
174
+ var cTime = months[i].getTime();
175
+ if (time === cTime) {
176
+ current.prev = i === 0 ? null : months[i - 1];
177
+ current.next = i === months.length - 1 ? null : months[i + 1];
178
+ return true;
179
+ } else if (time < cTime) {
180
+ current.prev = i === 0 ? null : months[i - 1];
181
+ current.next = months[i];
182
+ break;
183
+ } else {
184
+ current.prev = months[i];
185
+ current.next = null;
186
+ }
187
+ }
188
+
189
+ return false;
190
+ }
191
+
192
+ /**
193
+ * Format date object.
194
+ */
195
+ function simpleDateFormat(date, fmt) {
196
+ var o = {
197
+ 'LMM+': settings.months[date.getMonth()],
198
+ 'MM+': date.getMonth() + 1
199
+ };
200
+
201
+ if (/(y+)/.test(fmt)) {
202
+ fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
203
+ }
204
+
205
+ for (var k in o) {
206
+ if (new RegExp('(' + k + ')').test(fmt)) {
207
+ fmt = fmt.replace(RegExp.$1, (k === 'LMM+') ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)));
208
+ }
209
+ }
210
+
211
+ return fmt;
212
+ }
213
+
214
+ /**
215
+ * Draw calendar.
216
+ *
217
+ */
218
+ function draw() {
219
+ loadPosts();
220
+ var dWeekDayOfMonthStart = new Date(dYear, dMonth, 1).getDay() - settings.weekOffset;
221
+ if (dWeekDayOfMonthStart <= 0) {
222
+ dWeekDayOfMonthStart = 6 - ((dWeekDayOfMonthStart + 1) * -1);
223
+ }
224
+
225
+ var dLastDayOfMonth = new Date(dYear, dMonth + 1, 0).getDate();
226
+ var dLastDayOfPreviousMonth = new Date(dYear, dMonth, 0).getDate() - dWeekDayOfMonthStart + 1;
227
+
228
+ var cHead = $('<div/>').addClass('cal-head');
229
+ var cNext = $('<div/>');
230
+ var cPrevious = $('<div/>');
231
+ var cTitle = $('<div/>').addClass('cal-title');
232
+ cPrevious.html(settings.headArrows.previous);
233
+ cNext.html(settings.headArrows.next);
234
+ curDate = new Date(Date.UTC(dYear, dMonth));
235
+ if (current.posts.length === 0) {
236
+ cTitle.html(simpleDateFormat(curDate, settings.titleFormat));
237
+ } else {
238
+ cTitleLink = $('<a/>').attr('onclick', `pjax.loadUrl('${simpleDateFormat(curDate, settings.titleLinkFormat)}')`)
239
+ .attr('title', simpleDateFormat(curDate, settings.postsMonthTip))
240
+ .html(simpleDateFormat(curDate, settings.titleFormat));
241
+ cTitle.html(cTitleLink);
242
+ }
243
+
244
+ cPrevious.on('click', previousMonth);
245
+ cNext.on('click', nextMonth);
246
+
247
+ cHead.append(cPrevious);
248
+ cHead.append(cTitle);
249
+ cHead.append(cNext);
250
+
251
+ var cBody = $('<table/>').addClass('cal');
252
+
253
+ var dayOfWeek = settings.weekOffset;
254
+ var cWeekHead = $('<thead/>');
255
+ var cWeekHeadRow = $('<tr/>');
256
+ for (var i = 0; i < 7; i++) {
257
+ if (dayOfWeek > 6) {
258
+ dayOfWeek = 0;
259
+ }
260
+
261
+ var cWeekDay = $('<th/>').attr('scope', 'col').attr('title', settings.dayOfWeek[dayOfWeek]);
262
+ cWeekDay.html(settings.dayOfWeekShort[dayOfWeek]);
263
+ cWeekHeadRow.append(cWeekDay);
264
+ dayOfWeek++;
265
+ }
266
+
267
+ cWeekHead.append(cWeekHeadRow);
268
+ cBody.append(cWeekHead);
269
+
270
+ var cFoot = $('<tfoot/>');
271
+ var cFootRow = $('<tr/>');
272
+ var cPrevPosts = $('<td/>').attr('colspan', 3);
273
+ var cPad = $('<td/>').html('&nbsp;');
274
+ var cNextPosts = $('<td/>').attr('colspan', 3);
275
+ if (current.prev) {
276
+ cPrevPosts.html(settings.footArrows.previous + settings.months[current.prev.getMonth()])
277
+ .addClass('cal-foot')
278
+ .attr('title', simpleDateFormat(current.prev, settings.postsMonthTip));
279
+ }
280
+
281
+ if (current.next) {
282
+ cNextPosts.html(settings.months[current.next.getMonth()] + settings.footArrows.next)
283
+ .addClass('cal-foot')
284
+ .attr('title', simpleDateFormat(current.next, settings.postsMonthTip));
285
+ }
286
+
287
+ cPrevPosts.on('click', function() {
288
+ toPostsMonth(current.prev);
289
+ });
290
+
291
+ cNextPosts.on('click', function() {
292
+ toPostsMonth(current.next);
293
+ });
294
+
295
+ cFootRow.append(cPrevPosts);
296
+ cFootRow.append(cPad);
297
+ cFootRow.append(cNextPosts);
298
+ cFoot.append(cFootRow);
299
+
300
+ var cMainPad = $('<tbody/>');
301
+ var day = 1;
302
+ var dayOfNextMonth = 1;
303
+ for (var i = 0; i < 6; i++) {
304
+ var cWeek = $('<tr/>');
305
+ for (var j = 0; j < 7; j++) {
306
+ var cDay = $('<td/>');
307
+ if (i * 7 + j < dWeekDayOfMonthStart) {
308
+ cDay.addClass('cal-gray');
309
+ cDay.html(dLastDayOfPreviousMonth++);
310
+ } else if (day <= dLastDayOfMonth) {
311
+ if (day == dDay && nMonth == dMonth && nYear == dYear) {
312
+ cDay.addClass('cal-today');
313
+ }
314
+
315
+ var count = {
316
+ num: 0,
317
+ keys: []
318
+ };
319
+ for (var k = 0; k < current.posts.length; k++) {
320
+ var d = new Date(Date.parse(current.posts[k].date));
321
+ if (d.getDate() == day) {
322
+ count.keys[count.num++] = k;
323
+ }
324
+ }
325
+
326
+ if (count.num !== 0) {
327
+ var index = count.keys[0];
328
+ var cLink = $('<a>').attr('onclick', `pjax.loadUrl('${current.posts[index].link}')`).attr('title', current.posts[index].title).html(day++);
329
+ cDay.append(cLink);
330
+ } else {
331
+ cDay.html(day++);
332
+ }
333
+ } else {
334
+ cDay.addClass('cal-gray');
335
+ cDay.html(dayOfNextMonth++);
336
+ }
337
+
338
+ cWeek.append(cDay);
339
+ }
340
+
341
+ cMainPad.append(cWeek);
342
+ }
343
+
344
+ cBody.append(cWeekHead);
345
+ cBody.append(cFoot);
346
+ cBody.append(cMainPad);
347
+
348
+ $(instance).html(cHead);
349
+ $(instance).append(cBody);
350
+ }
351
+
352
+ return draw();
353
+ };
354
+
355
+ $.fn.aCalendar = function(Lang, oInit) {
356
+ return this.each(function() {
357
+ return aCalendar(Lang, oInit, $(this));
358
+ });
359
+ };
360
+
361
+ // plugin defaults
362
+ $.fn.aCalendar.defaults = {
363
+ months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
364
+ dayOfWeekShort: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
365
+ dayOfWeek: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
366
+ postsMonthTip: 'Posts published in LMM yyyy',
367
+ titleFormat: 'yyyy LMM',
368
+ titleLinkFormat: '/archives/yyyy/MM/',
369
+ headArrows: {previous: '<span class="cal-prev"></span>', next: '<span class="cal-next"></span>'},
370
+ footArrows: {previous: '« ', next: ' »'},
371
+ weekOffset: 0,
372
+ single: true,
373
+ root: '/calendar/',
374
+ url: '/calendar.json'
375
+ };
376
+
377
+ }(jQuery));
378
+ $(document).ready(function () {
379
+ $("#calendar").aCalendar("zh-CN");
380
+ });
package/js/cate.js ADDED
@@ -0,0 +1,22 @@
1
+ var card_category_list = document.getElementsByClassName(
2
+ "card-category-list child"
3
+ );
4
+ var item = document.getElementsByClassName("card-category-list-item");
5
+ function toggle(t) {
6
+ var display = t.parentElement.nextSibling.style.display;
7
+ if (display == "none") {
8
+ t.parentElement.nextSibling.style.display = "block";
9
+ t.parentElement.nextSibling.style.height = "100%";
10
+ t.className = t.className.replace("fa-chevron-up", "fa-chevron-down");
11
+ } else {
12
+ t.parentElement.nextSibling.style.display = "none";
13
+ t.className = t.className.replace("fa-chevron-down", "fa-chevron-up");
14
+ }
15
+ }
16
+
17
+ for (var i = 0; i < card_category_list.length; i++) {
18
+ card_category_list[i].style.display = "none";
19
+ card_category_list[i].style.transition = "all 1s";
20
+ card_category_list[i].previousSibling.innerHTML +=
21
+ '<i class="fa fa-chevron-up menus-expand menus-closed" aria-hidden="true" style="margin-left:20px;" οnclick="toggle(this)"></i>';
22
+ }