summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.editorconfig12
-rw-r--r--.gitattributes3
-rw-r--r--.gitignore2
-rw-r--r--.prettierrc2
-rw-r--r--LICENSE2
-rw-r--r--README.md39
-rw-r--r--README_CN.md39
-rw-r--r--assets/scss/_fuji-style/_components.scss12
-rw-r--r--assets/scss/_fuji-theme/_dark-diff.scss4
-rw-r--r--exampleSite/config.toml4
-rw-r--r--exampleSite/content/post/aplayer-test.md33
-rw-r--r--exampleSite/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content2
-rw-r--r--exampleSite/static/aplayer/berlin.mp3bin0 -> 320288 bytes
-rw-r--r--exampleSite/static/aplayer/crowander.jpgbin0 -> 17510 bytes
-rw-r--r--exampleSite/static/aplayer/fluid.mp3bin0 -> 331964 bytes
-rw-r--r--exampleSite/static/aplayer/morning.mp3bin0 -> 320288 bytes
-rw-r--r--i18n/fr.toml55
-rw-r--r--layouts/_default/archives.html70
-rw-r--r--layouts/_default/list.html57
-rw-r--r--layouts/_default/single.html3
-rw-r--r--layouts/_default/tag.html76
-rw-r--r--layouts/partials/favicon.html2
-rw-r--r--layouts/partials/footer.html2
-rw-r--r--layouts/partials/head.html2
-rw-r--r--layouts/partials/pagination.html56
-rw-r--r--layouts/partials/scripts-end.html72
-rw-r--r--layouts/partials/scripts-front.html2
-rw-r--r--layouts/shortcodes/aplayer.html9
-rw-r--r--package.json10
-rw-r--r--resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content2
-rw-r--r--theme.toml6
31 files changed, 299 insertions, 279 deletions
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..4a7ea30
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,12 @@
+root = true
+
+[*]
+indent_style = space
+indent_size = 2
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+trim_trailing_whitespace = false
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..7d5bfb4
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,3 @@
+* text=auto
+
+assets/scss/_primer/* linguist-vendored
diff --git a/.gitignore b/.gitignore
index 6d188bd..fddef40 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,4 +5,4 @@ Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
-.DS_Store \ No newline at end of file
+.DS_Store
diff --git a/.prettierrc b/.prettierrc
index ba97ca5..8c2ec7c 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -5,7 +5,7 @@
"semi": true,
"singleQuote": true,
"quoteProps": "as-needed",
- "jsxSingleQuote": false,
+ "jsxSingleQuote": true,
"trailingComma": "es5",
"bracketSpacing": true,
"jsxBracketSameLine": false,
diff --git a/LICENSE b/LICENSE
index 481257c..648d2d2 100644
--- a/LICENSE
+++ b/LICENSE
@@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
- Copyright 2020 DSRKafuU <amzrk2.cc>
+ Copyright 2019-present DSRKafuU
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/README.md b/README.md
index 66f630a..671c6e5 100644
--- a/README.md
+++ b/README.md
@@ -2,13 +2,13 @@
Fuji is a minimal Hugo theme with full dark mode support and GitHub Primer markdown style.
-![GitHub release](https://img.shields.io/github/v/release/amzrk2/hugo-theme-fuji)
-![GitHub build status](https://img.shields.io/github/workflow/status/amzrk2/hugo-theme-fuji/build-test)
-![GitHub license](https://img.shields.io/github/license/amzrk2/hugo-theme-fuji)
+![GitHub release](https://img.shields.io/github/v/release/dsrkafuu/hugo-theme-fuji)
+![GitHub build status](https://img.shields.io/github/workflow/status/dsrkafuu/hugo-theme-fuji/build-test)
+![GitHub license](https://img.shields.io/github/license/dsrkafuu/hugo-theme-fuji)
-[English](https://github.com/amzrk2/hugo-theme-fuji#readme) | [简体中文](https://github.com/amzrk2/hugo-theme-fuji/blob/master/README_CN.md)
+[English](https://github.com/dsrkafuu/hugo-theme-fuji#readme) | [简体中文](https://github.com/dsrkafuu/hugo-theme-fuji/blob/master/README_CN.md)
-> Checkout the brand new [VSCode Aofuji Light Theme](https://github.com/amzrk2/vscode-theme-aofuji) which has similar color scheme to [Aofuji](https://github.com/amzrk2/hugo-template-aofuji)!
+> Checkout the brand new [VSCode Aofuji Light Theme](https://github.com/dsrkafuu/vscode-theme-aofuji) which has similar color scheme to [Aofuji](https://github.com/dsrkafuu/hugo-template-aofuji)!
Supported languages: `cs`, `en`, `ja`, `nl`, `pt-pt`, `zh-hans`, `zh-hant`. Check the i18n folder to add more languages.
@@ -35,7 +35,7 @@ Supported languages: `cs`, `en`, `ja`, `nl`, `pt-pt`, `zh-hans`, `zh-hant`. Chec
[**Live Demo (gohugo.io)**](https://themes.gohugo.io/theme/hugo-theme-fuji/)
-![Screenshot of Fuji](https://raw.githubusercontent.com/amzrk2/hugo-theme-fuji/master/images/screenshot.png)
+![Screenshot of Fuji](https://raw.githubusercontent.com/dsrkafuu/hugo-theme-fuji/master/images/screenshot.png)
## ❗ Notice
@@ -95,21 +95,14 @@ showComments = false # Do not show comments in this post
### 🎵 APlayer
-In-post APlayer supported, you can set these variables in post's front matter:
+In-post APlayer supported, you use the `aplayer` shortcode:
-```toml
-[[player]]
- playerName = "..." # Audio title or name
- playerArtist = "..." # Audio artist
- playerURL = "..." # Audio URL, support aac, mp3, wav and ogg
- playerCover = "..." # Audio cover
-[[player]]
- playerName = "..."
- playerArtist = "..."
- playerURL = "..."
- playerCover = "..."
+```txt
+{{< aplayer urls="/aplayer/fluid.mp3" names="Fluid" artists="Crowander" covers="/aplayer/crowander.jpg" >}}
```
+Checkout the `exampleSite/content/post/aplayer-test.md` for more example usage such as using multiple files.
+
### 📐 Render LaTeX with KaTex
You can write LaTeX directly in markdown with escape characters:
@@ -255,13 +248,13 @@ To override SCSS rules, create `[SITEROOT]/assets/scss/_custom_rules.scss`. This
## ✏️ Issue und contributing
-Feel free to use the [issue tracker](https://github.com/amzrk2/hugo-theme-fuji/issues). The theme has only been fully tested on Firefox, so if there are some problems when accessing with Chrome or others please also report an issue.
+Feel free to use the [issue tracker](https://github.com/dsrkafuu/hugo-theme-fuji/issues). The theme has only been fully tested on Firefox, so if there are some problems when accessing with Chrome or others please also report an issue.
## 📝 License
-<img align="right" alt="FOSSA" src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Famzrk2%2Fhugo-theme-fuji.svg?type=large" />
+<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fdsrkafuu%2Fhugo-theme-fuji?ref=badge_large" alt="FOSSA Status"><img align="right" src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdsrkafuu%2Fhugo-theme-fuji.svg?type=large"/></a>
-The theme is released under the `Apache License 2.0`, for more information read the [License](https://github.com/amzrk2/hugo-theme-fuji/blob/master/LICENSE).
+The theme is released under the `Apache License 2.0`, for more information read the [License](https://github.com/dsrkafuu/hugo-theme-fuji/blob/master/LICENSE).
- [Primer CSS - MIT](https://github.com/primer/css/blob/master/LICENSE)
- [APlayer - MIT](https://github.com/MoePlayer/APlayer/blob/master/LICENSE)
@@ -272,10 +265,10 @@ The theme is released under the `Apache License 2.0`, for more information read
- [cloudflare-workers-async-google-analytics - MIT](https://github.com/SukkaW/cloudflare-workers-async-google-analytics/blob/master/LICENSE)
- [art-template - MIT](https://github.com/aui/art-template/blob/master/LICENSE)
-**Copyright © 2020-present DSRKafuU <https://amzrk2.cc/>**
+**Copyright © 2019-present DSRKafuU <https://dsrkafuu.su/>**
## 🤝 Annotations
-Thanks to [community contributors](https://github.com/amzrk2/hugo-theme-fuji/graphs/contributors) for great help.
+Thanks to [community contributors](https://github.com/dsrkafuu/hugo-theme-fuji/graphs/contributors) for great help.
Learned a lot in [Sukka's Blog](https://blog.skk.moe/).
diff --git a/README_CN.md b/README_CN.md
index abf4b0b..4ff2dda 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -2,13 +2,13 @@
简单的 Hugo 主题,支持夜间模式,Markdown 样式来自 GitHub Primer。
-![GitHub release](https://img.shields.io/github/v/release/amzrk2/hugo-theme-fuji)
-![GitHub build status](https://img.shields.io/github/workflow/status/amzrk2/hugo-theme-fuji/build-test)
-![GitHub license](https://img.shields.io/github/license/amzrk2/hugo-theme-fuji)
+![GitHub release](https://img.shields.io/github/v/release/dsrkafuu/hugo-theme-fuji)
+![GitHub build status](https://img.shields.io/github/workflow/status/dsrkafuu/hugo-theme-fuji/build-test)
+![GitHub license](https://img.shields.io/github/license/dsrkafuu/hugo-theme-fuji)
-[English](https://github.com/amzrk2/hugo-theme-fuji#readme) | [简体中文](https://github.com/amzrk2/hugo-theme-fuji/blob/master/README_CN.md)
+[English](https://github.com/dsrkafuu/hugo-theme-fuji#readme) | [简体中文](https://github.com/dsrkafuu/hugo-theme-fuji/blob/master/README_CN.md)
-> 介绍一个全新的亮色 VSCode 主题 [Aofuji Light Theme](https://github.com/amzrk2/vscode-theme-aofuji),它的配色方案继承自 [Aofuji](https://github.com/amzrk2/hugo-template-aofuji)!
+> 介绍一个全新的亮色 VSCode 主题 [Aofuji Light Theme](https://github.com/dsrkafuu/vscode-theme-aofuji),它的配色方案继承自 [Aofuji](https://github.com/amzrk2/hugo-template-aofuji)!
支持的 i18n 语言:`cs`, `en`, `ja`, `nl`, `pt-pt`, `zh-hans`, `zh-hant`。i18n 文件夹内为所有语言文件。
@@ -35,7 +35,7 @@
[**Live Demo (gohugo.io)**](https://themes.gohugo.io/theme/hugo-theme-fuji/)
-![Fuji 截图](https://raw.githubusercontent.com/amzrk2/hugo-theme-fuji/master/images/screenshot.png)
+![Fuji 截图](https://raw.githubusercontent.com/dsrkafuu/hugo-theme-fuji/master/images/screenshot.png)
## ❗ 注意事项
@@ -93,21 +93,14 @@ showComments = false # 对这篇文章关闭评论
### 🎵 文章音乐
-支持给文章单独添加 APlayer,在 front matter 里加上这些:
+In-post APlayer supported, you use the `aplayer` shortcode:
-```toml
-[[player]]
- playerName = "..." # 标题
- playerArtist = "..." # 作者
- playerURL = "..." # URL
- playerCover = "..." # 封面
-[[player]]
- playerName = "..."
- playerArtist = "..."
- playerURL = "..."
- playerCover = "..."
+```txt
+{{< aplayer urls="/aplayer/fluid.mp3" names="Fluid" artists="Crowander" covers="/aplayer/crowander.jpg" >}}
```
+Checkout the `exampleSite/content/post/aplayer-test.md` for more example usage such as using multiple files.
+
### 📐 LaTeX 渲染
You can write LaTeX directly in markdown with escape characters:
@@ -253,13 +246,13 @@ To override SCSS rules, create `[SITEROOT]/assets/scss/_custom_rules.scss`. This
## 👓 批判一番和贡献代码
-[Issue](https://github.com/amzrk2/hugo-theme-fuji/issues)。主题本身只在 Firefox 上完整测试过,因此要是遇到了什么问题也可以随便批判。
+[Issue](https://github.com/dsrkafuu/hugo-theme-fuji/issues)。主题本身只在 Firefox 上完整测试过,因此要是遇到了什么问题也可以随便批判。
## 📝 License
-<img align="right" alt="FOSSA" src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Famzrk2%2Fhugo-theme-fuji.svg?type=large" />
+<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fdsrkafuu%2Fhugo-theme-fuji?ref=badge_large" alt="FOSSA Status"><img align="right" src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdsrkafuu%2Fhugo-theme-fuji.svg?type=large"/></a>
-The theme is released under the `Apache License 2.0`, for more information read the [License](https://github.com/amzrk2/hugo-theme-fuji/blob/master/LICENSE).
+The theme is released under the `Apache License 2.0`, for more information read the [License](https://github.com/dsrkafuu/hugo-theme-fuji/blob/master/LICENSE).
- [Primer CSS - MIT](https://github.com/primer/css/blob/master/LICENSE)
- [APlayer - MIT](https://github.com/MoePlayer/APlayer/blob/master/LICENSE)
@@ -270,10 +263,10 @@ The theme is released under the `Apache License 2.0`, for more information read
- [cloudflare-workers-async-google-analytics - MIT](https://github.com/SukkaW/cloudflare-workers-async-google-analytics/blob/master/LICENSE)
- [art-template - MIT](https://github.com/aui/art-template/blob/master/LICENSE)
-**Copyright © 2020-present DSRKafuU <https://amzrk2.cc/>**
+**Copyright © 2019-present DSRKafuU <https://dsrkafuu.su/>**
## 🤝 Annotations
-Thanks to [community contributors](https://github.com/amzrk2/hugo-theme-fuji/graphs/contributors) for great help.
+Thanks to [community contributors](https://github.com/dsrkafuu/hugo-theme-fuji/graphs/contributors) for great help.
Learned a lot in [Sukka's Blog](https://blog.skk.moe/).
diff --git a/assets/scss/_fuji-style/_components.scss b/assets/scss/_fuji-style/_components.scss
index 2b90bfe..d791bec 100644
--- a/assets/scss/_fuji-style/_components.scss
+++ b/assets/scss/_fuji-style/_components.scss
@@ -39,7 +39,13 @@
}
}
-#post-aplayer {
- margin: 0 0.125rem 1.25rem 0.125rem;
- font-family: inherit;
+.post-player-wrapper {
+ margin: 0.25rem 0.125rem 1rem 0.125rem !important;
+ font-family: inherit !important;
+}
+.post-player {
+ font-family: inherit !important;
+}
+.post-summary .post-player-wrapper {
+ display: none;
}
diff --git a/assets/scss/_fuji-theme/_dark-diff.scss b/assets/scss/_fuji-theme/_dark-diff.scss
index 6ef449f..adc4860 100644
--- a/assets/scss/_fuji-theme/_dark-diff.scss
+++ b/assets/scss/_fuji-theme/_dark-diff.scss
@@ -14,8 +14,8 @@ table:not(.highlight) {
}
}
-#post-aplayer {
- background-color: var(--color-divider);
+.post-aplayer {
+ background-color: var(--color-divider) !important;
}
.aplayer .aplayer-info .aplayer-music .aplayer-author {
diff --git a/exampleSite/config.toml b/exampleSite/config.toml
index 2491494..bfcfe94 100644
--- a/exampleSite/config.toml
+++ b/exampleSite/config.toml
@@ -137,11 +137,11 @@ paginate = 10
[[menu.link]]
name = "GitHub"
- url = "https://github.com/amzrk2"
+ url = "https://github.com/dsrkafuu"
weight = 1
[[menu.link]]
name = "Twitter"
- url = "https://twitter.com/amzrk2"
+ url = "https://twitter.com/dsrkafuu"
weight = 2
[[menu.link]]
name = "bilibili"
diff --git a/exampleSite/content/post/aplayer-test.md b/exampleSite/content/post/aplayer-test.md
new file mode 100644
index 0000000..c4dfd1c
--- /dev/null
+++ b/exampleSite/content/post/aplayer-test.md
@@ -0,0 +1,33 @@
++++
+title = "In-post APlayer Test"
+date = 2021-01-10T00:00:00+08:00
+description = "In-post APlayer testpage of Hugo theme Fuji"
+tags = ["test", "aplayer"]
+aplayer = true
+showLicense = false
++++
+
+{{< aplayer urls="/theme/hugo-theme-fuji/aplayer/berlin.mp3" names="Berlin" artists="Crowander" covers="/theme/hugo-theme-fuji/aplayer/crowander.jpg" >}}
+
+This post is for in-post APlayer test, above is previous post-player.
+
+Music files are all downloaded from [Free Music Archive](https://freemusicarchive.org).
+
+<!--more-->
+
+## Single file
+
+{{< aplayer urls="/theme/hugo-theme-fuji/aplayer/fluid.mp3" names="Fluid" artists="Crowander" covers="/theme/hugo-theme-fuji/aplayer/crowander.jpg" >}}
+
+## Multiple files
+
+You can open the playlist to check other musics.
+
+{{< aplayer
+ urls="/theme/hugo-theme-fuji/aplayer/berlin.mp3, /theme/hugo-theme-fuji/aplayer/fluid.mp3, /theme/hugo-theme-fuji/aplayer/morning.mp3"
+ names="Berlin, Fluid, Morning"
+ artists="Crowander, Crowander, Crowander"
+ covers="/theme/hugo-theme-fuji/aplayer/crowander.jpg, /theme/hugo-theme-fuji/aplayer/crowander.jpg, /theme/hugo-theme-fuji/aplayer/crowander.jpg"
+>}}
+
+Spaces between multiple items can be omited.
diff --git a/exampleSite/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content b/exampleSite/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content
index a1e7da5..be3e6fa 100644
--- a/exampleSite/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content
+++ b/exampleSite/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content
@@ -1 +1 @@
-@font-face{font-family:'Product Sans';font-style:normal;font-weight:700;font-display:swap;src:local("Product Sans Bold"),local("ProductSans-Bold"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@1.5.0/product-sans/product-sans-bold.woff2") format("woff2");unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'Cascadia Code';font-style:normal;font-display:swap;src:local("Cascadia Code Regular"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@1.5.0/cascadia-code/cascadia.woff2") format("woff2")}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{display:flex;flex-direction:column;height:100%;scroll-behavior:smooth}main{flex:1 1 auto}.container-lg{display:flex;flex-direction:row}@media screen and (max-width: 768px){.container-lg{flex-direction:column}}a:hover{text-decoration:none !important}/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none !important}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background-color:#ff0;color:#1b1f23}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:600}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:0.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*{box-sizing:border-box}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;color:#24292e;background-color:#fff}a{color:#0366d6;text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:600}hr,.rule{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid #dfe2e5}hr::before,.rule::before{display:table;content:""}hr::after,.rule::after{display:table;clear:both;content:""}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}button{cursor:pointer;border-radius:0}[hidden][hidden]{display:none !important}details summary{cursor:pointer}details:not([open])>*:not(summary){display:none !important}kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0}h1{font-size:32px;font-weight:600}h2{font-size:24px;font-weight:600}h3{font-size:20px;font-weight:600}h4{font-size:16px;font-weight:600}h5{font-size:14px;font-weight:600}h6{font-size:12px;font-weight:600}p{margin-top:0;margin-bottom:10px}small{font-size:90%}blockquote{margin:0}ul,ol{padding-left:0;margin-top:0;margin-bottom:0}ol ol,ul ol{list-style-type:lower-roman}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}dd{margin-left:0}tt,code{font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}pre{margin-top:0;margin-bottom:0;font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}.octicon{vertical-align:text-bottom}.container-sm{max-width:544px;margin-right:auto;margin-left:auto}.container-md{max-width:768px;margin-right:auto;margin-left:auto}.container-lg{max-width:1012px;margin-right:auto;margin-left:auto}.container-xl{max-width:1280px;margin-right:auto;margin-left:auto}.col-1{width:8.33333333%}.col-2{width:16.66666667%}.col-3{width:25%}.col-4{width:33.33333333%}.col-5{width:41.66666667%}.col-6{width:50%}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{width:75%}.col-10{width:83.33333333%}.col-11{width:91.66666667%}.col-12{width:100%}@media (min-width: 544px){.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}}@media (min-width: 768px){.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}}@media (min-width: 1012px){.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}}@media (min-width: 1280px){.col-xl-1{width:8.33333333%}.col-xl-2{width:16.66666667%}.col-xl-3{width:25%}.col-xl-4{width:33.33333333%}.col-xl-5{width:41.66666667%}.col-xl-6{width:50%}.col-xl-7{width:58.33333333%}.col-xl-8{width:66.66666667%}.col-xl-9{width:75%}.col-xl-10{width:83.33333333%}.col-xl-11{width:91.66666667%}.col-xl-12{width:100%}}.gutter{margin-right:-16px;margin-left:-16px}.gutter>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-condensed{margin-right:-8px;margin-left:-8px}.gutter-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-spacious{margin-right:-24px;margin-left:-24px}.gutter-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}@media (min-width: 544px){.gutter-sm{margin-right:-16px;margin-left:-16px}.gutter-sm>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-sm-condensed{margin-right:-8px;margin-left:-8px}.gutter-sm-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-sm-spacious{margin-right:-24px;margin-left:-24px}.gutter-sm-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 768px){.gutter-md{margin-right:-16px;margin-left:-16px}.gutter-md>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-md-condensed{margin-right:-8px;margin-left:-8px}.gutter-md-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-md-spacious{margin-right:-24px;margin-left:-24px}.gutter-md-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1012px){.gutter-lg{margin-right:-16px;margin-left:-16px}.gutter-lg>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-lg-condensed{margin-right:-8px;margin-left:-8px}.gutter-lg-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-lg-spacious{margin-right:-24px;margin-left:-24px}.gutter-lg-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1280px){.gutter-xl{margin-right:-16px;margin-left:-16px}.gutter-xl>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-xl-condensed{margin-right:-8px;margin-left:-8px}.gutter-xl-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-xl-spacious{margin-right:-24px;margin-left:-24px}.gutter-xl-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#cb2431}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.markdown-body blockquote{padding:0 1em;color:#6a737d;border-left:0.25em solid #dfe2e5}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}.markdown-body h1{padding-bottom:0.3em;font-size:2em;border-bottom:1px solid #eaecef}.markdown-body h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eaecef}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:0.875em}.markdown-body h6{font-size:0.85em;color:#6a737d}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table:not(.highlight){display:block;width:100%;width:max-content;max-width:100%;overflow:auto}.markdown-body table:not(.highlight) th{font-weight:600}.markdown-body table:not(.highlight) th,.markdown-body table:not(.highlight) td{padding:6px 13px;border:1px solid #dfe2e5}.markdown-body table:not(.highlight) tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table:not(.highlight) tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table:not(.highlight) img{background-color:transparent}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #dfe2e5}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#24292e}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}@media (min-width: 544px){.position-sm-static{position:static !important}.position-sm-relative{position:relative !important}.position-sm-absolute{position:absolute !important}.position-sm-fixed{position:fixed !important}.position-sm-sticky{position:sticky !important}}@media (min-width: 768px){.position-md-static{position:static !important}.position-md-relative{position:relative !important}.position-md-absolute{position:absolute !important}.position-md-fixed{position:fixed !important}.position-md-sticky{position:sticky !important}}@media (min-width: 1012px){.position-lg-static{position:static !important}.position-lg-relative{position:relative !important}.position-lg-absolute{position:absolute !important}.position-lg-fixed{position:fixed !important}.position-lg-sticky{position:sticky !important}}@media (min-width: 1280px){.position-xl-static{position:static !important}.position-xl-relative{position:relative !important}.position-xl-absolute{position:absolute !important}.position-xl-fixed{position:fixed !important}.position-xl-sticky{position:sticky !important}}.top-0{top:0 !important}.right-0{right:0 !important}.bottom-0{bottom:0 !important}.left-0{left:0 !important}.v-align-middle{vertical-align:middle !important}.v-align-top{vertical-align:top !important}.v-align-bottom{vertical-align:bottom !important}.v-align-text-top{vertical-align:text-top !important}.v-align-text-bottom{vertical-align:text-bottom !important}.v-align-baseline{vertical-align:baseline !important}.overflow-visible{overflow:visible !important}.overflow-x-visible{overflow-x:visible !important}.overflow-y-visible{overflow-y:visible !important}.overflow-hidden{overflow:hidden !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-auto{overflow:auto !important}.overflow-x-auto{overflow-x:auto !important}.overflow-y-auto{overflow-y:auto !important}.overflow-scroll{overflow:scroll !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-scroll{overflow-y:scroll !important}.clearfix::before{display:table;content:""}.clearfix::after{display:table;clear:both;content:""}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 544px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 1012px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1280px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.width-fit{max-width:100% !important}.width-full{width:100% !important}.height-fit{max-height:100% !important}.height-full{height:100% !important}.min-width-0{min-width:0 !important}.width-auto{width:auto !important}.direction-rtl{direction:rtl !important}.direction-ltr{direction:ltr !important}@media (min-width: 544px){.width-sm-auto{width:auto !important}.direction-sm-rtl{direction:rtl !important}.direction-sm-ltr{direction:ltr !important}}@media (min-width: 768px){.width-md-auto{width:auto !important}.direction-md-rtl{direction:rtl !important}.direction-md-ltr{direction:ltr !important}}@media (min-width: 1012px){.width-lg-auto{width:auto !important}.direction-lg-rtl{direction:rtl !important}.direction-lg-ltr{direction:ltr !important}}@media (min-width: 1280px){.width-xl-auto{width:auto !important}.direction-xl-rtl{direction:rtl !important}.direction-xl-ltr{direction:ltr !important}}@font-face{font-family:'iconfont';src:url("../iconfont/iconfont.woff2") format("woff2"),url("../iconfont/iconfont.woff") format("woff"),url("../iconfont/iconfont.ttf") format("truetype"),url("../iconfont/iconfont.svg") format("svg")}.iconfont{font-family:'iconfont' !important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-grid-sharp:before{content:'\e612'}.icon-search-circle-sharp:before{content:'\e60c'}.icon-chevron-back-circle-sharp:before{content:'\e608'}.icon-caret-back-circle-sharp:before{content:'\e609'}.icon-chevron-forward-circle-sharp:before{content:'\e60a'}.icon-caret-forward-circle-sharp:before{content:'\e60b'}.icon-today-sharp:before{content:'\e607'}.icon-chevron-up-circle-sharp:before{content:'\e606'}.icon-contrast-sharp:before{content:'\e601'}.icon-file-tray-sharp:before{content:'\e602'}.icon-pricetags-sharp:before{content:'\e603'}.icon-chatbox-ellipses-sharp:before{content:'\e604'}.icon-time-sharp:before{content:'\e605'}header .header{padding:1.75rem 1.5rem 2rem 1.5rem}header .title-main{font-size:2.5rem;font-family:"Product Sans",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-weight:700;white-space:nowrap}header .title-sub{margin:0 0.1rem;display:block;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}header .title-sub::-webkit-scrollbar{display:none}.content{padding:1.5rem 1.5rem 0 1.5rem}.post:not(:first-child){padding:1.5rem 0}.post:first-child{padding:0 0 1.5rem 0}.post-title{font-size:1.75rem}.post-meta{display:flex;align-items:center;margin:0.5rem 0.1rem 1rem 0.1rem;flex-wrap:wrap}.post-meta span{display:flex;align-items:center}.post-meta span:not(:last-child){padding-right:1.5rem}.post-summary{margin:0 0.1rem}.post-summary p:last-child{margin-bottom:0}.post-summary h1,.post-summary h2,.post-summary h3,.post-summary h4,.post-summary h5,.post-summary h6{display:none}.post-meta-archive{display:flex;align-items:center;margin:0.5rem 0.1rem 0 0.1rem;flex-wrap:wrap}.post-meta-archive span{display:flex;align-items:center}.post-meta-archive span:not(:last-child){padding-right:1.5rem}.pagination{display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1.25rem;padding:1.25rem 0}.pagination div{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.pagination div a{display:flex;align-items:center}.page-info{padding:0 0.1rem 1.5rem 0.1rem}article{padding-bottom:1.5rem}article .post-content{margin:1.25rem 0.1rem 0 0.1rem}.license{margin-bottom:1.5rem}.post-loading{margin:0 0 1.5rem 0;padding-top:1.5rem;text-align:center}.post-loading i{font-size:1.25rem}.post-loading p{margin:0.5rem 0 0 0}.markdown-body h1{font-size:1.75rem;margin-top:1.5rem}.markdown-body h2{font-size:1.5rem;margin-top:1.375rem}.markdown-body h3{font-size:1.25rem;margin-top:1.25rem}.markdown-body h4{margin-top:1.25rem}.markdown-body ul{list-style-type:circle}.markdown-body img{max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.markdown-body .table-dense{font-size:0.875rem}.markdown-body .table-dense td,.markdown-body .table-dense th{padding:4px 8px !important}.post-comment span.post-comment-notloaded{display:flex;align-items:center;justify-content:center}#disqus_thread{padding:1.25rem 0}#search-result .post:first-child{padding:1.5rem 0}.search-result-info{padding:1rem 0.1rem}.search-input{display:flex;height:2.5rem;align-items:center;padding-left:0.5rem;width:100%}.search-input input{width:100%;min-width:0;flex:1 1 auto;height:2rem}.search-input button{flex:0 1 auto;padding:0 0.5rem;word-break:keep-all;height:2.5rem}.search-input button:hover i{color:var(--color-primary)}.search-input button i{color:var(--color-mute);height:100%;font-size:1.6rem}.sidebar{padding:1.5rem 1.5rem 1.5rem 0}.sidebar-item:not(:last-child){margin-bottom:1rem}.sidebar-item h3{margin-bottom:0.25rem}.sidebar-item ul{list-style-type:none;margin:0 0.1rem}.sidebar-item>div,.sidebar-item>nav{margin:0 0.1rem}.sidebar-item>img{margin:0.5rem 0.25rem 0 0.25rem;width:100%;border-radius:2px}@media screen and (max-width: 768px){.sidebar{display:none !important}}@media screen and (max-width: 768px){.sidebar-mobile{width:70%;position:fixed;top:0;right:0;bottom:0%;background-color:var(--color-codebg);z-index:50;overflow:auto;display:flex;flex-direction:column-reverse}.sidebar-mobile .sidebar-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:space-around;margin:1.5rem 4.25rem 1.5rem 1.5rem}.sidebar-mobile .sidebar-item{width:90%;text-align:right;margin-top:1rem}.sidebar-mobile .sidebar-item:last-child{margin-top:0}}@media screen and (min-width: 768px){.sidebar-toc{position:sticky;top:1rem}.sidebar-toc ul ul{font-size:0.875rem;padding-left:0.5rem;margin-bottom:0.25rem}.sidebar-toc #TableOfContents{max-height:32rem;overflow:auto;scrollbar-width:thin}}footer .footer{padding:2rem 1.5rem;text-align:center}footer .footer i{font-size:0.875rem}.btn{position:fixed;right:1.5rem;bottom:1.5rem;width:2.5rem;display:flex;justify-content:space-between;flex-direction:column;z-index:100}.btn div{flex:0 1 auto;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem}.btn div:first-child{border-radius:0.25rem 0.25rem 0 0;font-size:1.125rem}.btn div:last-child{border-radius:0 0 0.25rem 0.25rem;font-size:1.325rem}@media screen and (min-width: 768px){.btn div:first-child{display:none}.btn div:nth-child(2){border-radius:0.25rem 0.25rem 0 0}}#post-aplayer{margin:0 0.125rem 1.25rem 0.125rem;font-family:inherit}body[data-theme='auto']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}@media (prefers-color-scheme: dark){body[data-theme='auto']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='auto'] table:not(.highlight) th,body[data-theme='auto'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='auto'] #post-aplayer{background-color:var(--color-divider)}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}}body[data-theme='light']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}body[data-theme='dark']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='dark'] table:not(.highlight) th,body[data-theme='dark'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='dark'] #post-aplayer{background-color:var(--color-divider)}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}::selection,::-moz-selection{color:var(--color-bg);background-color:var(--color-primary)}body{background-color:var(--color-bg);color:var(--color-font)}body a{color:var(--color-primary)}body a:hover{color:var(--color-secondary)}.post-summary a,.post-meta a{color:var(--color-secondary)}.post-summary a:hover,.post-meta a:hover{color:var(--color-focus)}.pag-current a,.pag-current a:hover{color:var(--color-focus)}.title-sub,.post-meta{color:var(--color-mute)}header,.page-info{border-bottom:2px solid var(--color-divider)}.post+.post,.pagination,footer{border-top:2px solid var(--color-divider)}.post-meta-archive{color:var(--color-mute)}.post-meta-archive a{color:var(--color-secondary)}.post-meta-archive a:hover{color:var(--color-focus)}@media screen and (max-width: 768px){.sidebar{border-top:2px solid var(--color-divider)}}.post-content a{color:var(--color-secondary)}.post-content a:hover{color:var(--color-focus)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--color-primary)}.markdown-body strong,.markdown-body em{color:var(--color-secondary)}.markdown-body h1,.markdown-body h2{border-bottom:2px solid var(--color-divider)}.markdown-body blockquote{color:var(--color-mute)}.markdown-body img{border-radius:2px;background-color:inherit}.markdown-body hr{height:2px}.markdown-body pre,.markdown-body code{background-color:var(--color-codebg)}.post-loading{border-top:2px solid var(--color-divider)}.post-comment{border-top:2px solid var(--color-divider)}.post-comment span.post-comment-notloaded{padding:1.5rem 0;color:var(--color-secondary);cursor:pointer}.post-comment span.post-comment-notloaded:hover{color:var(--color-focus)}.btn div{background-color:var(--color-divider);color:var(--color-primary)}.btn div:hover{background-color:var(--color-primary);color:var(--color-divider)}.btn div+div{border-top:2px solid var(--color-bg)}code[class*='language-'],pre[class*='language-']{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:0.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:600}.token.italic{font-style:italic}pre .rule,code .rule{margin:0;border-bottom:none;overflow:inherit}pre .rule::before,pre .rule::after,code .rule::before,code .rule::after{display:inherit;clear:inherit}#dsqjs a{text-decoration:none !important;color:var(--color-secondary) !important}#dsqjs a:hover{color:var(--color-focus) !important}#dsqjs .dsqjs-bullet::after{color:var(--color-mute) !important;font-weight:600 !important}#dsqjs .dsqjs-no-comment{color:var(--color-font) !important}#dsqjs .dsqjs-nav-tab{color:var(--color-mute) !important}#dsqjs .dsqjs-tab-active{color:var(--color-font) !important}#dsqjs .dsqjs-tab-active>span:after{background-color:var(--color-secondary) !important}#dsqjs .dsqjs-post-list .dsqjs-post-avatar{background:var(--color-bg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-post-author{color:var(--color-mute) !important;font-weight:600}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-admin-badge{color:var(--color-font) !important;background:var(--color-codebg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-meta{color:var(--color-mute) !important}#dsqjs .dsqjs-post-body{color:var(--color-font) !important}#dsqjs .dsqjs-post-body code,#dsqjs .dsqjs-post-body pre{background:var(--color-codebg) !important}#dsqjs .dsqjs-post-body blockquote{color:var(--color-codebg) !important;border-left:0.25em solid var(--color-divider) !important}#dsqjs .dsqjs-load-more{background:var(--color-mute) !important;color:var(--color-bg) !important}#dsqjs footer{border-top:2px solid var(--color-divider) !important;font-weight:600 !important;color:var(--color-mute) !important}#dsqjs .dsqjs-order-radio:checked+.dsqjs-order-label{color:var(--color-font) !important;background-color:var(--color-divider) !important}#dsqjs .dsqjs-order-label{background-color:var(--color-bg) !important}#dsqjs p.dsqjs-has-more a.dsqjs-has-more-btn{color:var(--color-mute) !important}.search-result-info{border-bottom:2px solid var(--color-divider)}.search-input{border-top:2px solid;border-left:2px solid;border-bottom:2px solid;border-right:none;border-radius:0.25rem;border-color:var(--color-divider);background-color:var(--color-bg)}.search-input:hover,.search-input:focus-within{color:var(--color-primary);border-color:var(--color-primary)}.search-input input{outline:none;border:none;color:inherit;background-color:inherit}.search-input button{outline:none;border-top:2px solid;border-left:none;border-right:2px solid;border-bottom:2px solid;border-radius:0 0.25rem 0.25rem 0;border-color:inherit;color:inherit;background-color:inherit}.search-input button:hover{color:var(--color-secondary)}.image-wrapper{position:relative;display:block;width:100%;height:0;overflow:hidden;background-color:var(--color-divider);border-radius:3px;max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.image-wrapper img{display:block;width:100%;max-width:100%;margin:0;overflow:hidden}.ratio-40x9{padding-bottom:22.5%}.ratio-32x9{padding-bottom:28.125%}.ratio-21x9{padding-bottom:42.85714286%}.ratio-18x9{padding-bottom:50%}.ratio-16x9{padding-bottom:56.25%}.ratio-16x10{padding-bottom:62.5%}.ratio-3x2{padding-bottom:66.66666667%}.ratio-4x3{padding-bottom:75%}.ratio-1x1{padding-bottom:100%}.ratio-3x4{padding-bottom:133.33333333%}.ratio-2x3{padding-bottom:150%}.ratio-10x16{padding-bottom:160%}.ratio-9x16{padding-bottom:177.77777778%}.ratio-9x18{padding-bottom:200%}.ratio-9x21{padding-bottom:233.33333333%}.ratio-9x32{padding-bottom:355.55555556%}
+@font-face{font-family:'Product Sans';font-style:normal;font-weight:700;font-display:swap;src:local("Product Sans Bold"),local("ProductSans-Bold"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/product-sans/product-sans-bold.woff2") format("woff2")}@font-face{font-family:'Cascadia Code';font-style:normal;font-display:swap;src:local("Cascadia Code Regular"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/cascadia-code/cascadia-code.woff2") format("woff2")}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{display:flex;flex-direction:column;height:100%;scroll-behavior:smooth}main{flex:1 1 auto}.container-lg{display:flex;flex-direction:row}@media screen and (max-width: 768px){.container-lg{flex-direction:column}}a:hover{text-decoration:none !important}/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none !important}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background-color:#ff0;color:#1b1f23}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:600}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:0.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*{box-sizing:border-box}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;color:#24292e;background-color:#fff}a{color:#0366d6;text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:600}hr,.rule{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid #dfe2e5}hr::before,.rule::before{display:table;content:""}hr::after,.rule::after{display:table;clear:both;content:""}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}button{cursor:pointer;border-radius:0}[hidden][hidden]{display:none !important}details summary{cursor:pointer}details:not([open])>*:not(summary){display:none !important}kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0}h1{font-size:32px;font-weight:600}h2{font-size:24px;font-weight:600}h3{font-size:20px;font-weight:600}h4{font-size:16px;font-weight:600}h5{font-size:14px;font-weight:600}h6{font-size:12px;font-weight:600}p{margin-top:0;margin-bottom:10px}small{font-size:90%}blockquote{margin:0}ul,ol{padding-left:0;margin-top:0;margin-bottom:0}ol ol,ul ol{list-style-type:lower-roman}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}dd{margin-left:0}tt,code{font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}pre{margin-top:0;margin-bottom:0;font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}.octicon{vertical-align:text-bottom}.container-sm{max-width:544px;margin-right:auto;margin-left:auto}.container-md{max-width:768px;margin-right:auto;margin-left:auto}.container-lg{max-width:1012px;margin-right:auto;margin-left:auto}.container-xl{max-width:1280px;margin-right:auto;margin-left:auto}.col-1{width:8.33333333%}.col-2{width:16.66666667%}.col-3{width:25%}.col-4{width:33.33333333%}.col-5{width:41.66666667%}.col-6{width:50%}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{width:75%}.col-10{width:83.33333333%}.col-11{width:91.66666667%}.col-12{width:100%}@media (min-width: 544px){.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}}@media (min-width: 768px){.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}}@media (min-width: 1012px){.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}}@media (min-width: 1280px){.col-xl-1{width:8.33333333%}.col-xl-2{width:16.66666667%}.col-xl-3{width:25%}.col-xl-4{width:33.33333333%}.col-xl-5{width:41.66666667%}.col-xl-6{width:50%}.col-xl-7{width:58.33333333%}.col-xl-8{width:66.66666667%}.col-xl-9{width:75%}.col-xl-10{width:83.33333333%}.col-xl-11{width:91.66666667%}.col-xl-12{width:100%}}.gutter{margin-right:-16px;margin-left:-16px}.gutter>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-condensed{margin-right:-8px;margin-left:-8px}.gutter-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-spacious{margin-right:-24px;margin-left:-24px}.gutter-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}@media (min-width: 544px){.gutter-sm{margin-right:-16px;margin-left:-16px}.gutter-sm>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-sm-condensed{margin-right:-8px;margin-left:-8px}.gutter-sm-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-sm-spacious{margin-right:-24px;margin-left:-24px}.gutter-sm-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 768px){.gutter-md{margin-right:-16px;margin-left:-16px}.gutter-md>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-md-condensed{margin-right:-8px;margin-left:-8px}.gutter-md-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-md-spacious{margin-right:-24px;margin-left:-24px}.gutter-md-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1012px){.gutter-lg{margin-right:-16px;margin-left:-16px}.gutter-lg>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-lg-condensed{margin-right:-8px;margin-left:-8px}.gutter-lg-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-lg-spacious{margin-right:-24px;margin-left:-24px}.gutter-lg-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1280px){.gutter-xl{margin-right:-16px;margin-left:-16px}.gutter-xl>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-xl-condensed{margin-right:-8px;margin-left:-8px}.gutter-xl-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-xl-spacious{margin-right:-24px;margin-left:-24px}.gutter-xl-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#cb2431}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.markdown-body blockquote{padding:0 1em;color:#6a737d;border-left:0.25em solid #dfe2e5}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}.markdown-body h1{padding-bottom:0.3em;font-size:2em;border-bottom:1px solid #eaecef}.markdown-body h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eaecef}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:0.875em}.markdown-body h6{font-size:0.85em;color:#6a737d}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table:not(.highlight){display:block;width:100%;width:max-content;max-width:100%;overflow:auto}.markdown-body table:not(.highlight) th{font-weight:600}.markdown-body table:not(.highlight) th,.markdown-body table:not(.highlight) td{padding:6px 13px;border:1px solid #dfe2e5}.markdown-body table:not(.highlight) tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table:not(.highlight) tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table:not(.highlight) img{background-color:transparent}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #dfe2e5}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#24292e}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}@media (min-width: 544px){.position-sm-static{position:static !important}.position-sm-relative{position:relative !important}.position-sm-absolute{position:absolute !important}.position-sm-fixed{position:fixed !important}.position-sm-sticky{position:sticky !important}}@media (min-width: 768px){.position-md-static{position:static !important}.position-md-relative{position:relative !important}.position-md-absolute{position:absolute !important}.position-md-fixed{position:fixed !important}.position-md-sticky{position:sticky !important}}@media (min-width: 1012px){.position-lg-static{position:static !important}.position-lg-relative{position:relative !important}.position-lg-absolute{position:absolute !important}.position-lg-fixed{position:fixed !important}.position-lg-sticky{position:sticky !important}}@media (min-width: 1280px){.position-xl-static{position:static !important}.position-xl-relative{position:relative !important}.position-xl-absolute{position:absolute !important}.position-xl-fixed{position:fixed !important}.position-xl-sticky{position:sticky !important}}.top-0{top:0 !important}.right-0{right:0 !important}.bottom-0{bottom:0 !important}.left-0{left:0 !important}.v-align-middle{vertical-align:middle !important}.v-align-top{vertical-align:top !important}.v-align-bottom{vertical-align:bottom !important}.v-align-text-top{vertical-align:text-top !important}.v-align-text-bottom{vertical-align:text-bottom !important}.v-align-baseline{vertical-align:baseline !important}.overflow-visible{overflow:visible !important}.overflow-x-visible{overflow-x:visible !important}.overflow-y-visible{overflow-y:visible !important}.overflow-hidden{overflow:hidden !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-auto{overflow:auto !important}.overflow-x-auto{overflow-x:auto !important}.overflow-y-auto{overflow-y:auto !important}.overflow-scroll{overflow:scroll !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-scroll{overflow-y:scroll !important}.clearfix::before{display:table;content:""}.clearfix::after{display:table;clear:both;content:""}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 544px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 1012px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1280px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.width-fit{max-width:100% !important}.width-full{width:100% !important}.height-fit{max-height:100% !important}.height-full{height:100% !important}.min-width-0{min-width:0 !important}.width-auto{width:auto !important}.direction-rtl{direction:rtl !important}.direction-ltr{direction:ltr !important}@media (min-width: 544px){.width-sm-auto{width:auto !important}.direction-sm-rtl{direction:rtl !important}.direction-sm-ltr{direction:ltr !important}}@media (min-width: 768px){.width-md-auto{width:auto !important}.direction-md-rtl{direction:rtl !important}.direction-md-ltr{direction:ltr !important}}@media (min-width: 1012px){.width-lg-auto{width:auto !important}.direction-lg-rtl{direction:rtl !important}.direction-lg-ltr{direction:ltr !important}}@media (min-width: 1280px){.width-xl-auto{width:auto !important}.direction-xl-rtl{direction:rtl !important}.direction-xl-ltr{direction:ltr !important}}@font-face{font-family:'iconfont';src:url("../iconfont/iconfont.woff2") format("woff2"),url("../iconfont/iconfont.woff") format("woff"),url("../iconfont/iconfont.ttf") format("truetype"),url("../iconfont/iconfont.svg") format("svg")}.iconfont{font-family:'iconfont' !important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-grid-sharp:before{content:'\e612'}.icon-search-circle-sharp:before{content:'\e60c'}.icon-chevron-back-circle-sharp:before{content:'\e608'}.icon-caret-back-circle-sharp:before{content:'\e609'}.icon-chevron-forward-circle-sharp:before{content:'\e60a'}.icon-caret-forward-circle-sharp:before{content:'\e60b'}.icon-today-sharp:before{content:'\e607'}.icon-chevron-up-circle-sharp:before{content:'\e606'}.icon-contrast-sharp:before{content:'\e601'}.icon-file-tray-sharp:before{content:'\e602'}.icon-pricetags-sharp:before{content:'\e603'}.icon-chatbox-ellipses-sharp:before{content:'\e604'}.icon-time-sharp:before{content:'\e605'}header .header{padding:1.75rem 1.5rem 2rem 1.5rem}header .title-main{font-size:2.5rem;font-family:"Product Sans",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-weight:700;white-space:nowrap}header .title-sub{margin:0 0.1rem;display:block;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}header .title-sub::-webkit-scrollbar{display:none}.content{padding:1.5rem 1.5rem 0 1.5rem}.post:not(:first-child){padding:1.5rem 0}.post:first-child{padding:0 0 1.5rem 0}.post-title{font-size:1.75rem}.post-meta{display:flex;align-items:center;margin:0.5rem 0.1rem 1rem 0.1rem;flex-wrap:wrap}.post-meta span{display:flex;align-items:center}.post-meta span:not(:last-child){padding-right:1.5rem}.post-summary{margin:0 0.1rem}.post-summary p:last-child{margin-bottom:0}.post-summary h1,.post-summary h2,.post-summary h3,.post-summary h4,.post-summary h5,.post-summary h6{display:none}.post-meta-archive{display:flex;align-items:center;margin:0.5rem 0.1rem 0 0.1rem;flex-wrap:wrap}.post-meta-archive span{display:flex;align-items:center}.post-meta-archive span:not(:last-child){padding-right:1.5rem}.pagination{display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1.25rem;padding:1.25rem 0}.pagination div{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.pagination div a{display:flex;align-items:center}.page-info{padding:0 0.1rem 1.5rem 0.1rem}article{padding-bottom:1.5rem}article .post-content{margin:1.25rem 0.1rem 0 0.1rem}.license{margin-bottom:1.5rem}.post-loading{margin:0 0 1.5rem 0;padding-top:1.5rem;text-align:center}.post-loading i{font-size:1.25rem}.post-loading p{margin:0.5rem 0 0 0}.markdown-body h1{font-size:1.75rem;margin-top:1.5rem}.markdown-body h2{font-size:1.5rem;margin-top:1.375rem}.markdown-body h3{font-size:1.25rem;margin-top:1.25rem}.markdown-body h4{margin-top:1.25rem}.markdown-body ul{list-style-type:circle}.markdown-body img{max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.markdown-body .table-dense{font-size:0.875rem}.markdown-body .table-dense td,.markdown-body .table-dense th{padding:4px 8px !important}.post-comment span.post-comment-notloaded{display:flex;align-items:center;justify-content:center}#disqus_thread{padding:1.25rem 0}#search-result .post:first-child{padding:1.5rem 0}.search-result-info{padding:1rem 0.1rem}.search-input{display:flex;height:2.5rem;align-items:center;padding-left:0.5rem;width:100%}.search-input input{width:100%;min-width:0;flex:1 1 auto;height:2rem}.search-input button{flex:0 1 auto;padding:0 0.5rem;word-break:keep-all;height:2.5rem}.search-input button:hover i{color:var(--color-primary)}.search-input button i{color:var(--color-mute);height:100%;font-size:1.6rem}.sidebar{padding:1.5rem 1.5rem 1.5rem 0}.sidebar-item:not(:last-child){margin-bottom:1rem}.sidebar-item h3{margin-bottom:0.25rem}.sidebar-item ul{list-style-type:none;margin:0 0.1rem}.sidebar-item>div,.sidebar-item>nav{margin:0 0.1rem}.sidebar-item>img{margin:0.5rem 0.25rem 0 0.25rem;width:100%;border-radius:2px}@media screen and (max-width: 768px){.sidebar{display:none !important}}@media screen and (max-width: 768px){.sidebar-mobile{width:70%;position:fixed;top:0;right:0;bottom:0%;background-color:var(--color-codebg);z-index:50;overflow:auto;display:flex;flex-direction:column-reverse}.sidebar-mobile .sidebar-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:space-around;margin:1.5rem 4.25rem 1.5rem 1.5rem}.sidebar-mobile .sidebar-item{width:90%;text-align:right;margin-top:1rem}.sidebar-mobile .sidebar-item:last-child{margin-top:0}}@media screen and (min-width: 768px){.sidebar-toc{position:sticky;top:1rem}.sidebar-toc ul ul{font-size:0.875rem;padding-left:0.5rem;margin-bottom:0.25rem}.sidebar-toc #TableOfContents{max-height:32rem;overflow:auto;scrollbar-width:thin}}footer .footer{padding:2rem 1.5rem;text-align:center}footer .footer i{font-size:0.875rem}.btn{position:fixed;right:1.5rem;bottom:1.5rem;width:2.5rem;display:flex;justify-content:space-between;flex-direction:column;z-index:100}.btn div{flex:0 1 auto;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem}.btn div:first-child{border-radius:0.25rem 0.25rem 0 0;font-size:1.125rem}.btn div:last-child{border-radius:0 0 0.25rem 0.25rem;font-size:1.325rem}@media screen and (min-width: 768px){.btn div:first-child{display:none}.btn div:nth-child(2){border-radius:0.25rem 0.25rem 0 0}}.post-player-wrapper{margin:0.25rem 0.125rem 1rem 0.125rem !important;font-family:inherit !important}.post-player{font-family:inherit !important}.post-summary .post-player-wrapper{display:none}body[data-theme='auto']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}@media (prefers-color-scheme: dark){body[data-theme='auto']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='auto'] table:not(.highlight) th,body[data-theme='auto'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='auto'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}}body[data-theme='light']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}body[data-theme='dark']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='dark'] table:not(.highlight) th,body[data-theme='dark'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='dark'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}::selection,::-moz-selection{color:var(--color-bg);background-color:var(--color-primary)}body{background-color:var(--color-bg);color:var(--color-font)}body a{color:var(--color-primary)}body a:hover{color:var(--color-secondary)}.post-summary a,.post-meta a{color:var(--color-secondary)}.post-summary a:hover,.post-meta a:hover{color:var(--color-focus)}.pag-current a,.pag-current a:hover{color:var(--color-focus)}.title-sub,.post-meta{color:var(--color-mute)}header,.page-info{border-bottom:2px solid var(--color-divider)}.post+.post,.pagination,footer{border-top:2px solid var(--color-divider)}.post-meta-archive{color:var(--color-mute)}.post-meta-archive a{color:var(--color-secondary)}.post-meta-archive a:hover{color:var(--color-focus)}@media screen and (max-width: 768px){.sidebar{border-top:2px solid var(--color-divider)}}.post-content a{color:var(--color-secondary)}.post-content a:hover{color:var(--color-focus)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--color-primary)}.markdown-body strong,.markdown-body em{color:var(--color-secondary)}.markdown-body h1,.markdown-body h2{border-bottom:2px solid var(--color-divider)}.markdown-body blockquote{color:var(--color-mute)}.markdown-body img{border-radius:2px;background-color:inherit}.markdown-body hr{height:2px}.markdown-body pre,.markdown-body code{background-color:var(--color-codebg)}.post-loading{border-top:2px solid var(--color-divider)}.post-comment{border-top:2px solid var(--color-divider)}.post-comment span.post-comment-notloaded{padding:1.5rem 0;color:var(--color-secondary);cursor:pointer}.post-comment span.post-comment-notloaded:hover{color:var(--color-focus)}.btn div{background-color:var(--color-divider);color:var(--color-primary)}.btn div:hover{background-color:var(--color-primary);color:var(--color-divider)}.btn div+div{border-top:2px solid var(--color-bg)}code[class*='language-'],pre[class*='language-']{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:0.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:600}.token.italic{font-style:italic}pre .rule,code .rule{margin:0;border-bottom:none;overflow:inherit}pre .rule::before,pre .rule::after,code .rule::before,code .rule::after{display:inherit;clear:inherit}#dsqjs a{text-decoration:none !important;color:var(--color-secondary) !important}#dsqjs a:hover{color:var(--color-focus) !important}#dsqjs .dsqjs-bullet::after{color:var(--color-mute) !important;font-weight:600 !important}#dsqjs .dsqjs-no-comment{color:var(--color-font) !important}#dsqjs .dsqjs-nav-tab{color:var(--color-mute) !important}#dsqjs .dsqjs-tab-active{color:var(--color-font) !important}#dsqjs .dsqjs-tab-active>span:after{background-color:var(--color-secondary) !important}#dsqjs .dsqjs-post-list .dsqjs-post-avatar{background:var(--color-bg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-post-author{color:var(--color-mute) !important;font-weight:600}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-admin-badge{color:var(--color-font) !important;background:var(--color-codebg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-meta{color:var(--color-mute) !important}#dsqjs .dsqjs-post-body{color:var(--color-font) !important}#dsqjs .dsqjs-post-body code,#dsqjs .dsqjs-post-body pre{background:var(--color-codebg) !important}#dsqjs .dsqjs-post-body blockquote{color:var(--color-codebg) !important;border-left:0.25em solid var(--color-divider) !important}#dsqjs .dsqjs-load-more{background:var(--color-mute) !important;color:var(--color-bg) !important}#dsqjs footer{border-top:2px solid var(--color-divider) !important;font-weight:600 !important;color:var(--color-mute) !important}#dsqjs .dsqjs-order-radio:checked+.dsqjs-order-label{color:var(--color-font) !important;background-color:var(--color-divider) !important}#dsqjs .dsqjs-order-label{background-color:var(--color-bg) !important}#dsqjs p.dsqjs-has-more a.dsqjs-has-more-btn{color:var(--color-mute) !important}.search-result-info{border-bottom:2px solid var(--color-divider)}.search-input{border-top:2px solid;border-left:2px solid;border-bottom:2px solid;border-right:none;border-radius:0.25rem;border-color:var(--color-divider);background-color:var(--color-bg)}.search-input:hover,.search-input:focus-within{color:var(--color-primary);border-color:var(--color-primary)}.search-input input{outline:none;border:none;color:inherit;background-color:inherit}.search-input button{outline:none;border-top:2px solid;border-left:none;border-right:2px solid;border-bottom:2px solid;border-radius:0 0.25rem 0.25rem 0;border-color:inherit;color:inherit;background-color:inherit}.search-input button:hover{color:var(--color-secondary)}.image-wrapper{position:relative;display:block;width:100%;height:0;overflow:hidden;background-color:var(--color-divider);border-radius:3px;max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.image-wrapper img{display:block;width:100%;max-width:100%;margin:0;overflow:hidden}.ratio-40x9{padding-bottom:22.5%}.ratio-32x9{padding-bottom:28.125%}.ratio-21x9{padding-bottom:42.85714286%}.ratio-18x9{padding-bottom:50%}.ratio-16x9{padding-bottom:56.25%}.ratio-16x10{padding-bottom:62.5%}.ratio-3x2{padding-bottom:66.66666667%}.ratio-4x3{padding-bottom:75%}.ratio-1x1{padding-bottom:100%}.ratio-3x4{padding-bottom:133.33333333%}.ratio-2x3{padding-bottom:150%}.ratio-10x16{padding-bottom:160%}.ratio-9x16{padding-bottom:177.77777778%}.ratio-9x18{padding-bottom:200%}.ratio-9x21{padding-bottom:233.33333333%}.ratio-9x32{padding-bottom:355.55555556%}
diff --git a/exampleSite/static/aplayer/berlin.mp3 b/exampleSite/static/aplayer/berlin.mp3
new file mode 100644
index 0000000..dc17b7f
--- /dev/null
+++ b/exampleSite/static/aplayer/berlin.mp3
Binary files differ
diff --git a/exampleSite/static/aplayer/crowander.jpg b/exampleSite/static/aplayer/crowander.jpg
new file mode 100644
index 0000000..9784e97
--- /dev/null
+++ b/exampleSite/static/aplayer/crowander.jpg
Binary files differ
diff --git a/exampleSite/static/aplayer/fluid.mp3 b/exampleSite/static/aplayer/fluid.mp3
new file mode 100644
index 0000000..8f0249c
--- /dev/null
+++ b/exampleSite/static/aplayer/fluid.mp3
Binary files differ
diff --git a/exampleSite/static/aplayer/morning.mp3 b/exampleSite/static/aplayer/morning.mp3
new file mode 100644
index 0000000..465e9b6
--- /dev/null
+++ b/exampleSite/static/aplayer/morning.mp3
Binary files differ
diff --git a/i18n/fr.toml b/i18n/fr.toml
new file mode 100644
index 0000000..47e67dd
--- /dev/null
+++ b/i18n/fr.toml
@@ -0,0 +1,55 @@
+[sidebarToc]
+ other = "Table des matières"
+
+[sidebarPages]
+ other = "Pages"
+
+[sidebarTags]
+ other = "Étiquettes"
+
+[sidebarLinks]
+ other = "Liens"
+
+[sidebarBangumiChart]
+ other = "Bangumi"
+
+[footerPoweredFront]
+ other = "Propulsé par "
+
+[footerPoweredEnd]
+ other = " "
+
+[postMetaNoTag]
+ other = "Aucune étiquette"
+
+[postMetaWordCount]
+ one = "{{.Count}} mot"
+ other = "{{.Count}} mots"
+
+[postMetaReadingTime]
+ one = "{{.Count}} minute"
+ other = "{{.Count}} minutes"
+
+[postCopyrightFront]
+ other = "Sauf indication contraire, le contenu de ce site est mis à disposition selon les termes de la Licence "
+
+[postCopyrightEnd]
+ other = "."
+
+[postComment]
+ other = "Télécharger les commentaires"
+
+[archivesTotalPages]
+ other = "Posts totaux: "
+
+[tagsCurrentTag]
+ other = "Posts avec l'étiquette {{ .Title }}: "
+
+[searchSuccess]
+ other = "[NUM] résultats ([TIME] ms)"
+
+[searchNotFound]
+ other = "Résultats non trouvés"
+
+[searchFailed]
+ other = "Échec du chargement du fichier d'index"
diff --git a/layouts/_default/archives.html b/layouts/_default/archives.html
index 678a1db..e434e9b 100644
--- a/layouts/_default/archives.html
+++ b/layouts/_default/archives.html
@@ -1,74 +1,22 @@
{{ define "main" }}
<!-- page info section e.g. current tag & total archive pages -->
<div class="page-info">
- <span>{{ i18n "archivesTotalPages" }}{{ len (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }}</span>
+ <span>{{ i18n "archivesTotalPages" }}{{ len (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }}</span>
</div>
<!-- archives range in all posts -->
{{ $paginator := .Paginate (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) 50 }}
{{ range $paginator.Pages }}
<div class="post">
- <h3 class="post-item post-title-archive">
- <a href="{{ .Permalink }}">{{ .Title }}</a>
- </h3>
- <div class="post-item post-meta-archive">
- {{ partial "post-meta.html" . }}
- </div>
+ <h3 class="post-item post-title-archive">
+ <a href="{{ .Permalink }}">{{ .Title }}</a>
+ </h3>
+ <div class="post-item post-meta-archive">
+ {{ partial "post-meta.html" . }}
+ </div>
</div>
{{ end }}
<!-- custom smart pagination -->
-{{ $offsetLinks := 2 }}
-{{ $maxLinks := (add (mul $offsetLinks 2) 1) }}
-{{ $lowerLimit := (add $offsetLinks 1) }}
-{{ $upperLimit := (sub $paginator.TotalPages $offsetLinks) }}
-{{ if gt $paginator.TotalPages 1 }}
-<div class="pagination">
- {{ if ne $paginator.PageNumber 1 }}
- <div class="pag-first">
- <a href="{{ $paginator.First.URL }}"><i class="iconfont icon-caret-back-circle-sharp"></a>
- </div>
- {{ end }}
- {{ if $paginator.HasPrev }}
- <div class="pag-previous">
- <a href="{{ $paginator.Prev.URL }}"><i class="iconfont icon-chevron-back-circle-sharp"></i></a>
- </div>
- {{ end }}
- {{ range $paginator.Pagers }}
- {{ $.Scratch.Set "pageNumFlag" false }}
- {{ if gt $paginator.TotalPages $maxLinks }}
- {{ if le $paginator.PageNumber $lowerLimit }}
- {{ if le .PageNumber $maxLinks }}
- {{ $.Scratch.Set "pageNumFlag" true }}
- {{ end }}
- {{ else if ge $paginator.PageNumber $upperLimit }}
- {{ if gt .PageNumber (sub $paginator.TotalPages $maxLinks) }}
- {{ $.Scratch.Set "pageNumFlag" true }}
- {{ end }}
- {{ else }}
- {{ if and ( ge .PageNumber (sub $paginator.PageNumber $offsetLinks) ) ( le .PageNumber (add $paginator.PageNumber $offsetLinks) ) }}
- {{ $.Scratch.Set "pageNumFlag" true }}
- {{ end }}
- {{ end }}
- {{ else }}
- {{ $.Scratch.Set "pageNumFlag" true }}
- {{ end }}
- {{ if eq ($.Scratch.Get "pageNumFlag") true }}
- <div class="pag-item{{ if eq . $paginator }} pag-current{{ end }}">
- <a href="{{ .URL }}">{{ .PageNumber }}</a>
- </div>
- {{ end }}
- {{ end }}
- {{ if $paginator.HasNext }}
- <div class="pag-next">
- <a href="{{ $paginator.Next.URL }}"><i class="iconfont icon-chevron-forward-circle-sharp"></i></a>
- </div>
- {{ end }}
- {{ if ne $paginator.PageNumber $paginator.TotalPages }}
- <div class="pag-last">
- <a href="{{ $paginator.Last.URL }}"><i class="iconfont icon-caret-forward-circle-sharp"></i></a>
- </div>
- {{ end }}
-</div>
-{{ end }}
+{{- partial "pagination.html" (dict "context" . "pagi" $paginator) -}}
-{{ end }} \ No newline at end of file
+{{ end }}
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
index 69f8708..6961c1b 100644
--- a/layouts/_default/list.html
+++ b/layouts/_default/list.html
@@ -15,59 +15,6 @@
</div>
{{ end }}
-<!-- custom smart pagination -->
-{{ $offsetLinks := 2 }}
-{{ $maxLinks := (add (mul $offsetLinks 2) 1) }}
-{{ $lowerLimit := (add $offsetLinks 1) }}
-{{ $upperLimit := (sub $paginator.TotalPages $offsetLinks) }}
-{{ if gt $paginator.TotalPages 1 }}
-<div class="pagination">
- {{ if ne $paginator.PageNumber 1 }}
- <div class="pag-first">
- <a href="{{ $paginator.First.URL }}"><i class="iconfont icon-caret-back-circle-sharp"></i></a>
- </div>
- {{ end }}
- {{ if $paginator.HasPrev }}
- <div class="pag-previous">
- <a href="{{ $paginator.Prev.URL }}"><i class="iconfont icon-chevron-back-circle-sharp"></i></a>
- </div>
- {{ end }}
- {{ range $paginator.Pagers }}
- {{ $.Scratch.Set "pageNumFlag" false }}
- {{ if gt $paginator.TotalPages $maxLinks }}
- {{ if le $paginator.PageNumber $lowerLimit }}
- {{ if le .PageNumber $maxLinks }}
- {{ $.Scratch.Set "pageNumFlag" true }}
- {{ end }}
- {{ else if ge $paginator.PageNumber $upperLimit }}
- {{ if gt .PageNumber (sub $paginator.TotalPages $maxLinks) }}
- {{ $.Scratch.Set "pageNumFlag" true }}
- {{ end }}
- {{ else }}
- {{ if and ( ge .PageNumber (sub $paginator.PageNumber $offsetLinks) ) ( le .PageNumber (add $paginator.PageNumber $offsetLinks) ) }}
- {{ $.Scratch.Set "pageNumFlag" true }}
- {{ end }}
- {{ end }}
- {{ else }}
- {{ $.Scratch.Set "pageNumFlag" true }}
- {{ end }}
- {{ if eq ($.Scratch.Get "pageNumFlag") true }}
- <div class="pag-item{{ if eq . $paginator }} pag-current{{ end }}">
- <a href="{{ .URL }}">{{ .PageNumber }}</a>
- </div>
- {{ end }}
- {{ end }}
- {{ if $paginator.HasNext }}
- <div class="pag-next">
- <a href="{{ $paginator.Next.URL }}"><i class="iconfont icon-chevron-forward-circle-sharp"></i></i></a>
- </div>
- {{ end }}
- {{ if ne $paginator.PageNumber $paginator.TotalPages }}
- <div class="pag-last">
- <a href="{{ $paginator.Last.URL }}"><i class="iconfont icon-caret-forward-circle-sharp"></i></a>
- </div>
- {{ end }}
-</div>
-{{ end }}
+{{- partial "pagination.html" (dict "context" . "pagi" $paginator) -}}
-{{ end }} \ No newline at end of file
+{{ end }}
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index 8f7eb35..cd2bd48 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -7,9 +7,6 @@
<div class="post-item post-meta">
{{ partial "post-meta.html" . }}
</div>
- {{ with .Params.player }}
- <div id="post-aplayer"></div>
- {{ end }}
<!-- post main content -->
<div class="post-content markdown-body">
{{ .Content }}
diff --git a/layouts/_default/tag.html b/layouts/_default/tag.html
index c3df91e..1185f1d 100644
--- a/layouts/_default/tag.html
+++ b/layouts/_default/tag.html
@@ -1,77 +1,25 @@
{{ define "main" }}
<!-- page info section e.g. current tag & total archive pages -->
<div class="page-info">
- <span>{{ i18n "tagsCurrentTag" . }}</span>
+ <span>{{ i18n "tagsCurrentTag" . }}</span>
</div>
<!-- tags page range in posts with current tag -->
{{ $paginator := .Paginator }}
{{ range $paginator.Pages }}
<div class="post">
- <h2 class="post-item post-title">
- <a href="{{ .Permalink }}">{{ .Title }}</a>
- </h2>
- <div class="post-item post-meta">
- {{ partial "post-meta.html" . }}
- </div>
- <div class="post-item post-summary markdown-body">
- {{ .Summary }}
- </div>
+ <h2 class="post-item post-title">
+ <a href="{{ .Permalink }}">{{ .Title }}</a>
+ </h2>
+ <div class="post-item post-meta">
+ {{ partial "post-meta.html" . }}
+ </div>
+ <div class="post-item post-summary markdown-body">
+ {{ .Summary }}
+ </div>
</div>
{{ end }}
<!-- custom smart pagination -->
-{{ $offsetLinks := 2 }}
-{{ $maxLinks := (add (mul $offsetLinks 2) 1) }}
-{{ $lowerLimit := (add $offsetLinks 1) }}
-{{ $upperLimit := (sub $paginator.TotalPages $offsetLinks) }}
-{{ if gt $paginator.TotalPages 1 }}
-<div class="pagination">
- {{ if ne $paginator.PageNumber 1 }}
- <div class="pag-first">
- <a href="{{ $paginator.First.URL }}"><i class="iconfont icon-caret-back-circle-sharp"></i></a>
- </div>
- {{ end }}
- {{ if $paginator.HasPrev }}
- <div class="pag-previous">
- <a href="{{ $paginator.Prev.URL }}"><i class="iconfont icon-chevron-back-circle-sharp"></i></a>
- </div>
- {{ end }}
- {{ range $paginator.Pagers }}
- {{ $.Scratch.Set "pageNumFlag" false }}
- {{ if gt $paginator.TotalPages $maxLinks }}
- {{ if le $paginator.PageNumber $lowerLimit }}
- {{ if le .PageNumber $maxLinks }}
- {{ $.Scratch.Set "pageNumFlag" true }}
- {{ end }}
- {{ else if ge $paginator.PageNumber $upperLimit }}
- {{ if gt .PageNumber (sub $paginator.TotalPages $maxLinks) }}
- {{ $.Scratch.Set "pageNumFlag" true }}
- {{ end }}
- {{ else }}
- {{ if and ( ge .PageNumber (sub $paginator.PageNumber $offsetLinks) ) ( le .PageNumber (add $paginator.PageNumber $offsetLinks) ) }}
- {{ $.Scratch.Set "pageNumFlag" true }}
- {{ end }}
- {{ end }}
- {{ else }}
- {{ $.Scratch.Set "pageNumFlag" true }}
- {{ end }}
- {{ if eq ($.Scratch.Get "pageNumFlag") true }}
- <div class="pag-item{{ if eq . $paginator }} pag-current{{ end }}">
- <a href="{{ .URL }}">{{ .PageNumber }}</a>
- </div>
- {{ end }}
- {{ end }}
- {{ if $paginator.HasNext }}
- <div class="pag-next">
- <a href="{{ $paginator.Next.URL }}"><i class="iconfont icon-chevron-forward-circle-sharp"></i></a>
- </div>
- {{ end }}
- {{ if ne $paginator.PageNumber $paginator.TotalPages }}
- <div class="pag-last">
- <a href="{{ $paginator.Last.URL }}"><i class="iconfont icon-caret-forward-circle-sharp"></i></a>
- </div>
- {{ end }}
-</div>
-{{ end }}
+{{- partial "pagination.html" (dict "context" . "pagi" $paginator) -}}
-{{ end }} \ No newline at end of file
+{{ end }}
diff --git a/layouts/partials/favicon.html b/layouts/partials/favicon.html
index ce75989..3dabd7d 100644
--- a/layouts/partials/favicon.html
+++ b/layouts/partials/favicon.html
@@ -1 +1 @@
-<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/amzrk2/cdn-stcapi@1/favicons/favicon.ico" /> \ No newline at end of file
+<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn@1/images/favicons/dsrca/favicon.ico" />
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
index bdc4891..c11dc42 100644
--- a/layouts/partials/footer.html
+++ b/layouts/partials/footer.html
@@ -9,7 +9,7 @@
<span>&copy; {{ with .Site.Params.copyrightStartYear }}{{ . }}-{{ end }}{{ now.Format "2006" }}
<a href="{{ .Site.BaseURL }}">{{ .Site.Params.author }}</a>
{{ with .Site.Params.sourceURL }} | <a href="{{ . }}">Source code</a> {{ end }}
- | {{ i18n "footerPoweredFront" }}<a href="https://github.com/amzrk2/hugo-theme-fuji/"
+ | {{ i18n "footerPoweredFront" }}<a href="https://github.com/dsrkafuu/hugo-theme-fuji/"
target="_blank">Fuji-v2</a> &amp; <a href="https://gohugo.io/"
target="_blank">Hugo</a>{{ i18n "footerPoweredEnd" }}
</span>
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index bd2eaea..c9f194a 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -39,7 +39,7 @@
{{ with .Site.Params.googleAdsense }}
<script async data-ad-client="ca-pub-{{ . }}" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
{{ end}}
-{{ if .Params.player }}
+{{ if .Params.aplayer }}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer@1.10.1/dist/APlayer.min.css" />
{{ end }}
{{ if .Site.Params.useDisqusJS }}
diff --git a/layouts/partials/pagination.html b/layouts/partials/pagination.html
new file mode 100644
index 0000000..3db973f
--- /dev/null
+++ b/layouts/partials/pagination.html
@@ -0,0 +1,56 @@
+{{- $paginator := .pagi -}}
+{{- $scratch := newScratch -}}
+<!-- custom smart pagination -->
+{{- $offsetLinks := 2 -}}
+{{- $maxLinks := (add (mul $offsetLinks 2) 1) -}}
+{{- $lowerLimit := (add $offsetLinks 1) -}}
+{{- $upperLimit := (sub $paginator.TotalPages $offsetLinks) -}}
+{{- if gt $paginator.TotalPages 1 -}}
+<div class="pagination">
+ {{- if ne $paginator.PageNumber 1 -}}
+ <div class="pag-first">
+ <a href="{{ $paginator.First.URL }}"><i class="iconfont icon-caret-back-circle-sharp"></i></a>
+ </div>
+ {{- end -}}
+ {{- if $paginator.HasPrev -}}
+ <div class="pag-previous">
+ <a href="{{ $paginator.Prev.URL }}"><i class="iconfont icon-chevron-back-circle-sharp"></i></a>
+ </div>
+ {{- end -}}
+ {{- range $paginator.Pagers -}}
+ {{- $scratch.Set "pageNumFlag" false -}}
+ {{- if gt $paginator.TotalPages $maxLinks -}}
+ {{- if le $paginator.PageNumber $lowerLimit -}}
+ {{- if le .PageNumber $maxLinks -}}
+ {{- $scratch.Set "pageNumFlag" true -}}
+ {{- end -}}
+ {{- else if ge $paginator.PageNumber $upperLimit -}}
+ {{- if gt .PageNumber (sub $paginator.TotalPages $maxLinks) -}}
+ {{- $scratch.Set "pageNumFlag" true -}}
+ {{- end -}}
+ {{- else -}}
+ {{- if and ( ge .PageNumber (sub $paginator.PageNumber $offsetLinks) ) ( le .PageNumber (add $paginator.PageNumber $offsetLinks) ) -}}
+ {{- $scratch.Set "pageNumFlag" true -}}
+ {{- end -}}
+ {{- end -}}
+ {{- else -}}
+ {{- $scratch.Set "pageNumFlag" true -}}
+ {{- end -}}
+ {{- if eq ($scratch.Get "pageNumFlag") true -}}
+ <div class="pag-item{{ if eq . $paginator }} pag-current{{ end }}">
+ <a href="{{ .URL }}">{{- .PageNumber -}}</a>
+ </div>
+ {{- end -}}
+ {{- end -}}
+ {{- if $paginator.HasNext -}}
+ <div class="pag-next">
+ <a href="{{ $paginator.Next.URL }}"><i class="iconfont icon-chevron-forward-circle-sharp"></i></a>
+ </div>
+ {{- end -}}
+ {{- if ne $paginator.PageNumber $paginator.TotalPages -}}
+ <div class="pag-last">
+ <a href="{{ $paginator.Last.URL }}"><i class="iconfont icon-caret-forward-circle-sharp"></i></a>
+ </div>
+ {{- end -}}
+</div>
+{{- end -}}
diff --git a/layouts/partials/scripts-end.html b/layouts/partials/scripts-end.html
index 2a2f316..82388cf 100644
--- a/layouts/partials/scripts-end.html
+++ b/layouts/partials/scripts-end.html
@@ -1,10 +1,12 @@
{{ if eq .Section "search" }}
-<script defer src="https://cdn.jsdelivr.net/combine/npm/art-template@4.13.2/lib/template-web.min.js,npm/fuse.js@6.4.1"></script>
+<script defer src="https://cdn.jsdelivr.net/npm/art-template@4.13.2/lib/template-web.min.js"></script>
+<script defer src="https://cdn.jsdelivr.net/npm/fuse.js@6.4.6/dist/fuse.min.js"></script>
{{ else if eq .Section "archives" }}
{{ else }}
-<script defer src="https://cdn.jsdelivr.net/combine/npm/medium-zoom@1.0.6,npm/lazysizes@5.2.2"></script>
-<script defer src="https://cdn.jsdelivr.net/npm/prismjs@1.21.0/components/prism-core.min.js"></script>
-<script defer src="https://cdn.jsdelivr.net/npm/prismjs@1.21.0/plugins/autoloader/prism-autoloader.min.js"></script>
+<script defer src="https://cdn.jsdelivr.net/npm/medium-zoom@1.0.6/dist/medium-zoom.min.js"></script>
+<script defer src="https://cdn.jsdelivr.net/npm/lazysizes@5.3.0/lazysizes.min.js"></script>
+<script defer src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/components/prism-core.min.js"></script>
+<script defer src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/autoloader/prism-autoloader.min.js"></script>
{{ end }}
{{ $options := (dict "targetPath" "assets/js/fuji.min.js" "minify" true "target" "es2015" "format" "iife") }}
{{ $built := resources.Get "js/fuji.js" | js.Build $options }}
@@ -12,33 +14,51 @@
{{ if or .Params.math .Site.Params.math }}
{{ partial "math.html" . }}
{{ end }}
-{{ with .Params.player }}
+{{ with .Params.aplayer }}
<script src="https://cdn.jsdelivr.net/npm/aplayer@1.10.1/dist/APlayer.min.js"></script>
<script>
- // in-post aplayer
- // prettier-ignore
- var aPlayer = new APlayer({
- container: document.getElementById('post-aplayer'),
+ // in-post aplayer
+ var pContainers = document.querySelectorAll('.content article .post-aplayer');
+ if (pContainers && pContainers.length > 0) {
+ pContainers.forEach(function (container) {
+ var attrs = ['urls', 'names', 'artists', 'covers'];
+ attrs = attrs.map(function (attr) {
+ var arr = container.getAttribute('data-' + attr).replace(/( |%20)/ig, '').split(',');
+ if (arr.length > 0){
+ return arr.map(function (val) {
+ return String(val).trim();
+ });
+ } else {
+ return attr;
+ }
+ });
+ var audio = [];
+ for (var i = 0; i < attrs[0].length; i++) {
+ var a = {
+ name: attrs[1][i],
+ url: attrs[0][i],
+ };
+ (typeof attrs[2] !== 'string') && (a.artist = attrs[2][i]);
+ (typeof attrs[3] !== 'string') && (a.cover = attrs[3][i]);
+ audio.push(a);
+ }
+ new APlayer({
+ container: container,
theme: '#8f82bc',
volume: 0.1,
listFolded: true,
- audio: [{{- range $.Params.player -}}
- {
- name: '{{ .playerName }}',
- artist: '{{ .playerArtist }}',
- url: '{{ .playerURL }}',
- cover: '{{ .playerCover }}'
- },
- {{- end -}}]
- });
- // aplayer toc anchors fix
- // see https://github.com/MoePlayer/APlayer/issues/242#issuecomment-602471423
- document.addEventListener('DOMContentLoaded', function () {
- var issueTocEle = document.querySelector('.sidebar-toc');
- if (issueTocEle) {
- var newTocEle = issueTocEle.cloneNode(true);
- issueTocEle.parentNode.replaceChild(newTocEle, issueTocEle);
- }
+ audio: audio
+ });
});
+ }
+ // aplayer toc anchors fix
+ // see https://github.com/MoePlayer/APlayer/issues/242#issuecomment-602471423
+ document.addEventListener('DOMContentLoaded', function () {
+ var issueTocEle = document.querySelector('.sidebar-toc');
+ if (issueTocEle) {
+ var newTocEle = issueTocEle.cloneNode(true);
+ issueTocEle.parentNode.replaceChild(newTocEle, issueTocEle);
+ }
+ });
</script>
{{ end }} \ No newline at end of file
diff --git a/layouts/partials/scripts-front.html b/layouts/partials/scripts-front.html
index c28912a..c802702 100644
--- a/layouts/partials/scripts-front.html
+++ b/layouts/partials/scripts-front.html
@@ -10,4 +10,4 @@
document.body.setAttribute('data-theme', fujiThemeData === 'dark' ? 'dark' : 'light');
}
}
-</script>
+</script> \ No newline at end of file
diff --git a/layouts/shortcodes/aplayer.html b/layouts/shortcodes/aplayer.html
new file mode 100644
index 0000000..ac56aaa
--- /dev/null
+++ b/layouts/shortcodes/aplayer.html
@@ -0,0 +1,9 @@
+<div class="post-player-wrapper">
+ <div
+ class="post-aplayer"
+ data-urls="{{- .Get "urls" -}}"
+ data-names="{{- .Get "names" -}}"
+ {{ with .Get "artists" -}}data-artists="{{- . -}}"{{- end }}
+ {{ with .Get "covers" -}}data-covers="{{- . -}}"{{- end }}
+ ></div>
+</div> \ No newline at end of file
diff --git a/package.json b/package.json
index 2a27fe9..66d1af5 100644
--- a/package.json
+++ b/package.json
@@ -1,22 +1,22 @@
{
"name": "hugo-theme-fuji",
- "version": "2.4.0",
+ "version": "2.6.0",
"description": "A minimal Hugo theme with nice theme color. | 一个主题色极简 Hugo 主题。",
"repository": {
"type": "git",
- "url": "git+https://github.com/amzrk2/hugo-theme-fuji.git"
+ "url": "git+https://github.com/dsrkafuu/hugo-theme-fuji.git"
},
"keywords": [
"hugo",
"theme",
"fuji"
],
- "author": "DSRKafuU <amzrk2@outlook.com> (https://amzrk2.cc/)",
+ "author": "DSRKafuU <dsrkafuu@outlook.com> (https://dsrkafuu.su/)",
"license": "Apache-2.0",
"bugs": {
- "url": "https://github.com/amzrk2/hugo-theme-fuji/issues"
+ "url": "https://github.com/dsrkafuu/hugo-theme-fuji/issues"
},
- "homepage": "https://github.com/amzrk2/hugo-theme-fuji#readme",
+ "homepage": "https://github.com/dsrkafuu/hugo-theme-fuji#readme",
"dependencies": {
"@primer/css": "15.1.0"
}
diff --git a/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content b/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content
index a1e7da5..be3e6fa 100644
--- a/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content
+++ b/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content
@@ -1 +1 @@
-@font-face{font-family:'Product Sans';font-style:normal;font-weight:700;font-display:swap;src:local("Product Sans Bold"),local("ProductSans-Bold"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@1.5.0/product-sans/product-sans-bold.woff2") format("woff2");unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'Cascadia Code';font-style:normal;font-display:swap;src:local("Cascadia Code Regular"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@1.5.0/cascadia-code/cascadia.woff2") format("woff2")}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{display:flex;flex-direction:column;height:100%;scroll-behavior:smooth}main{flex:1 1 auto}.container-lg{display:flex;flex-direction:row}@media screen and (max-width: 768px){.container-lg{flex-direction:column}}a:hover{text-decoration:none !important}/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none !important}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background-color:#ff0;color:#1b1f23}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:600}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:0.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*{box-sizing:border-box}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;color:#24292e;background-color:#fff}a{color:#0366d6;text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:600}hr,.rule{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid #dfe2e5}hr::before,.rule::before{display:table;content:""}hr::after,.rule::after{display:table;clear:both;content:""}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}button{cursor:pointer;border-radius:0}[hidden][hidden]{display:none !important}details summary{cursor:pointer}details:not([open])>*:not(summary){display:none !important}kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0}h1{font-size:32px;font-weight:600}h2{font-size:24px;font-weight:600}h3{font-size:20px;font-weight:600}h4{font-size:16px;font-weight:600}h5{font-size:14px;font-weight:600}h6{font-size:12px;font-weight:600}p{margin-top:0;margin-bottom:10px}small{font-size:90%}blockquote{margin:0}ul,ol{padding-left:0;margin-top:0;margin-bottom:0}ol ol,ul ol{list-style-type:lower-roman}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}dd{margin-left:0}tt,code{font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}pre{margin-top:0;margin-bottom:0;font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}.octicon{vertical-align:text-bottom}.container-sm{max-width:544px;margin-right:auto;margin-left:auto}.container-md{max-width:768px;margin-right:auto;margin-left:auto}.container-lg{max-width:1012px;margin-right:auto;margin-left:auto}.container-xl{max-width:1280px;margin-right:auto;margin-left:auto}.col-1{width:8.33333333%}.col-2{width:16.66666667%}.col-3{width:25%}.col-4{width:33.33333333%}.col-5{width:41.66666667%}.col-6{width:50%}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{width:75%}.col-10{width:83.33333333%}.col-11{width:91.66666667%}.col-12{width:100%}@media (min-width: 544px){.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}}@media (min-width: 768px){.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}}@media (min-width: 1012px){.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}}@media (min-width: 1280px){.col-xl-1{width:8.33333333%}.col-xl-2{width:16.66666667%}.col-xl-3{width:25%}.col-xl-4{width:33.33333333%}.col-xl-5{width:41.66666667%}.col-xl-6{width:50%}.col-xl-7{width:58.33333333%}.col-xl-8{width:66.66666667%}.col-xl-9{width:75%}.col-xl-10{width:83.33333333%}.col-xl-11{width:91.66666667%}.col-xl-12{width:100%}}.gutter{margin-right:-16px;margin-left:-16px}.gutter>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-condensed{margin-right:-8px;margin-left:-8px}.gutter-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-spacious{margin-right:-24px;margin-left:-24px}.gutter-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}@media (min-width: 544px){.gutter-sm{margin-right:-16px;margin-left:-16px}.gutter-sm>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-sm-condensed{margin-right:-8px;margin-left:-8px}.gutter-sm-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-sm-spacious{margin-right:-24px;margin-left:-24px}.gutter-sm-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 768px){.gutter-md{margin-right:-16px;margin-left:-16px}.gutter-md>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-md-condensed{margin-right:-8px;margin-left:-8px}.gutter-md-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-md-spacious{margin-right:-24px;margin-left:-24px}.gutter-md-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1012px){.gutter-lg{margin-right:-16px;margin-left:-16px}.gutter-lg>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-lg-condensed{margin-right:-8px;margin-left:-8px}.gutter-lg-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-lg-spacious{margin-right:-24px;margin-left:-24px}.gutter-lg-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1280px){.gutter-xl{margin-right:-16px;margin-left:-16px}.gutter-xl>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-xl-condensed{margin-right:-8px;margin-left:-8px}.gutter-xl-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-xl-spacious{margin-right:-24px;margin-left:-24px}.gutter-xl-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#cb2431}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.markdown-body blockquote{padding:0 1em;color:#6a737d;border-left:0.25em solid #dfe2e5}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}.markdown-body h1{padding-bottom:0.3em;font-size:2em;border-bottom:1px solid #eaecef}.markdown-body h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eaecef}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:0.875em}.markdown-body h6{font-size:0.85em;color:#6a737d}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table:not(.highlight){display:block;width:100%;width:max-content;max-width:100%;overflow:auto}.markdown-body table:not(.highlight) th{font-weight:600}.markdown-body table:not(.highlight) th,.markdown-body table:not(.highlight) td{padding:6px 13px;border:1px solid #dfe2e5}.markdown-body table:not(.highlight) tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table:not(.highlight) tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table:not(.highlight) img{background-color:transparent}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #dfe2e5}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#24292e}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}@media (min-width: 544px){.position-sm-static{position:static !important}.position-sm-relative{position:relative !important}.position-sm-absolute{position:absolute !important}.position-sm-fixed{position:fixed !important}.position-sm-sticky{position:sticky !important}}@media (min-width: 768px){.position-md-static{position:static !important}.position-md-relative{position:relative !important}.position-md-absolute{position:absolute !important}.position-md-fixed{position:fixed !important}.position-md-sticky{position:sticky !important}}@media (min-width: 1012px){.position-lg-static{position:static !important}.position-lg-relative{position:relative !important}.position-lg-absolute{position:absolute !important}.position-lg-fixed{position:fixed !important}.position-lg-sticky{position:sticky !important}}@media (min-width: 1280px){.position-xl-static{position:static !important}.position-xl-relative{position:relative !important}.position-xl-absolute{position:absolute !important}.position-xl-fixed{position:fixed !important}.position-xl-sticky{position:sticky !important}}.top-0{top:0 !important}.right-0{right:0 !important}.bottom-0{bottom:0 !important}.left-0{left:0 !important}.v-align-middle{vertical-align:middle !important}.v-align-top{vertical-align:top !important}.v-align-bottom{vertical-align:bottom !important}.v-align-text-top{vertical-align:text-top !important}.v-align-text-bottom{vertical-align:text-bottom !important}.v-align-baseline{vertical-align:baseline !important}.overflow-visible{overflow:visible !important}.overflow-x-visible{overflow-x:visible !important}.overflow-y-visible{overflow-y:visible !important}.overflow-hidden{overflow:hidden !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-auto{overflow:auto !important}.overflow-x-auto{overflow-x:auto !important}.overflow-y-auto{overflow-y:auto !important}.overflow-scroll{overflow:scroll !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-scroll{overflow-y:scroll !important}.clearfix::before{display:table;content:""}.clearfix::after{display:table;clear:both;content:""}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 544px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 1012px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1280px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.width-fit{max-width:100% !important}.width-full{width:100% !important}.height-fit{max-height:100% !important}.height-full{height:100% !important}.min-width-0{min-width:0 !important}.width-auto{width:auto !important}.direction-rtl{direction:rtl !important}.direction-ltr{direction:ltr !important}@media (min-width: 544px){.width-sm-auto{width:auto !important}.direction-sm-rtl{direction:rtl !important}.direction-sm-ltr{direction:ltr !important}}@media (min-width: 768px){.width-md-auto{width:auto !important}.direction-md-rtl{direction:rtl !important}.direction-md-ltr{direction:ltr !important}}@media (min-width: 1012px){.width-lg-auto{width:auto !important}.direction-lg-rtl{direction:rtl !important}.direction-lg-ltr{direction:ltr !important}}@media (min-width: 1280px){.width-xl-auto{width:auto !important}.direction-xl-rtl{direction:rtl !important}.direction-xl-ltr{direction:ltr !important}}@font-face{font-family:'iconfont';src:url("../iconfont/iconfont.woff2") format("woff2"),url("../iconfont/iconfont.woff") format("woff"),url("../iconfont/iconfont.ttf") format("truetype"),url("../iconfont/iconfont.svg") format("svg")}.iconfont{font-family:'iconfont' !important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-grid-sharp:before{content:'\e612'}.icon-search-circle-sharp:before{content:'\e60c'}.icon-chevron-back-circle-sharp:before{content:'\e608'}.icon-caret-back-circle-sharp:before{content:'\e609'}.icon-chevron-forward-circle-sharp:before{content:'\e60a'}.icon-caret-forward-circle-sharp:before{content:'\e60b'}.icon-today-sharp:before{content:'\e607'}.icon-chevron-up-circle-sharp:before{content:'\e606'}.icon-contrast-sharp:before{content:'\e601'}.icon-file-tray-sharp:before{content:'\e602'}.icon-pricetags-sharp:before{content:'\e603'}.icon-chatbox-ellipses-sharp:before{content:'\e604'}.icon-time-sharp:before{content:'\e605'}header .header{padding:1.75rem 1.5rem 2rem 1.5rem}header .title-main{font-size:2.5rem;font-family:"Product Sans",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-weight:700;white-space:nowrap}header .title-sub{margin:0 0.1rem;display:block;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}header .title-sub::-webkit-scrollbar{display:none}.content{padding:1.5rem 1.5rem 0 1.5rem}.post:not(:first-child){padding:1.5rem 0}.post:first-child{padding:0 0 1.5rem 0}.post-title{font-size:1.75rem}.post-meta{display:flex;align-items:center;margin:0.5rem 0.1rem 1rem 0.1rem;flex-wrap:wrap}.post-meta span{display:flex;align-items:center}.post-meta span:not(:last-child){padding-right:1.5rem}.post-summary{margin:0 0.1rem}.post-summary p:last-child{margin-bottom:0}.post-summary h1,.post-summary h2,.post-summary h3,.post-summary h4,.post-summary h5,.post-summary h6{display:none}.post-meta-archive{display:flex;align-items:center;margin:0.5rem 0.1rem 0 0.1rem;flex-wrap:wrap}.post-meta-archive span{display:flex;align-items:center}.post-meta-archive span:not(:last-child){padding-right:1.5rem}.pagination{display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1.25rem;padding:1.25rem 0}.pagination div{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.pagination div a{display:flex;align-items:center}.page-info{padding:0 0.1rem 1.5rem 0.1rem}article{padding-bottom:1.5rem}article .post-content{margin:1.25rem 0.1rem 0 0.1rem}.license{margin-bottom:1.5rem}.post-loading{margin:0 0 1.5rem 0;padding-top:1.5rem;text-align:center}.post-loading i{font-size:1.25rem}.post-loading p{margin:0.5rem 0 0 0}.markdown-body h1{font-size:1.75rem;margin-top:1.5rem}.markdown-body h2{font-size:1.5rem;margin-top:1.375rem}.markdown-body h3{font-size:1.25rem;margin-top:1.25rem}.markdown-body h4{margin-top:1.25rem}.markdown-body ul{list-style-type:circle}.markdown-body img{max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.markdown-body .table-dense{font-size:0.875rem}.markdown-body .table-dense td,.markdown-body .table-dense th{padding:4px 8px !important}.post-comment span.post-comment-notloaded{display:flex;align-items:center;justify-content:center}#disqus_thread{padding:1.25rem 0}#search-result .post:first-child{padding:1.5rem 0}.search-result-info{padding:1rem 0.1rem}.search-input{display:flex;height:2.5rem;align-items:center;padding-left:0.5rem;width:100%}.search-input input{width:100%;min-width:0;flex:1 1 auto;height:2rem}.search-input button{flex:0 1 auto;padding:0 0.5rem;word-break:keep-all;height:2.5rem}.search-input button:hover i{color:var(--color-primary)}.search-input button i{color:var(--color-mute);height:100%;font-size:1.6rem}.sidebar{padding:1.5rem 1.5rem 1.5rem 0}.sidebar-item:not(:last-child){margin-bottom:1rem}.sidebar-item h3{margin-bottom:0.25rem}.sidebar-item ul{list-style-type:none;margin:0 0.1rem}.sidebar-item>div,.sidebar-item>nav{margin:0 0.1rem}.sidebar-item>img{margin:0.5rem 0.25rem 0 0.25rem;width:100%;border-radius:2px}@media screen and (max-width: 768px){.sidebar{display:none !important}}@media screen and (max-width: 768px){.sidebar-mobile{width:70%;position:fixed;top:0;right:0;bottom:0%;background-color:var(--color-codebg);z-index:50;overflow:auto;display:flex;flex-direction:column-reverse}.sidebar-mobile .sidebar-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:space-around;margin:1.5rem 4.25rem 1.5rem 1.5rem}.sidebar-mobile .sidebar-item{width:90%;text-align:right;margin-top:1rem}.sidebar-mobile .sidebar-item:last-child{margin-top:0}}@media screen and (min-width: 768px){.sidebar-toc{position:sticky;top:1rem}.sidebar-toc ul ul{font-size:0.875rem;padding-left:0.5rem;margin-bottom:0.25rem}.sidebar-toc #TableOfContents{max-height:32rem;overflow:auto;scrollbar-width:thin}}footer .footer{padding:2rem 1.5rem;text-align:center}footer .footer i{font-size:0.875rem}.btn{position:fixed;right:1.5rem;bottom:1.5rem;width:2.5rem;display:flex;justify-content:space-between;flex-direction:column;z-index:100}.btn div{flex:0 1 auto;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem}.btn div:first-child{border-radius:0.25rem 0.25rem 0 0;font-size:1.125rem}.btn div:last-child{border-radius:0 0 0.25rem 0.25rem;font-size:1.325rem}@media screen and (min-width: 768px){.btn div:first-child{display:none}.btn div:nth-child(2){border-radius:0.25rem 0.25rem 0 0}}#post-aplayer{margin:0 0.125rem 1.25rem 0.125rem;font-family:inherit}body[data-theme='auto']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}@media (prefers-color-scheme: dark){body[data-theme='auto']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='auto'] table:not(.highlight) th,body[data-theme='auto'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='auto'] #post-aplayer{background-color:var(--color-divider)}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}}body[data-theme='light']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}body[data-theme='dark']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='dark'] table:not(.highlight) th,body[data-theme='dark'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='dark'] #post-aplayer{background-color:var(--color-divider)}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}::selection,::-moz-selection{color:var(--color-bg);background-color:var(--color-primary)}body{background-color:var(--color-bg);color:var(--color-font)}body a{color:var(--color-primary)}body a:hover{color:var(--color-secondary)}.post-summary a,.post-meta a{color:var(--color-secondary)}.post-summary a:hover,.post-meta a:hover{color:var(--color-focus)}.pag-current a,.pag-current a:hover{color:var(--color-focus)}.title-sub,.post-meta{color:var(--color-mute)}header,.page-info{border-bottom:2px solid var(--color-divider)}.post+.post,.pagination,footer{border-top:2px solid var(--color-divider)}.post-meta-archive{color:var(--color-mute)}.post-meta-archive a{color:var(--color-secondary)}.post-meta-archive a:hover{color:var(--color-focus)}@media screen and (max-width: 768px){.sidebar{border-top:2px solid var(--color-divider)}}.post-content a{color:var(--color-secondary)}.post-content a:hover{color:var(--color-focus)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--color-primary)}.markdown-body strong,.markdown-body em{color:var(--color-secondary)}.markdown-body h1,.markdown-body h2{border-bottom:2px solid var(--color-divider)}.markdown-body blockquote{color:var(--color-mute)}.markdown-body img{border-radius:2px;background-color:inherit}.markdown-body hr{height:2px}.markdown-body pre,.markdown-body code{background-color:var(--color-codebg)}.post-loading{border-top:2px solid var(--color-divider)}.post-comment{border-top:2px solid var(--color-divider)}.post-comment span.post-comment-notloaded{padding:1.5rem 0;color:var(--color-secondary);cursor:pointer}.post-comment span.post-comment-notloaded:hover{color:var(--color-focus)}.btn div{background-color:var(--color-divider);color:var(--color-primary)}.btn div:hover{background-color:var(--color-primary);color:var(--color-divider)}.btn div+div{border-top:2px solid var(--color-bg)}code[class*='language-'],pre[class*='language-']{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:0.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:600}.token.italic{font-style:italic}pre .rule,code .rule{margin:0;border-bottom:none;overflow:inherit}pre .rule::before,pre .rule::after,code .rule::before,code .rule::after{display:inherit;clear:inherit}#dsqjs a{text-decoration:none !important;color:var(--color-secondary) !important}#dsqjs a:hover{color:var(--color-focus) !important}#dsqjs .dsqjs-bullet::after{color:var(--color-mute) !important;font-weight:600 !important}#dsqjs .dsqjs-no-comment{color:var(--color-font) !important}#dsqjs .dsqjs-nav-tab{color:var(--color-mute) !important}#dsqjs .dsqjs-tab-active{color:var(--color-font) !important}#dsqjs .dsqjs-tab-active>span:after{background-color:var(--color-secondary) !important}#dsqjs .dsqjs-post-list .dsqjs-post-avatar{background:var(--color-bg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-post-author{color:var(--color-mute) !important;font-weight:600}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-admin-badge{color:var(--color-font) !important;background:var(--color-codebg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-meta{color:var(--color-mute) !important}#dsqjs .dsqjs-post-body{color:var(--color-font) !important}#dsqjs .dsqjs-post-body code,#dsqjs .dsqjs-post-body pre{background:var(--color-codebg) !important}#dsqjs .dsqjs-post-body blockquote{color:var(--color-codebg) !important;border-left:0.25em solid var(--color-divider) !important}#dsqjs .dsqjs-load-more{background:var(--color-mute) !important;color:var(--color-bg) !important}#dsqjs footer{border-top:2px solid var(--color-divider) !important;font-weight:600 !important;color:var(--color-mute) !important}#dsqjs .dsqjs-order-radio:checked+.dsqjs-order-label{color:var(--color-font) !important;background-color:var(--color-divider) !important}#dsqjs .dsqjs-order-label{background-color:var(--color-bg) !important}#dsqjs p.dsqjs-has-more a.dsqjs-has-more-btn{color:var(--color-mute) !important}.search-result-info{border-bottom:2px solid var(--color-divider)}.search-input{border-top:2px solid;border-left:2px solid;border-bottom:2px solid;border-right:none;border-radius:0.25rem;border-color:var(--color-divider);background-color:var(--color-bg)}.search-input:hover,.search-input:focus-within{color:var(--color-primary);border-color:var(--color-primary)}.search-input input{outline:none;border:none;color:inherit;background-color:inherit}.search-input button{outline:none;border-top:2px solid;border-left:none;border-right:2px solid;border-bottom:2px solid;border-radius:0 0.25rem 0.25rem 0;border-color:inherit;color:inherit;background-color:inherit}.search-input button:hover{color:var(--color-secondary)}.image-wrapper{position:relative;display:block;width:100%;height:0;overflow:hidden;background-color:var(--color-divider);border-radius:3px;max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.image-wrapper img{display:block;width:100%;max-width:100%;margin:0;overflow:hidden}.ratio-40x9{padding-bottom:22.5%}.ratio-32x9{padding-bottom:28.125%}.ratio-21x9{padding-bottom:42.85714286%}.ratio-18x9{padding-bottom:50%}.ratio-16x9{padding-bottom:56.25%}.ratio-16x10{padding-bottom:62.5%}.ratio-3x2{padding-bottom:66.66666667%}.ratio-4x3{padding-bottom:75%}.ratio-1x1{padding-bottom:100%}.ratio-3x4{padding-bottom:133.33333333%}.ratio-2x3{padding-bottom:150%}.ratio-10x16{padding-bottom:160%}.ratio-9x16{padding-bottom:177.77777778%}.ratio-9x18{padding-bottom:200%}.ratio-9x21{padding-bottom:233.33333333%}.ratio-9x32{padding-bottom:355.55555556%}
+@font-face{font-family:'Product Sans';font-style:normal;font-weight:700;font-display:swap;src:local("Product Sans Bold"),local("ProductSans-Bold"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/product-sans/product-sans-bold.woff2") format("woff2")}@font-face{font-family:'Cascadia Code';font-style:normal;font-display:swap;src:local("Cascadia Code Regular"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/cascadia-code/cascadia-code.woff2") format("woff2")}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{display:flex;flex-direction:column;height:100%;scroll-behavior:smooth}main{flex:1 1 auto}.container-lg{display:flex;flex-direction:row}@media screen and (max-width: 768px){.container-lg{flex-direction:column}}a:hover{text-decoration:none !important}/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none !important}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background-color:#ff0;color:#1b1f23}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:600}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:0.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*{box-sizing:border-box}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;color:#24292e;background-color:#fff}a{color:#0366d6;text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:600}hr,.rule{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid #dfe2e5}hr::before,.rule::before{display:table;content:""}hr::after,.rule::after{display:table;clear:both;content:""}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}button{cursor:pointer;border-radius:0}[hidden][hidden]{display:none !important}details summary{cursor:pointer}details:not([open])>*:not(summary){display:none !important}kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0}h1{font-size:32px;font-weight:600}h2{font-size:24px;font-weight:600}h3{font-size:20px;font-weight:600}h4{font-size:16px;font-weight:600}h5{font-size:14px;font-weight:600}h6{font-size:12px;font-weight:600}p{margin-top:0;margin-bottom:10px}small{font-size:90%}blockquote{margin:0}ul,ol{padding-left:0;margin-top:0;margin-bottom:0}ol ol,ul ol{list-style-type:lower-roman}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}dd{margin-left:0}tt,code{font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}pre{margin-top:0;margin-bottom:0;font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}.octicon{vertical-align:text-bottom}.container-sm{max-width:544px;margin-right:auto;margin-left:auto}.container-md{max-width:768px;margin-right:auto;margin-left:auto}.container-lg{max-width:1012px;margin-right:auto;margin-left:auto}.container-xl{max-width:1280px;margin-right:auto;margin-left:auto}.col-1{width:8.33333333%}.col-2{width:16.66666667%}.col-3{width:25%}.col-4{width:33.33333333%}.col-5{width:41.66666667%}.col-6{width:50%}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{width:75%}.col-10{width:83.33333333%}.col-11{width:91.66666667%}.col-12{width:100%}@media (min-width: 544px){.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}}@media (min-width: 768px){.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}}@media (min-width: 1012px){.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}}@media (min-width: 1280px){.col-xl-1{width:8.33333333%}.col-xl-2{width:16.66666667%}.col-xl-3{width:25%}.col-xl-4{width:33.33333333%}.col-xl-5{width:41.66666667%}.col-xl-6{width:50%}.col-xl-7{width:58.33333333%}.col-xl-8{width:66.66666667%}.col-xl-9{width:75%}.col-xl-10{width:83.33333333%}.col-xl-11{width:91.66666667%}.col-xl-12{width:100%}}.gutter{margin-right:-16px;margin-left:-16px}.gutter>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-condensed{margin-right:-8px;margin-left:-8px}.gutter-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-spacious{margin-right:-24px;margin-left:-24px}.gutter-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}@media (min-width: 544px){.gutter-sm{margin-right:-16px;margin-left:-16px}.gutter-sm>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-sm-condensed{margin-right:-8px;margin-left:-8px}.gutter-sm-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-sm-spacious{margin-right:-24px;margin-left:-24px}.gutter-sm-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 768px){.gutter-md{margin-right:-16px;margin-left:-16px}.gutter-md>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-md-condensed{margin-right:-8px;margin-left:-8px}.gutter-md-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-md-spacious{margin-right:-24px;margin-left:-24px}.gutter-md-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1012px){.gutter-lg{margin-right:-16px;margin-left:-16px}.gutter-lg>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-lg-condensed{margin-right:-8px;margin-left:-8px}.gutter-lg-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-lg-spacious{margin-right:-24px;margin-left:-24px}.gutter-lg-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1280px){.gutter-xl{margin-right:-16px;margin-left:-16px}.gutter-xl>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-xl-condensed{margin-right:-8px;margin-left:-8px}.gutter-xl-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-xl-spacious{margin-right:-24px;margin-left:-24px}.gutter-xl-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#cb2431}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.markdown-body blockquote{padding:0 1em;color:#6a737d;border-left:0.25em solid #dfe2e5}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}.markdown-body h1{padding-bottom:0.3em;font-size:2em;border-bottom:1px solid #eaecef}.markdown-body h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eaecef}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:0.875em}.markdown-body h6{font-size:0.85em;color:#6a737d}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table:not(.highlight){display:block;width:100%;width:max-content;max-width:100%;overflow:auto}.markdown-body table:not(.highlight) th{font-weight:600}.markdown-body table:not(.highlight) th,.markdown-body table:not(.highlight) td{padding:6px 13px;border:1px solid #dfe2e5}.markdown-body table:not(.highlight) tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table:not(.highlight) tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table:not(.highlight) img{background-color:transparent}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #dfe2e5}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#24292e}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}@media (min-width: 544px){.position-sm-static{position:static !important}.position-sm-relative{position:relative !important}.position-sm-absolute{position:absolute !important}.position-sm-fixed{position:fixed !important}.position-sm-sticky{position:sticky !important}}@media (min-width: 768px){.position-md-static{position:static !important}.position-md-relative{position:relative !important}.position-md-absolute{position:absolute !important}.position-md-fixed{position:fixed !important}.position-md-sticky{position:sticky !important}}@media (min-width: 1012px){.position-lg-static{position:static !important}.position-lg-relative{position:relative !important}.position-lg-absolute{position:absolute !important}.position-lg-fixed{position:fixed !important}.position-lg-sticky{position:sticky !important}}@media (min-width: 1280px){.position-xl-static{position:static !important}.position-xl-relative{position:relative !important}.position-xl-absolute{position:absolute !important}.position-xl-fixed{position:fixed !important}.position-xl-sticky{position:sticky !important}}.top-0{top:0 !important}.right-0{right:0 !important}.bottom-0{bottom:0 !important}.left-0{left:0 !important}.v-align-middle{vertical-align:middle !important}.v-align-top{vertical-align:top !important}.v-align-bottom{vertical-align:bottom !important}.v-align-text-top{vertical-align:text-top !important}.v-align-text-bottom{vertical-align:text-bottom !important}.v-align-baseline{vertical-align:baseline !important}.overflow-visible{overflow:visible !important}.overflow-x-visible{overflow-x:visible !important}.overflow-y-visible{overflow-y:visible !important}.overflow-hidden{overflow:hidden !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-auto{overflow:auto !important}.overflow-x-auto{overflow-x:auto !important}.overflow-y-auto{overflow-y:auto !important}.overflow-scroll{overflow:scroll !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-scroll{overflow-y:scroll !important}.clearfix::before{display:table;content:""}.clearfix::after{display:table;clear:both;content:""}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 544px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 1012px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1280px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.width-fit{max-width:100% !important}.width-full{width:100% !important}.height-fit{max-height:100% !important}.height-full{height:100% !important}.min-width-0{min-width:0 !important}.width-auto{width:auto !important}.direction-rtl{direction:rtl !important}.direction-ltr{direction:ltr !important}@media (min-width: 544px){.width-sm-auto{width:auto !important}.direction-sm-rtl{direction:rtl !important}.direction-sm-ltr{direction:ltr !important}}@media (min-width: 768px){.width-md-auto{width:auto !important}.direction-md-rtl{direction:rtl !important}.direction-md-ltr{direction:ltr !important}}@media (min-width: 1012px){.width-lg-auto{width:auto !important}.direction-lg-rtl{direction:rtl !important}.direction-lg-ltr{direction:ltr !important}}@media (min-width: 1280px){.width-xl-auto{width:auto !important}.direction-xl-rtl{direction:rtl !important}.direction-xl-ltr{direction:ltr !important}}@font-face{font-family:'iconfont';src:url("../iconfont/iconfont.woff2") format("woff2"),url("../iconfont/iconfont.woff") format("woff"),url("../iconfont/iconfont.ttf") format("truetype"),url("../iconfont/iconfont.svg") format("svg")}.iconfont{font-family:'iconfont' !important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-grid-sharp:before{content:'\e612'}.icon-search-circle-sharp:before{content:'\e60c'}.icon-chevron-back-circle-sharp:before{content:'\e608'}.icon-caret-back-circle-sharp:before{content:'\e609'}.icon-chevron-forward-circle-sharp:before{content:'\e60a'}.icon-caret-forward-circle-sharp:before{content:'\e60b'}.icon-today-sharp:before{content:'\e607'}.icon-chevron-up-circle-sharp:before{content:'\e606'}.icon-contrast-sharp:before{content:'\e601'}.icon-file-tray-sharp:before{content:'\e602'}.icon-pricetags-sharp:before{content:'\e603'}.icon-chatbox-ellipses-sharp:before{content:'\e604'}.icon-time-sharp:before{content:'\e605'}header .header{padding:1.75rem 1.5rem 2rem 1.5rem}header .title-main{font-size:2.5rem;font-family:"Product Sans",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-weight:700;white-space:nowrap}header .title-sub{margin:0 0.1rem;display:block;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}header .title-sub::-webkit-scrollbar{display:none}.content{padding:1.5rem 1.5rem 0 1.5rem}.post:not(:first-child){padding:1.5rem 0}.post:first-child{padding:0 0 1.5rem 0}.post-title{font-size:1.75rem}.post-meta{display:flex;align-items:center;margin:0.5rem 0.1rem 1rem 0.1rem;flex-wrap:wrap}.post-meta span{display:flex;align-items:center}.post-meta span:not(:last-child){padding-right:1.5rem}.post-summary{margin:0 0.1rem}.post-summary p:last-child{margin-bottom:0}.post-summary h1,.post-summary h2,.post-summary h3,.post-summary h4,.post-summary h5,.post-summary h6{display:none}.post-meta-archive{display:flex;align-items:center;margin:0.5rem 0.1rem 0 0.1rem;flex-wrap:wrap}.post-meta-archive span{display:flex;align-items:center}.post-meta-archive span:not(:last-child){padding-right:1.5rem}.pagination{display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1.25rem;padding:1.25rem 0}.pagination div{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.pagination div a{display:flex;align-items:center}.page-info{padding:0 0.1rem 1.5rem 0.1rem}article{padding-bottom:1.5rem}article .post-content{margin:1.25rem 0.1rem 0 0.1rem}.license{margin-bottom:1.5rem}.post-loading{margin:0 0 1.5rem 0;padding-top:1.5rem;text-align:center}.post-loading i{font-size:1.25rem}.post-loading p{margin:0.5rem 0 0 0}.markdown-body h1{font-size:1.75rem;margin-top:1.5rem}.markdown-body h2{font-size:1.5rem;margin-top:1.375rem}.markdown-body h3{font-size:1.25rem;margin-top:1.25rem}.markdown-body h4{margin-top:1.25rem}.markdown-body ul{list-style-type:circle}.markdown-body img{max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.markdown-body .table-dense{font-size:0.875rem}.markdown-body .table-dense td,.markdown-body .table-dense th{padding:4px 8px !important}.post-comment span.post-comment-notloaded{display:flex;align-items:center;justify-content:center}#disqus_thread{padding:1.25rem 0}#search-result .post:first-child{padding:1.5rem 0}.search-result-info{padding:1rem 0.1rem}.search-input{display:flex;height:2.5rem;align-items:center;padding-left:0.5rem;width:100%}.search-input input{width:100%;min-width:0;flex:1 1 auto;height:2rem}.search-input button{flex:0 1 auto;padding:0 0.5rem;word-break:keep-all;height:2.5rem}.search-input button:hover i{color:var(--color-primary)}.search-input button i{color:var(--color-mute);height:100%;font-size:1.6rem}.sidebar{padding:1.5rem 1.5rem 1.5rem 0}.sidebar-item:not(:last-child){margin-bottom:1rem}.sidebar-item h3{margin-bottom:0.25rem}.sidebar-item ul{list-style-type:none;margin:0 0.1rem}.sidebar-item>div,.sidebar-item>nav{margin:0 0.1rem}.sidebar-item>img{margin:0.5rem 0.25rem 0 0.25rem;width:100%;border-radius:2px}@media screen and (max-width: 768px){.sidebar{display:none !important}}@media screen and (max-width: 768px){.sidebar-mobile{width:70%;position:fixed;top:0;right:0;bottom:0%;background-color:var(--color-codebg);z-index:50;overflow:auto;display:flex;flex-direction:column-reverse}.sidebar-mobile .sidebar-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:space-around;margin:1.5rem 4.25rem 1.5rem 1.5rem}.sidebar-mobile .sidebar-item{width:90%;text-align:right;margin-top:1rem}.sidebar-mobile .sidebar-item:last-child{margin-top:0}}@media screen and (min-width: 768px){.sidebar-toc{position:sticky;top:1rem}.sidebar-toc ul ul{font-size:0.875rem;padding-left:0.5rem;margin-bottom:0.25rem}.sidebar-toc #TableOfContents{max-height:32rem;overflow:auto;scrollbar-width:thin}}footer .footer{padding:2rem 1.5rem;text-align:center}footer .footer i{font-size:0.875rem}.btn{position:fixed;right:1.5rem;bottom:1.5rem;width:2.5rem;display:flex;justify-content:space-between;flex-direction:column;z-index:100}.btn div{flex:0 1 auto;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem}.btn div:first-child{border-radius:0.25rem 0.25rem 0 0;font-size:1.125rem}.btn div:last-child{border-radius:0 0 0.25rem 0.25rem;font-size:1.325rem}@media screen and (min-width: 768px){.btn div:first-child{display:none}.btn div:nth-child(2){border-radius:0.25rem 0.25rem 0 0}}.post-player-wrapper{margin:0.25rem 0.125rem 1rem 0.125rem !important;font-family:inherit !important}.post-player{font-family:inherit !important}.post-summary .post-player-wrapper{display:none}body[data-theme='auto']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}@media (prefers-color-scheme: dark){body[data-theme='auto']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='auto'] table:not(.highlight) th,body[data-theme='auto'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='auto'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}}body[data-theme='light']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}body[data-theme='dark']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='dark'] table:not(.highlight) th,body[data-theme='dark'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='dark'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}::selection,::-moz-selection{color:var(--color-bg);background-color:var(--color-primary)}body{background-color:var(--color-bg);color:var(--color-font)}body a{color:var(--color-primary)}body a:hover{color:var(--color-secondary)}.post-summary a,.post-meta a{color:var(--color-secondary)}.post-summary a:hover,.post-meta a:hover{color:var(--color-focus)}.pag-current a,.pag-current a:hover{color:var(--color-focus)}.title-sub,.post-meta{color:var(--color-mute)}header,.page-info{border-bottom:2px solid var(--color-divider)}.post+.post,.pagination,footer{border-top:2px solid var(--color-divider)}.post-meta-archive{color:var(--color-mute)}.post-meta-archive a{color:var(--color-secondary)}.post-meta-archive a:hover{color:var(--color-focus)}@media screen and (max-width: 768px){.sidebar{border-top:2px solid var(--color-divider)}}.post-content a{color:var(--color-secondary)}.post-content a:hover{color:var(--color-focus)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--color-primary)}.markdown-body strong,.markdown-body em{color:var(--color-secondary)}.markdown-body h1,.markdown-body h2{border-bottom:2px solid var(--color-divider)}.markdown-body blockquote{color:var(--color-mute)}.markdown-body img{border-radius:2px;background-color:inherit}.markdown-body hr{height:2px}.markdown-body pre,.markdown-body code{background-color:var(--color-codebg)}.post-loading{border-top:2px solid var(--color-divider)}.post-comment{border-top:2px solid var(--color-divider)}.post-comment span.post-comment-notloaded{padding:1.5rem 0;color:var(--color-secondary);cursor:pointer}.post-comment span.post-comment-notloaded:hover{color:var(--color-focus)}.btn div{background-color:var(--color-divider);color:var(--color-primary)}.btn div:hover{background-color:var(--color-primary);color:var(--color-divider)}.btn div+div{border-top:2px solid var(--color-bg)}code[class*='language-'],pre[class*='language-']{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:0.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:600}.token.italic{font-style:italic}pre .rule,code .rule{margin:0;border-bottom:none;overflow:inherit}pre .rule::before,pre .rule::after,code .rule::before,code .rule::after{display:inherit;clear:inherit}#dsqjs a{text-decoration:none !important;color:var(--color-secondary) !important}#dsqjs a:hover{color:var(--color-focus) !important}#dsqjs .dsqjs-bullet::after{color:var(--color-mute) !important;font-weight:600 !important}#dsqjs .dsqjs-no-comment{color:var(--color-font) !important}#dsqjs .dsqjs-nav-tab{color:var(--color-mute) !important}#dsqjs .dsqjs-tab-active{color:var(--color-font) !important}#dsqjs .dsqjs-tab-active>span:after{background-color:var(--color-secondary) !important}#dsqjs .dsqjs-post-list .dsqjs-post-avatar{background:var(--color-bg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-post-author{color:var(--color-mute) !important;font-weight:600}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-admin-badge{color:var(--color-font) !important;background:var(--color-codebg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-meta{color:var(--color-mute) !important}#dsqjs .dsqjs-post-body{color:var(--color-font) !important}#dsqjs .dsqjs-post-body code,#dsqjs .dsqjs-post-body pre{background:var(--color-codebg) !important}#dsqjs .dsqjs-post-body blockquote{color:var(--color-codebg) !important;border-left:0.25em solid var(--color-divider) !important}#dsqjs .dsqjs-load-more{background:var(--color-mute) !important;color:var(--color-bg) !important}#dsqjs footer{border-top:2px solid var(--color-divider) !important;font-weight:600 !important;color:var(--color-mute) !important}#dsqjs .dsqjs-order-radio:checked+.dsqjs-order-label{color:var(--color-font) !important;background-color:var(--color-divider) !important}#dsqjs .dsqjs-order-label{background-color:var(--color-bg) !important}#dsqjs p.dsqjs-has-more a.dsqjs-has-more-btn{color:var(--color-mute) !important}.search-result-info{border-bottom:2px solid var(--color-divider)}.search-input{border-top:2px solid;border-left:2px solid;border-bottom:2px solid;border-right:none;border-radius:0.25rem;border-color:var(--color-divider);background-color:var(--color-bg)}.search-input:hover,.search-input:focus-within{color:var(--color-primary);border-color:var(--color-primary)}.search-input input{outline:none;border:none;color:inherit;background-color:inherit}.search-input button{outline:none;border-top:2px solid;border-left:none;border-right:2px solid;border-bottom:2px solid;border-radius:0 0.25rem 0.25rem 0;border-color:inherit;color:inherit;background-color:inherit}.search-input button:hover{color:var(--color-secondary)}.image-wrapper{position:relative;display:block;width:100%;height:0;overflow:hidden;background-color:var(--color-divider);border-radius:3px;max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.image-wrapper img{display:block;width:100%;max-width:100%;margin:0;overflow:hidden}.ratio-40x9{padding-bottom:22.5%}.ratio-32x9{padding-bottom:28.125%}.ratio-21x9{padding-bottom:42.85714286%}.ratio-18x9{padding-bottom:50%}.ratio-16x9{padding-bottom:56.25%}.ratio-16x10{padding-bottom:62.5%}.ratio-3x2{padding-bottom:66.66666667%}.ratio-4x3{padding-bottom:75%}.ratio-1x1{padding-bottom:100%}.ratio-3x4{padding-bottom:133.33333333%}.ratio-2x3{padding-bottom:150%}.ratio-10x16{padding-bottom:160%}.ratio-9x16{padding-bottom:177.77777778%}.ratio-9x18{padding-bottom:200%}.ratio-9x21{padding-bottom:233.33333333%}.ratio-9x32{padding-bottom:355.55555556%}
diff --git a/theme.toml b/theme.toml
index a7440f5..e15f0ef 100644
--- a/theme.toml
+++ b/theme.toml
@@ -3,13 +3,13 @@
name = "Fuji"
license = "Apache-2.0"
-licenselink = "https://github.com/amzrk2/hugo-theme-fuji/blob/master/LICENSE"
+licenselink = "https://github.com/dsrkafuu/hugo-theme-fuji/blob/master/LICENSE"
description = "A minimal Hugo theme with nice theme color."
-homepage = "https://github.com/amzrk2/hugo-theme-fuji/"
+homepage = "https://github.com/dsrkafuu/hugo-theme-fuji/"
tags = ["blog", "minimal", "responsive", "dark mode"]
features = ["blog", "minimal", "responsive", "dark mode"]
min_version = "0.74.0"
[author]
name = "DSRKafuU"
- homepage = "https://amzrk2.cc/"
+ homepage = "https://dsrkafuu.su/"