惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
Cyberwarzone
Cyberwarzone
L
LINUX DO - 最新话题
N
News and Events Feed by Topic
T
Troy Hunt's Blog
Help Net Security
Help Net Security
S
Security @ Cisco Blogs
Google DeepMind News
Google DeepMind News
Security Archives - TechRepublic
Security Archives - TechRepublic
M
MIT News - Artificial intelligence
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V2EX - 技术
V2EX - 技术
Y
Y Combinator Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
大猫的无限游戏
大猫的无限游戏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
Cisco Talos Blog
Cisco Talos Blog
T
Threatpost
Recent Commits to openclaw:main
Recent Commits to openclaw:main
S
SegmentFault 最新的问题
I
InfoQ
H
Hacker News: Front Page
D
Docker
Scott Helme
Scott Helme
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Blog — PlanetScale
Blog — PlanetScale
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
Netflix TechBlog - Medium
AWS News Blog
AWS News Blog
Know Your Adversary
Know Your Adversary
博客园 - 【当耐特】
T
Tor Project blog
U
Unit 42
H
Heimdal Security Blog
Microsoft Azure Blog
Microsoft Azure Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Privacy & Cybersecurity Law Blog
PCI Perspectives
PCI Perspectives
美团技术团队
O
OpenAI News
T
Tailwind CSS Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
B
Blog
GbyAI
GbyAI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
MyScale Blog
MyScale Blog

爱吃肉的猫

那就,再相逢 Butterfly的魔改教程:最新评论页 离歌不夜天 前端分享 - 滑动阻尼效果 Butterfly的魔改教程:右键菜单 音乐分享 - doi微醺氛围 Butterfly的魔改教程:动态相册页 近况记事 - 11 微信公众号:Ai大模型让回复更具智能化 近况记事 - 10 PWA:让你的网站变成桌面应用APP Healthy Love 近况记事 - 9 Butterfly的魔改教程:待办清单 TrollStore - 不掉签助手 近况记事 - 8 Twikoo评论回复邮件模版 过一个很特别的七夕 The Young Boy and the Sea
Butterfly的魔改教程:关于本站
亦小封 · 2023-10-14 · via 爱吃肉的猫
1
2
3
4
5
6
      when 'categories'
include includes/page/categories.pug
+ when 'about'
+ include includes/page/about.pug
default
include includes/page/default-page.pug
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#icat-about-page
.Personal-Introduction
.PI-box-left
.title 你好!
.title=_p('我是'+config.author)
.describe=theme.about.Personal_Introduction.describe
span.describe-tips=theme.about.Personal_Introduction.tips
.PI-button
a(href="#one") 博主信息
a(href="#two") 本站信息
a(href="#name-list") 打赏名单
.PI-box-right
.PI-img
img(src=theme.about.Personal_Introduction.image)

.about-layout.Personal-Introduction-bar
.bar-box
span.tips 生于
.title(style="color:#43a6c6")=theme.about.Personal_Introduction.bar.year
.bar-box
span.tips 星座
.title(style="color:#c69043")=theme.about.Personal_Introduction.bar.constellation
.bar-box
span.tips 爱好
.title(style="color:#d44040")=theme.about.Personal_Introduction.bar.hobby
.bar-box
span.tips 职业
.title(style="color:#b04fe6")=theme.about.Personal_Introduction.bar.career

#one
.about-layout.width.photo
.about-layout.width.map
span 现在生活在
p=theme.about.map
.width.h1-box
.box-top
.top
span 01
.title-h1 博主信息
.about-layout.box-bottom(onclick="meuicat.Introduction()")
span#Introduction MeuiCat

.Philosophical
.about-layout.P-box-left
.tips 性格
.title=theme.about.Philosophical.title
.title(style="color:#56a178")=theme.about.Philosophical.referred_to_as
.image
img(src=theme.about.Philosophical.image)
.tips-bottom 在
a(href="https://www.16personalities.com/" target="_blank") 16Personalities
| 了解关于
a(href=theme.about.Philosophical.link target="_blank")=theme.about.Philosophical.title
| 的更多信息

.about-layout.P-box-right
.tips 座右铭
span.title(style="opacity:.6;margin-bottom: 8px")=theme.about.Philosophical.motto_one
span.title=theme.about.Philosophical.motto_two
.tips-bottom=theme.about.Philosophical.motto_tips

.about-layout.Socialize
.tips 账号
.title 社交平台
.S-box
each url, icon in theme.about.Account_number
a.btn-layout(href=url_for(trim(url.split('||')[0])) target="_blank")=icon
.S-img
.img-box

#two
.h1-box
.box-top
.top
span 02
.title-h1 本站信息
.about-layout.box-bottom
span#run-time 运行时间
.information
.about-layout.Version
.V-box
.title Hexo
.tips-v V4.9.0
.V-box
.title Butterfly
.tips-v V6.3.0
.V-box
.title MeuiCat
.tips-v V3.1.1

.about-layout.Statistics
span= site.posts.length + _p('篇文章')
span.N_comments 评论数量
span= site.tags.length + _p('个分类')
span= totalcount(site) + _p('字')

.data
.about-layout.statistic
.tips 浏览
.title 访问统计
#statistic
.tips-bottom
.T-box 统计信息来自
a(href="https://user.51.la/activity/invite?cc=22L4t3" target="_blank") 51la
| 网站统计
a.T-btn(href="/charts/" target="_blank") 更多统计

.about-layout.union
.tips 共创
.title 站长联盟
.U-box
each url, icon in theme.about.Union
a.btn-layout(href=url_for(trim(url.split('||')[0])) target="_blank")=icon

.about-layout.content
.tips 心路历程
.title 关于本站的介绍
!= page.content

.about-layout#name-list
.tips 致谢
.title 赞赏名单
.tips-t 非必要无需赞助!同时也感谢赞赏的喵友,让我感受到写博客这件事情能够给你们创造了价值
.Appreciation-List
each i in site.data.reward
- let rawData = [...i.reward_list]
.reward-list-all
- let reward_list_amount = i.reward_list.sort((a,b)=>b.amount - a.amount)
each item, index in reward_list_amount
.reward-list-item
.reward-list-item-name=item.name
.reward-list-bottom-group
if item.amount >= 50
.reward-list-item-money(style='background:#ffc93e')=`¥${item.amount}`
else
.reward-list-item-money=`¥${item.amount + (item.suffix ? item.suffix : "")}`
.datatime.reward-list-item-time(datatime=item.datatime)=new Date(item.datatime).toISOString().slice(0, -14)
.reward-list-updateDate
| 更新时间:
time.datatime.reward-list-updateDate-time(datatime=rawData[0].datatime)=new Date(rawData[0].datatime).toISOString().slice(0, -14)
.post-reward
.reward-button
i.iconfont.icat-gift
= ' ' + _p('donate')
.reward-main
ul.reward-all
span.reward-title 感谢你赐予我前进的力量
ul.reward-group
each item in theme.reward.QR_code
- var clickTo = item.link ? item.link : item.img
li.reward-item
a(href=url_for(clickTo) target='_blank')
img.post-qr-code-img(src=url_for(item.img) alt=item.text)
.post-qr-code-desc=item.text
a.reward-btn-aifadian(href=theme.about.aifadian target="_blank")
i.iconfont.icat-aifadian
.reward-text 我的爱发电
1
2
3
4
5
6
      when 'categories'
include includes/page/categories.pug
+ when 'about'
+ include includes/page/about.pug
default
include includes/page/default-page.pug
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
#icat-about-page
.icat-author-box
.icat-author-img
img.no-lightbox(src='https://s11.ax1x.com/2023/07/07/pCc1TSO.jpg')
.image-dot
.icat-author-content
.icat-author-content-item.myInfoAndSayHello
.title-one Hey,很高兴认识你👋
.title-two
| 我叫
span.inline-word 亦封
.title-one
| 是一名 自媒体iCat博主 &
span.inline-word 数控项目师
.aboutsiteTips.icat-author-content-item
.icat-author-content-item-tips 追求
h2
| 源于
br
| 热爱而去
span.inline-word 体验
.mask
span.first-tips 旅行
|
span 生活
|
span(data-up) 设计
|
span(data-show) 感受

.hello-about
.cursor(style='translate:none;rotate:none;scale:none;transform:translate(721px,180px)')
.shapes
.shape.shape-1(style='translate:none;rotate:none;scale:none;transform:translate(721px,180px)')
.shape.shape-2(style='translate:none;rotate:none;scale:none;transform:translate(721px,180px)')
.shape.shape-3(style='translate:none;rotate:none;scale:none;transform:translate(721px,180px)')
.content
h1 MeuiCat

.icat-author-content
.icat-author-content-item.skills
.card-content
.icat-author-content-item-tips 技能
span.icat-author-content-item-title 极致创造
.skills-style-group
.tags-group-all
.tags-group-wrapper
each i in site.data.creativity
- const evenNum = i.creativity_list.filter((x, index) => index % 2 === 0);
- const oddNum = i.creativity_list.filter((x, index) => index % 2 === 1);
each item, index in i.creativity_list
if ((index+1 <= evenNum.length) && (index+1 <= oddNum.length))
.tags-group-icon-pair
.tags-group-icon(style=`background: ${evenNum[index].color}`)
img.no-lightbox(title=evenNum[index].name, src=evenNum[index].icon)
.tags-group-icon(style=`background: ${oddNum[index].color}`)
img.no-lightbox(title=oddNum[index].name, src=oddNum[index].icon)
.skills-list
each i in site.data.creativity
each item, index in i.creativity_list
.skill-info
.skill-icon(style=`background: ${item.color}`)
img.no-lightbox(title=item.name, src=item.icon)
.skill-name
span=item.name
.etc ...
.icat-author-content-item.careers
.card-content
.icat-author-content-item-tips 生涯
span.icat-author-content-item-title 無限進步
.careers-group
.careers-item
.circle(style='background:#357ef5')
.name EC/DC | 电商设计师
.careers-item
.circle(style='background:#937df7')
.name EC/TP | 运营规划师
.careers-item
.circle(style='background:#00d0e1')
.name UGC | 自媒体IP
.careers-item
.circle(style='background:#ff0000')
.name CNC/PE | 数控项目师
img.icat-author-content-img.no-lightbox(alt='生涯', src='https://yife68.gitee.io/icat-pic/blog/2.webp')

.icat-author-content
.about-statistic.icat-author-content-item
.card-content
.icat-author-content-item-tips 数据
span.icat-author-content-item-title 访问统计
#statistic
.post-tips
| 统计信息来自
a(href='https://user.51.la/activity/invite?cc=22L4t3', target='_blank', rel='noopener nofollow') 51la网站统计
.icat-banner-button-group
a.banner-button(onclick='pjax.loadUrl("/census/")', data-pjax-state)
i.iconfont.icat-51la
|
span.banner-button-text 访问统计
.icat-author-content-item-group.column.mapAndInfo
.icat-author-content-item.map.single
span.map-title
| 现在住在
b 上海 虹口
.icat-author-content-item.selfInfo.single
div
span.selfInfo-title 生于
|
span.selfInfo-content(style='color:#43a6c6') 2002
div
span.selfInfo-title 星座
|
span.selfInfo-content(style='color:#c69043') 狮子座
div
span.selfInfo-title 现在职业
|
span.selfInfo-content(style='color:#b04fe6') 数控工程/项目师

.icat-author-content
.icat-author-content-item.personalities
.icat-author-content-item-tips 性格
span.icat-author-content-item-title 活动家
.title-two(style='color:#56a178') ENFP-T
.post-tips
| 在
a(href='https://www.16personalities.com/', target='_blank', rel='noopener nofollow') 16Personalities
| 了解关于
a(target='_blank', rel='noopener external nofollow', href='https://www.16personalities.com/enfp-personality?utm_source=welcome-turbulent-campaigner&utm_medium=email&utm_campaign=results&utm_content=type-personality-0') 活动家
| 的更多信息
.image
img.no-lightbox(src='https://www.16personalities.com/static/images/personality-types/avatars/email/large/ENFP_male.png?v=1')
.icat-author-content-item.myphoto
img.icat-author-content-img.no-lightbox(alt='img', src='https://yife68.gitee.io/icat-pic/blog/6.webp')

.icat-author-content
.icat-author-content-item.maxim
.icat-author-content-item-tips 座右铭
span.maxim-title
span(style='opacity:.6;margin-bottom:8px') 山高路遠
|
span 看世界 也找自己.
.icat-author-content-item.buff
.card-content
.icat-author-content-item-tips 特长
span.buff-title
span(style='opacity:.6;margin-bottom:8px')
| 说走就走的
span.inline-word 追风狂魔
|
span
| 各项学习能力
span.inline-word MAX
.card-background-icon
i.fa-solid.fa-dice-d20

.icat-author-content
.icat-author-content-item.game-yuanshen
.card-content
.icat-author-content-item-tips 爱好游戏
span.icat-author-content-item-title Minecraft
.content-bottom
.tips.game-yuanshen-uid ID: Beam_Sealed
.icat-author-content-item.comic-content
.card-content
.icat-author-content-item-tips 爱好电影
span.icat-author-content-item-title 动物世界
.content-bottom
.icat-banner-button-group
a.banner-button(onclick='window.open("https://movie.douban.com/subject/26925317/")', data-pjax-state)
i.iconfont.icat-play
|
span.banner-button-text 豆瓣详情

.icat-author-content
.icat-author-content-item.like-technology
.card-content
.icat-author-content-item-tips 关注偏好
span.icat-author-content-item-title 数码科技
.content-bottom
.tips 手机、电脑软硬件
.icat-author-content-item.like-music
.card-content
.icat-author-content-item-tips 音乐偏好
span.icat-author-content-item-title 电子乐、Beat
|
span.icat-author-content-item-title 纯音乐、名谣
.content-bottom
.tips 跟 亦小封 一起欣赏更多音乐
.icat-banner-button-group
a.banner-button(onclick='window.open("https://music.163.com/#/user/home?id=542585674")', data-pjax-state)
i.iconfont.icat-music
|
span.banner-button-text 更多推荐

.icat-author-content
.create-site-post.icat-author-content-item.single
.icat-author-content-item-tips 心路历程
h1 关于本站
h3 首先,对每一位来到这里的iCat喵友们说声 "有幸遇见 很高兴认识你" 👋
strong 创立iCat的初衷也是想着每一个人都可以像猫咪那样过的有仪式感;傲娇性随时放射;有位猫主子宠着
br
strong 也是想能够有一个让自己积累知识、积累兴趣的地方;是属于自己的温暖小窝;也是偌大的社会里的属于自己的内心避风港
br
strong 和他人分享,会让这些成为积累和沉淀。如果能够帮助到更多的人,帮助更多人解决问题,那一定是非常棒的事情
br
br
strong 与大多数垂直类的技术博客不同,这里的种类会非常的繁杂,有技能的教程干货、有生活上的吐槽和想法;所以一般我研究什么、发现了什么都会分享在这里
br
strong 这些就是创造 <b>MueiCat</b> 的本意,也是我分享生活的方式。有幸能和你相遇在这里,相信我们能共同留下一段美好记忆
br
br
h2 博客类型
strong 本站建立于 2021年10月16日
br
strong
emp
a(target="_blank" href="https://hexo.io/zh-cn/") Hexo
| 强力驱动 | Theme by
a(target="_blank" href="https://github.com/jerryc127/hexo-theme-butterfly/") Butterfly
br
strong 备案: <font color="red">粤ICP备2022035648号</font> | 萌备: <font color="red">萌ICP备20227060号</font>
br
strong
emp
a(target="_blank" rel="noopener" href="/privacy/") 隐私协议
strong |
a(target="_blank" rel="noopener" href="/cookies/") Cookies政策
strong |
a(target="_blank" rel="noopener" href="/cc/") 版权协议
br
strong 留言等信息回复请联系 个人微信(<b>y59851</b>)、TG、邮箱或者 在评论区留言
br
strong
emp
a(target="_blank" color="red" href="/Website-History/") 查看关于更多 iCat 发展历程
br
h2 本站加入的博客联盟
strong
ul
li
emp
a(target="_blank" rel="noopener" href="https://www.foreverblog.cn/blog/4006.html") 十年之约
strong | 十年之约是一个记录、展示独立博客的平台,即从加入这个活动起,我们的博客10年不关闭或者更久,保持更新和活力
li
emp
a(target="_blank" rel="noopener" href="https://travellings.cn/") 开往
strong | 我们希望通过让友链接力下去,可以让流量流动起来,让网络变得开放。
li
emp
a(target="_blank" rel="noopener" href="https://bf.zzxworld.com/s/876") BlogFinder
strong | 聚合优秀的个人博客,发掘优质的个人博客文章和内容。
li
emp
a(target="_blank" rel="noopener" href="https://storeweb.cn/site/o/1674") 个性商店
strong | 一个精致的,带社交元素的个人网站发布平台,博客收录网站
li
emp
a(target="_blank" rel="noopener" href="https://boke.lu/icat-author/18") 博客录
strong | boke.lu · 博客收录展示平台
h2 更多主页平台
strong
ul
li 抖音号:y59851
li 微信公众号:卡布是只猫 (iCat-KaBu)、奇诺是只猫 (iCat-QiNuo)、美式是只猫 (iCat-MeiShi)、小王爱吃糖
li Telegram:
emp
a(target="_blank" rel="noopener" href="https://t.me/yife68") 亦封
li GitHub:
emp
a(target="_blank" rel="noopener" href="https://github.com/yife68") 亦封
li Gitee:
emp
a(target="_blank" rel="noopener" href="https://gitee.com/yife68") 亦封
h3 如果遇到问题可以去上方频道私信我!

.icat-author-content
.icat-author-content-item.single.reward
.icat-author-content-item-tips 致谢
span.icat-author-content-item-title 赞赏名单
.icat-author-content-item-description 非必要无需赞助!同时也感谢赞赏的喵友,让我感受到写博客这件事情能够给你们创造了价值
each i in site.data.reward
- let rawData = [...i.reward_list]
.reward-list-all
- let reward_list_amount = i.reward_list.sort((a,b)=>b.amount - a.amount)
each item, index in reward_list_amount
.reward-list-item
.reward-list-item-name=item.name
.reward-list-bottom-group
if item.amount >= 50
.reward-list-item-money(style='background:#ffc93e')=`¥${item.amount}`
else
.reward-list-item-money=`¥${item.amount + (item.suffix ? item.suffix : "")}`
.datatime.reward-list-item-time(datatime=item.datatime)=new Date(item.datatime).toISOString().slice(0, -14)
.reward-list-updateDate
| 更新时间:
time.datatime.reward-list-updateDate-time(datatime=rawData[0].datatime)=new Date(rawData[0].datatime).toISOString().slice(0, -14)
.post-reward
#con
#TA-con(type='button', onclick='reward()')
#text-con
#linght
#TA 为TA充电
#tube-con
svg(viewBox='0 0 1028 385', fill='none', xmlns='http://www.w3.org/2000/svg')
path(d='M1 77H234.226L307.006 24H790', stroke='#e5e9ef', stroke-width='20')
path(d='M0 140H233.035L329.72 71H1028', stroke='#e5e9ef', stroke-width='20')
path(d='M1 255H234.226L307.006 307H790', stroke='#e5e9ef', stroke-width='20')
path(d='M0 305H233.035L329.72 375H1028', stroke='#e5e9ef', stroke-width='20')
rect(y='186', width='236', height='24', fill='#e5e9ef')
ellipse(cx='790', cy='25.5', rx='25', ry='25.5', fill='#e5e9ef')
circle(r='14', transform='matrix(1 0 0 -1 790 25)', fill='white')
ellipse(cx='790', cy='307.5', rx='25', ry='25.5', fill='#e5e9ef')
circle(r='14', transform='matrix(1 0 0 -1 790 308)', fill='white')
#mask
svg(viewBox='0 0 1028 385', fill='none', xmlns='http://www.w3.org/2000/svg')
path(d='M1 77H234.226L307.006 24H790', stroke='#f25d8e', stroke-width='20')
path(d='M0 140H233.035L329.72 71H1028', stroke='#f25d8e', stroke-width='20')
path(d='M1 255H234.226L307.006 307H790', stroke='#f25d8e', stroke-width='20')
path(d='M0 305H233.035L329.72 375H1028', stroke='#f25d8e', stroke-width='20')
rect(y='186', width='236', height='24', fill='#f25d8e')
ellipse(cx='790', cy='25.5', rx='25', ry='25.5', fill='#f25d8e')
circle(r='14', transform='matrix(1 0 0 -1 790 25)', fill='white')
ellipse(cx='790', cy='307.5', rx='25', ry='25.5', fill='#f25d8e')
circle(r='14', transform='matrix(1 0 0 -1 790 308)', fill='white')
#orange-mask
svg(viewBox='0 0 1028 385', fill='none', xmlns='http://www.w3.org/2000/svg')
path(d='M1 77H234.226L307.006 24H790', stroke='#ffd52b', stroke-width='20')
path(d='M0 140H233.035L329.72 71H1028', stroke='#ffd52b', stroke-width='20')
path(d='M1 255H234.226L307.006 307H790', stroke='#ffd52b', stroke-width='20')
path(d='M0 305H233.035L329.72 375H1028', stroke='#ffd52b', stroke-width='20')
rect(y='186', width='236', height='24', fill='#ffd52b')
ellipse(cx='790', cy='25.5', rx='25', ry='25.5', fill='#ffd52b')
circle(r='14', transform='matrix(1 0 0 -1 790 25)', fill='white')
ellipse(cx='790', cy='307.5', rx='25', ry='25.5', fill='#ffd52b')
circle(r='14', transform='matrix(1 0 0 -1 790 308)', fill='white')
p#people
| <a href="https://afdian.net/a/yife68">爱发电</a>
b :
| 小喵爪
script(src=url_for(theme.CDN.option.countup_js))
script(src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/gsap/3.9.1/gsap.min.js")
script.
(() => {
function isInViewPortOfOne(el) {
if (!el) return;
const viewPortHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
const offsetTop = el.offsetTop;
const scrollTop = document.documentElement.scrollTop;
const top = offsetTop - scrollTop;
return top <= viewPortHeight;
}
fetch('https://v6-widget.51.la/v6/{掩码ID}/quote.js').then(res => res.text()).then((data) => {
let title = ['最近活跃', '今日人数', '今日访问', '昨日人数', '昨日访问', '本月访问', '总访问量']
let num = data.match(/(<\/span><span>).*?(\/span><\/p>)/g)

num = num.map((el) => {
let val = el.replace(/(<\/span><span>)/g, '')
let str = val.replace(/(<\/span><\/p>)/g, '')
return str
})

let statisticEl = document.getElementById('statistic')

// 自定义不显示哪个或者显示哪个,如下为不显示 最近活跃访客 和 总访问量
let statistic = []
for (let i = 0; i < num.length; i++) {
if (!statisticEl) return
if (i == 0 || i == num.length - 1) continue;
statisticEl.innerHTML += '<div><span>' + title[i] + '</span><span id='+ title[i] + '>' + num[i] + '</span></div>'
queueMicrotask(()=> {
statistic.push(new CountUp(title[i], 0, num[i], 0, 2, {
useEasing: true,
useGrouping: true,
separator: ',',
decimal: '.',
prefix: '',
suffix: ''
}))
})
}

function statisticUP () {
let statisticElment = document.querySelector('.about-statistic.icat-author-content-item');
if(isInViewPortOfOne(statisticElment)) {
for (let i = 0; i < num.length; i++) {
if (i == 0 || i == num.length - 1) continue;
statistic[i-1].start();
}
document.removeEventListener('scroll', throttleStatisticUP);
}
}

const selfInfoContentYear = new CountUp('selfInfo-content-year', 0, 2002, 0, 2, {
useEasing: true,
useGrouping: false,
separator: ',',
decimal: '.',
prefix: '',
suffix: ''
})

function scrollSelfInfoContentYear() {
let selfInfoContentYearElment = document.querySelector('.icat-author-content-item.selfInfo.single');
if (selfInfoContentYearElment && isInViewPortOfOne(selfInfoContentYearElment)) {
selfInfoContentYear.start()
document.removeEventListener('scroll', throttleScrollSelfInfoContentYear);
}
}
const throttleStatisticUP = btf.throttle(statisticUP, 200)
document.addEventListener('scroll', throttleStatisticUP, {passive: true})

const throttleScrollSelfInfoContentYear = btf.throttle(scrollSelfInfoContentYear, 200)
document.addEventListener('scroll', throttleScrollSelfInfoContentYear, {passive: true})
});

var pursuitInterval = null;
pursuitInterval = setInterval(function () {
const show = document.querySelector('span[data-show]')
const next = show.nextElementSibling || document.querySelector('.first-tips')
const up = document.querySelector('span[data-up]')

if (up) {
up.removeAttribute('data-up')
}

show.removeAttribute('data-show')
show.setAttribute('data-up', '')

next.setAttribute('data-show', '')
}, 2000)

document.addEventListener('pjax:send', function(){
clearInterval(pursuitInterval);
});

var helloAboutEl = document.querySelector('.hello-about')
helloAboutEl.addEventListener("mousemove", evt => {
const mouseX = evt.offsetX;
const mouseY = evt.offsetY;
gsap.set(".cursor", {
x: mouseX,
y: mouseY,
})

gsap.to(".shape", {
x: mouseX,
y: mouseY,
stagger: -0.1
})
})
})()