jekyll-zeta 0.9.5.3 → 0.9.6

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: 2b77877e58bbe892e776930edf846fca7feb836f1d329b98b5658100f1e474f9
4
- data.tar.gz: d61959c7dd998e78b66357cc2622c3084be0862b3b8e1e9f693ab7591ace9d10
3
+ metadata.gz: b3276dc1294876327e9a9d24f1cd91d58c8361d78876f56e3710fa2a296cf3ed
4
+ data.tar.gz: 36e13f87209f0a7466a46129494371645356b4e8d0c95d4dee28998b2462895f
5
5
  SHA512:
6
- metadata.gz: 4033fe8c0d6761c44f1b649c1eee6da07eb58783392a982d2cc221c2ee613f8a81490412ab1755c7ae448ed1f5502f1cc6063295d3064e52f4a66b24f3029f5d
7
- data.tar.gz: f19852036c85e7c453d5a0641d8756cf0852d963c1472f308fe8a075acd1988733c5c13f7ab6b7d342782ce7c3972c1d5f9bf7a081aead0427f150fe8b9561e0
6
+ metadata.gz: 5075c8a40c03e2c8d846153a0b1b30b84e2cc0ca057dacb797ae03d4895c9936495c8039525f2d8dbe7b5686458644381ee39e36c00070e7dab28879a8198ae3
7
+ data.tar.gz: 10d0b5c46a43ae8a8e2251f8384b537180cf946484ca9bb622864056ba4a90b8fd581276170675556d70409da7e1e29f9b7f3dbdc5902d072da0055e3efcfa7e
data/_config.yml CHANGED
@@ -51,6 +51,8 @@ theme_config:
51
51
  - /tags/
52
52
  - title: About
53
53
  url: /about.html
54
+ - title: lmap
55
+ url: /lovemap.html
54
56
 
55
57
  #
56
58
  # forbid_cache_password: true
@@ -81,4 +83,6 @@ enc_tags:
81
83
  # 123
82
84
  password: AQAQACAAIQCvWkhJdhn0b21Pz381AdTeMLb5bRO4d2F3usQtpIL0fDD0G8cg4klENXxJNX+rAHwD8VW2iJo4hZKDQrjdOjbJFugo60XnMmbdLEfzXpkqGpjjbe875/owWyNnGGPk3Vf4
83
85
  - tag: encryp_abcd
84
- password: AQAQACAAIQDpWALGGTzrk5vX930Eq/4CzvN0JZjzlBHDSf1of9tXL9OlxpR5EsuIELyQ2bmliMYDzaDZC7SBQC+p103Gtt91K3DEq2v/r2NRv+QYMes1u6mu/AHi5B4aqhNE8f416Bjc
86
+ password: AQAQACAAIQDpWALGGTzrk5vX930Eq/4CzvN0JZjzlBHDSf1of9tXL9OlxpR5EsuIELyQ2bmliMYDzaDZC7SBQC+p103Gtt91K3DEq2v/r2NRv+QYMes1u6mu/AHi5B4aqhNE8f416Bjc
87
+ - tag: happy_life
88
+ password: AQAQACAAIQA4iKfMvVHya5kaVOktOEUetbNm+B/IYr+wOodayIezEQQYZKIkfyO5TPVHHyzBVtUCZEHTY7twL9g40ECLbr/a0IPoiT3hSQF5AV7cJ9Vish55Ng+HXsLxc+tAc9vLpkXV
@@ -209,8 +209,14 @@ function uint8ArrayToHex(uint8Array) {
209
209
 
210
210
  window.dispatchEvent(loadevent)
211
211
  window.dispatchEvent(DOMContentLoaded_event)
212
+
213
+ const DECFUN = window['_after_dec_fun']
214
+
215
+ if (DECFUN && typeof DECFUN == 'function') {
216
+ DECFUN()
217
+ }
212
218
 
213
- }, 500);
219
+ }, 100);
214
220
  } catch (error) {
215
221
  console.log(error)
216
222
  // alert("wrong password.")
@@ -234,6 +240,11 @@ function uint8ArrayToHex(uint8Array) {
234
240
  document.getElementById('decryptContent').innerHTML = ':)'
235
241
 
236
242
  clearKey()
243
+
244
+ const ENCFUN = window['_after_enc_fun']
245
+ if (ENCFUN && typeof ENCFUN == 'function') {
246
+ ENCFUN()
247
+ }
237
248
  }
238
249
 
239
250
 
@@ -38,6 +38,8 @@
38
38
  var _showWeek = '{{ HeatMapShowWeek | default: "Sun Mon Tue Wed Thu Fri Sat" }}';
39
39
  var _allyearurl = '{{ "assets/dyn/allyear.json" | relative_url }}';
40
40
  {% include heatmap.js %}
41
+
42
+ __filldata(heatmapid,endYear,WeeKStartStr,heatMapLoadCount,_MonthStr,_showWeek,_allyearurl)
41
43
  }
42
44
  </script>
43
45
 
data/_includes/heatmap.js CHANGED
@@ -1,4 +1,4 @@
1
- ;!(function () {
1
+ function __filldata(heatmapid,endYear,WeeKStartStr,heatMapLoadCount,_MonthStr,_showWeek,_allyearurl,dataSourceObj,checkPrefix) {
2
2
 
3
3
  const WeeKStart = parseInt(WeeKStartStr)
4
4
 
@@ -17,6 +17,7 @@
17
17
  }
18
18
 
19
19
  const todayYmd = date2ymd(new Date())
20
+ // 指定日期,可以是年2014 或者 年月 2012-12-03
20
21
  const strictMod = endYear && endYear.length == 4;
21
22
  const maxDateYmd = `${endYear}-12-31`
22
23
  const dateEnd =
@@ -36,8 +37,14 @@
36
37
  let queue = window._y_queue || []
37
38
  window._y_queue = queue;
38
39
 
40
+
39
41
 
40
42
  function getAllYearCfg(){
43
+ /// 如果直接有数据,那么组装成
44
+ if (dataSourceObj && dataSourceObj.allYear) {
45
+ return Promise.resolve(dataSourceObj.allYear)
46
+ }
47
+
41
48
 
42
49
 
43
50
  if (GDATA['_allYear']) {
@@ -132,7 +139,7 @@
132
139
  const element = data[key];
133
140
  if (Array.isArray(element)) {
134
141
  element.forEach((e) => {
135
- if (e.date && e.title && e.url) {
142
+ if (e.date ) {
136
143
  let arr = Map[e.date];
137
144
  if (!arr) {
138
145
  arr = [];
@@ -204,6 +211,7 @@
204
211
  }
205
212
  else{
206
213
 
214
+ const checkClassPrefix = checkPrefix || 'hm'
207
215
  const nobg =
208
216
  parseInt(dateKeyYmd.substring(5, 7)) % 2 == 1
209
217
  ? "hm-check-no-b"
@@ -211,9 +219,11 @@
211
219
  dayCell.classList = `heatmap-day-cell ${
212
220
  !arrPostInOneDay
213
221
  ? nobg
214
- : arrPostInOneDay.length > 1
215
- ? "hm-check2"
216
- : "hm-check"
222
+ : arrPostInOneDay.length > 2
223
+ ? (checkClassPrefix + "-check3")
224
+ : arrPostInOneDay.length == 2 ?
225
+ (checkClassPrefix + "-check2")
226
+ : checkClassPrefix + "-check"
217
227
  }`;
218
228
 
219
229
  if (arrPostInOneDay && arrPostInOneDay.length > 0) {
@@ -222,7 +232,8 @@
222
232
 
223
233
  if (isDirectly) {
224
234
  let lnk = document.createElement("a");
225
- lnk.href = arrPostInOneDay[0].url;
235
+
236
+ lnk.href = arrPostInOneDay[0].url ? arrPostInOneDay[0].url : 'javascript:void(0);';
226
237
  dayCell.appendChild(lnk);
227
238
  }
228
239
 
@@ -231,7 +242,7 @@
231
242
  arrPostInOneDay.forEach((element) => {
232
243
  let lnk = document.createElement("a");
233
244
  lnk.className = "hm-tiplink";
234
- lnk.href = element.url;
245
+ lnk.href = element.url || 'javascript:void(0);'
235
246
  tip.appendChild(lnk);
236
247
 
237
248
  let t = document.createElement("span");
@@ -272,7 +283,7 @@
272
283
  function getYearData(year) {
273
284
  year = '' + year
274
285
 
275
-
286
+ if (dataSourceObj ) {return Promise.resolve(dataSourceObj[year])}
276
287
  if(GDATA[year]){
277
288
 
278
289
  return GDATA[year]
@@ -364,7 +375,7 @@
364
375
  }
365
376
 
366
377
  let m = document.createElement("span");
367
- m.classList = `heatmap-day-cell hm-check-nodata`;
378
+ m.classList = `heatmap-day-cell ${checkPrefix || "hm"}-check-nodata`;
368
379
  dayEle.appendChild(m);
369
380
  }
370
381
  }
@@ -372,4 +383,4 @@
372
383
  Frag.appendChild(dayEle);
373
384
  Father.append(Frag);
374
385
  })();
375
- })();
386
+ };
@@ -0,0 +1,244 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {%- assign titlelen = page.title.size -%}
6
+ {%- if titlelen > 0 -%}
7
+ <h2>{{ page.title }}</h2>
8
+ {%- endif -%}
9
+ <time datetime="{{ page.date }}">{{ page.date | date: site.theme_config.post_date_format }}</time> &nbsp; &nbsp;
10
+ {%- for tag in page.tags -%}
11
+ {%- capture tag_name -%}{{ tag }}{%- endcapture -%}
12
+ <a href="{{ site.baseurl }}/tags/{{ tag_name }}.html" class="tag"><text><nobr>#{{ tag_name }}</nobr></text>&nbsp;</a>
13
+ {%- endfor -%}
14
+
15
+ <br/>
16
+
17
+
18
+
19
+ <style>
20
+ .lv-year{
21
+ margin-top: 2.5rem;
22
+ }
23
+
24
+ .lv-year-title{
25
+ font-weight: bold;
26
+ font-size: 3.2em;
27
+ display: inline-block;
28
+ color: #eeeeee;
29
+ }
30
+ .lv-year-count{
31
+ font-weight: bold;
32
+ display: inline-block;
33
+ font-size: 2.2em;
34
+ color: #ccc;
35
+ }
36
+ .lv-year-count::before{
37
+ content: "x";
38
+ margin-left: 1em;
39
+ margin-right: 0.2em;
40
+ font-size: 1.5rem;
41
+ color: #ccc;
42
+ }
43
+
44
+ #loveiContainer{
45
+ margin-bottom: 2em;
46
+ }
47
+
48
+ </style>
49
+
50
+
51
+
52
+ <script >
53
+ function create_heatmap(heatmapid,endYear,dataObj){
54
+ let container = document.getElementById('loveiContainer')
55
+ let divtitle = document.createElement('div')
56
+ divtitle.className = 'lv-year'
57
+
58
+ let divYear = document.createElement('div')
59
+ divYear.className = 'lv-year-title'
60
+ divYear.innerText = endYear
61
+ divtitle.appendChild(divYear)
62
+
63
+ let divYearC = document.createElement('div')
64
+ divYearC.className = 'lv-year-count'
65
+ divYearC.innerText = '' + dataObj.allYear[endYear]
66
+ divtitle.appendChild(divYearC)
67
+
68
+
69
+
70
+ container.appendChild(divtitle)
71
+ let div = document.createElement('div')
72
+ div.className = 'heatmap'
73
+ div.id = heatmapid
74
+
75
+ container.appendChild(div)
76
+
77
+ setTimeout(() => {
78
+ create_heatmap0( heatmapid,endYear,dataObj)
79
+ }, 1);
80
+ }
81
+ function create_heatmap0(heatmapid,endYear,dataObj){
82
+
83
+ {%- assign MothStr = site.theme_config.heatMapMonth -%}
84
+ {%- assign HeatMapShowWeek = site.theme_config.heatMapShowWeek -%}
85
+ {%- assign heatMapLoadCount = site.theme_config.heatMapLoadCount | default: 9 -%}
86
+
87
+ const WeeKStartStr = "{{ site.theme_config.heatMapWeekStart | default: 0 }}" ;// 0 sunday 1 monday 2. tuesday ...
88
+
89
+ const heatMapLoadCount = {{heatMapLoadCount}};
90
+ var _MonthStr = '{{ MothStr | default: "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec" }}';
91
+ var _showWeek = '{{ HeatMapShowWeek | default: "Sun Mon Tue Wed Thu Fri Sat" }}';
92
+ var _allyearurl = '{{ "assets/dyn/allyear.json" | relative_url }}';
93
+ {% include heatmap.js %}
94
+
95
+
96
+ __filldata(heatmapid,endYear,WeeKStartStr,heatMapLoadCount,_MonthStr,_showWeek,_allyearurl,dataObj,'lv')
97
+ }
98
+
99
+
100
+
101
+ </script>
102
+
103
+
104
+
105
+
106
+
107
+ <article>
108
+
109
+
110
+ {%- assign encid = "" | get_encrypt_id:page -%}
111
+ {%- if encid == '' -%}
112
+ <div id="loveiContainer">
113
+
114
+ <!-- <div class='heatmap' id="loveid"> -->
115
+
116
+ </div>
117
+
118
+ {{ content }}
119
+ {%- else -%}
120
+ {%-include encrypted.html-%}
121
+ {%- endif -%}
122
+
123
+ </article>
124
+
125
+
126
+
127
+ <script>
128
+ (function(){
129
+
130
+ /// 2025-01-01 描述,日期格式yyyy-mm-dd,空格后跟上 描述
131
+ function getDataFromSignleLine(str0){
132
+ let str = str0.trim()
133
+ if(!str) return null
134
+ var arr = str.split(" ")
135
+ var date0 = arr[0]
136
+ let date = ''
137
+ if(date0 ){
138
+ let ymd = date0.split("-")
139
+ if(ymd.length == 3){
140
+ let year = ymd[0]
141
+ let month = ymd[1]
142
+ let day = ymd[2]
143
+
144
+ let nY = Number(year)
145
+ let nM = Number(month)
146
+ let nD = Number(month)
147
+ if (isNaN(nY) || isNaN(nD) || isNaN(nM) || nY < 1900 || nY > 2100 || nM < 1 || nM > 12 || nD < 1 || nD > 31) {
148
+ console.error("Invalid date format: " + str0)
149
+ return null
150
+ }
151
+ date = year + "-" + month.padStart(2, '0') + "-" + day.padStart(2, '0')
152
+ }
153
+ }
154
+ else{
155
+ return null
156
+ }
157
+
158
+ if (!date) {
159
+ console.error("Invalid date format: " + str0)
160
+ return null
161
+ }
162
+ var title = ""
163
+ if(arr.length > 1){
164
+ title = arr.slice(1).join(" ")
165
+ }
166
+ return {date:date,title:title}
167
+ }
168
+
169
+ function fillDataObj(data,item){
170
+ if(!item) return
171
+ let y = item.date.substring(0,4);
172
+ let m = item.date.substring(5,7);
173
+ let c = data.allYear[y];
174
+ data.allYear[y] = c ? c + 1 : 1;
175
+
176
+ let yObj = data[y]
177
+ if(!yObj){
178
+ yObj = {}
179
+ data[y] = yObj;
180
+ }
181
+
182
+ let arr = yObj[m]
183
+ if(!arr){
184
+ arr = []
185
+ yObj[m] = arr
186
+ }
187
+ arr.push(item)
188
+
189
+ }
190
+ function initData(){
191
+ var endYear = "{{ include.endYear }}"
192
+
193
+ let allYear = {}
194
+ let data = {allYear:allYear};
195
+
196
+ let arrCodes = document.querySelectorAll('pre > code')
197
+ if(!arrCodes || arrCodes.length == 0) return
198
+ if(arrCodes.length > 0){
199
+ arrCodes.forEach(function(code){
200
+ var strAll = code.textContent
201
+ strAll.split("\n").forEach(function(str){
202
+ let item = getDataFromSignleLine(str)
203
+ console.log('xxxx',item,str)
204
+ fillDataObj(data,item)
205
+ })
206
+
207
+ })
208
+ }
209
+
210
+ let allYearArr = Object.keys(allYear).sort().reverse()
211
+
212
+ console.log(allYear)
213
+ console.log(allYearArr)
214
+ for(let i = 0; i < allYearArr.length; i++){
215
+ let y = allYearArr[i]
216
+ create_heatmap('lmp' + y ,y,data )
217
+
218
+
219
+ }
220
+
221
+
222
+ };
223
+
224
+ initData()
225
+
226
+ window['_after_dec_fun'] = function(){
227
+ let con = document.getElementById('loveiContainer')
228
+ if(!con){
229
+ let decryptContent = document.getElementById('decryptContent')
230
+ if(!decryptContent) return
231
+ con = document.createElement('div')
232
+ con.id = 'loveiContainer'
233
+ decryptContent.insertBefore(con,decryptContent.firstChild)
234
+
235
+ }
236
+
237
+ initData()
238
+ }
239
+ window['_after_enc_fun'] = function (){
240
+ document.getElementById('loveiContainer').innerHTML = ''
241
+ }
242
+ })();
243
+
244
+ </script>
data/_sass/heatmap.scss CHANGED
@@ -7,7 +7,7 @@ $heatFont:Georgia,"Nimbus Roman No9 L","Songti SC",STSong,"AR PL New Sung","AR P
7
7
  display: grid;
8
8
  grid-template-rows: auto 1fr;
9
9
  grid-template-columns: auto 1fr;
10
- max-width: 640px;
10
+ // max-width: 740px;
11
11
  }
12
12
 
13
13
  .heatmap-title{
@@ -100,17 +100,53 @@ $heatFont:Georgia,"Nimbus Roman No9 L","Songti SC",STSong,"AR PL New Sung","AR P
100
100
  background-color: #93d5dc;
101
101
  }
102
102
 
103
- .hm-check{
104
- background-color: #40c463bb;
103
+ .lv-check-nodata{
104
+ background-color: #add5a2;
105
+ }
106
+
107
+
108
+ .hm-checkBase{
105
109
  position: relative;
110
+ background-color: #40c46377;
106
111
  cursor: pointer;
107
112
  }
113
+ .hm-check{
114
+
115
+ @extend .hm-checkBase;
116
+ background-color: #40c46377;
117
+
118
+ }
108
119
 
109
120
  .hm-check2{
121
+ @extend .hm-checkBase;
122
+ background-color: #40c463bb;
123
+
124
+ }
125
+
126
+ .hm-check3{
127
+ @extend .hm-checkBase;
110
128
  background-color: #40c463ff;
111
- position: relative;
112
129
  }
113
130
 
131
+ .lv-check{
132
+
133
+ @extend .hm-checkBase;
134
+ background-color: #ef347399;
135
+
136
+ }
137
+
138
+ .lv-check2{
139
+ @extend .hm-checkBase;
140
+ background-color: #ef3473cc;
141
+
142
+ }
143
+
144
+ .lv-check3{
145
+ @extend .hm-checkBase;
146
+ background-color: #ef3473;
147
+ }
148
+
149
+
114
150
  .hm-check-no-a{
115
151
  background-color: #edebf0;;
116
152
  }
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.5.3
4
+ version: 0.9.6
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-07 00:00:00.000000000 Z
11
+ date: 2025-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -83,6 +83,7 @@ files:
83
83
  - _layouts/default.html
84
84
  - _layouts/heatmap.html
85
85
  - _layouts/home.html
86
+ - _layouts/lovemap.html
86
87
  - _layouts/page.html
87
88
  - _layouts/paginate.html
88
89
  - _layouts/post.html