jekyll-zeta 0.9.9 → 0.9.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92211c75c8bb9046e2b2907d820f64c5f9be747d0e4371c5d6864366a32aa130
4
- data.tar.gz: 8948bbb2d7c24472d8b5290df117774015b461268fd3e159db12cdde4eb1c939
3
+ metadata.gz: e3d194725322e2721d1036f59f1f7af206791b40d8673673cf2da05c713a0d58
4
+ data.tar.gz: d348237b35113dcfe6640aff7965fc188fdbd22bc866172e26eb582834e50392
5
5
  SHA512:
6
- metadata.gz: dcd0d90c05a55fe952671fddb10dab22ffa1835a3300c59633d02841e3eb79b820be461d348a64e15d4cdef6239e8e1fa74ecd59c9c7d88195e09a1149b84428
7
- data.tar.gz: a14ed33b33930bf497b0b97a92dbeab55cfdc66b40822986ecd753cae6cdd33a541b3bfe692c17a5e5a47498c7fd780bf73d3bc27cb816f316a1e357bfc50714
6
+ metadata.gz: 8596515be8bed59f8ebcfb1a21f82f61ffe0e129bbdcbc74707d43868e43fe8817a5decaa1474bc0c75914020411e9c433bf8d6d4299dc97ad19a050e69b4a4e
7
+ data.tar.gz: 02001ec95fe657c7d4322d5425b808c00668cc3d9be34d4b72dc63be0e722944ac7b74feb9fe0b50839927e4556baa0cba9872453ddca13657dd9a2954a7f496
@@ -0,0 +1,184 @@
1
+
2
+ (function () {
3
+ var g_id = 100;
4
+
5
+
6
+ function getConfigFromStr(str,obj){
7
+ if (str && str.startsWith('#')) {
8
+ // #color #121212
9
+ // #title 123
10
+ let arr = str.split(' ')
11
+ if(arr.length >= 2){
12
+ let key = arr[0].substring(1)
13
+ if(key ){
14
+ obj[key] = str.substring(key.length + 2).trim()
15
+ return 1
16
+ }
17
+ }
18
+ }
19
+ return 0
20
+ }
21
+
22
+ /// 2025-01-01 描述,日期格式yyyy-mm-dd,空格后跟上 描述
23
+ function getDataFromSignleLine(str0,gData) {
24
+ let str = str0.trim()
25
+ if (!str) return null
26
+
27
+ if(getConfigFromStr(str,gData)) return null
28
+
29
+
30
+ var arr = str.split(" ")
31
+ var date0 = arr[0]
32
+ let date = ''
33
+ if (date0) {
34
+ let ymd = date0.split("-")
35
+ if (ymd.length == 3) {
36
+ let year = ymd[0]
37
+ let month = ymd[1]
38
+ let day = ymd[2]
39
+
40
+ let nY = Number(year)
41
+ let nM = Number(month)
42
+ let nD = Number(month)
43
+ if (isNaN(nY) || isNaN(nD) || isNaN(nM) || nY < 1900 || nY > 2100 || nM < 1 || nM > 12 || nD < 1 || nD > 31) {
44
+ return null
45
+ }
46
+ date = year + "-" + month.padStart(2, '0') + "-" + day.padStart(2, '0')
47
+ }
48
+ }
49
+ else {
50
+ return null
51
+ }
52
+
53
+ if (!date) {
54
+ return null
55
+ }
56
+ var title = ""
57
+ if (arr.length > 1) {
58
+ title = arr.slice(1).join(" ")
59
+ }
60
+ return { date: date, title: title }
61
+ }
62
+
63
+ function fillDataObj(data, item) {
64
+ if (!item) return
65
+ let y = item.date.substring(0, 4);
66
+ let m = item.date.substring(5, 7);
67
+ let c = data.allYear[y];
68
+ data.allYear[y] = c ? c + 1 : 1;
69
+
70
+ let yObj = data[y]
71
+ if (!yObj) {
72
+ yObj = {}
73
+ data[y] = yObj;
74
+ }
75
+
76
+ let arr = yObj[m]
77
+ if (!arr) {
78
+ arr = []
79
+ yObj[m] = arr
80
+ }
81
+ arr.push(item)
82
+
83
+ }
84
+
85
+
86
+ async function wait (t ) {
87
+ return new Promise(function(r){
88
+ setTimeout(() => {
89
+ r()
90
+ }, t );
91
+ })
92
+ }
93
+
94
+ function parseDataAndCeateMap(strData,node) {
95
+
96
+
97
+ let allYear = {}
98
+ let dataObj = { allYear: allYear };
99
+
100
+ let Recent365Count = 0;
101
+ let nowDate = new Date
102
+ let Recent365YMD = `${nowDate.getFullYear() - 1}-${(nowDate.getMonth() + 1).toString().padStart(2, '0')}-${nowDate.getDate().toString().padStart(2, '0')}`
103
+
104
+
105
+ strData.split("\n").forEach(function (str,idx) {
106
+ if(idx == 0) return
107
+ let item = getDataFromSignleLine(str,dataObj)
108
+ fillDataObj(dataObj, item)
109
+ if (item) {
110
+ if (item.date >= Recent365YMD) {
111
+ Recent365Count++
112
+ }
113
+ }
114
+ })
115
+
116
+
117
+ if (dataObj.title ) {
118
+
119
+
120
+ let divTitle = document.createElement('div')
121
+ divTitle.className = 'custom-map-title'
122
+ divTitle.innerText = dataObj.title || ''
123
+
124
+ let codeHolder = node.parentNode
125
+ codeHolder.insertBefore(divTitle,node)
126
+
127
+ }
128
+
129
+
130
+ let allYearArr = Object.keys(allYear).sort().reverse()
131
+ console.log(dataObj)
132
+
133
+ if(Recent365Count){
134
+ create_heatmap('lmpRecent365' + g_id ++, '', dataObj, "Last 1Y", Recent365Count,node)
135
+ }
136
+
137
+ for (let i = 0; i < allYearArr.length; i++) {
138
+ let y = allYearArr[i]
139
+ create_heatmap('lmp' + y + g_id ++ , y, dataObj,undefined,undefined,node)
140
+ }
141
+
142
+
143
+
144
+ };
145
+
146
+ async function initData(){
147
+ let arrCodes = document.querySelectorAll('pre > code')
148
+ if (!arrCodes || arrCodes.length == 0) return
149
+
150
+ if (arrCodes.length > 0) {
151
+ for (let i = 0; i < arrCodes.length; i ++) {
152
+ const code = arrCodes[i ];
153
+ var strAll = code.textContent
154
+ if (!strAll.startsWith("#mapdata")) {
155
+ return
156
+ }
157
+
158
+ parseDataAndCeateMap(strAll,code.parentNode.parentNode.parentNode)
159
+
160
+
161
+ }
162
+
163
+ }
164
+ }
165
+
166
+ initData()
167
+
168
+ window['_after_dec_fun'] = function () {
169
+ let con = document.getElementById('loveiContainer')
170
+ if (!con) {
171
+ let decryptContent = document.getElementById('decryptContent')
172
+ if (!decryptContent) return
173
+ con = document.createElement('div')
174
+ con.id = 'loveiContainer'
175
+ decryptContent.insertBefore(con, decryptContent.firstChild)
176
+
177
+ }
178
+
179
+ initData()
180
+ }
181
+ window['_after_enc_fun'] = function () {
182
+ document.getElementById('loveiContainer').innerHTML = ''
183
+ }
184
+ })();
data/_includes/heatmap.js CHANGED
@@ -1,8 +1,20 @@
1
- function __filldata(heatmapid,endYear,WeeKStartStr,heatMapLoadCount,_MonthStr,_showWeek,_allyearurl,dataSourceObj,checkPrefix) {
1
+ function __filldata(heatmapid,endYear,WeeKStartStr,heatMapLoadCount,_MonthStr,_showWeek,_allyearurl,dataSourceObj) {
2
+
3
+
4
+ function idx2Ymd(idx) {
5
+ let t = new Date(endStamp - (DayCount - 1 - idx) * 3600000 * 24);
6
+ let m = t.getMonth() + 1;
7
+ let d = t.getDate();
8
+ return `${t.getFullYear()}-${m < 10 ? "0" + m : m}-${
9
+ d < 10 ? "0" + d : d
10
+ }`;
11
+ }
2
12
 
3
- const WeeKStart = parseInt(WeeKStartStr)
4
13
 
5
14
 
15
+ const WeeKStart = parseInt(WeeKStartStr)
16
+ const color = dataSourceObj && dataSourceObj.color;
17
+
6
18
  var GDATA = window._G_DATA;
7
19
  if (!GDATA) {
8
20
  GDATA = {}
@@ -33,7 +45,7 @@ function __filldata(heatmapid,endYear,WeeKStartStr,heatMapLoadCount,_MonthStr,_s
33
45
  const minYmd = `${Number(endYear) - 1}${maxDateYmd.substring(4)}`
34
46
 
35
47
 
36
- console.log('maxDateYmd',maxDateYmd)
48
+
37
49
 
38
50
  const dateEnd =
39
51
  endYear && endYear.length == 4 ? new Date(maxDateYmd) : new Date();
@@ -84,6 +96,7 @@ function __filldata(heatmapid,endYear,WeeKStartStr,heatMapLoadCount,_MonthStr,_s
84
96
  }
85
97
  GDATA['_allYear'] = d ;return d ;})
86
98
  }
99
+
87
100
  !(function fillData() {
88
101
  let year = "" + dateEnd.getFullYear();
89
102
  let preYear = "" + (year - 1);
@@ -131,14 +144,7 @@ function __filldata(heatmapid,endYear,WeeKStartStr,heatMapLoadCount,_MonthStr,_s
131
144
  );
132
145
  }
133
146
 
134
- function idx2Ymd(idx) {
135
- let t = new Date(endStamp - (DayCount - 1 - idx) * 3600000 * 24);
136
- let m = t.getMonth() + 1;
137
- let d = t.getDate();
138
- return `${t.getFullYear()}-${m < 10 ? "0" + m : m}-${
139
- d < 10 ? "0" + d : d
140
- }`;
141
- }
147
+
142
148
 
143
149
  function updateCell(data) {
144
150
  if (!data) return;
@@ -210,6 +216,8 @@ function __filldata(heatmapid,endYear,WeeKStartStr,heatMapLoadCount,_MonthStr,_s
210
216
  let dateKeyYmd = idx2Ymd(idxOfDay);
211
217
  let arrPostInOneDay = Map[dateKeyYmd];
212
218
 
219
+
220
+
213
221
  let hideblock = false
214
222
  if (minYmd) {
215
223
  hideblock = dateKeyYmd < minYmd;
@@ -218,6 +226,7 @@ function __filldata(heatmapid,endYear,WeeKStartStr,heatMapLoadCount,_MonthStr,_s
218
226
  let isFuture = dateKeyYmd > todayYmd;
219
227
 
220
228
  const dayCell = dayCells[idxOfDay];
229
+ dayCell.dataset.x = dateKeyYmd
221
230
  if (hideblock) {
222
231
  dayCell.classList = 'heatmap-day-cell hm-check-notyet'
223
232
  }else if(isFuture){
@@ -225,8 +234,7 @@ function __filldata(heatmapid,endYear,WeeKStartStr,heatMapLoadCount,_MonthStr,_s
225
234
  }
226
235
  else{
227
236
 
228
- const checkClassPrefix = checkPrefix || 'hm'
229
- const nobg =
237
+ const nobg =
230
238
  parseInt(dateKeyYmd.substring(5, 7)) % 2 == 1
231
239
  ? "hm-check-no-b"
232
240
  : "hm-check-no-a";
@@ -234,12 +242,18 @@ function __filldata(heatmapid,endYear,WeeKStartStr,heatMapLoadCount,_MonthStr,_s
234
242
  !arrPostInOneDay
235
243
  ? nobg
236
244
  : arrPostInOneDay.length > 2
237
- ? (checkClassPrefix + "-check3")
245
+ ? ("hm-check3")
238
246
  : arrPostInOneDay.length == 2 ?
239
- (checkClassPrefix + "-check2")
240
- : checkClassPrefix + "-check"
247
+ ( "hm-check2")
248
+ : "hm-check"
241
249
  }`;
242
250
 
251
+ if (color && arrPostInOneDay && arrPostInOneDay.length) {
252
+ dayCell.style.backgroundColor = color + (arrPostInOneDay.length > 2 ? "ff" : arrPostInOneDay.length > 1 ? 'cc' : '99')
253
+ }
254
+
255
+
256
+
243
257
  if (arrPostInOneDay && arrPostInOneDay.length > 0) {
244
258
  let isDirectly = arrPostInOneDay.length == 1;
245
259
  let tip = document.createElement("div");
@@ -349,18 +363,41 @@ function __filldata(heatmapid,endYear,WeeKStartStr,heatMapLoadCount,_MonthStr,_s
349
363
  const monthEle = document.createElement("div");
350
364
  monthEle.className = "heatmap-month";
351
365
  Frag.appendChild(monthEle);
352
- const monthStr = _MonthStr.split(" ");
366
+ const monthStrArr = _MonthStr.split(" ");
353
367
 
354
368
  let nowM = dateEnd.getMonth();
355
369
  let nowWeekIdx = nLastColumnCount - 1;
356
370
 
357
- for (let i = 0; i < monthStr.length; i++) {
371
+ let monthEleArr = []
372
+ for (let i = 0; i < monthStrArr.length; i++) {
358
373
  let m = document.createElement("span");
359
374
  m.className = "heatmap-month-cell";
360
- m.innerHTML = `${monthStr[(i + nowM + 1) % 12]}`;
375
+ // m.innerHTML = `${monthStr[(i + nowM + 1) % 12]}`;
361
376
  monthEle.appendChild(m);
377
+ monthEleArr.push(m)
362
378
  }
363
379
 
380
+ /// reset month cell postion
381
+
382
+
383
+ for (let index = 0 ,j = 0; index < ColumnsCount && j < monthStrArr.length; index++) {
384
+ const ymd = idx2Ymd(index * 7)
385
+ const m = ymd.substring(5,7)
386
+ const d = ymd.substring(8,10)
387
+
388
+ if (d <= '07') {
389
+ let ele = monthEleArr[j ++]
390
+ console.log(ymd,m,d)
391
+ ele.innerText = monthStrArr[Number(m) - 1]
392
+ ele.style.gridColumnStart = index + 1
393
+ ele.style.gridColumnEnd = 'span 4'
394
+
395
+ }
396
+ }
397
+
398
+
399
+
400
+
364
401
  const weekEle = document.createElement("div");
365
402
  weekEle.className = "heatmap-week";
366
403
  const WeekStr = _showWeek.split(" ");
@@ -389,7 +426,7 @@ function __filldata(heatmapid,endYear,WeeKStartStr,heatMapLoadCount,_MonthStr,_s
389
426
  }
390
427
 
391
428
  let m = document.createElement("span");
392
- m.classList = `heatmap-day-cell ${checkPrefix || "hm"}-check-nodata`;
429
+ m.classList = `heatmap-day-cell hm-check-nodata`;
393
430
  dayEle.appendChild(m);
394
431
  }
395
432
  }
@@ -17,14 +17,23 @@ layout: default
17
17
 
18
18
 
19
19
  <style>
20
+ .custom-map-title{
21
+ margin: 0;
22
+ font-size: 1.5em;
23
+ color: #444455;
24
+ }
25
+
26
+ .map-container{
27
+ padding-bottom: 4em;
28
+ }
20
29
  .lv-year{
21
- margin-top: 2.5rem;
30
+
22
31
  font-family: 'Courier New', Courier, monospace;
23
32
  }
24
33
 
25
34
  .lv-year-title{
26
35
  font-weight: bold;
27
- font-size: 1.8em;
36
+ font-size: 1.5em;
28
37
  display: inline-block;
29
38
  color: #aaa;
30
39
 
@@ -54,8 +63,9 @@ layout: default
54
63
 
55
64
 
56
65
  <script >
57
- function create_heatmap(heatmapid,endYear,dataObj,title,count){
58
- let container = document.getElementById('loveiContainer')
66
+ function create_heatmap(heatmapid,endYear,dataObj,title,count,node){
67
+ let container = document.createElement('div')
68
+ container.className = 'map-container'
59
69
  let divtitle = document.createElement('div')
60
70
  divtitle.className = 'lv-year'
61
71
 
@@ -66,7 +76,7 @@ layout: default
66
76
 
67
77
  let divYearC = document.createElement('div')
68
78
  divYearC.className = 'lv-year-count'
69
- divYearC.innerText = count || ('' + dataObj.allYear[endYear])
79
+ divYearC.innerText = '' + (count || (dataObj.allYear[endYear] ||''))
70
80
  divtitle.appendChild(divYearC)
71
81
 
72
82
 
@@ -77,6 +87,7 @@ layout: default
77
87
  div.id = heatmapid
78
88
 
79
89
  container.appendChild(div)
90
+ node.parentNode.insertBefore(container,node)
80
91
 
81
92
  setTimeout(() => {
82
93
  create_heatmap0( heatmapid,endYear,dataObj)
@@ -129,134 +140,6 @@ layout: default
129
140
 
130
141
 
131
142
  <script>
132
- (function(){
133
-
134
- /// 2025-01-01 描述,日期格式yyyy-mm-dd,空格后跟上 描述
135
- function getDataFromSignleLine(str0){
136
- let str = str0.trim()
137
- if(!str) return null
138
- var arr = str.split(" ")
139
- var date0 = arr[0]
140
- let date = ''
141
- if(date0 ){
142
- let ymd = date0.split("-")
143
- if(ymd.length == 3){
144
- let year = ymd[0]
145
- let month = ymd[1]
146
- let day = ymd[2]
147
-
148
- let nY = Number(year)
149
- let nM = Number(month)
150
- let nD = Number(month)
151
- if (isNaN(nY) || isNaN(nD) || isNaN(nM) || nY < 1900 || nY > 2100 || nM < 1 || nM > 12 || nD < 1 || nD > 31) {
152
- return null
153
- }
154
- date = year + "-" + month.padStart(2, '0') + "-" + day.padStart(2, '0')
155
- }
156
- }
157
- else{
158
- return null
159
- }
160
-
161
- if (!date) {
162
- console.error("Invalid date format: " + str0)
163
- return null
164
- }
165
- var title = ""
166
- if(arr.length > 1){
167
- title = arr.slice(1).join(" ")
168
- }
169
- return {date:date,title:title}
170
- }
171
-
172
- function fillDataObj(data,item){
173
- if(!item) return
174
- let y = item.date.substring(0,4);
175
- let m = item.date.substring(5,7);
176
- let c = data.allYear[y];
177
- data.allYear[y] = c ? c + 1 : 1;
178
-
179
- let yObj = data[y]
180
- if(!yObj){
181
- yObj = {}
182
- data[y] = yObj;
183
- }
184
-
185
- let arr = yObj[m]
186
- if(!arr){
187
- arr = []
188
- yObj[m] = arr
189
- }
190
- arr.push(item)
191
-
192
- }
193
- function initData(){
194
- var endYear = "{{ include.endYear }}"
195
-
196
- let allYear = {}
197
- let data = {allYear:allYear};
198
-
199
-
200
-
201
-
202
- let Recent365Count = 0;
203
- let nowDate = new Date
204
- let Recent365YMD = `${nowDate.getFullYear()-1}-${(nowDate.getMonth() + 1).toString().padStart(2, '0')}-${nowDate.getDate().toString().padStart(2, '0')}`
205
-
206
- console.log(Recent365YMD)
207
-
208
-
209
- let arrCodes = document.querySelectorAll('pre > code')
210
- if(!arrCodes || arrCodes.length == 0) return
211
- if(arrCodes.length > 0){
212
- arrCodes.forEach(function(code){
213
- var strAll = code.textContent
214
- strAll.split("\n").forEach(function(str){
215
- let item = getDataFromSignleLine(str)
216
- fillDataObj(data,item)
217
- if(item ){
218
- if(item.date >= Recent365YMD){
219
-
220
- Recent365Count ++
221
- }
222
-
223
- }
224
- })
225
-
226
- })
227
- }
228
-
229
- let allYearArr = Object.keys(allYear).sort().reverse()
230
-
231
- create_heatmap('lmpRecent365' ,'',data ,"Last 1Y",Recent365Count)
232
- for(let i = 0; i < allYearArr.length; i++){
233
- let y = allYearArr[i]
234
- create_heatmap('lmp' + y ,y,data )
235
-
236
-
237
- }
238
-
239
-
240
- };
241
-
242
- initData()
243
-
244
- window['_after_dec_fun'] = function(){
245
- let con = document.getElementById('loveiContainer')
246
- if(!con){
247
- let decryptContent = document.getElementById('decryptContent')
248
- if(!decryptContent) return
249
- con = document.createElement('div')
250
- con.id = 'loveiContainer'
251
- decryptContent.insertBefore(con,decryptContent.firstChild)
252
-
253
- }
254
-
255
- initData()
256
- }
257
- window['_after_enc_fun'] = function (){
258
- document.getElementById('loveiContainer').innerHTML = ''
259
- }
260
- })();
261
143
 
144
+ {%- include getmapdata.js %}
262
145
  </script>
data/_sass/heatmap.scss CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
2
  $hmbloksizeH:13px;
3
3
  $dayGap:1px;
4
- $heatFont:Georgia,"Nimbus Roman No9 L","Songti SC",STSong,"AR PL New Sung","AR PL SungtiL GB",NSimSun,SimSun,"TW\-Sung","WenQuanYi Bitmap Song","AR PL UMing CN","AR PL UMing HK","AR PL UMing TW","AR PL UMing TW MBE",sans-serif;
4
+ // $heatFont: 'Courier New', Courier, monospace;; //Georgia,"Nimbus Roman No9 L","Songti SC",STSong,"AR PL New Sung","AR PL SungtiL GB",NSimSun,SimSun,"TW\-Sung","WenQuanYi Bitmap Song","AR PL UMing CN","AR PL UMing HK","AR PL UMing TW","AR PL UMing TW MBE",sans-serif;
5
5
 
6
6
  .heatmap{
7
7
  display: grid;
@@ -24,7 +24,8 @@ $heatFont:Georgia,"Nimbus Roman No9 L","Songti SC",STSong,"AR PL New Sung","AR P
24
24
  grid-column-end: 3;
25
25
 
26
26
  display: grid;
27
- grid-template-columns: repeat(12,1fr);
27
+ grid-template-columns: repeat(53,4fr);
28
+
28
29
 
29
30
  border: $dbgBorder;
30
31
 
@@ -34,14 +35,20 @@ $heatFont:Georgia,"Nimbus Roman No9 L","Songti SC",STSong,"AR PL New Sung","AR P
34
35
  .heatmap-month-cell{
35
36
  display: flex;
36
37
  align-items: center;
37
- justify-content: center;
38
+ // justify-content: center;
38
39
 
39
- font-family: $heatFont;
40
+ // font-family: $heatFont;
40
41
  font-size: 0.8rem;
41
42
 
42
43
  height: 12px;
43
44
 
44
45
  padding: 0.2em 0;
46
+
47
+
48
+
49
+
50
+ overflow: visible;
51
+
45
52
 
46
53
  }
47
54
 
@@ -65,7 +72,7 @@ $heatFont:Georgia,"Nimbus Roman No9 L","Songti SC",STSong,"AR PL New Sung","AR P
65
72
  justify-content: center;
66
73
  padding-right: 0.2em;
67
74
  font-size: 0.8rem;
68
- font-family: $heatFont;
75
+ // font-family: $heatFont;
69
76
  line-height: $hmbloksizeH;
70
77
  height: $hmbloksizeH;
71
78
  }
@@ -164,7 +171,7 @@ $heatFont:Georgia,"Nimbus Roman No9 L","Songti SC",STSong,"AR PL New Sung","AR P
164
171
  $bh:2px;
165
172
  .hm-check-future-b{
166
173
  background:repeating-linear-gradient(
167
- 45deg, /* 斜条纹角度 */
174
+ 135deg, /* 斜条纹角度 */
168
175
  #edebf0aa, /* 第一种颜色 */
169
176
  #edebf0aa $bh, /* 第一种颜色的宽度 */
170
177
  #ffffff $bh , /* 第二种颜色的起点 */
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-zeta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.9
4
+ version: 0.9.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - vitock
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-04-11 00:00:00.000000000 Z
11
+ date: 2025-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -66,6 +66,7 @@ files:
66
66
  - _includes/back_link.html
67
67
  - _includes/collecttags.html
68
68
  - _includes/encrypted.html
69
+ - _includes/getmapdata.js
69
70
  - _includes/goat_counter.html
70
71
  - _includes/head.html
71
72
  - _includes/heatmap.html