-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
560 lines (465 loc) · 26.1 KB
/
index.html
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
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
<!DOCTYPE html>
<html lang="cn" dir="auto">
<head>
<meta name="generator" content="Hugo 0.99.1" /><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>染竹君的个人博客</title>
<meta name="keywords" content="染竹君, RanZhuJun, Study">
<meta name="description" content="RanZhuJun的狗窝-工作、学习和生活">
<meta name="author" content="RanZhuJun">
<link rel="canonical" href="https://dyedbamboo.github.io/">
<link crossorigin="anonymous" href="/assets/css/stylesheet.min.7566d7c5929deb4b9ac02ed48184739b30bac593fd6d42fb84d19a00b8e4091c.css" integrity="sha256-dWbXxZKd60uawC7UgYRzmzC6xZP9bUL7hNGaALjkCRw=" rel="preload stylesheet" as="style">
<link rel="icon" href="https://dyedbamboo.github.io/favicon/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="https://dyedbamboo.github.io/favicon/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://dyedbamboo.github.io/favicon/favicon-32x32.png">
<link rel="apple-touch-icon" href="https://dyedbamboo.github.io/favicon/apple-touch-icon.png">
<link rel="mask-icon" href="https://dyedbamboo.github.io/favicon/safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="https://dyedbamboo.github.io/index.xml">
<link rel="alternate" type="application/json" href="https://dyedbamboo.github.io/index.json">
<noscript>
<style>
#theme-toggle,
.top-link {
display: none;
}
</style>
<style>
@media (prefers-color-scheme: dark) {
:root {
--theme: rgb(29, 30, 32);
--entry: rgb(46, 46, 51);
--primary: rgb(218, 218, 219);
--secondary: rgb(155, 156, 157);
--tertiary: rgb(65, 66, 68);
--content: rgb(196, 196, 197);
--hljs-bg: rgb(46, 46, 51);
--code-bg: rgb(55, 56, 62);
--border: rgb(51, 51, 51);
}
.list {
background: var(--theme);
}
.list:not(.dark)::-webkit-scrollbar-track {
background: 0 0;
}
.list:not(.dark)::-webkit-scrollbar-thumb {
border-color: var(--theme);
}
}
</style>
</noscript>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?4a41bf85d719f0e8c3165fc76904f546";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-C6GDZ56F4S"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-C6GDZ56F4S', { 'anonymize_ip': false });
}
</script>
<meta property="og:title" content="染竹君的个人博客" />
<meta property="og:description" content="RanZhuJun的狗窝-工作、学习和生活" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://dyedbamboo.github.io/" /><meta property="og:image" content="https://i.loli.net/2021/09/26/3OMGXylm8HUYJ6p.png"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="https://i.loli.net/2021/09/26/3OMGXylm8HUYJ6p.png"/>
<meta name="twitter:title" content="染竹君的个人博客"/>
<meta name="twitter:description" content="RanZhuJun的狗窝-工作、学习和生活"/>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "染竹君的个人博客",
"url": "https://dyedbamboo.github.io/",
"description": "RanZhuJun的狗窝-工作、学习和生活",
"thumbnailUrl": "https://dyedbamboo.github.io/favicon/favicon.ico",
"sameAs": [
"http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme\u0026email=9cTMwsLNxc3HwMW1hITblpqY", "https://github.com/DyedBamboo", "http://wpa.qq.com/msgrd?v=3\u0026uin=1977808250\u0026site=qq\u0026menu=yes"
]
}
</script>
</head>
<body class="list">
<a id="top"></a>
<script>
if (localStorage.getItem("pref-theme") === "dark") {
document.body.classList.add('dark');
} else if (localStorage.getItem("pref-theme") === "light") {
document.body.classList.remove('dark')
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.body.classList.add('dark');
}
</script>
<header class="header">
<nav class="nav">
<div class="logo">
<a href="https://dyedbamboo.github.io/" accesskey="h" title="染竹君的小站 (Alt + H)">
<img src="https://dyedbamboo.github.io/img/logo_hue7837a3d2f79ccdd94da0537755daebc_15738_0x30_resize_box_3.png" alt="logo" aria-label="logo"
height="30">染竹君的小站</a>
<span class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</span>
</div>
<ul id="menu">
<li>
<a href="https://dyedbamboo.github.io/categories/" title="分类">
<span>分类</span>
</a>
</li>
<li>
<a href="https://dyedbamboo.github.io/tags/" title="标签">
<span>标签</span>
</a>
</li>
<li>
<a href="https://dyedbamboo.github.io/archives/" title="归档">
<span>归档</span>
</a>
</li>
<li>
<a href="https://dyedbamboo.github.io/search/" title="搜索">
<span>搜索</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<article class="first-entry home-info">
<header class="entry-header">
<h1>你好 👋</h1>
</header>
<div class="entry-content">
<p>欢迎来到染竹君の狗窝</p>
</div>
<footer class="entry-footer">
<div class="social-icons">
<a href="http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=9cTMwsLNxc3HwMW1hITblpqY" target="_blank" rel="noopener noreferrer me" title="Email">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 21" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round">
<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path>
<polyline points="22,6 12,13 2,6"></polyline>
</svg>
</a>
<a href="https://github.com/DyedBamboo" target="_blank" rel="noopener noreferrer me" title="Github">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round">
<path
d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22">
</path>
</svg>
</a>
<a href="http://wpa.qq.com/msgrd?v=3&uin=1977808250&site=qq&menu=yes" target="_blank" rel="noopener noreferrer me" title="Qq">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round">
<path transform="scale(0.04) translate(75 40)" stroke-width="50"
d="M433.754 420.445c-11.526 1.393-44.86-52.741-44.86-52.741 0 31.345-16.136 72.247-51.051 101.786 16.842 5.192 54.843 19.167 45.803 34.421-7.316 12.343-125.51 7.881-159.632 4.037-34.122 3.844-152.316 8.306-159.632-4.037-9.045-15.25 28.918-29.214 45.783-34.415-34.92-29.539-51.059-70.445-51.059-101.792 0 0-33.334 54.134-44.859 52.741-5.37-.65-12.424-29.644 9.347-99.704 10.261-33.024 21.995-60.478 40.144-105.779C60.683 98.063 108.982.006 224 0c113.737.006 163.156 96.133 160.264 214.963 18.118 45.223 29.912 72.85 40.144 105.778 21.768 70.06 14.716 99.053 9.346 99.704z">
</path>
</svg>
</a>
</div>
</footer>
</article>
<article class="post-entry">
<header class="entry-header">
<h2>Git学习<sup><span class="entry-isdraft"> [draft]</span></sup>
</h2>
</header>
<section class="entry-content">
<p>环境 Windows 10 git bash git配置 1 2 3 4 5 6 7 8 # 查询git版本 git --version # 查看当前电脑的git用户配置 git config --list # 设置git全局用户名 git config --global user.name "DyedBamboo" # 配置邮箱 git config --global user.email "[email protected]" 实例操作 本地仓库操作 随便找个位置新建文件夹,命名GitLearing,进入GitLearning右键"Git Bash Here"
把这个文件夹作为工作区,就可以在这个文件夹下放自己的代码了
例如我这里新建了两个文件:helloworld.cpp,helloworld.py
运行 git status查看当前工作区状态,显示有两个文件helloworld.cpp和helloworld.py未提交到缓存区。然后运行git add .把当前目录下的所有文件添加到缓存区
接着运行git commit -m "添加了Cpp和Python的HelloWord"提交到仓库
更改代码文件内容后重新提交git add ., git commit -m "修改了两个文件",然后运行git log查看提交历史...</p>
</section>
<footer class="entry-footer"><span title='2022-07-29 20:32:48 +0800 CST'>July 29, 2022</span> · 1 min · 染竹君</footer>
<a class="entry-link" aria-label="post link to Git学习" href="https://dyedbamboo.github.io/posts/git_learning/"></a>
</article>
<article class="post-entry">
<header class="entry-header">
<h2>IPOPT非线性解算器MATLAB使用
</h2>
</header>
<section class="entry-content">
<p>调用IPOPT约束的非线性解算器。 基本的函数调用 [x, info] = IPOPT(x0,funcs,options)
第一个输入是一个矩阵或矩阵的单元数组。它声明求解器的起点。
回调函数 第二个输入必须是包含各种MATLAB例程函数句柄的结构。有关MATLAB中使用函数和函数句柄的更多信息,请在MATLAB提示符中输入HELP function和HELP FUNCTION_HANDLE。
function f = objective (x) (必须)
计算当前点的目标函数。例如,Hock & Schittkowski (H&S)测试问题#71(包含4个优化变量)的目标函数的定义将是
1 2 functionf =objective (x)f = x(1)*x(4)*sum(x(1:3)) + x(3); funcs.gradient (required) (必须)
计算目标在当前点的梯度。它接受一个输入,当前迭代x。对于H&S测试问题#71,梯度回调函数的定义是
1 2 3 4 5 functiong =gradient (x)g = [ x(1)*x(4) + x(4)*sum(x(1:3)) x(1)*x(4) x(1)*x(4) + 1 x(1)*sum(x(1:3)) ]; funcs.constraints (可选)
只有当变量有约束时才需要此函数。它在当前点计算约束函数。它接受一个输入x。返回值是一个长度等于约束数量的向量(它必须与options.cl和options.cu的长度相同)。对于H&S测试问题#71,回调函数定义为
1 2 functionc =constraints (x)c = [ prod(x); sum(x....</p>
</section>
<footer class="entry-footer"><span title='2022-07-29 19:24:02 +0800 CST'>July 29, 2022</span> · 2 min · 染竹君</footer>
<a class="entry-link" aria-label="post link to IPOPT非线性解算器MATLAB使用" href="https://dyedbamboo.github.io/posts/ipopt_use/"></a>
</article>
<article class="post-entry">
<header class="entry-header">
<h2>Typora快捷键
</h2>
</header>
<section class="entry-content">
<p>Typora 常用快捷键 文件操作 Ctrl + N :新建文件 Ctrl + shift + N :新建窗口 Ctrl + O :打开 Ctrl + P : 快速打开(快速打开之前编辑过的历史文件) Ctrl + S :保存 Ctrl + shift + S:另存为 Typora 偏好设置:Ctrl + ; Ctrl + W :关闭 编辑操作 Ctrl + Z : 撤销 Ctrl + Y :重做 Ctrl + X : 剪切 Ctrl + C : 复制 Ctrl + V:粘贴 Ctrl + shift +C :复制为MarkDown格式 Ctrl + shift + V:粘贴为纯文本格式(去除文本原本格式,很好用) Ctrl +A:全选 Ctrl + L:选中当前行 Ctrl + E:选中当前格式文本 Ctrl + D:选中当前词 Ctrl + Home:跳转到开头 Ctrl + End:跳转到末尾 Ctrl + J:跳转到所选内容 Ctrl +shift+D:删除当前词 查找和替换 Ctrl + F:查找 F3:查找下一个 shift + F3:查找上一个 Ctrl + H:替换 MarkDown语法快捷键 Ctrl + 数字键1~6:对应一到六级标题 Ctrl +数字键0:段落 Ctrl + =:提升标题等级 Ctrl + -:降低标题等级 Ctrl + T :插入表格 Ctrl +shift+K:插入代码块 Ctrl +shift+M:插入公式 Ctrl +shift+I:插入图片 Ctrl +shift+Q:引用 Ctrl +shift+[:有序列表 Ctrl +shift+]:无序列表 Ctrl + [:列表减少缩进 Ctrl +]:列表增加缩进 格式 Ctrl +B:加粗 Ctrl + I:斜体 Ctrl + U:下划线 Alt + shift + 5 : 删除线 Ctrl + K :超链接 Ctrl + \:清除样式 视图 Ctrl +shift+L:显示/隐藏侧边栏 Ctrl +shift+1:大纲 Ctrl +shift+2:文档列表 Ctrl +shift+3:文件树 Ctrl +shift+F:搜索 Ctrl +/:源代码模式 F11:全屏 Ctrl +shift+9:实际大小 Ctrl +shift+ -:缩小 Ctrl +shift+ =:放大 Ctrl + Tab:应用内部切换窗口 shift+F12:开发者工具 </p>
</section>
<footer class="entry-footer"><span title='2022-06-09 21:59:05 +0800 CST'>June 9, 2022</span> · 1 min · 染竹君</footer>
<a class="entry-link" aria-label="post link to Typora快捷键" href="https://dyedbamboo.github.io/posts/typora/"></a>
</article>
<article class="post-entry">
<header class="entry-header">
<h2>可见光与红外图像融合指标批量计算
</h2>
</header>
<section class="entry-content">
<p>可见光与红外图像融合 写了一个批量计算图像融合指标的脚本,主要用到了scikit-image模块,点击可查看官方文档
安装scikit-image 建议建立一个虚拟Python环境运行,虚拟环境的意义,就如同虚拟机一样,它可以实现不同环境中Python依赖包相互独立,互不干扰。
创建虚拟环境的步骤:
第一步:安装Virtualenv
1 pip3 install virtualenv -i https://pypi.python.org/simple/ 第二步:cd 到存放虚拟环境的目录地址,执行以下代码创建虚拟环境
1 2 3 4 virtualenv python3_env # 你也可以指定版本 virtualenv -p /usr/bin/python2.7 python2_env virtualenv -p /usr/bin/python3.8 python3_env 第三步:激活虚拟环境
ubuntu执行以下命令:
1 source python3_env/bin/activate Windows执行以下命令:
1 .\Scripts\activate.bat 第四步:退出虚拟环境
ubuntu执行:
1 deactivate Windows执行:
1 .\Scripts\deactivate.bat 接下来进入正文,安装scikit-image,激活虚拟环境后,pip安装...</p>
</section>
<footer class="entry-footer"><span title='2022-06-07 20:15:50 +0800 CST'>June 7, 2022</span> · 3 min · 染竹君</footer>
<a class="entry-link" aria-label="post link to 可见光与红外图像融合指标批量计算" href="https://dyedbamboo.github.io/posts/study/img_fus/"></a>
</article>
<article class="post-entry">
<header class="entry-header">
<h2>Hugo常用命令
</h2>
</header>
<section class="entry-content">
<p>初始化一个站点
1 hugo new site /path/site-name/ 创建一篇新的博客
1 hugo new post/new_blog.md 编译生成静态文件到public目录
1 hugo 编译生成静态文件并启动web服务,默认1313端口
1 hugo server 常用参数介绍
1 2 3 4 5 6 7 8 9 10 11 --bind="127.0.0.1" 服务监听IP地址 -p, --port=1313 服务监听端口 -w, --watch[=true] 监听站点目录,发现文件变更自动编译 -D, --buildDrafts 包括被标记为draft的文章 -E, --buildExpired 包括已过期的文章 -F, --buildFuture 包括将在未来发布的文章 -b, --baseURL="playxy....</p>
</section>
<footer class="entry-footer"><span title='2022-06-07 19:42:19 +0800 CST'>June 7, 2022</span> · 1 min · RanZhuJun</footer>
<a class="entry-link" aria-label="post link to Hugo常用命令" href="https://dyedbamboo.github.io/posts/hugo/hugo/"></a>
</article>
<footer class="page-footer">
<nav class="pagination">
<a class="next" href="https://dyedbamboo.github.io/page/2/">Next Page <i class="fas fa-angle-double-right"></i></a>
</nav>
</footer>
</main>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
<path d="M12 6H0l6-6z" />
</svg>
</a><script>
class Accordion {
constructor(el) {
this.el = el;
this.summary = el.querySelector('summary');
this.content = el.querySelector('.inner');
this.animation = null;
this.isClosing = false;
this.isExpanding = false;
this.summary.addEventListener('click', (e) => this.onClick(e));
}
onClick(e) {
e.preventDefault();
this.el.style.overflow = 'hidden';
if (this.isClosing || !this.el.open) {
this.open();
} else if (this.isExpanding || this.el.open) {
this.shrink();
}
}
shrink() {
this.isClosing = true;
const startHeight = `${this.el.offsetHeight}px`;
const endHeight = `${this.summary.offsetHeight}px`;
if (this.animation) {
this.animation.cancel();
}
this.animation = this.el.animate({
height: [startHeight, endHeight]
}, {
duration: 400,
easing: 'ease-out'
});
this.animation.onfinish = () => this.onAnimationFinish(false);
this.animation.oncancel = () => this.isClosing = false;
}
open() {
this.el.style.height = `${this.el.offsetHeight}px`;
this.el.open = true;
window.requestAnimationFrame(() => this.expand());
}
expand() {
this.isExpanding = true;
const startHeight = `${this.el.offsetHeight}px`;
const endHeight = `${this.summary.offsetHeight + this.content.offsetHeight}px`;
if (this.animation) {
this.animation.cancel();
}
this.animation = this.el.animate({
height: [startHeight, endHeight]
}, {
duration: 400,
easing: 'ease-out'
});
this.animation.onfinish = () => this.onAnimationFinish(true);
this.animation.oncancel = () => this.isExpanding = false;
}
onAnimationFinish(open) {
this.el.open = open;
this.animation = null;
this.isClosing = false;
this.isExpanding = false;
this.el.style.height = this.el.style.overflow = '';
}
}
document.querySelectorAll('.toc details').forEach((el) => {
new Accordion(el);
});
</script><footer class="footer">
<span>© 2022 <a href="https://dyedbamboo.github.io/">染竹君的个人博客</a></span>
<span>
Powered by
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
<a href="https://git.io/hugopapermod" rel="noopener" target="_blank">PaperMod</a>
</span>
</footer>
<script crossorigin="anonymous" src="/js/intersection-observer.min.c0ff09623e9f209a66c6130004e0422e1385fd8e8f8baaa14246a49c19827c68.js" integrity="sha256-wP8JYj6fIJpmxhMABOBCLhOF/Y6Pi6qhQkaknBmCfGg="></script>
<script crossorigin="anonymous" src="/js/lazyload.min.min.53e82bf9e8c145b953635b17fa3911ab6f3a8f1e4d37969aeb39d829d30fa6e9.js" integrity="sha256-U+gr+ejBRblTY1sX+jkRq286jx5NN5aa6znYKdMPpuk="></script>
<script crossorigin="anonymous" src="/js/lightgallery.min.5d1410b8c831852c6c62b2dfad75f4e0f046a13e1826f97cd7a742523fab608c.js" integrity="sha256-XRQQuMgxhSxsYrLfrXX04PBGoT4YJvl816dCUj+rYIw="></script>
<script crossorigin="anonymous" src="/js/lg-thumbnail.min.afa3995936244c14f68b85b13d657c368dc787cbcea863179950ac494dab6117.js" integrity="sha256-r6OZWTYkTBT2i4WxPWV8No3Hh8vOqGMXmVCsSU2rYRc="></script>
<script crossorigin="anonymous" src="/js/lg-zoom.min.a47b38d6f7138dce5f712f77780f339b5ec26af3bcd44950bcf736754ec88ed4.js" integrity="sha256-pHs41vcTjc5fcS93eA8zm17CavO81ElQvPc2dU7IjtQ="></script>
<script>
const lazyLoadInstance = new LazyLoad({
});
const config = {
selector: ".lightgallery",
mode: "lg-slide",
plugins: [lgZoom, lgThumbnail],
speed: 400,
hideBarsDelay: 2000,
mousewheel: true,
thumbnail: true,
exThumbImage: "data-thumbnail",
thumbWidth: 80,
thumbContHeight: 80,
mobileSettings: { controls: true, showCloseIcon: true, download: true, },
licenseKey: "28AC9E09-3D8C45D8-8D6124E0-8FF74FF3",
};
lightGallery(document.getElementsByClassName('post-content')[0], config);
</script>
<script>
let details = document.getElementsByClassName('details')
details = details || [];
for (let i = 0; i < details.length; i++) {
let element = details[i]
const summary = element.getElementsByClassName('details-summary')[0];
if (summary) {
summary.addEventListener('click', () => {
element.classList.toggle('open');
}, false);
}
}
</script>
<script>
let menu = document.getElementById('menu')
if (menu) {
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
} else {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
}
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
</script>
<script>
var mybutton = document.getElementById("top-link");
window.onscroll = function () {
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
mybutton.style.visibility = "visible";
mybutton.style.opacity = "1";
} else {
mybutton.style.visibility = "hidden";
mybutton.style.opacity = "0";
}
};
</script>
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
} else {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
})
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
processEscapes: true
}
});
</script>
<script type="text/javascript"
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script></body>
</html>