From 41a92c61661145cf2f1777a50bf7ee7a2a50cc60 Mon Sep 17 00:00:00 2001 From: Dillon Date: Sat, 25 Apr 2020 02:05:43 +0800 Subject: [PATCH] feat(style): simplify blockquote style and rm fa-fw for fontawesome syntax (#257) --- README.md | 4 +- README.zh-cn.md | 2 +- assets/css/_page/_single.scss | 43 ++-------- assets/css/_variables.scss | 4 + exampleSite/config.toml | 11 ++- exampleSite/content/about.en.md | 79 ++++++++++--------- exampleSite/content/about.fr.md | 79 ++++++++++--------- exampleSite/content/about.zh-cn.md | 79 ++++++++++--------- .../content/posts/basic-markdown-syntax.en.md | 2 +- .../content/posts/basic-markdown-syntax.fr.md | 2 +- .../posts/basic-markdown-syntax.zh-cn.md | 2 +- .../posts/theme-documentation-basics.en.md | 22 +++--- .../posts/theme-documentation-basics.fr.md | 22 +++--- .../posts/theme-documentation-basics.zh-cn.md | 22 +++--- .../posts/theme-documentation-content.en.md | 10 ++- .../posts/theme-documentation-content.fr.md | 10 ++- .../theme-documentation-content.zh-cn.md | 10 ++- layouts/partials/assets.html | 2 +- layouts/partials/function/fontawesome.html | 2 +- ...s_b8ba9a60a151126bfcde1421dc0b972d.content | 2 +- 20 files changed, 200 insertions(+), 209 deletions(-) diff --git a/README.md b/README.md index bf9384c3..d7302796 100644 --- a/README.md +++ b/README.md @@ -88,8 +88,8 @@ I hope you will LoveIt ❤️! * **Gitalk** comment system supported by [Gitalk](https://github.com/gitalk/gitalk) * **Valine** comment system supported by [Valine](https://valine.js.org/) * **Facebook comments** system supported by [Facebook](https://developers.facebook.com/docs/plugins/comments/) -* **Telegram Comments** system supported by [Telegram Comments](https://comments.app/) -* **Commento comments** system supported by [Commento](https://commento.io/) +* **Telegram comments** system supported by [Telegram Comments](https://comments.app/) +* **Commento** comments system supported by [Commento](https://commento.io/) ### Extended Features diff --git a/README.zh-cn.md b/README.zh-cn.md index 2dc8204e..50a6904e 100644 --- a/README.zh-cn.md +++ b/README.zh-cn.md @@ -83,7 +83,7 @@ * 支持 **[Gitalk](https://github.com/gitalk/gitalk)** 评论系统 * 支持 **[Valine](https://valine.js.org/)** 评论系统 * 支持 **[Facebook](https://developers.facebook.com/docs/plugins/comments/) 评论**系统 -* 支持 **[Telegram Comments](https://comments.app/) 评论**系统 +* 支持 **[Telegram comments](https://comments.app/) 评论**系统 * 支持 **[Commento](https://commento.io/)** 评论系统 ### 扩展功能 diff --git a/assets/css/_page/_single.scss b/assets/css/_page/_single.scss index 3dd2e58b..d93e9a9e 100644 --- a/assets/css/_page/_single.scss +++ b/assets/css/_page/_single.scss @@ -235,46 +235,15 @@ } blockquote { - font-size: 1rem; display: block; - border-width: 1px 0; - border-style: solid; - border-color: $global-border-color; - padding: 1.5em 1.2em 0.5em 1.2em; - margin: 0 0 2em 0; - position: relative; - - &::before { - content: '\201C'; - position: absolute; - top: 0em; - left: 50%; - @include transform(translate(-50%, -50%)); - width: 3rem; - height: 2rem; - font: 6em/1.08em 'PT Sans', sans-serif; - color: $single-link-color; - text-align: center; - - .dark & { - color: $single-link-color-dark; - } - } - - &::after { - content: '#blockquote' attr(cite); - display: block; - text-align: right; - font-size: 0.875em; - color: $single-link-color; - - .dark & { - color: $single-link-color-dark; - } - } + border-left: .5rem solid $blockquote-color; + background-color: rgba($blockquote-color, .2); + padding: .25rem .75rem; + margin: 1rem 0; .dark & { - border-color: $global-border-color-dark; + border-left-color: $blockquote-color-dark; + background-color: rgba($blockquote-color-dark, .2); } } diff --git a/assets/css/_variables.scss b/assets/css/_variables.scss index a91660b6..f3df28dc 100644 --- a/assets/css/_variables.scss +++ b/assets/css/_variables.scss @@ -97,6 +97,10 @@ $table-background-color-dark: #272c34 !default; // Color of the table thead $table-thead-color: #ededed !default; $table-thead-color-dark: #20252b !default; + +// Color of the blockquote +$blockquote-color: #6bd6fd !default; +$blockquote-color-dark: #59c5ec !default; // ========== Single Content ========== // // ========== Pagination ========== // diff --git a/exampleSite/config.toml b/exampleSite/config.toml index e67c2e56..1ed2c45b 100644 --- a/exampleSite/config.toml +++ b/exampleSite/config.toml @@ -651,9 +651,6 @@ enableEmoji = true # whether to enable lightgallery # 是否使用 lightgallery lightgallery = false - # whether to show the copy button of the code block - # 是否显示代码块的复制按钮 - copyCode = true # whether to enable the ruby extended syntax # 是否使用 ruby 扩展语法 ruby = true @@ -675,6 +672,12 @@ enableEmoji = true # whether to make the table of the contents automatically collapsed # 是否使目录自动折叠展开 auto = true + # Code config + # 代码配置 + [params.page.code] + # whether to show the copy button of the code block + # 是否显示代码块的复制按钮 + copy = true # KaTeX mathematical formulas config (KaTeX https://katex.org/) # KaTeX 数学公式配置 (KaTeX https://katex.org/) [params.page.math] @@ -802,7 +805,7 @@ enableEmoji = true # Commento comments config (https://commento.io/) # Commento comments 评论系统设置 (https://commento.io/) [params.page.comment.commento] - enable = true + enable = false # SEO config # SEO 配置 [params.page.seo] diff --git a/exampleSite/content/about.en.md b/exampleSite/content/about.en.md index 1a559cc2..fc672da5 100644 --- a/exampleSite/content/about.en.md +++ b/exampleSite/content/about.en.md @@ -15,7 +15,7 @@ math: [![GitHub stars](https://img.shields.io/github/stars/dillonzq/LoveIt?style=social)](https://github.com/dillonzq/LoveIt) [![GitHub forks](https://img.shields.io/github/forks/dillonzq/LoveIt?style=social)](https://github.com/dillonzq/LoveIt/fork) -[:(far fa-kiss-wink-heart): LoveIt](https://github.com/dillonzq/LoveIt) is a **clean**, **elegant** but **advanced** blog theme for [Hugo](https://gohugo.io/) developed by [Dillon](https://dillonzq.com). +[:(far fa-kiss-wink-heart fa-fw): LoveIt](https://github.com/dillonzq/LoveIt) is a **clean**, **elegant** but **advanced** blog theme for [Hugo](https://gohugo.io/) developed by [Dillon](https://dillonzq.com). It is based on the original [LeaveIt Theme](https://github.com/liuzc/LeaveIt/) and [KeepIt Theme](https://github.com/liuzc/LeaveIt/). @@ -25,55 +25,56 @@ It is based on the original [LeaveIt Theme](https://github.com/liuzc/LeaveIt/) a #### Performance and SEO -* :(fas fa-rocket): Optimized for **performance**: [99]/[100] on mobile and [100]/[100] on desktop in [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights) -* :(fab fa-searchengin): Optimized SEO performance with a correct **SEO SCHEMA** based on JSON-LD -* :(fab fa-google): **[Google Analytics](https://analytics.google.com/analytics)** supported -* :(far fa-chart-bar): **[Fathom Analytics](https://usefathom.com/)** supported -* :(fas fa-search): Search engine **verification** supported (Google, Bind, Yandex and Baidu) -* :(fas fa-tachometer-alt): **CDN** for third-party libraries supported -* :(fas fa-cloud-download-alt): Automatically converted images with **Lazy Load** by [lazysizes](https://github.com/aFarkas/lazysizes) +* :(fas fa-rocket fa-fw): Optimized for **performance**: [99]/[100] on mobile and [100]/[100] on desktop in [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights) +* :(fab fa-searchengin fa-fw): Optimized SEO performance with a correct **SEO SCHEMA** based on JSON-LD +* :(fab fa-google fa-fw): **[Google Analytics](https://analytics.google.com/analytics)** supported +* :(far fa-chart-bar fa-fw): **[Fathom Analytics](https://usefathom.com/)** supported +* :(fas fa-search fa-fw): Search engine **verification** supported (Google, Bind, Yandex and Baidu) +* :(fas fa-tachometer-alt fa-fw): **CDN** for third-party libraries supported +* :(fas fa-cloud-download-alt fa-fw): Automatically converted images with **Lazy Load** by [lazysizes](https://github.com/aFarkas/lazysizes) #### Appearance and Layout * [:(fas fa-desktop):]/[:(fas fa-mobile):] **Responsive** layout * [:(fas fa-sun):]/[:(fas fa-moon):] **[Light]/[Dark]** mode -* :(fas fa-layer-group): Globally consistent **design language** -* :(fas fa-ellipsis-h): **Pagination** supported -* :(far fa-list-alt): Easy-to-use and self-expanding **table of contents** -* :(fas fa-language): **Multilanguage** supported and i18n ready -* :(fab fa-css3-alt): Beautiful **CSS animation** +* :(fas fa-layer-group fa-fw): Globally consistent **design language** +* :(fas fa-ellipsis-h fa-fw): **Pagination** supported +* :(far fa-list-alt fa-fw): Easy-to-use and self-expanding **table of contents** +* :(fas fa-language fa-fw): **Multilanguage** supported and i18n ready +* :(fab fa-css3-alt fa-fw): Beautiful **CSS animation** #### Social and Comment Systems -* :(far fa-user): **Gravatar** supported by [Gravatar](https://gravatar.com) -* :(fas fa-user-circle): Local **Avatar** supported -* :(far fa-id-card): Up to **64** social links supported -* :(fas fa-share-square): Up to **28** share sites supported -* :(far fa-comment): **Disqus** comment system supported by [Disqus](https://disqus.com) -* :(far fa-comment-dots): **Gitalk** comment system supported by [Gitalk](https://github.com/gitalk/gitalk) -* :(far fa-comment-alt): **Valine** comment system supported by [Valine](https://valine.js.org/) -* :(far fa-comments): **Facebook comments** system supported by [Facebook](https://developers.facebook.com/docs/plugins/comments/) -* :(fas fa-comments): **Telegram Comments** system supported by [Comments](https://comments.app/) +* :(far fa-user fa-fw): **Gravatar** supported by [Gravatar](https://gravatar.com) +* :(fas fa-user-circle fa-fw): Local **Avatar** supported +* :(far fa-id-card fa-fw): Up to **64** social links supported +* :(fas fa-share-square fa-fw): Up to **28** share sites supported +* :(far fa-comment fa-fw): **Disqus** comment system supported by [Disqus](https://disqus.com) +* :(far fa-comment-dots fa-fw): **Gitalk** comment system supported by [Gitalk](https://github.com/gitalk/gitalk) +* :(far fa-comment-alt fa-fw): **Valine** comment system supported by [Valine](https://valine.js.org/) +* :(far fa-comments fa-fw): **Facebook comments** system supported by [Facebook](https://developers.facebook.com/docs/plugins/comments/) +* :(fas fa-comment fa-fw): **Telegram comments** system supported by [Comments](https://comments.app/) +* :(fas fa-comment-dots fa-fw): **Commento** comments system supported by [Commento](https://commento.io/) #### Extended Features -* :(fas fa-search): **Search** supported by [Lunr.js](https://lunrjs.com/) or [algolia](https://www.algolia.com/) -* :(fas fa-code): Automatically **highlighting** code -* :(far fa-copy): **Copy code** to clipboard with one click -* :(far fa-images): **Images gallery** supported by [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js) -* :(fab fa-font-awesome): Extended Markdown syntax for **[Font Awesome](https://fontawesome.com/) icons** -* :(far fa-sticky-note): Extended Markdown syntax for **ruby annotation** -* :(fas fa-percentage): Extended Markdown syntax for **fraction** -* :(fas fa-square-root-alt): **Mathematical formula** supported by [$ \KaTeX $](https://katex.org/) -* :(fas fa-project-diagram): **Diagrams** shortcode supported by [mermaid](https://github.com/knsv/mermaid) -* :(fas fa-chart-pie): **Interactive data visualization** shortcode supported by [ECharts](https://echarts.apache.org/) -* :(fas fa-map-marked-alt): **Mapbox** shortcode supported by [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js) -* :(fas fa-music): **Music player** shortcode supported by [APlayer](https://github.com/MoePlayer/APlayer) and [MetingJS](https://github.com/metowolf/MetingJS) -* :(fas fa-video): **Bilibili player** shortcode -* :(far fa-bell): Kinds of **admonitions** shortcode -* :(fas fa-align-left): **Custom style** shortcode -* :(fas fa-i-cursor): **Animated typing** supported by [TypeIt](https://typeitjs.com/) -* :(fas fa-arrow-down): **Dynamic scroll** supported by [Smooth Scroll](https://github.com/cferdinandi/smooth-scroll) +* :(fas fa-search fa-fw): **Search** supported by [Lunr.js](https://lunrjs.com/) or [algolia](https://www.algolia.com/) +* :(fas fa-code fa-fw): Automatically **highlighting** code +* :(far fa-copy fa-fw): **Copy code** to clipboard with one click +* :(far fa-images fa-fw): **Images gallery** supported by [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js) +* :(fab fa-font-awesome fa-fw): Extended Markdown syntax for **[Font Awesome](https://fontawesome.com/) icons** +* :(far fa-sticky-note fa-fw): Extended Markdown syntax for **ruby annotation** +* :(fas fa-percentage fa-fw): Extended Markdown syntax for **fraction** +* :(fas fa-square-root-alt fa-fw): **Mathematical formula** supported by [$ \KaTeX $](https://katex.org/) +* :(fas fa-project-diagram fa-fw): **Diagrams** shortcode supported by [mermaid](https://github.com/knsv/mermaid) +* :(fas fa-chart-pie fa-fw): **Interactive data visualization** shortcode supported by [ECharts](https://echarts.apache.org/) +* :(fas fa-map-marked-alt fa-fw): **Mapbox** shortcode supported by [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js) +* :(fas fa-music fa-fw): **Music player** shortcode supported by [APlayer](https://github.com/MoePlayer/APlayer) and [MetingJS](https://github.com/metowolf/MetingJS) +* :(fas fa-video fa-fw): **Bilibili player** shortcode +* :(far fa-bell fa-fw): Kinds of **admonitions** shortcode +* :(fas fa-align-left fa-fw): **Custom style** shortcode +* :(fas fa-i-cursor fa-fw): **Animated typing** supported by [TypeIt](https://typeitjs.com/) +* :(fas fa-arrow-down fa-fw): **Dynamic scroll** supported by [Smooth Scroll](https://github.com/cferdinandi/smooth-scroll) * ... ### License diff --git a/exampleSite/content/about.fr.md b/exampleSite/content/about.fr.md index 099cf165..4fc74591 100644 --- a/exampleSite/content/about.fr.md +++ b/exampleSite/content/about.fr.md @@ -20,7 +20,7 @@ Sorry, this article has not been completely translated into **French**. Welcome to take the time to propose a translation by [making a PR](https://github.com/dillonzq/LoveIt/pulls) to the theme! {{< /admonition >}} -[:(far fa-kiss-wink-heart): LoveIt](https://github.com/dillonzq/LoveIt) is a **clean**, **elegant** but **advanced** blog theme for [Hugo](https://gohugo.io/) developed by [Dillon](https://dillonzq.com). +[:(far fa-kiss-wink-heart fa-fw): LoveIt](https://github.com/dillonzq/LoveIt) is a **clean**, **elegant** but **advanced** blog theme for [Hugo](https://gohugo.io/) developed by [Dillon](https://dillonzq.com). It is based on the original [LeaveIt Theme](https://github.com/liuzc/LeaveIt/) and [KeepIt Theme](https://github.com/liuzc/LeaveIt/). @@ -30,55 +30,56 @@ It is based on the original [LeaveIt Theme](https://github.com/liuzc/LeaveIt/) a #### Performance and SEO -* :(fas fa-rocket): Optimized for **performance**: [99]/[100] on mobile and [100]/[100] on desktop in [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights) -* :(fab fa-searchengin): Optimized SEO performance with a correct **SEO SCHEMA** based on JSON-LD -* :(fab fa-google): **[Google Analytics](https://analytics.google.com/analytics)** supported -* :(far fa-chart-bar): **[Fathom Analytics](https://usefathom.com/)** supported -* :(fas fa-search): Search engine **verification** supported (Google, Bind, Yandex and Baidu) -* :(fas fa-tachometer-alt): **CDN** for third-party libraries supported -* :(fas fa-cloud-download-alt): Automatically converted images with **Lazy Load** by [lazysizes](https://github.com/aFarkas/lazysizes) +* :(fas fa-rocket fa-fw): Optimized for **performance**: [99]/[100] on mobile and [100]/[100] on desktop in [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights) +* :(fab fa-searchengin fa-fw): Optimized SEO performance with a correct **SEO SCHEMA** based on JSON-LD +* :(fab fa-google fa-fw): **[Google Analytics](https://analytics.google.com/analytics)** supported +* :(far fa-chart-bar fa-fw): **[Fathom Analytics](https://usefathom.com/)** supported +* :(fas fa-search fa-fw): Search engine **verification** supported (Google, Bind, Yandex and Baidu) +* :(fas fa-tachometer-alt fa-fw): **CDN** for third-party libraries supported +* :(fas fa-cloud-download-alt fa-fw): Automatically converted images with **Lazy Load** by [lazysizes](https://github.com/aFarkas/lazysizes) #### Appearance and Layout * [:(fas fa-desktop):]/[:(fas fa-mobile):] **Responsive** layout * [:(fas fa-sun):]/[:(fas fa-moon):] **[Light]/[Dark]** mode -* :(fas fa-layer-group): Globally consistent **design language** -* :(fas fa-ellipsis-h): **Pagination** supported -* :(far fa-list-alt): Easy-to-use and self-expanding **table of contents** -* :(fas fa-language): **Multilanguage** supported and i18n ready -* :(fab fa-css3-alt): Beautiful **CSS animation** +* :(fas fa-layer-group fa-fw): Globally consistent **design language** +* :(fas fa-ellipsis-h fa-fw): **Pagination** supported +* :(far fa-list-alt fa-fw): Easy-to-use and self-expanding **table of contents** +* :(fas fa-language fa-fw): **Multilanguage** supported and i18n ready +* :(fab fa-css3-alt fa-fw): Beautiful **CSS animation** #### Social and Comment Systems -* :(far fa-user): **Gravatar** supported by [Gravatar](https://gravatar.com) -* :(fas fa-user-circle): Local **Avatar** supported -* :(far fa-id-card): Up to **64** social links supported -* :(fas fa-share-square): Up to **28** share sites supported -* :(far fa-comment): **Disqus** comment system supported by [Disqus](https://disqus.com) -* :(far fa-comment-dots): **Gitalk** comment system supported by [Gitalk](https://github.com/gitalk/gitalk) -* :(far fa-comment-alt): **Valine** comment system supported by [Valine](https://valine.js.org/) -* :(far fa-comments): **Facebook comments** system supported by [Facebook](https://developers.facebook.com/docs/plugins/comments/) -* :(fas fa-comments): **Telegram Comments** system supported by [Comments](https://comments.app/) +* :(far fa-user fa-fw): **Gravatar** supported by [Gravatar](https://gravatar.com) +* :(fas fa-user-circle fa-fw): Local **Avatar** supported +* :(far fa-id-card fa-fw): Up to **64** social links supported +* :(fas fa-share-square fa-fw): Up to **28** share sites supported +* :(far fa-comment fa-fw): **Disqus** comment system supported by [Disqus](https://disqus.com) +* :(far fa-comment-dots fa-fw): **Gitalk** comment system supported by [Gitalk](https://github.com/gitalk/gitalk) +* :(far fa-comment-alt fa-fw): **Valine** comment system supported by [Valine](https://valine.js.org/) +* :(far fa-comments fa-fw): **Facebook comments** system supported by [Facebook](https://developers.facebook.com/docs/plugins/comments/) +* :(fas fa-comment fa-fw): **Telegram comments** system supported by [Comments](https://comments.app/) +* :(fas fa-comment-dots fa-fw): **Commento** comments system supported by [Commento](https://commento.io/) #### Extended Features -* :(fas fa-search): **Search** supported by [Lunr.js](https://lunrjs.com/) or [algolia](https://www.algolia.com/) -* :(fas fa-code): Automatically **highlighting** code -* :(far fa-copy): **Copy code** to clipboard with one click -* :(far fa-images): **Images gallery** supported by [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js) -* :(fab fa-font-awesome): Extended Markdown syntax for **[Font Awesome](https://fontawesome.com/) icons** -* :(far fa-sticky-note): Extended Markdown syntax for **ruby annotation** -* :(fas fa-percentage): Extended Markdown syntax for **fraction** -* :(fas fa-square-root-alt): **Mathematical formula** supported by [$ \KaTeX $](https://katex.org/) -* :(fas fa-project-diagram): **Diagrams** shortcode supported by [mermaid](https://github.com/knsv/mermaid) -* :(fas fa-chart-pie): **Interactive data visualization** shortcode supported by [ECharts](https://echarts.apache.org/) -* :(fas fa-map-marked-alt): **Mapbox** shortcode supported by [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js) -* :(fas fa-music): **Music player** shortcode supported by [APlayer](https://github.com/MoePlayer/APlayer) and [MetingJS](https://github.com/metowolf/MetingJS) -* :(fas fa-video): **Bilibili player** shortcode -* :(far fa-bell): Kinds of **admonitions** shortcode -* :(fas fa-align-left): **Custom style** shortcode -* :(fas fa-i-cursor): **Animated typing** supported by [TypeIt](https://typeitjs.com/) -* :(fas fa-arrow-down): **Dynamic scroll** supported by [Smooth Scroll](https://github.com/cferdinandi/smooth-scroll) +* :(fas fa-search fa-fw): **Search** supported by [Lunr.js](https://lunrjs.com/) or [algolia](https://www.algolia.com/) +* :(fas fa-code fa-fw): Automatically **highlighting** code +* :(far fa-copy fa-fw): **Copy code** to clipboard with one click +* :(far fa-images fa-fw): **Images gallery** supported by [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js) +* :(fab fa-font-awesome fa-fw): Extended Markdown syntax for **[Font Awesome](https://fontawesome.com/) icons** +* :(far fa-sticky-note fa-fw): Extended Markdown syntax for **ruby annotation** +* :(fas fa-percentage fa-fw): Extended Markdown syntax for **fraction** +* :(fas fa-square-root-alt fa-fw): **Mathematical formula** supported by [$ \KaTeX $](https://katex.org/) +* :(fas fa-project-diagram fa-fw): **Diagrams** shortcode supported by [mermaid](https://github.com/knsv/mermaid) +* :(fas fa-chart-pie fa-fw): **Interactive data visualization** shortcode supported by [ECharts](https://echarts.apache.org/) +* :(fas fa-map-marked-alt fa-fw): **Mapbox** shortcode supported by [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js) +* :(fas fa-music fa-fw): **Music player** shortcode supported by [APlayer](https://github.com/MoePlayer/APlayer) and [MetingJS](https://github.com/metowolf/MetingJS) +* :(fas fa-video fa-fw): **Bilibili player** shortcode +* :(far fa-bell fa-fw): Kinds of **admonitions** shortcode +* :(fas fa-align-left fa-fw): **Custom style** shortcode +* :(fas fa-i-cursor fa-fw): **Animated typing** supported by [TypeIt](https://typeitjs.com/) +* :(fas fa-arrow-down fa-fw): **Dynamic scroll** supported by [Smooth Scroll](https://github.com/cferdinandi/smooth-scroll) * ... ### License diff --git a/exampleSite/content/about.zh-cn.md b/exampleSite/content/about.zh-cn.md index 2df1710e..e27181d3 100644 --- a/exampleSite/content/about.zh-cn.md +++ b/exampleSite/content/about.zh-cn.md @@ -15,7 +15,7 @@ math: [![GitHub stars](https://img.shields.io/github/stars/dillonzq/LoveIt?style=social)](https://github.com/dillonzq/LoveIt) [![GitHub forks](https://img.shields.io/github/forks/dillonzq/LoveIt?style=social)](https://github.com/dillonzq/LoveIt/fork) -[:(far fa-kiss-wink-heart): LoveIt](https://github.com/dillonzq/LoveIt) 是一个由 [Dillon](https://dillonzq.com) 开发的**简洁**、**优雅**且**高效**的 [Hugo](https://gohugo.io/) 博客主题。 +[:(far fa-kiss-wink-heart fa-fw): LoveIt](https://github.com/dillonzq/LoveIt) 是一个由 [Dillon](https://dillonzq.com) 开发的**简洁**、**优雅**且**高效**的 [Hugo](https://gohugo.io/) 博客主题。 它的原型基于 [LeaveIt 主题](https://github.com/liuzc/LeaveIt/) 和 [KeepIt 主题](https://github.com/liuzc/LeaveIt/)。 @@ -25,55 +25,56 @@ math: #### 性能和 SEO -* :(fas fa-rocket): **性能**优化:在 [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights) 中, [99]/[100] 的移动设备得分和 [100]/[100] 的桌面设备得分 -* :(fab fa-searchengin): 使用基于 JSON-LD 格式 的 **SEO SCHEMA** 文件进行 SEO 优化 -* :(fab fa-google): 支持 **[Google Analytics](https://analytics.google.com/analytics)** -* :(far fa-chart-bar): 支持 **[Fathom Analytics](https://usefathom.com/)** -* :(fas fa-search): 支持搜索引擎的**网站验证** (Google, Bind, Yandex and Baidu) -* :(fas fa-tachometer-alt): 支持所有第三方库的 **CDN** -* :(fas fa-cloud-download-alt): 基于 [lazysizes](https://github.com/aFarkas/lazysizes) 自动转换图片为**懒加载** +* :(fas fa-rocket fa-fw): **性能**优化:在 [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights) 中, [99]/[100] 的移动设备得分和 [100]/[100] 的桌面设备得分 +* :(fab fa-searchengin fa-fw): 使用基于 JSON-LD 格式 的 **SEO SCHEMA** 文件进行 SEO 优化 +* :(fab fa-google fa-fw): 支持 **[Google Analytics](https://analytics.google.com/analytics)** +* :(far fa-chart-bar fa-fw): 支持 **[Fathom Analytics](https://usefathom.com/)** +* :(fas fa-search fa-fw): 支持搜索引擎的**网站验证** (Google, Bind, Yandex and Baidu) +* :(fas fa-tachometer-alt fa-fw): 支持所有第三方库的 **CDN** +* :(fas fa-cloud-download-alt fa-fw): 基于 [lazysizes](https://github.com/aFarkas/lazysizes) 自动转换图片为**懒加载** #### 外观和布局 * [:(fas fa-desktop):]/[:(fas fa-mobile):] **响应式**布局 * [:(fas fa-sun):]/[:(fas fa-moon):] **[浅色]/[深色]** 主题模式 -* :(fas fa-layer-group): 全局一致的**设计语言** -* :(fas fa-ellipsis-h): 支持**分页** -* :(far fa-list-alt): 易用和自动展开的**文章目录** -* :(fas fa-language): 支持**多语言**和国际化 -* :(fab fa-css3-alt): 美观的 **CSS 动画** +* :(fas fa-layer-group fa-fw): 全局一致的**设计语言** +* :(fas fa-ellipsis-h fa-fw): 支持**分页** +* :(far fa-list-alt fa-fw): 易用和自动展开的**文章目录** +* :(fas fa-language fa-fw): 支持**多语言**和国际化 +* :(fab fa-css3-alt fa-fw): 美观的 **CSS 动画** #### 社交和评论系统 -* :(far fa-user): 支持 **[Gravatar](https://gravatar.com)** 头像 -* :(fas fa-user-circle): 支持本地**头像** -* :(far fa-id-card): 支持多达 **64** 种社交链接 -* :(fas fa-share-square): 支持多达 **28** 种网站分享 -* :(far fa-comment): 支持 **[Disqus](https://disqus.com)** 评论系统 -* :(far fa-comment-dots): 支持 **[Gitalk](https://github.com/gitalk/gitalk)** 评论系统 -* :(far fa-comment-alt): 支持 **[Valine](https://valine.js.org/)** 评论系统 -* :(far fa-comments): 支持 **[Facebook](https://developers.facebook.com/docs/plugins/comments/) 评论**系统 -* :(fas fa-comments): 支持 **[Telegram Comments](https://comments.app/) 评论**系统 +* :(far fa-user fa-fw): 支持 **[Gravatar](https://gravatar.com)** 头像 +* :(fas fa-user-circle fa-fw): 支持本地**头像** +* :(far fa-id-card fa-fw): 支持多达 **64** 种社交链接 +* :(fas fa-share-square fa-fw): 支持多达 **28** 种网站分享 +* :(far fa-comment fa-fw): 支持 **[Disqus](https://disqus.com)** 评论系统 +* :(far fa-comment-dots fa-fw): 支持 **[Gitalk](https://github.com/gitalk/gitalk)** 评论系统 +* :(far fa-comment-alt fa-fw): 支持 **[Valine](https://valine.js.org/)** 评论系统 +* :(far fa-comments fa-fw): 支持 **[Facebook](https://developers.facebook.com/docs/plugins/comments/) 评论**系统 +* :(fas fa-comment fa-fw): 支持 **[Telegram comments](https://comments.app/) 评论**系统 +* :(fas fa-comment-dots fa-fw): 支持 **[Commento](https://commento.io/)** 评论系统 #### 扩展功能 -* :(fas fa-search): 支持基于 [Lunr.js](https://lunrjs.com/) 或 [algolia](https://www.algolia.com/) 的**搜索** -* :(fas fa-code): 支持**代码高亮** -* :(far fa-copy): 一键**复制代码**到剪贴板 -* :(far fa-images): 支持基于 [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js) 的**图片画廊** -* :(fab fa-font-awesome): 支持 **[Font Awesome](https://fontawesome.com/) 图标**的扩展 Markdown 语法 -* :(far fa-sticky-note): 支持**上标注释**的扩展 Markdown 语法 -* :(fas fa-percentage): 支持**分数**的扩展 Markdown 语法 -* :(fas fa-square-root-alt): 支持基于 [$ \KaTeX $](https://katex.org/) 的**数学公式** -* :(fas fa-project-diagram): 支持基于 [mermaid](https://github.com/knsv/mermaid) 的**图表** shortcode -* :(fas fa-chart-pie): 支持基于 [ECharts](https://echarts.apache.org/) 的**交互式数据可视化** shortcode -* :(fas fa-map-marked-alt): 支持基于 [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js) 的 **Mapbox** shortcode -* :(fas fa-music): 支持基于 [APlayer](https://github.com/MoePlayer/APlayer) 和 [MetingJS](https://github.com/metowolf/MetingJS) 的**音乐播放器** shortcode -* :(fas fa-video): 支持 **Bilibili 视频** shortcode -* :(far fa-bell): 支持多种**注释**的 shortcode -* :(fas fa-align-left): 支持**自定义样式**的 shortcode -* :(fas fa-i-cursor): 支持基于 [TypeIt](https://typeitjs.com/) 的**打字动画** shortcode -* :(fas fa-arrow-down): 支持基于 [Smooth Scroll](https://github.com/cferdinandi/smooth-scroll) 的**滚动动画** +* :(fas fa-search fa-fw): 支持基于 [Lunr.js](https://lunrjs.com/) 或 [algolia](https://www.algolia.com/) 的**搜索** +* :(fas fa-code fa-fw): 支持**代码高亮** +* :(far fa-copy fa-fw): 一键**复制代码**到剪贴板 +* :(far fa-images fa-fw): 支持基于 [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js) 的**图片画廊** +* :(fab fa-font-awesome fa-fw): 支持 **[Font Awesome](https://fontawesome.com/) 图标**的扩展 Markdown 语法 +* :(far fa-sticky-note fa-fw): 支持**上标注释**的扩展 Markdown 语法 +* :(fas fa-percentage fa-fw): 支持**分数**的扩展 Markdown 语法 +* :(fas fa-square-root-alt fa-fw): 支持基于 [$ \KaTeX $](https://katex.org/) 的**数学公式** +* :(fas fa-project-diagram fa-fw): 支持基于 [mermaid](https://github.com/knsv/mermaid) 的**图表** shortcode +* :(fas fa-chart-pie fa-fw): 支持基于 [ECharts](https://echarts.apache.org/) 的**交互式数据可视化** shortcode +* :(fas fa-map-marked-alt fa-fw): 支持基于 [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js) 的 **Mapbox** shortcode +* :(fas fa-music fa-fw): 支持基于 [APlayer](https://github.com/MoePlayer/APlayer) 和 [MetingJS](https://github.com/metowolf/MetingJS) 的**音乐播放器** shortcode +* :(fas fa-video fa-fw): 支持 **Bilibili 视频** shortcode +* :(far fa-bell fa-fw): 支持多种**注释**的 shortcode +* :(fas fa-align-left fa-fw): 支持**自定义样式**的 shortcode +* :(fas fa-i-cursor fa-fw): 支持基于 [TypeIt](https://typeitjs.com/) 的**打字动画** shortcode +* :(fas fa-arrow-down fa-fw): 支持基于 [Smooth Scroll](https://github.com/cferdinandi/smooth-scroll) 的**滚动动画** * ... ### 许可协议 diff --git a/exampleSite/content/posts/basic-markdown-syntax.en.md b/exampleSite/content/posts/basic-markdown-syntax.en.md index 9b4144f4..0901b406 100644 --- a/exampleSite/content/posts/basic-markdown-syntax.en.md +++ b/exampleSite/content/posts/basic-markdown-syntax.en.md @@ -51,7 +51,7 @@ John Gruber, the author of Markdown, puts it like this: Without further delay, let us go over the main elements of Markdown and what the resulting HTML looks like! {{< admonition tip >}} -:(far fa-bookmark): Bookmark this page for easy future reference! +:(far fa-bookmark fa-fw): Bookmark this page for easy future reference! {{< /admonition >}} ## 1 Headings diff --git a/exampleSite/content/posts/basic-markdown-syntax.fr.md b/exampleSite/content/posts/basic-markdown-syntax.fr.md index 4ae431fe..dd8efb7b 100644 --- a/exampleSite/content/posts/basic-markdown-syntax.fr.md +++ b/exampleSite/content/posts/basic-markdown-syntax.fr.md @@ -56,7 +56,7 @@ John Gruber, the author of Markdown, puts it like this: Without further delay, let us go over the main elements of Markdown and what the resulting HTML looks like! {{< admonition tip >}} -:(far fa-bookmark): Bookmark this page for easy future reference! +:(far fa-bookmark fa-fw): Bookmark this page for easy future reference! {{< /admonition >}} ## 1 Headings diff --git a/exampleSite/content/posts/basic-markdown-syntax.zh-cn.md b/exampleSite/content/posts/basic-markdown-syntax.zh-cn.md index 4e99c76a..834a6391 100644 --- a/exampleSite/content/posts/basic-markdown-syntax.zh-cn.md +++ b/exampleSite/content/posts/basic-markdown-syntax.zh-cn.md @@ -51,7 +51,7 @@ John Gruber, Markdown 的作者如是说: 话不多说, 我们来回顾一下 Markdown 的主要语法以及生成的 HTML 样式! {{< admonition tip >}} -:(far fa-bookmark): 将此页保存为书签,以备将来参考! +:(far fa-bookmark fa-fw): 将此页保存为书签,以备将来参考! {{< /admonition >}} ## 1 标题 diff --git a/exampleSite/content/posts/theme-documentation-basics.en.md b/exampleSite/content/posts/theme-documentation-basics.en.md index 6da3632a..29947ee5 100644 --- a/exampleSite/content/posts/theme-documentation-basics.en.md +++ b/exampleSite/content/posts/theme-documentation-basics.en.md @@ -26,7 +26,7 @@ Discover what the Hugo - **LoveIt** theme is all about and the core-concepts beh Thanks to the simplicity of Hugo, [Hugo](https://gohugo.io/) is the only dependency of this theme. -Just install latest version of [:(far fa-file-archive): Hugo extended (> 0.62.0)](https://gohugo.io/getting-started/installing/) for your OS (**Windows**, **Linux**, **macOS**). +Just install latest version of [:(far fa-file-archive fa-fw): Hugo extended (> 0.62.0)](https://gohugo.io/getting-started/installing/) for your OS (**Windows**, **Linux**, **macOS**). {{< admonition note "Why not support earlier versions of Hugo?" >}} Since [Markdown Render Hooks](https://gohugo.io/getting-started/configuration-markup/#markdown-render-hooks) was introduced in the [Hugo Christmas Edition](https://gohugo.io/news/0.62.0-relnotes/), this theme only supports Hugo versions above **0.62.0**. @@ -53,7 +53,7 @@ cd my_website The **LoveIt** theme’s repository is: [https://github.com/dillonzq/LoveIt](https://github.com/dillonzq/LoveIt). -You can download the [latest release :(far fa-file-archive): .zip file](https://github.com/dillonzq/LoveIt/releases) of the theme and extract it in the `themes` directory. +You can download the [latest release :(far fa-file-archive fa-fw): .zip file](https://github.com/dillonzq/LoveIt/releases) of the theme and extract it in the `themes` directory. Alternatively, clone this repository to the `themes` directory: @@ -362,8 +362,6 @@ Note that some of these parameters are explained in details in other sections of hiddenFromSearch = false # whether to enable lightgallery lightgallery = false - # {{< version 0.2.0 >}} whether to show the copy button of the code block - copyCode = true # {{< version 0.2.0 >}} whether to enable the ruby extended syntax ruby = true # {{< version 0.2.0 >}} whether to enable the fraction extended syntax @@ -391,6 +389,10 @@ Note that some of these parameters are explained in details in other sections of copyTex = true # KaTeX extension mhchem mhchem = true + # {{< version 0.2.0 >}} Code config + [params.page.code] + # whether to show the copy button of the code block + copy = true # {{< version 0.2.0 >}} {{< link "https://docs.mapbox.com/mapbox-gl-js" "Mapbox GL JS" >}} config [params.page.mapbox] # access token of Mapbox GL JS @@ -485,7 +487,7 @@ Note that some of these parameters are explained in details in other sections of outlined = false # {{< version 0.2.0 >}} {{< link "https://commento.io/" "Commento" >}} comment config [params.page.comment.commento] - enable = true + enable = false # {{< version 0.2.0 >}} SEO config [params.page.seo] # Publisher info @@ -754,12 +756,12 @@ In `config/css/_custom.scss`, you can add some css style code to customize the s | Language | Hugo Code | HTML `lang` Attribute | Theme Docs | Lunr.js Support | |:------------------ |:---------:|:---------------------:|:-----------------------:|:-----------------------:| -| English | `en` | `en` | :(far fa-check-square): | :(far fa-check-square): | -| Simplified Chinese | `zh-cn` | `zh-CN` | :(far fa-check-square): | :(far fa-check-square): | -| French | `fr` | `fr` | :(far fa-square): | :(far fa-check-square): | -| Polish | `pl` | `pl` | :(far fa-square): | :(far fa-square): | +| English | `en` | `en` | :(far fa-check-square fa-fw): | :(far fa-check-square fa-fw): | +| Simplified Chinese | `zh-cn` | `zh-CN` | :(far fa-check-square fa-fw): | :(far fa-check-square fa-fw): | +| French | `fr` | `fr` | :(far fa-square fa-fw): | :(far fa-check-square fa-fw): | +| Polish | `pl` | `pl` | :(far fa-square fa-fw): | :(far fa-square fa-fw): | -:(far fa-kiss-wink-heart): **Feel free to [contribute](https://github.com/dillonzq/LoveIt/pulls)!** +:(far fa-kiss-wink-heart fa-fw): **Feel free to [contribute](https://github.com/dillonzq/LoveIt/pulls)!** ### 4.2 Basic Configuration diff --git a/exampleSite/content/posts/theme-documentation-basics.fr.md b/exampleSite/content/posts/theme-documentation-basics.fr.md index ceff6f7f..450c98a7 100644 --- a/exampleSite/content/posts/theme-documentation-basics.fr.md +++ b/exampleSite/content/posts/theme-documentation-basics.fr.md @@ -31,7 +31,7 @@ Welcome to take the time to propose a translation by [making a PR](https://githu Thanks to the simplicity of Hugo, [Hugo](https://gohugo.io/) is the only dependency of this theme. -Just install latest version of [:(far fa-file-archive): Hugo extended (> 0.62.0)](https://gohugo.io/getting-started/installing/) for your OS (**Windows**, **Linux**, **macOS**). +Just install latest version of [:(far fa-file-archive fa-fw): Hugo extended (> 0.62.0)](https://gohugo.io/getting-started/installing/) for your OS (**Windows**, **Linux**, **macOS**). {{< admonition note "Why not support earlier versions of Hugo?" >}} Since [Markdown Render Hooks](https://gohugo.io/getting-started/configuration-markup/#markdown-render-hooks) was introduced in the [Hugo Christmas Edition](https://gohugo.io/news/0.62.0-relnotes/), this theme only supports Hugo versions above **0.62.0**. @@ -58,7 +58,7 @@ cd my_website The **LoveIt** theme’s repository is: [https://github.com/dillonzq/LoveIt](https://github.com/dillonzq/LoveIt). -You can download the [latest release :(far fa-file-archive): .zip file](https://github.com/dillonzq/LoveIt/releases) of the theme and extract it in the `themes` directory. +You can download the [latest release :(far fa-file-archive fa-fw): .zip file](https://github.com/dillonzq/LoveIt/releases) of the theme and extract it in the `themes` directory. Alternatively, clone this repository to the `themes` directory: @@ -367,8 +367,6 @@ Note that some of these parameters are explained in details in other sections of hiddenFromSearch = false # whether to enable lightgallery lightgallery = false - # {{< version 0.2.0 >}} whether to show the copy button of the code block - copyCode = true # {{< version 0.2.0 >}} whether to enable the ruby extended syntax ruby = true # {{< version 0.2.0 >}} whether to enable the fraction extended syntax @@ -396,6 +394,10 @@ Note that some of these parameters are explained in details in other sections of copyTex = true # KaTeX extension mhchem mhchem = true + # {{< version 0.2.0 >}} Code config + [params.page.code] + # whether to show the copy button of the code block + copy = true # {{< version 0.2.0 >}} {{< link "https://docs.mapbox.com/mapbox-gl-js" "Mapbox GL JS" >}} config [params.page.mapbox] # access token of Mapbox GL JS @@ -490,7 +492,7 @@ Note that some of these parameters are explained in details in other sections of outlined = false # {{< version 0.2.0 >}} {{< link "https://commento.io/" "Commento" >}} comment config [params.page.comment.commento] - enable = true + enable = false # {{< version 0.2.0 >}} SEO config [params.page.seo] # Publisher info @@ -759,12 +761,12 @@ In `config/css/_custom.scss`, you can add some css style code to customize the s | Language | Hugo Code | HTML `lang` Attribute | Theme Docs | Lunr.js Support | |:------------------ |:---------:|:---------------------:|:-----------------------:|:-----------------------:| -| English | `en` | `en` | :(far fa-check-square): | :(far fa-check-square): | -| Simplified Chinese | `zh-cn` | `zh-CN` | :(far fa-check-square): | :(far fa-check-square): | -| French | `fr` | `fr` | :(far fa-square): | :(far fa-check-square): | -| Polish | `pl` | `pl` | :(far fa-square): | :(far fa-square): | +| English | `en` | `en` | :(far fa-check-square fa-fw): | :(far fa-check-square fa-fw): | +| Simplified Chinese | `zh-cn` | `zh-CN` | :(far fa-check-square fa-fw): | :(far fa-check-square fa-fw): | +| French | `fr` | `fr` | :(far fa-square fa-fw): | :(far fa-check-square fa-fw): | +| Polish | `pl` | `pl` | :(far fa-square fa-fw): | :(far fa-square fa-fw): | -:(far fa-kiss-wink-heart): **Feel free to [contribute](https://github.com/dillonzq/LoveIt/pulls)!** +:(far fa-kiss-wink-heart fa-fw): **Feel free to [contribute](https://github.com/dillonzq/LoveIt/pulls)!** ### 4.2 Basic Configuration diff --git a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md index 4d310825..e51d1d1b 100644 --- a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md +++ b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md @@ -26,7 +26,7 @@ toc: 由于 Hugo 提供的便利性, [Hugo](https://gohugo.io/) 本身是这个主题唯一的依赖. -直接安装满足你操作系统 (**Windows**, **Linux**, **macOS**) 的最新版本 [:(far fa-file-archive): Hugo extended (> 0.62.0)](https://gohugo.io/getting-started/installing/). +直接安装满足你操作系统 (**Windows**, **Linux**, **macOS**) 的最新版本 [:(far fa-file-archive fa-fw): Hugo extended (> 0.62.0)](https://gohugo.io/getting-started/installing/). {{< admonition note "为什么不支持早期版本的 Hugo?" >}} 由于 [Markdown 渲染钩子函数](https://gohugo.io/getting-started/configuration-markup/#markdown-render-hooks) 在 [Hugo 圣诞节版本](https://gohugo.io/news/0.62.0-relnotes/) 中被引入, 本主题只支持高于 **0.62.0** 的 Hugo 版本. @@ -53,7 +53,7 @@ cd my_website **LoveIt** 主题的仓库是: [https://github.com/dillonzq/LoveIt](https://github.com/dillonzq/LoveIt). -你可以下载主题的 [最新版本 :(far fa-file-archive): .zip 文件](https://github.com/dillonzq/LoveIt/releases) 并且解压放到 `themes` 目录. +你可以下载主题的 [最新版本 :(far fa-file-archive fa-fw): .zip 文件](https://github.com/dillonzq/LoveIt/releases) 并且解压放到 `themes` 目录. 另外, 也可以直接把这个主题克隆到 `themes` 目录: @@ -365,8 +365,6 @@ hugo hiddenFromSearch = false # 是否在文章页面使用 lightgallery lightgallery = true - # {{< version 0.2.0 >}} 是否显示代码块的复制按钮 - copyCode = true # {{< version 0.2.0 >}} 是否使用 ruby 扩展语法 ruby = true # {{< version 0.2.0 >}} 是否使用 fraction 扩展语法 @@ -381,6 +379,10 @@ hugo enable = true # 是否使目录自动折叠展开 auto = true + # {{< version 0.2.0 >}} 代码配置 + [params.page.code] + # 是否显示代码块的复制按钮 + copy = true # {{< version 0.2.0 changed >}} {{< link "https://katex.org/" KaTeX >}} 数学公式 [params.page.math] enable = true @@ -488,7 +490,7 @@ hugo outlined = false # {{< version 0.2.0 >}} {{< link "https://commento.io/" "Commento" >}} 评论系统设置 [params.page.comment.commento] - enable = true + enable = false # {{< version 0.2.0 >}} SEO config [params.page.seo] # 出版者信息 @@ -757,12 +759,12 @@ $code-font-family: Fira Mono, Source Code Pro, Menlo, Consolas, Monaco, monospac | 语言 | Hugo 代码 | HTML `lang` 属性 | 主题文档 | Lunr.js 支持 | |:---- |:----:|:----:|:----:|:----:| -| 英语 | `en` | `en` | :(far fa-check-square): | :(far fa-check-square): | -| 简体中文 | `zh-cn` | `zh-CN` | :(far fa-check-square): | :(far fa-check-square): | -| 法语 | `fr` | `fr` | :(far fa-square): | :(far fa-check-square): | -| 波兰语 | `pl` | `pl` | :(far fa-square): | :(far fa-square): | +| 英语 | `en` | `en` | :(far fa-check-square fa-fw): | :(far fa-check-square fa-fw): | +| 简体中文 | `zh-cn` | `zh-CN` | :(far fa-check-square fa-fw): | :(far fa-check-square fa-fw): | +| 法语 | `fr` | `fr` | :(far fa-square fa-fw): | :(far fa-check-square fa-fw): | +| 波兰语 | `pl` | `pl` | :(far fa-square fa-fw): | :(far fa-square fa-fw): | -:(far fa-kiss-wink-heart): **请自由地[贡献代码](https://github.com/dillonzq/LoveIt/pulls)!** +:(far fa-kiss-wink-heart fa-fw): **请自由地[贡献代码](https://github.com/dillonzq/LoveIt/pulls)!** ### 4.2 基本配置 diff --git a/exampleSite/content/posts/theme-documentation-content.en.md b/exampleSite/content/posts/theme-documentation-content.en.md index 0fe2f623..fd6a584f 100644 --- a/exampleSite/content/posts/theme-documentation-content.en.md +++ b/exampleSite/content/posts/theme-documentation-content.en.md @@ -63,7 +63,6 @@ featuredImagePreview: "" hiddenFromHomePage: false hiddenFromSearch: false lightgallery: true -copyCode: true ruby: true fraction: true fontawesome: true @@ -72,6 +71,9 @@ linkToMarkdown: true toc: enable: true auto: true +code: + copy: true + # ... math: enable: true # ... @@ -104,7 +106,6 @@ comment: * **hiddenFromHomePage**: if `true`, the content will not be shown in the home page. * **hiddenFromSearch**: {{< version 0.2.0 >}} if `true`, the content will not be shown in the search results. -* **copyCode**: {{< version 0.2.0 >}} if `true`, the content will show the copy button of the code block. * **lightgallery**: if `true`, images in the content will be shown as the gallery. * **ruby**: {{< version 0.2.0 >}} if `true`, the content will enable the [ruby extended syntax](#ruby). * **fraction**: {{< version 0.2.0 >}} if `true`, the content will enable the [fraction extended syntax](#fraction). @@ -112,6 +113,7 @@ comment: * **linkToMarkdown**: if `true`, the footer of the content will show the link to the orignal Markdown file. * **toc**: {{< version 0.2.0 changed >}} the same as the `params.page.toc` part in the [site configuration](../theme-documentation-basics/#site-configuration). +* **code**: {{< version 0.2.0 >}} the same as the `params.page.code` part in the [site configuration](../theme-documentation-basics/#site-configuration). * **math**: {{< version 0.2.0 changed >}} the same as the `params.page.math` part in the [site configuration](../theme-documentation-basics/#site-configuration). * **mapbox**: {{< version 0.2.0 >}} the same as the `params.page.mapbox` part in the [site configuration](../theme-documentation-basics/#site-configuration). * **share**: the same as the `params.page.share` part in the [site configuration](../theme-documentation-basics/#site-configuration). @@ -287,14 +289,14 @@ You can easily use these icons in your articles. Get the `class` of icons you wanted from the [Font Awesome website](https://fontawesome.com/icons?d=gallery). ```markdown -Gone camping! {?:}(fas fa-campground): Be back soon. +Gone camping! {?:}(fas fa-campground fa-fw): Be back soon. That is so funny! {?:}(far fa-grin-tears): ``` The rendered output looks like this: -Gone camping! :(fas fa-campground): Be back soon. +Gone camping! :(fas fa-campground fa-fw): Be back soon. That is so funny! :(far fa-grin-tears): diff --git a/exampleSite/content/posts/theme-documentation-content.fr.md b/exampleSite/content/posts/theme-documentation-content.fr.md index d99d1dc3..5d642434 100644 --- a/exampleSite/content/posts/theme-documentation-content.fr.md +++ b/exampleSite/content/posts/theme-documentation-content.fr.md @@ -68,7 +68,6 @@ featuredImagePreview: "" hiddenFromHomePage: false hiddenFromSearch: false lightgallery: true -copyCode: true ruby: true fraction: true fontawesome: true @@ -77,6 +76,9 @@ linkToMarkdown: true toc: enable: true auto: true +code: + copy: true + # ... math: enable: true # ... @@ -109,7 +111,6 @@ comment: * **hiddenFromHomePage**: if `true`, the content will not be shown in the home page. * **hiddenFromSearch**: {{< version 0.2.0 >}} if `true`, the content will not be shown in the search results. -* **copyCode**: {{< version 0.2.0 >}} if `true`, the content will show the copy button of the code block. * **lightgallery**: if `true`, images in the content will be shown as the gallery. * **ruby**: {{< version 0.2.0 >}} if `true`, the content will enable the [ruby extended syntax](#ruby). * **fraction**: {{< version 0.2.0 >}} if `true`, the content will enable the [fraction extended syntax](#fraction). @@ -117,6 +118,7 @@ comment: * **linkToMarkdown**: if `true`, the footer of the content will show the link to the orignal Markdown file. * **toc**: {{< version 0.2.0 changed >}} the same as the `params.page.toc` part in the [site configuration](../theme-documentation-basics/#site-configuration). +* **code**: {{< version 0.2.0 >}} the same as the `params.page.code` part in the [site configuration](../theme-documentation-basics/#site-configuration). * **math**: {{< version 0.2.0 changed >}} the same as the `params.page.math` part in the [site configuration](../theme-documentation-basics/#site-configuration). * **mapbox**: {{< version 0.2.0 >}} the same as the `params.page.mapbox` part in the [site configuration](../theme-documentation-basics/#site-configuration). * **share**: the same as the `params.page.share` part in the [site configuration](../theme-documentation-basics/#site-configuration). @@ -292,14 +294,14 @@ You can easily use these icons in your articles. Get the `class` of icons you wanted from the [Font Awesome website](https://fontawesome.com/icons?d=gallery). ```markdown -Gone camping! {?:}(fas fa-campground): Be back soon. +Gone camping! {?:}(fas fa-campground fa-fw): Be back soon. That is so funny! {?:}(far fa-grin-tears): ``` The rendered output looks like this: -Gone camping! :(fas fa-campground): Be back soon. +Gone camping! :(fas fa-campground fa-fw): Be back soon. That is so funny! :(far fa-grin-tears): diff --git a/exampleSite/content/posts/theme-documentation-content.zh-cn.md b/exampleSite/content/posts/theme-documentation-content.zh-cn.md index aca01c76..d379b76e 100644 --- a/exampleSite/content/posts/theme-documentation-content.zh-cn.md +++ b/exampleSite/content/posts/theme-documentation-content.zh-cn.md @@ -63,7 +63,6 @@ featuredImagePreview: "" hiddenFromHomePage: false hiddenFromSearch: false lightgallery: true -copyCode: true ruby: true fraction: true fontawesome: true @@ -72,6 +71,9 @@ linkToMarkdown: true toc: enable: true auto: true +code: + copy: true + # ... math: enable: true # ... @@ -104,7 +106,6 @@ comment: * **hiddenFromHomePage**: 如果设为 `true`, 这篇文章将不会显示在主页上. * **hiddenFromSearch**: {{< version 0.2.0 >}} 如果设为 `true`, 这篇文章将不会显示在搜索结果中. -* **copyCode**: {{< version 0.2.0 >}} 如果设为 `true`, 这篇文章会显示代码块的复制按钮. * **lightgallery**: 如果设为 `true`, 文章中的图片将可以按照画廊形式呈现. * **ruby**: {{< version 0.2.0 >}} 如果设为 `true`, 这篇文章会使用 [上标注释扩展语法](#ruby). * **fraction**: {{< version 0.2.0 >}} 如果设为 `true`, 这篇文章会使用 [分数扩展语法](#fraction). @@ -112,6 +113,7 @@ comment: * **linkToMarkdown**: 如果设为 `true`, 内容的页脚将显示指向原始 Markdown 文件的链接. * **toc**: {{< version 0.2.0 changed >}} 和 [网站配置](../theme-documentation-basics/#site-configuration) 中的 `params.page.toc` 部分相同. +* **code**: {{< version 0.2.0 >}} 和 [网站配置](../theme-documentation-basics/#site-configuration) 中的 `params.page.code` 部分相同. * **math**: {{< version 0.2.0 changed >}} 和 [网站配置](../theme-documentation-basics/#site-configuration) 中的 `params.page.math` 部分相同. * **mapbox**: {{< version 0.2.0 >}} 和 [网站配置](../theme-documentation-basics/#site-configuration) 中的 `params.page.mapbox` 部分相同. * **share**: 和 [网站配置](../theme-documentation-basics/#site-configuration) 中的 `params.page.share` 部分相同. @@ -287,14 +289,14 @@ $$ \ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-} $$ 从 [Font Awesome 网站](https://fontawesome.com/icons?d=gallery) 上获取所需的图标 `class`. ```markdown -去露营啦! {?:}(fas fa-campground): 很快就回来. +去露营啦! {?:}(fas fa-campground fa-fw): 很快就回来. 真开心! {?:}(far fa-grin-tears): ``` 呈现的输出效果如下: -去露营啦! :(fas fa-campground): 很快就回来. +去露营啦! :(fas fa-campground fa-fw): 很快就回来. 真开心! :(far fa-grin-tears): diff --git a/layouts/partials/assets.html b/layouts/partials/assets.html index 1c09db3d..ed19ad2a 100644 --- a/layouts/partials/assets.html +++ b/layouts/partials/assets.html @@ -53,7 +53,7 @@ {{- end -}} {{- /* clipboard.js */ -}} -{{- if ne $params.copycode false -}} +{{- if not $params.code | or (ne $params.code false) -}} {{- $source := $cdn.clipboardJS | default "lib/clipboard/clipboard.min.js" -}} {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}} {{- $config = T "copyToClipboard" | dict "title" | dict "clipboard" | merge $config -}} diff --git a/layouts/partials/function/fontawesome.html b/layouts/partials/function/fontawesome.html index d3a37ac6..9d64c3dc 100644 --- a/layouts/partials/function/fontawesome.html +++ b/layouts/partials/function/fontawesome.html @@ -10,5 +10,5 @@ {{- $content = replaceRE $REin $REout . -}} {{- $REin = `:\(([\w- ]+?)\):` -}} -{{- $REout = `` -}} +{{- $REout = `` -}} {{- return replaceRE $REin $REout $content -}} diff --git a/resources/_gen/assets/scss/css/style.template.scss_b8ba9a60a151126bfcde1421dc0b972d.content b/resources/_gen/assets/scss/css/style.template.scss_b8ba9a60a151126bfcde1421dc0b972d.content index b8c53cde..3fa7ff36 100644 --- a/resources/_gen/assets/scss/css/style.template.scss_b8ba9a60a151126bfcde1421dc0b972d.content +++ b/resources/_gen/assets/scss/css/style.template.scss_b8ba9a60a151126bfcde1421dc0b972d.content @@ -1,3 +1,3 @@ -@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}.dark ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;overflow-wrap:break-word;scrollbar-color:auto}body.dark{color:#a9a9b3;background-color:#292a2d}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}a{text-decoration:none}a{color:#161209}.dark a{color:#a9a9b3}a:active,a:hover{color:#2d96bd}.dark a:active,.dark a:hover{color:#fff}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;border:1px solid #d7d7d7;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}.dark .fixed-button{color:#5d5d5f;background:#252627;border-color:#313236}.dark .fixed-button:hover,.dark .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}.wrapper{display:flex;flex-direction:column;min-height:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.page{position:relative;width:100%;max-width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}#toc-auto{display:block;position:absolute;width:1000px;padding:0 .8rem;border-left:1px solid #f0f0f0;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:10000px}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.dark #toc-auto{border-left:1px solid #4a4b50}#toc-auto .toc-title{font-weight:400;margin:.8rem 0;text-transform:uppercase}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul{text-indent:-0.85rem;padding-left:.625rem;list-style:none}#toc-auto .toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark #toc-auto .toc-content ul a::before{color:#55bde2}#toc-auto .toc-content ul ul{padding-left:1.25rem;display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}.dark #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}.dark #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static details summary{list-style:none;background:#ededed}.dark #toc-static details summary{background:#20252b}#toc-static details summary .toc-title{display:block;display:flex;justify-content:space-between;font-weight:bold;line-height:2em;padding:0 .625rem}#toc-static details summary .toc-title i.details{line-height:2em}#toc-static details summary .toc-title:hover{cursor:pointer}#toc-static details summary::-webkit-details-marker{display:none}#toc-static details[open] i.details{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem .8rem}#toc-static .toc-content ul{list-style:none}#toc-static .toc-content ul ul{padding-left:1.25rem}.dark #toc-static .toc-content{background-color:#272C34}.toc .toc-title{font-size:1.2rem}.toc .toc-content{font-size:1rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}.dark .toc ruby{background:#272C34}.dark .toc ruby rt{color:#5d5d5f}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}.dark .single .post-meta{color:#5d5d5f}.single .post-meta a{color:#2d96bd}.dark .single .post-meta a{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}.dark .single .post-meta a:active,.dark .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}.dark .single .content h2,.dark .single .content h3,.dark .single .content h4,.dark .single .content h5,.dark .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark .single .content>h2>.header-mark::before,.dark .single .content>h3>.header-mark::before,.dark .single .content>h4>.header-mark::before,.dark .single .content>h5>.header-mark::before,.dark .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}.dark .single .content b,.dark .single .content strong{color:#ddd}.single .content a{color:#2d96bd}.dark .single .content a{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}.dark .single .content a:active,.dark .single .content a:hover{color:#bdebfc}.single .content a{word-break:break-all;word-break:break-word}.dark .single .content a b,.dark .single .content a strong{color:#55bde2}.single .content .dark a:hover b,.single .content .dark a:hover strong{color:#bdebfc}.single .content ul{margin:.5rem 0;padding-left:2rem;list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}.dark .single .content ruby{background:#272C34}.dark .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}.dark .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}.dark .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}.dark .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px double #f0f0f0}.dark .single .content .table-wrapper>table th,.dark .single .content .table-wrapper>table td{border:1px double #4a4b50}.single .content img{max-width:100%;min-height:1.25em;vertical-align:text-bottom}.single .content figure{text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{object-fit:none}.single .content blockquote{font-size:1rem;display:block;border-width:1px 0;border-style:solid;border-color:#f0f0f0;padding:1.5em 1.2em 0.5em 1.2em;margin:0 0 2em 0;position:relative}.single .content blockquote::before{content:'\201C';position:absolute;top:0em;left:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-o-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:3rem;height:2rem;font:6em/1.08em 'PT Sans', sans-serif;color:#2d96bd;text-align:center}.dark .single .content blockquote::before{color:#55bde2}.single .content blockquote::after{content:"#blockquote" attr(cite);display:block;text-align:right;font-size:0.875em;color:#2d96bd}.dark .single .content blockquote::after{color:#55bde2}.dark .single .content blockquote{border-color:#4a4b50}.single .content .footnotes{color:#a9a9b3}.dark .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}.single .content code img{min-height:1.25em;max-height:1.25em}.dark .single .content code{color:#E5BF78}.single .content code:not(.block){padding:.2rem .4rem}.single .content pre{position:relative;margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre .copy-button{font-size:.875rem;line-height:1.4em;position:absolute;top:0;right:0;padding:.3rem .5rem;color:#b1b0b0;background:#ededed}.dark .single .content pre .copy-button{color:#b1b0b0;background:#20252b}.single .content pre .copy-button:hover,.single .content pre .copy-button:focus{cursor:pointer;color:#2d96bd}.dark .single .content pre .copy-button:hover,.dark .single .content pre .copy-button:focus{color:#fff}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}.dark .single .content code,.dark .single .content pre,.dark .single .content .highlight table,.dark .single .content .highlight tr,.dark .single .content .highlight td{background:#272C34}.single .content .highlight>.chroma table,.single .content .highlight>.chroma tr,.single .content .highlight>.chroma td,.single .content .gist table,.single .content .gist tr,.single .content .gist td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight>.chroma{position:relative;margin:.5rem 0}.single .content .highlight>.chroma pre{position:unset}.single .content .highlight>.chroma::before{display:block;padding:.3rem .4rem;font-family:system,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#b1b0b0;background:#ededed;content:'Code'}.dark .single .content .highlight>.chroma::before{color:#b1b0b0;background:#20252b}.single .content .highlight>.chroma.language-bash::before{content:"Bash"}.single .content .highlight>.chroma.language-c::before{content:"C"}.single .content .highlight>.chroma.language-cs::before{content:"C#"}.single .content .highlight>.chroma.language-cpp::before{content:"C++"}.single .content .highlight>.chroma.language-clojure::before{content:"Clojure"}.single .content .highlight>.chroma.language-coffeescript::before{content:"CoffeeScript"}.single .content .highlight>.chroma.language-css::before{content:"CSS"}.single .content .highlight>.chroma.language-dart::before{content:"Dart"}.single .content .highlight>.chroma.language-diff::before{content:"Diff"}.single .content .highlight>.chroma.language-erlang::before{content:"Erlang"}.single .content .highlight>.chroma.language-go::before{content:"Go"}.single .content .highlight>.chroma.language-go-html-template::before{content:"Go HTML Template"}.single .content .highlight>.chroma.language-groovy::before{content:"Groovy"}.single .content .highlight>.chroma.language-haskell::before{content:"Haskell"}.single .content .highlight>.chroma.language-html::before{content:"HTML"}.single .content .highlight>.chroma.language-http::before{content:"HTTP"}.single .content .highlight>.chroma.language-xml::before{content:"XML"}.single .content .highlight>.chroma.language-java::before{content:"Java"}.single .content .highlight>.chroma.language-js::before{content:"JavaScript"}.single .content .highlight>.chroma.language-javascript::before{content:"JavaScript"}.single .content .highlight>.chroma.language-json::before{content:"JSON"}.single .content .highlight>.chroma.language-kotlin::before{content:"Kotlin"}.single .content .highlight>.chroma.language-latex::before{content:"LaTeX"}.single .content .highlight>.chroma.language-less::before{content:"Less"}.single .content .highlight>.chroma.language-lisp::before{content:"Lisp"}.single .content .highlight>.chroma.language-lua::before{content:"Lua"}.single .content .highlight>.chroma.language-makefile::before{content:"Makefile"}.single .content .highlight>.chroma.language-markdown::before{content:"Markdown"}.single .content .highlight>.chroma.language-matlab::before{content:"Matlab"}.single .content .highlight>.chroma.language-objectivec::before{content:"Objective-C"}.single .content .highlight>.chroma.language-php::before{content:"PHP"}.single .content .highlight>.chroma.language-perl::before{content:"Perl"}.single .content .highlight>.chroma.language-python::before{content:"Python"}.single .content .highlight>.chroma.language-r::before{content:"R"}.single .content .highlight>.chroma.language-ruby::before{content:"Ruby"}.single .content .highlight>.chroma.language-rust::before{content:"Rust"}.single .content .highlight>.chroma.language-scala::before{content:"Scala"}.single .content .highlight>.chroma.language-scss::before{content:"Scss"}.single .content .highlight>.chroma.language-shell::before{content:"Shell"}.single .content .highlight>.chroma.language-sql::before{content:"SQL"}.single .content .highlight>.chroma.language-swift::before{content:"Swift"}.single .content .highlight>.chroma.language-tex::before{content:"TeX"}.single .content .highlight>.chroma.language-toml::before{content:"TOML"}.single .content .highlight>.chroma.language-ts::before{content:"TypeScript"}.single .content .highlight>.chroma.language-typescript::before{content:"TypeScript"}.single .content .highlight>.chroma.language-vue::before{content:"Vue"}.single .content .highlight>.chroma.language-yml::before{content:"YAML"}.single .content .highlight>.chroma.language-yaml::before{content:"YAML"}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{padding-left:.75rem;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}.dark .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}.dark .single .content .highlight>.chroma .ln,.dark .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem;line-height:1.4em}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}.dark .single .content .highlight .p{color:#a9a9b3}.dark .single .content .highlight .k{color:#d371e3}.dark .single .content .highlight .kc{color:#d371e3}.dark .single .content .highlight .kd{color:#d371e3}.dark .single .content .highlight .kn{color:#d371e3}.dark .single .content .highlight .kp{color:#d371e3}.dark .single .content .highlight .kr{color:#d371e3}.dark .single .content .highlight .kt{color:#d371e3}.dark .single .content .highlight .n{color:#a9b2c0}.dark .single .content .highlight .na{color:#41b0f5}.dark .single .content .highlight .nb{color:#19b9c4}.dark .single .content .highlight .bp{color:#ecbf6f}.dark .single .content .highlight .nc{color:#ecbf6f}.dark .single .content .highlight .no{color:#41b0f5}.dark .single .content .highlight .nd{color:#ecbf6f}.dark .single .content .highlight .ni{color:#41b0f5}.dark .single .content .highlight .ne{color:#41b0f5}.dark .single .content .highlight .nf{color:#41b0f5}.dark .single .content .highlight .fm{color:#19b9c4}.dark .single .content .highlight .nl{color:#41b0f5}.dark .single .content .highlight .nn{color:#41b0f5}.dark .single .content .highlight .nx{color:#a9a9b3}.dark .single .content .highlight .py{color:#41b0f5}.dark .single .content .highlight .nt{color:#41b0f5}.dark .single .content .highlight .nv{color:#41b0f5}.dark .single .content .highlight .vc{color:#41b0f5}.dark .single .content .highlight .vg{color:#41b0f5}.dark .single .content .highlight .vi{color:#41b0f5}.dark .single .content .highlight .vm{color:#41b0f5}.dark .single .content .highlight .l{color:#2aa198}.dark .single .content .highlight .ld{color:#2aa198}.dark .single .content .highlight .s{color:#8cc570}.dark .single .content .highlight .sa{color:#8cc570}.dark .single .content .highlight .sb{color:#8cc570}.dark .single .content .highlight .sc{color:#8cc570}.dark .single .content .highlight .dl{color:#8cc570}.dark .single .content .highlight .sd{color:#8cc570}.dark .single .content .highlight .s2{color:#8cc570}.dark .single .content .highlight .se{color:#8cc570}.dark .single .content .highlight .sh{color:#8cc570}.dark .single .content .highlight .si{color:#8cc570}.dark .single .content .highlight .sx{color:#8cc570}.dark .single .content .highlight .sr{color:#8cc570}.dark .single .content .highlight .s1{color:#8cc570}.dark .single .content .highlight .ss{color:#8cc570}.dark .single .content .highlight .m{color:#db985c}.dark .single .content .highlight .mb{color:#db985c}.dark .single .content .highlight .mf{color:#db985c}.dark .single .content .highlight .mh{color:#db985c}.dark .single .content .highlight .mi{color:#db985c}.dark .single .content .highlight .il{color:#db985c}.dark .single .content .highlight .mo{color:#db985c}.dark .single .content .highlight .o{color:#ecbf6f}.dark .single .content .highlight .ow{color:#d371e3}.dark .single .content .highlight .c{color:#7e848f}.dark .single .content .highlight .ch{color:#7e848f}.dark .single .content .highlight .cm{color:#7e848f}.dark .single .content .highlight .c1{color:#7e848f}.dark .single .content .highlight .cs{color:#7e848f}.dark .single .content .highlight .cp{color:#7e848f}.dark .single .content .highlight .cpf{color:#7e848f}.dark .single .content .highlight .g{color:#f16372}.dark .single .content .highlight .gd{color:#f16372}.dark .single .content .highlight .ge{color:#f16372}.dark .single .content .highlight .gr{color:#f16372}.dark .single .content .highlight .gh{color:#f16372}.dark .single .content .highlight .gi{color:#f16372}.dark .single .content .highlight .go{color:#f16372}.dark .single .content .highlight .gp{color:#f16372}.dark .single .content .highlight .gs{color:#f16372}.dark .single .content .highlight .gu{color:#f16372}.dark .single .content .highlight .gt{color:#f16372}.dark .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a{color:#2d96bd}.dark .single .content .gist .gist-meta a{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}.dark .single .content .gist .gist-meta a:active,.dark .single .content .gist .gist-meta a:hover{color:#bdebfc}.dark .single .content .gist .gist-meta{background-color:#1c2025}.dark .single .content .gist .highlight{background:#141414}.dark .single .content .gist .blob-num,.dark .single .content .gist .blob-code-inner,.dark .single .content .gist .highlight,.dark .single .content .gist .pl-enm,.dark .single .content .gist .pl-ko,.dark .single .content .gist .pl-mo,.dark .single .content .gist .pl-mp1 .pl-sf,.dark .single .content .gist .pl-ms,.dark .single .content .gist .pl-pdc1,.dark .single .content .gist .pl-scp,.dark .single .content .gist .pl-smc,.dark .single .content .gist .pl-som,.dark .single .content .gist .pl-va,.dark .single .content .gist .pl-vpf,.dark .single .content .gist .pl-vpu,.dark .single .content .gist .pl-mdr{color:#aab1bf}.dark .single .content .gist .pl-mb,.dark .single .content .gist .pl-pdb{font-weight:700}.dark .single .content .gist .pl-c,.dark .single .content .gist .pl-c span,.dark .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}.dark .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}.dark .single .content .gist .pl-ef,.dark .single .content .gist .pl-en,.dark .single .content .gist .pl-enf,.dark .single .content .gist .pl-eoai,.dark .single .content .gist .pl-kos,.dark .single .content .gist .pl-mh .pl-pdh,.dark .single .content .gist .pl-mr{color:#61afef}.dark .single .content .gist .pl-ens,.dark .single .content .gist .pl-vi{color:#be5046}.dark .single .content .gist .pl-enti,.dark .single .content .gist .pl-mai .pl-sf,.dark .single .content .gist .pl-ml,.dark .single .content .gist .pl-sf,.dark .single .content .gist .pl-sr,.dark .single .content .gist .pl-sr .pl-sra,.dark .single .content .gist .pl-src,.dark .single .content .gist .pl-st,.dark .single .content .gist .pl-vo{color:#56b5c2}.dark .single .content .gist .pl-eoi,.dark .single .content .gist .pl-mri,.dark .single .content .gist .pl-pds,.dark .single .content .gist .pl-pse .pl-s1,.dark .single .content .gist .pl-s,.dark .single .content .gist .pl-s1{color:#97c279}.dark .single .content .gist .pl-k,.dark .single .content .gist .pl-kolp,.dark .single .content .gist .pl-mc,.dark .single .content .gist .pl-pde{color:#c578dd}.dark .single .content .gist .pl-mi,.dark .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}.dark .single .content .gist .pl-mp,.dark .single .content .gist .pl-stp{color:#818896}.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi,.dark .single .content .gist .pl-mdr{font-weight:400}.dark .single .content .gist .pl-mdht,.dark .single .content .gist .pl-mi1{color:#97c279;background:#020}.dark .single .content .gist .pl-md,.dark .single .content .gist .pl-mdhf{color:#df6b75;background:#200}.dark .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}.dark .single .content .gist .pl-ib{background:#df6b75}.dark .single .content .gist .pl-ii{background:#e0c184;color:#fff}.dark .single .content .gist .pl-iu{background:#e05151}.dark .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}.dark .single .content .gist .pl-c1,.dark .single .content .gist .pl-cn,.dark .single .content .gist .pl-e,.dark .single .content .gist .pl-eoa,.dark .single .content .gist .pl-eoac,.dark .single .content .gist .pl-eoac .pl-pde,.dark .single .content .gist .pl-kou,.dark .single .content .gist .pl-mm,.dark .single .content .gist .pl-mp .pl-s3,.dark .single .content .gist .pl-mq,.dark .single .content .gist .pl-s3,.dark .single .content .gist .pl-sok,.dark .single .content .gist .pl-sv,.dark .single .content .gist .pl-mb{color:#d19965}.dark .single .content .gist .pl-enc,.dark .single .content .gist .pl-entc,.dark .single .content .gist .pl-pse .pl-s2,.dark .single .content .gist .pl-s2,.dark .single .content .gist .pl-sc,.dark .single .content .gist .pl-smp,.dark .single .content .gist .pl-sr .pl-sre,.dark .single .content .gist .pl-stj,.dark .single .content .gist .pl-v,.dark .single .content .gist .pl-pdb{color:#e4bf7a}.dark .single .content .gist .pl-ent,.dark .single .content .gist .pl-entl,.dark .single .content .gist .pl-entm,.dark .single .content .gist .pl-mh,.dark .single .content .gist .pl-pdv,.dark .single .content .gist .pl-smi,.dark .single .content .gist .pl-sol,.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi{color:#df6b75}.dark .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:.9765em 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{margin:0 -0.75rem;padding:.2rem .75rem .2rem 1.8rem;border-bottom:0.05rem solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{margin:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;cursor:auto;position:absolute;left:.6rem;top:.6rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(158,158,158,0.1);background-color:rgba(158,158,158,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content details.admonition summary{display:block;outline:none;cursor:pointer}.single .content details.admonition summary::-webkit-details-marker{display:none}.single .content details.admonition summary i.details{position:absolute;top:.5rem;right:.5rem;color:#161209}.dark .single .content details.admonition summary i.details{color:#a9a9b3}.single .content details.admonition[open] i.details{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}.dark .single .content hr{border-top:1px dashed #4a4b50}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}.dark .single .content kbd{background-color:#292a2d;border:1px solid #4a4b50;border-bottom-color:#4a4b50;-webkit-box-shadow:inset 0 -1px 0 #4a4b50;box-shadow:inset 0 -1px 0 #4a4b50;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}.dark .single .post-footer .post-info{border-bottom:1px solid #4a4b50}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-mod a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-mod a:active,.dark .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-md a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-md a:active,.dark .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}.dark .archive .archive-item-link{color:#a9a9b3}.dark .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}.dark .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a{color:#161209}.dark .archive .tag-cloud-tags a{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}.dark .archive .tag-cloud-tags a:active,.dark .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}.dark .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}.dark .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}.dark .home .summary{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.home .summary .single-title{font-size:1.4rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6{line-height:2}.home .summary .content h2::before,.home .summary .content h3::before,.home .summary .content h4::before,.home .summary .content h5::before,.home .summary .content h6::before{content:"|";margin-right:.3125rem;color:#161209}.dark .home .summary .content h2::before,.dark .home .summary .content h3::before,.dark .home .summary .content h4::before,.dark .home .summary .content h5::before,.dark .home .summary .content h6::before{color:#a9a9b3}.home .summary .content h2{font-size:1.2rem}.home .summary .content h2::before{content:"#"}.home .summary .content a{color:#161209}.dark .home .summary .content a{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#2d96bd}.dark .home .summary .content a:active,.dark .home .summary .content a:hover{color:#fff}.dark .home .summary .content b,.dark .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a{color:#2d96bd}.dark .home .summary .post-footer a{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}.dark .home .summary .post-footer a:active,.dark .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a{color:#161209}.dark .home .summary .post-footer .post-tags a{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}.dark .home .summary .post-footer .post-tags a:active,.dark .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8;-webkit-box-shadow:0px 1px 4px rgba(0,0,0,0.1);box-shadow:0px 1px 4px rgba(0,0,0,0.1)}.dark header{background-color:#252627}header .logo{min-height:1.25em;height:1.25em;vertical-align:text-bottom;padding-right:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:"Nunito",system,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease 0s;-moz-transition:width 0.3s ease 0s;-o-transition:width 0.3s ease 0s;transition:width 0.3s ease 0s}.dark .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}.dark .open .search input,.dark .search.mobile input{color:#a9a9b3;background-color:#363636}.dark .open .search input::-webkit-input-placeholder,.dark .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}.dark .open .search input:-moz-placeholder,.dark .search.mobile input:-moz-placeholder{color:#5d5d5f}.dark .open .search input::-moz-placeholder,.dark .search.mobile input::-moz-placeholder{color:#5d5d5f}.dark .open .search input:-ms-input-placeholder,.dark .search.mobile input:-ms-input-placeholder{color:#5d5d5f}.dark .open .search input::placeholder,.dark .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}.dark .open .search .search-button,.dark .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 1.5rem}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}.dark #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#4a4b50}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}.dark #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease 0s;-moz-transition:margin-top 0.3s ease 0s;-o-transition:margin-top 0.3s ease 0s;transition:margin-top 0.3s ease 0s}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease 0s;-moz-transition:width 0.3s ease 0s;-o-transition:width 0.3s ease 0s;transition:width 0.3s ease 0s}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.dark #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}.dark #header-mobile .header-container .menu{background:#252627;border-top-color:#4a4b50}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:1.5rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}.dark .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}.dark .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}.dark .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}.dark .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer .dark{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a{color:#2d96bd}.dark .search-dropdown .dropdown-menu .search-footer a{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}.dark .search-dropdown .dropdown-menu .search-footer a:active,.dark .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}.dark .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}.dark .pagination li:before,.dark .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}.dark .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{max-width:56%}}@media only screen and (max-width: 1200px){.page{max-width:52%}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{max-width:80%}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{max-width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}} +@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}.dark ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;overflow-wrap:break-word;scrollbar-color:auto}body.dark{color:#a9a9b3;background-color:#292a2d}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}a{text-decoration:none}a{color:#161209}.dark a{color:#a9a9b3}a:active,a:hover{color:#2d96bd}.dark a:active,.dark a:hover{color:#fff}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;border:1px solid #d7d7d7;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}.dark .fixed-button{color:#5d5d5f;background:#252627;border-color:#313236}.dark .fixed-button:hover,.dark .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}.wrapper{display:flex;flex-direction:column;min-height:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.page{position:relative;width:100%;max-width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}#toc-auto{display:block;position:absolute;width:1000px;padding:0 .8rem;border-left:1px solid #f0f0f0;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:10000px}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.dark #toc-auto{border-left:1px solid #4a4b50}#toc-auto .toc-title{font-weight:400;margin:.8rem 0;text-transform:uppercase}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul{text-indent:-0.85rem;padding-left:.625rem;list-style:none}#toc-auto .toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark #toc-auto .toc-content ul a::before{color:#55bde2}#toc-auto .toc-content ul ul{padding-left:1.25rem;display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}.dark #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}.dark #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static details summary{list-style:none;background:#ededed}.dark #toc-static details summary{background:#20252b}#toc-static details summary .toc-title{display:block;display:flex;justify-content:space-between;font-weight:bold;line-height:2em;padding:0 .625rem}#toc-static details summary .toc-title i.details{line-height:2em}#toc-static details summary .toc-title:hover{cursor:pointer}#toc-static details summary::-webkit-details-marker{display:none}#toc-static details[open] i.details{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem .8rem}#toc-static .toc-content ul{list-style:none}#toc-static .toc-content ul ul{padding-left:1.25rem}.dark #toc-static .toc-content{background-color:#272C34}.toc .toc-title{font-size:1.2rem}.toc .toc-content{font-size:1rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}.dark .toc ruby{background:#272C34}.dark .toc ruby rt{color:#5d5d5f}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}.dark .single .post-meta{color:#5d5d5f}.single .post-meta a{color:#2d96bd}.dark .single .post-meta a{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}.dark .single .post-meta a:active,.dark .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}.dark .single .content h2,.dark .single .content h3,.dark .single .content h4,.dark .single .content h5,.dark .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark .single .content>h2>.header-mark::before,.dark .single .content>h3>.header-mark::before,.dark .single .content>h4>.header-mark::before,.dark .single .content>h5>.header-mark::before,.dark .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}.dark .single .content b,.dark .single .content strong{color:#ddd}.single .content a{color:#2d96bd}.dark .single .content a{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}.dark .single .content a:active,.dark .single .content a:hover{color:#bdebfc}.single .content a{word-break:break-all;word-break:break-word}.dark .single .content a b,.dark .single .content a strong{color:#55bde2}.single .content .dark a:hover b,.single .content .dark a:hover strong{color:#bdebfc}.single .content ul{margin:.5rem 0;padding-left:2rem;list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}.dark .single .content ruby{background:#272C34}.dark .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}.dark .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}.dark .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}.dark .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px double #f0f0f0}.dark .single .content .table-wrapper>table th,.dark .single .content .table-wrapper>table td{border:1px double #4a4b50}.single .content img{max-width:100%;min-height:1.25em;vertical-align:text-bottom}.single .content figure{text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{object-fit:none}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}.dark .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}.dark .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}.single .content code img{min-height:1.25em;max-height:1.25em}.dark .single .content code{color:#E5BF78}.single .content code:not(.block){padding:.2rem .4rem}.single .content pre{position:relative;margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre .copy-button{font-size:.875rem;line-height:1.4em;position:absolute;top:0;right:0;padding:.3rem .5rem;color:#b1b0b0;background:#ededed}.dark .single .content pre .copy-button{color:#b1b0b0;background:#20252b}.single .content pre .copy-button:hover,.single .content pre .copy-button:focus{cursor:pointer;color:#2d96bd}.dark .single .content pre .copy-button:hover,.dark .single .content pre .copy-button:focus{color:#fff}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}.dark .single .content code,.dark .single .content pre,.dark .single .content .highlight table,.dark .single .content .highlight tr,.dark .single .content .highlight td{background:#272C34}.single .content .highlight>.chroma table,.single .content .highlight>.chroma tr,.single .content .highlight>.chroma td,.single .content .gist table,.single .content .gist tr,.single .content .gist td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight>.chroma{position:relative;margin:.5rem 0}.single .content .highlight>.chroma pre{position:unset}.single .content .highlight>.chroma::before{display:block;padding:.3rem .4rem;font-family:system,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#b1b0b0;background:#ededed;content:'Code'}.dark .single .content .highlight>.chroma::before{color:#b1b0b0;background:#20252b}.single .content .highlight>.chroma.language-bash::before{content:"Bash"}.single .content .highlight>.chroma.language-c::before{content:"C"}.single .content .highlight>.chroma.language-cs::before{content:"C#"}.single .content .highlight>.chroma.language-cpp::before{content:"C++"}.single .content .highlight>.chroma.language-clojure::before{content:"Clojure"}.single .content .highlight>.chroma.language-coffeescript::before{content:"CoffeeScript"}.single .content .highlight>.chroma.language-css::before{content:"CSS"}.single .content .highlight>.chroma.language-dart::before{content:"Dart"}.single .content .highlight>.chroma.language-diff::before{content:"Diff"}.single .content .highlight>.chroma.language-erlang::before{content:"Erlang"}.single .content .highlight>.chroma.language-go::before{content:"Go"}.single .content .highlight>.chroma.language-go-html-template::before{content:"Go HTML Template"}.single .content .highlight>.chroma.language-groovy::before{content:"Groovy"}.single .content .highlight>.chroma.language-haskell::before{content:"Haskell"}.single .content .highlight>.chroma.language-html::before{content:"HTML"}.single .content .highlight>.chroma.language-http::before{content:"HTTP"}.single .content .highlight>.chroma.language-xml::before{content:"XML"}.single .content .highlight>.chroma.language-java::before{content:"Java"}.single .content .highlight>.chroma.language-js::before{content:"JavaScript"}.single .content .highlight>.chroma.language-javascript::before{content:"JavaScript"}.single .content .highlight>.chroma.language-json::before{content:"JSON"}.single .content .highlight>.chroma.language-kotlin::before{content:"Kotlin"}.single .content .highlight>.chroma.language-latex::before{content:"LaTeX"}.single .content .highlight>.chroma.language-less::before{content:"Less"}.single .content .highlight>.chroma.language-lisp::before{content:"Lisp"}.single .content .highlight>.chroma.language-lua::before{content:"Lua"}.single .content .highlight>.chroma.language-makefile::before{content:"Makefile"}.single .content .highlight>.chroma.language-markdown::before{content:"Markdown"}.single .content .highlight>.chroma.language-matlab::before{content:"Matlab"}.single .content .highlight>.chroma.language-objectivec::before{content:"Objective-C"}.single .content .highlight>.chroma.language-php::before{content:"PHP"}.single .content .highlight>.chroma.language-perl::before{content:"Perl"}.single .content .highlight>.chroma.language-python::before{content:"Python"}.single .content .highlight>.chroma.language-r::before{content:"R"}.single .content .highlight>.chroma.language-ruby::before{content:"Ruby"}.single .content .highlight>.chroma.language-rust::before{content:"Rust"}.single .content .highlight>.chroma.language-scala::before{content:"Scala"}.single .content .highlight>.chroma.language-scss::before{content:"Scss"}.single .content .highlight>.chroma.language-shell::before{content:"Shell"}.single .content .highlight>.chroma.language-sql::before{content:"SQL"}.single .content .highlight>.chroma.language-swift::before{content:"Swift"}.single .content .highlight>.chroma.language-tex::before{content:"TeX"}.single .content .highlight>.chroma.language-toml::before{content:"TOML"}.single .content .highlight>.chroma.language-ts::before{content:"TypeScript"}.single .content .highlight>.chroma.language-typescript::before{content:"TypeScript"}.single .content .highlight>.chroma.language-vue::before{content:"Vue"}.single .content .highlight>.chroma.language-yml::before{content:"YAML"}.single .content .highlight>.chroma.language-yaml::before{content:"YAML"}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{padding-left:.75rem;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}.dark .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}.dark .single .content .highlight>.chroma .ln,.dark .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem;line-height:1.4em}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}.dark .single .content .highlight .p{color:#a9a9b3}.dark .single .content .highlight .k{color:#d371e3}.dark .single .content .highlight .kc{color:#d371e3}.dark .single .content .highlight .kd{color:#d371e3}.dark .single .content .highlight .kn{color:#d371e3}.dark .single .content .highlight .kp{color:#d371e3}.dark .single .content .highlight .kr{color:#d371e3}.dark .single .content .highlight .kt{color:#d371e3}.dark .single .content .highlight .n{color:#a9b2c0}.dark .single .content .highlight .na{color:#41b0f5}.dark .single .content .highlight .nb{color:#19b9c4}.dark .single .content .highlight .bp{color:#ecbf6f}.dark .single .content .highlight .nc{color:#ecbf6f}.dark .single .content .highlight .no{color:#41b0f5}.dark .single .content .highlight .nd{color:#ecbf6f}.dark .single .content .highlight .ni{color:#41b0f5}.dark .single .content .highlight .ne{color:#41b0f5}.dark .single .content .highlight .nf{color:#41b0f5}.dark .single .content .highlight .fm{color:#19b9c4}.dark .single .content .highlight .nl{color:#41b0f5}.dark .single .content .highlight .nn{color:#41b0f5}.dark .single .content .highlight .nx{color:#a9a9b3}.dark .single .content .highlight .py{color:#41b0f5}.dark .single .content .highlight .nt{color:#41b0f5}.dark .single .content .highlight .nv{color:#41b0f5}.dark .single .content .highlight .vc{color:#41b0f5}.dark .single .content .highlight .vg{color:#41b0f5}.dark .single .content .highlight .vi{color:#41b0f5}.dark .single .content .highlight .vm{color:#41b0f5}.dark .single .content .highlight .l{color:#2aa198}.dark .single .content .highlight .ld{color:#2aa198}.dark .single .content .highlight .s{color:#8cc570}.dark .single .content .highlight .sa{color:#8cc570}.dark .single .content .highlight .sb{color:#8cc570}.dark .single .content .highlight .sc{color:#8cc570}.dark .single .content .highlight .dl{color:#8cc570}.dark .single .content .highlight .sd{color:#8cc570}.dark .single .content .highlight .s2{color:#8cc570}.dark .single .content .highlight .se{color:#8cc570}.dark .single .content .highlight .sh{color:#8cc570}.dark .single .content .highlight .si{color:#8cc570}.dark .single .content .highlight .sx{color:#8cc570}.dark .single .content .highlight .sr{color:#8cc570}.dark .single .content .highlight .s1{color:#8cc570}.dark .single .content .highlight .ss{color:#8cc570}.dark .single .content .highlight .m{color:#db985c}.dark .single .content .highlight .mb{color:#db985c}.dark .single .content .highlight .mf{color:#db985c}.dark .single .content .highlight .mh{color:#db985c}.dark .single .content .highlight .mi{color:#db985c}.dark .single .content .highlight .il{color:#db985c}.dark .single .content .highlight .mo{color:#db985c}.dark .single .content .highlight .o{color:#ecbf6f}.dark .single .content .highlight .ow{color:#d371e3}.dark .single .content .highlight .c{color:#7e848f}.dark .single .content .highlight .ch{color:#7e848f}.dark .single .content .highlight .cm{color:#7e848f}.dark .single .content .highlight .c1{color:#7e848f}.dark .single .content .highlight .cs{color:#7e848f}.dark .single .content .highlight .cp{color:#7e848f}.dark .single .content .highlight .cpf{color:#7e848f}.dark .single .content .highlight .g{color:#f16372}.dark .single .content .highlight .gd{color:#f16372}.dark .single .content .highlight .ge{color:#f16372}.dark .single .content .highlight .gr{color:#f16372}.dark .single .content .highlight .gh{color:#f16372}.dark .single .content .highlight .gi{color:#f16372}.dark .single .content .highlight .go{color:#f16372}.dark .single .content .highlight .gp{color:#f16372}.dark .single .content .highlight .gs{color:#f16372}.dark .single .content .highlight .gu{color:#f16372}.dark .single .content .highlight .gt{color:#f16372}.dark .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a{color:#2d96bd}.dark .single .content .gist .gist-meta a{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}.dark .single .content .gist .gist-meta a:active,.dark .single .content .gist .gist-meta a:hover{color:#bdebfc}.dark .single .content .gist .gist-meta{background-color:#1c2025}.dark .single .content .gist .highlight{background:#141414}.dark .single .content .gist .blob-num,.dark .single .content .gist .blob-code-inner,.dark .single .content .gist .highlight,.dark .single .content .gist .pl-enm,.dark .single .content .gist .pl-ko,.dark .single .content .gist .pl-mo,.dark .single .content .gist .pl-mp1 .pl-sf,.dark .single .content .gist .pl-ms,.dark .single .content .gist .pl-pdc1,.dark .single .content .gist .pl-scp,.dark .single .content .gist .pl-smc,.dark .single .content .gist .pl-som,.dark .single .content .gist .pl-va,.dark .single .content .gist .pl-vpf,.dark .single .content .gist .pl-vpu,.dark .single .content .gist .pl-mdr{color:#aab1bf}.dark .single .content .gist .pl-mb,.dark .single .content .gist .pl-pdb{font-weight:700}.dark .single .content .gist .pl-c,.dark .single .content .gist .pl-c span,.dark .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}.dark .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}.dark .single .content .gist .pl-ef,.dark .single .content .gist .pl-en,.dark .single .content .gist .pl-enf,.dark .single .content .gist .pl-eoai,.dark .single .content .gist .pl-kos,.dark .single .content .gist .pl-mh .pl-pdh,.dark .single .content .gist .pl-mr{color:#61afef}.dark .single .content .gist .pl-ens,.dark .single .content .gist .pl-vi{color:#be5046}.dark .single .content .gist .pl-enti,.dark .single .content .gist .pl-mai .pl-sf,.dark .single .content .gist .pl-ml,.dark .single .content .gist .pl-sf,.dark .single .content .gist .pl-sr,.dark .single .content .gist .pl-sr .pl-sra,.dark .single .content .gist .pl-src,.dark .single .content .gist .pl-st,.dark .single .content .gist .pl-vo{color:#56b5c2}.dark .single .content .gist .pl-eoi,.dark .single .content .gist .pl-mri,.dark .single .content .gist .pl-pds,.dark .single .content .gist .pl-pse .pl-s1,.dark .single .content .gist .pl-s,.dark .single .content .gist .pl-s1{color:#97c279}.dark .single .content .gist .pl-k,.dark .single .content .gist .pl-kolp,.dark .single .content .gist .pl-mc,.dark .single .content .gist .pl-pde{color:#c578dd}.dark .single .content .gist .pl-mi,.dark .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}.dark .single .content .gist .pl-mp,.dark .single .content .gist .pl-stp{color:#818896}.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi,.dark .single .content .gist .pl-mdr{font-weight:400}.dark .single .content .gist .pl-mdht,.dark .single .content .gist .pl-mi1{color:#97c279;background:#020}.dark .single .content .gist .pl-md,.dark .single .content .gist .pl-mdhf{color:#df6b75;background:#200}.dark .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}.dark .single .content .gist .pl-ib{background:#df6b75}.dark .single .content .gist .pl-ii{background:#e0c184;color:#fff}.dark .single .content .gist .pl-iu{background:#e05151}.dark .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}.dark .single .content .gist .pl-c1,.dark .single .content .gist .pl-cn,.dark .single .content .gist .pl-e,.dark .single .content .gist .pl-eoa,.dark .single .content .gist .pl-eoac,.dark .single .content .gist .pl-eoac .pl-pde,.dark .single .content .gist .pl-kou,.dark .single .content .gist .pl-mm,.dark .single .content .gist .pl-mp .pl-s3,.dark .single .content .gist .pl-mq,.dark .single .content .gist .pl-s3,.dark .single .content .gist .pl-sok,.dark .single .content .gist .pl-sv,.dark .single .content .gist .pl-mb{color:#d19965}.dark .single .content .gist .pl-enc,.dark .single .content .gist .pl-entc,.dark .single .content .gist .pl-pse .pl-s2,.dark .single .content .gist .pl-s2,.dark .single .content .gist .pl-sc,.dark .single .content .gist .pl-smp,.dark .single .content .gist .pl-sr .pl-sre,.dark .single .content .gist .pl-stj,.dark .single .content .gist .pl-v,.dark .single .content .gist .pl-pdb{color:#e4bf7a}.dark .single .content .gist .pl-ent,.dark .single .content .gist .pl-entl,.dark .single .content .gist .pl-entm,.dark .single .content .gist .pl-mh,.dark .single .content .gist .pl-pdv,.dark .single .content .gist .pl-smi,.dark .single .content .gist .pl-sol,.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi{color:#df6b75}.dark .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:.9765em 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{margin:0 -0.75rem;padding:.2rem .75rem .2rem 1.8rem;border-bottom:0.05rem solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{margin:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;cursor:auto;position:absolute;left:.6rem;top:.6rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(158,158,158,0.1);background-color:rgba(158,158,158,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content details.admonition summary{display:block;outline:none;cursor:pointer}.single .content details.admonition summary::-webkit-details-marker{display:none}.single .content details.admonition summary i.details{position:absolute;top:.5rem;right:.5rem;color:#161209}.dark .single .content details.admonition summary i.details{color:#a9a9b3}.single .content details.admonition[open] i.details{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}.dark .single .content hr{border-top:1px dashed #4a4b50}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}.dark .single .content kbd{background-color:#292a2d;border:1px solid #4a4b50;border-bottom-color:#4a4b50;-webkit-box-shadow:inset 0 -1px 0 #4a4b50;box-shadow:inset 0 -1px 0 #4a4b50;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}.dark .single .post-footer .post-info{border-bottom:1px solid #4a4b50}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-mod a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-mod a:active,.dark .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-md a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-md a:active,.dark .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}.dark .archive .archive-item-link{color:#a9a9b3}.dark .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}.dark .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a{color:#161209}.dark .archive .tag-cloud-tags a{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}.dark .archive .tag-cloud-tags a:active,.dark .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}.dark .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}.dark .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}.dark .home .summary{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.home .summary .single-title{font-size:1.4rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6{line-height:2}.home .summary .content h2::before,.home .summary .content h3::before,.home .summary .content h4::before,.home .summary .content h5::before,.home .summary .content h6::before{content:"|";margin-right:.3125rem;color:#161209}.dark .home .summary .content h2::before,.dark .home .summary .content h3::before,.dark .home .summary .content h4::before,.dark .home .summary .content h5::before,.dark .home .summary .content h6::before{color:#a9a9b3}.home .summary .content h2{font-size:1.2rem}.home .summary .content h2::before{content:"#"}.home .summary .content a{color:#161209}.dark .home .summary .content a{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#2d96bd}.dark .home .summary .content a:active,.dark .home .summary .content a:hover{color:#fff}.dark .home .summary .content b,.dark .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a{color:#2d96bd}.dark .home .summary .post-footer a{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}.dark .home .summary .post-footer a:active,.dark .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a{color:#161209}.dark .home .summary .post-footer .post-tags a{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}.dark .home .summary .post-footer .post-tags a:active,.dark .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8;-webkit-box-shadow:0px 1px 4px rgba(0,0,0,0.1);box-shadow:0px 1px 4px rgba(0,0,0,0.1)}.dark header{background-color:#252627}header .logo{min-height:1.25em;height:1.25em;vertical-align:text-bottom;padding-right:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:"Nunito",system,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease 0s;-moz-transition:width 0.3s ease 0s;-o-transition:width 0.3s ease 0s;transition:width 0.3s ease 0s}.dark .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}.dark .open .search input,.dark .search.mobile input{color:#a9a9b3;background-color:#363636}.dark .open .search input::-webkit-input-placeholder,.dark .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}.dark .open .search input:-moz-placeholder,.dark .search.mobile input:-moz-placeholder{color:#5d5d5f}.dark .open .search input::-moz-placeholder,.dark .search.mobile input::-moz-placeholder{color:#5d5d5f}.dark .open .search input:-ms-input-placeholder,.dark .search.mobile input:-ms-input-placeholder{color:#5d5d5f}.dark .open .search input::placeholder,.dark .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}.dark .open .search .search-button,.dark .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 1.5rem}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}.dark #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#4a4b50}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}.dark #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease 0s;-moz-transition:margin-top 0.3s ease 0s;-o-transition:margin-top 0.3s ease 0s;transition:margin-top 0.3s ease 0s}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease 0s;-moz-transition:width 0.3s ease 0s;-o-transition:width 0.3s ease 0s;transition:width 0.3s ease 0s}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.dark #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}.dark #header-mobile .header-container .menu{background:#252627;border-top-color:#4a4b50}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:1.5rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}.dark .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}.dark .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}.dark .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}.dark .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer .dark{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a{color:#2d96bd}.dark .search-dropdown .dropdown-menu .search-footer a{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}.dark .search-dropdown .dropdown-menu .search-footer a:active,.dark .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}.dark .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}.dark .pagination li:before,.dark .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}.dark .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{max-width:56%}}@media only screen and (max-width: 1200px){.page{max-width:52%}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{max-width:80%}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{max-width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}} /*# sourceMappingURL=style.min.css.map */ \ No newline at end of file