From 2a7611b5aec71c5b42984be947934d4c074a092e Mon Sep 17 00:00:00 2001 From: Dillon Date: Fri, 31 Jan 2020 22:53:04 +0800 Subject: [PATCH] chore(style): update code style --- assets/css/_page/_post.scss | 204 +------- assets/css/_partial/_navbar.scss | 4 +- assets/css/_partial/_pagination.scss | 12 +- assets/css/_partial/_post/_comment.scss | 3 + assets/css/_partial/_post/_footer.scss | 94 ++++ assets/css/_partial/_post/_toc.scss | 134 +++++ assets/css/_variables.scss | 8 +- exampleSite/config.toml | 2 + i18n/en.toml | 2 +- layouts/404.html | 4 +- layouts/_default/_markup/render-image.html | 2 +- layouts/_default/baseof.html | 4 +- layouts/_default/section.html | 4 +- layouts/_default/single.html | 6 + layouts/_default/summary.html | 67 +-- layouts/partials/comments.html | 28 +- layouts/partials/footer.html | 6 +- layouts/partials/head.html | 56 +-- layouts/partials/header.html | 28 +- layouts/partials/home/profile.html | 38 +- layouts/partials/home/social.html | 456 +++++++++++------- layouts/partials/paginator.html | 40 +- layouts/partials/post/footer.html | 54 ++- layouts/partials/post/share.html | 46 +- layouts/partials/scripts.html | 303 ++++++------ layouts/partials/seo.html | 162 +++---- layouts/posts/single.html | 101 ++-- layouts/shortcodes/admonition.html | 62 ++- layouts/shortcodes/countdown.html | 22 +- layouts/shortcodes/dev/echarts.html | 12 +- layouts/shortcodes/mermaid.html | 16 +- layouts/shortcodes/music.html | 28 +- layouts/shortcodes/typeit.html | 78 +-- layouts/taxonomy/list.html | 36 +- layouts/taxonomy/terms.html | 50 +- ...s_b95b077eb505d5c0aff8055eaced30ad.content | 2 +- 36 files changed, 1204 insertions(+), 970 deletions(-) create mode 100644 assets/css/_partial/_post/_comment.scss create mode 100644 assets/css/_partial/_post/_footer.scss create mode 100644 assets/css/_partial/_post/_toc.scss diff --git a/assets/css/_page/_post.scss b/assets/css/_page/_post.scss index 513eb44..da722a6 100644 --- a/assets/css/_page/_post.scss +++ b/assets/css/_page/_post.scss @@ -50,110 +50,7 @@ } } -.post-toc { - display: block; - position: absolute; - width: 240px; - max-width: 300px; - margin-left: 980px; - padding: .8rem; - border-left: 1px solid $global-border-color; - word-wrap: break-word; - box-sizing: border-box; - top: 12rem; - - .post-toc-title { - font-weight: 400; - text-transform: uppercase; - } - - .post-toc-content { - &.always-active ul { - display: block; - } - - >nav>ul { - margin: .625rem 0; - } - - ul { - padding-left: .625rem; - list-style: none; - - ul { - padding-left: 1.25rem; - display: none; - } - - .has-active > ul { - display: block; - } - } - - .toc-link.active { - color: $global-link-hover-color; - } - } -} - -.post-toc-mobile { - display: none; - padding-top: .8rem; - - details { - summary { - .post-toc-title { - display: block; - display: flex; - justify-content: space-between; - font-size: 1.2em; - font-weight: bold; - line-height: 2em; - padding: 0 .625rem; - background: $code-background-color; - - i.details { - line-height: 2em; - } - - .dark-theme & { - background: $code-background-color-dark; - } - } - - &::-webkit-details-marker { - display: none; - } - } - } - - details[open] { - i.details { - transform: rotate(180deg); - } - } - - .post-toc-content { - border: 2px solid $code-background-color; - - >nav>ul { - margin: .625rem 0; - } - - ul { - padding-left: .625rem; - list-style: none; - - ul { - padding-left: 1.25rem; - } - } - - .dark-theme & { - border: 2px solid $code-background-color-dark; - } - } -} +@import "../_partial/_post/toc"; .post-content { .post-dummy-target:target { @@ -454,101 +351,6 @@ } } -.post-footer { - margin-top: 3rem; +@import "../_partial/_post/footer"; - .post-info { - border-bottom: 1px solid $global-border-color; - padding: 1rem 0 0.3rem; - - .dark-theme & { - border-bottom: 1px solid $global-border-color-dark; - } - - .post-info-line { - display: flex; - justify-content: space-between; - - .post-info-mod { - font-size: 0.8em; - color: $global-font-secondary-color; - - .dark-theme & { - color: $global-font-secondary-color-dark; - } - } - - .post-info-license { - font-size: 0.8em; - color: $global-font-secondary-color; - - .dark-theme & { - color: $global-font-secondary-color-dark; - } - } - - .post-info-md - a { - font-size: 0.8em; - color: $post-link-color; - - .dark-theme & { - color: $post-link-color-dark; - } - - &:hover { - color: $post-link-hover-color; - - .dark-theme & { - color: $post-link-hover-color-dark; - } - } - } - } - } - - .post-info-more { - padding: 0.3rem 0 1rem; - display: flex; - justify-content: space-between; - font-size: 0.9rem; - } - - .post-nav { - &::before, - &::after { - content: ' '; - display: table; - } - - & a.prev, - & a.next { - font-size: 1rem; - font-weight: 600; - - transition-duration: .3s; - transition-property: transform; - transition-timing-function: ease-out; - } - - & a.prev { - float: left; - } - - & a.prev:hover { - transform: translateX(-4px); - } - - & a.next { - float: right; - } - - & a.next:hover { - transform: translateX(4px); - } - } -} - -.post-comment { - padding: 4rem 0; -} +@import "../_partial/_post/comment"; diff --git a/assets/css/_partial/_navbar.scss b/assets/css/_partial/_navbar.scss index 7b006f6..00a71c1 100644 --- a/assets/css/_partial/_navbar.scss +++ b/assets/css/_partial/_navbar.scss @@ -32,10 +32,10 @@ &.active { font-weight: 900; - color: $navbar-active-color; + color: $navbar-hover-color; .dark-theme & { - color: $navbar-active-color-dark; + color: $navbar-hover-color-dark; } } } diff --git a/assets/css/_partial/_pagination.scss b/assets/css/_partial/_pagination.scss index 59c9b1f..9019b34 100644 --- a/assets/css/_partial/_pagination.scss +++ b/assets/css/_partial/_pagination.scss @@ -31,11 +31,11 @@ } &:hover a { - color: $pagination-link-active-color; + color: $pagination-link-hover-color; } .dark-theme &:hover a { - color: $pagination-link-active-color-dark; + color: $pagination-link-hover-color-dark; } &:before, @@ -44,14 +44,14 @@ content: ""; width: 0; height: 3px; - background: $pagination-link-active-color; + background: $pagination-link-hover-color; transition: 0.3s; bottom: 0px; } .dark-theme &:before, .dark-theme &:after { - background: $pagination-link-active-color-dark; + background: $pagination-link-hover-color-dark; } &:before .active, @@ -77,11 +77,11 @@ &.active { a { - color: $pagination-link-active-color; + color: $pagination-link-hover-color; } .dark-theme & a { - color: $pagination-link-active-color-dark; + color: $pagination-link-hover-color-dark; } &:before, diff --git a/assets/css/_partial/_post/_comment.scss b/assets/css/_partial/_post/_comment.scss new file mode 100644 index 0000000..27bcb30 --- /dev/null +++ b/assets/css/_partial/_post/_comment.scss @@ -0,0 +1,3 @@ +.post-comment { + padding: 4rem 0; +} diff --git a/assets/css/_partial/_post/_footer.scss b/assets/css/_partial/_post/_footer.scss new file mode 100644 index 0000000..41f0c5a --- /dev/null +++ b/assets/css/_partial/_post/_footer.scss @@ -0,0 +1,94 @@ +.post-footer { + margin-top: 3rem; + + .post-info { + border-bottom: 1px solid $global-border-color; + padding: 1rem 0 0.3rem; + + .dark-theme & { + border-bottom: 1px solid $global-border-color-dark; + } + + .post-info-line { + display: flex; + justify-content: space-between; + + .post-info-mod { + font-size: 0.8em; + color: $global-font-secondary-color; + + .dark-theme & { + color: $global-font-secondary-color-dark; + } + } + + .post-info-license { + font-size: 0.8em; + color: $global-font-secondary-color; + + .dark-theme & { + color: $global-font-secondary-color-dark; + } + } + + .post-info-md + a { + font-size: 0.8em; + color: $post-link-color; + + .dark-theme & { + color: $post-link-color-dark; + } + + &:hover { + color: $post-link-hover-color; + + .dark-theme & { + color: $post-link-hover-color-dark; + } + } + } + } + } + + .post-info-more { + padding: 0.3rem 0 1rem; + display: flex; + justify-content: space-between; + font-size: 0.9rem; + } + + .post-nav { + &::before, + &::after { + content: ' '; + display: table; + } + + & a.prev, + & a.next { + font-size: 1rem; + font-weight: 600; + + transition-duration: .3s; + transition-property: transform; + transition-timing-function: ease-out; + } + + & a.prev { + float: left; + } + + & a.prev:hover { + transform: translateX(-4px); + } + + & a.next { + float: right; + } + + & a.next:hover { + transform: translateX(4px); + } + } +} diff --git a/assets/css/_partial/_post/_toc.scss b/assets/css/_partial/_post/_toc.scss new file mode 100644 index 0000000..440e7ec --- /dev/null +++ b/assets/css/_partial/_post/_toc.scss @@ -0,0 +1,134 @@ +.post-toc { + display: block; + position: absolute; + width: 240px; + max-width: 300px; + margin-left: 980px; + padding: .8rem; + border-left: 1px solid $global-border-color; + word-wrap: break-word; + box-sizing: border-box; + top: 12rem; + + .dark-theme & { + border-left: 1px solid $global-border-color-dark; + } + + .post-toc-title { + font-weight: 400; + text-transform: uppercase; + } + + .post-toc-content { + &.always-active ul { + display: block; + } + + >nav>ul { + margin: .625rem 0; + } + + ul { + text-indent: -0.85rem; + padding-left: .625rem; + list-style: none; + + a::before { + content: "|"; + font-weight: bolder; + margin-right: .5rem; + color: $post-link-color; + + .dark-theme & { + color: $post-link-color-dark; + } + } + + ul { + padding-left: 1.25rem; + display: none; + } + + .has-active > ul { + display: block; + } + } + + .toc-link.active { + font-weight: bold; + color: $post-link-hover-color; + + .dark-theme & { + color: $post-link-hover-color-dark; + } + + &::before { + font-weight: bolder; + color: $post-link-hover-color; + + .dark-theme & { + color: $post-link-hover-color-dark; + } + } + } + } +} + +.post-toc-mobile { + display: none; + padding-top: .8rem; + + details { + summary { + .post-toc-title { + display: block; + display: flex; + justify-content: space-between; + font-size: 1.2em; + font-weight: bold; + line-height: 2em; + padding: 0 .625rem; + background: $code-background-color; + + i.details { + line-height: 2em; + } + + .dark-theme & { + background: $code-background-color-dark; + } + } + + &::-webkit-details-marker { + display: none; + } + } + } + + details[open] { + i.details { + transform: rotate(180deg); + } + } + + .post-toc-content { + border: 2px solid $code-background-color; + + >nav>ul { + margin: .625rem 0; + } + + ul { + padding-left: .625rem; + list-style: none; + + ul { + padding-left: 1.25rem; + } + } + + .dark-theme & { + border: 2px solid $code-background-color-dark; + } + } +} diff --git a/assets/css/_variables.scss b/assets/css/_variables.scss index 4301ae8..f4e1a15 100644 --- a/assets/css/_variables.scss +++ b/assets/css/_variables.scss @@ -29,8 +29,8 @@ $global-link-hover-color-dark: #fff !default; $global-border-color: #dcdcdc !default; $global-border-color-dark: #4a4b50 !default; -$navbar-active-color: #161209 !default; -$navbar-active-color-dark: #fff !default; +$navbar-hover-color: #161209 !default; +$navbar-hover-color-dark: #fff !default; $post-link-color: #2d96bd !default; $post-link-color-dark: #eee !default; @@ -39,8 +39,8 @@ $post-link-hover-color-dark: #2d96bd !default; $pagination-link-color: #2d96bd !default; $pagination-link-color-dark: #a9a9b3 !default; -$pagination-link-active-color: #000 !default; -$pagination-link-active-color-dark: #fff !default; +$pagination-link-hover-color: #000 !default; +$pagination-link-hover-color-dark: #fff !default; // Color of the table background. $table-background-color: #fff !default; diff --git a/exampleSite/config.toml b/exampleSite/config.toml index 218d8b6..999dfcf 100644 --- a/exampleSite/config.toml +++ b/exampleSite/config.toml @@ -21,6 +21,8 @@ enableRobotsTXT = true googleAnalytics = "" # copyright description used only for seo schema copyright = "This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License." +# date format +dateFormatToUse = "2006-01-02" # Markup related configuration in Hugo [markup] diff --git a/i18n/en.toml b/i18n/en.toml index 48889d4..abf408f 100644 --- a/i18n/en.toml +++ b/i18n/en.toml @@ -69,7 +69,7 @@ other = " pageviews" other = "Author" [lastMod] -other = "This article is updated with %s" +other = "The article was updated on %s" [license] other = "Published under the %s license" diff --git a/layouts/404.html b/layouts/404.html index f49926d..1de0939 100644 --- a/layouts/404.html +++ b/layouts/404.html @@ -1,4 +1,6 @@ -{{- define "title" }}{{ T "pageNotFound" | printf "404 %s" }} | {{ .Site.Title }}{{ end -}} +{{- define "title" }} + {{- T "pageNotFound" | printf "404 %s" }} | {{ .Site.Title -}} +{{- end -}} {{- define "content" -}}
diff --git a/layouts/_default/_markup/render-image.html b/layouts/_default/_markup/render-image.html index 8ab4804..e0341bc 100644 --- a/layouts/_default/_markup/render-image.html +++ b/layouts/_default/_markup/render-image.html @@ -1,6 +1,6 @@
- {{ block "title" . }}{{ .Site.Title }}{{ end }} + + {{- block "title" . }}{{ .Site.Title }}{{ end -}} + {{- partial "head.html" . -}} diff --git a/layouts/_default/section.html b/layouts/_default/section.html index 620e737..78a693e 100644 --- a/layouts/_default/section.html +++ b/layouts/_default/section.html @@ -1,4 +1,6 @@ -{{- define "title" }}{{ T "all" | humanize}}{{ T .Section | default .Section | humanize }} | {{ .Site.Title }}{{ end -}} +{{- define "title" }} + {{- T "all" | humanize}}{{ T .Section | default .Section | humanize }} | {{ .Site.Title -}} +{{- end -}} {{- define "content" -}} {{- $data := .Data -}} diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 1c22375..eb6e346 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -7,21 +7,27 @@
{{- $content := .Content -}} + {{- $REin := `:\(([\w- ]+?)\):` -}} {{- $REout := `` -}} {{- $content = replaceRE $REin $REout $content -}} + {{- $REin = `\[(.+?)\]\^\((.+?)\)` -}} {{- $REout = `$1$2` -}} {{- $content = replaceRE $REin $REout $content -}} + {{- $REin = `\[return\]` -}} {{- $REout = printf "[%s]" (T "return") -}} {{- $content = replaceRE $REin $REout $content -}} + {{- $REin = `<(h[23456]) (id=".+?")>` -}} {{- $REout = `<$1>` -}} {{- $content = replaceRE $REin $REout $content -}} + {{- $REin = `<(.+) (id="fnref:.+?")>` -}} {{- $REout = `<$1>` -}} {{- $content = replaceRE $REin $REout $content -}} + {{- $content | safeHTML -}}
diff --git a/layouts/_default/summary.html b/layouts/_default/summary.html index eed92b7..8e63346 100644 --- a/layouts/_default/summary.html +++ b/layouts/_default/summary.html @@ -1,18 +1,18 @@
- {{ $publish_date := .PublishDate.Format (.Site.Params.dateFormatToUse | default "2006-01-02") }} - {{ $author := .Site.Author.name }} - {{ if isset .Params "author" }} - {{ $author = .Site.Author.name }} - {{ end }} + {{- $publish_date := .PublishDate.Format (.Site.Params.dateFormatToUse | default "2006-01-02") -}} + {{- $author := .Site.Author.name -}} + {{- if isset .Params "author" -}} + {{- $author = .Site.Author.name -}} + {{- end -}} - {{ with .Params.featured_image }} - {{ $image := $.Params.featured_image_preview | default . }} + {{- with .Params.featured_image -}} + {{- $image := $.Params.featured_image_preview | default . -}}
- {{ $res := resources.Get "svg/loading.svg" | minify }} + {{- $res := resources.Get "svg/loading.svg" | minify -}} featured image
- {{ end }} + {{- end -}}

{{ .Title }} @@ -21,40 +21,43 @@
- {{ if .Params.show_description }} -

{{ .Params.description }}

- {{ else }} - {{ $summary := .Summary }} - {{ $REin := `:\(([\w- ]+?)\):` }} - {{ $REout := `` }} - {{ $summary = replaceRE $REin $REout $summary }} - {{ $REin = `\[(.+?)\]\^\((.+?)\)` }} - {{ $REout = `$1$2` }} - {{ $summary = replaceRE $REin $REout $summary }} - {{ $summary | safeHTML }} - {{ end }} + {{- if .Params.show_description -}} +

+ {{- .Params.description -}} +

+ {{- else -}} + {{- $summary := .Summary -}} + {{- $REin := `:\(([\w- ]+?)\):` -}} + {{- $REout := `` -}} + {{- $summary = replaceRE $REin $REout $summary -}} + {{- $REin = `\[(.+?)\]\^\((.+?)\)` -}} + {{- $REout = `$1$2` -}} + {{- $summary = replaceRE $REin $REout $summary -}} + {{- $summary | safeHTML -}} + {{- end -}}

\ No newline at end of file diff --git a/layouts/partials/comments.html b/layouts/partials/comments.html index 1babef2..edf9ad1 100644 --- a/layouts/partials/comments.html +++ b/layouts/partials/comments.html @@ -1,4 +1,4 @@ -{{ if eq (getenv "HUGO_ENV") "production" | and .IsPage | and (ne .Params.comment false) -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .IsPage | and (ne .Params.comment false) -}} {{- if .Site.Params.disqus.shortname -}}
@@ -22,18 +22,18 @@ {{- if .Site.Params.gitalk.owner -}}
- {{ if .Site.Params.cdn.gitalk_css }} - {{ .Site.Params.cdn.gitalk_css | safeHTML }} - {{ else }} + {{- if .Site.Params.cdn.gitalk_css -}} + {{- .Site.Params.cdn.gitalk_css | safeHTML -}} + {{- else -}} {{- $res := resources.Get "css/lib/gitalk/gitalk.css" | resources.Minify -}} - {{ end }} - {{ if .Site.Params.cdn.gitalk_js }} - {{ .Site.Params.cdn.gitalk_js | safeHTML }} - {{ else }} + {{- end -}} + {{- if .Site.Params.cdn.gitalk_js -}} + {{ .Site.Params.cdn.gitalk_js | safeHTML -}} + {{- else -}} {{- $res := resources.Get "js/lib/gitalk/gitalk.min.js" | resources.Minify -}} - {{ end }} + {{- end -}} - {{ end }} + {{- end -}} " $res.RelPermalink }} -{{ end }} +{{- $jquery := "" -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.jquery_js -}} + {{- $jquery = .Site.Params.cdn.jquery_js -}} +{{- else -}} + {{- $res := resources.Get "js/lib/jquery/jquery.slim.min.js" | resources.Minify -}} + {{- $jquery = printf "" $res.RelPermalink -}} +{{- end -}} -{{ $lazysizes := "" }} -{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.lazysizes_js }} - {{ $lazysizes = .Site.Params.cdn.lazysizes_js }} -{{ else }} - {{ $res := resources.Get "js/lib/lazysizes/lazysizes.min.js" | resources.Minify }} - {{ $lazysizes = printf "" $res.RelPermalink }} -{{ end }} +{{- $lazysizes := "" -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.lazysizes_js -}} + {{- $lazysizes = .Site.Params.cdn.lazysizes_js -}} +{{- else -}} + {{- $res := resources.Get "js/lib/lazysizes/lazysizes.min.js" | resources.Minify -}} + {{- $lazysizes = printf "" $res.RelPermalink -}} +{{- end -}} -{{ $smooth_scroll := "" }} -{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.smooth_scroll_js }} - {{ $smooth_scroll = .Site.Params.cdn.smooth_scroll_js }} -{{ else }} - {{ $res := resources.Get "js/lib/smooth-scroll/smooth-scroll.polyfills.min.js" | resources.Minify }} - {{ $smooth_scroll = printf "" $res.RelPermalink }} -{{ end }} -{{ $smooth_scroll = delimit (slice $smooth_scroll "") "" }} +{{- $smooth_scroll := "" -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.smooth_scroll_js -}} + {{- $smooth_scroll = .Site.Params.cdn.smooth_scroll_js -}} +{{- else -}} + {{- $res := resources.Get "js/lib/smooth-scroll/smooth-scroll.polyfills.min.js" | resources.Minify -}} + {{- $smooth_scroll = printf "" $res.RelPermalink -}} +{{- end -}} +{{- $smooth_scroll = delimit (slice $smooth_scroll "") "" -}} -{{ $katex_css := "" }} -{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.katex_css }} - {{ $katex_css = .Site.Params.cdn.katex_css }} -{{ else }} - {{ $res := resources.Get "css/lib/katex/katex.min.css" | resources.Minify }} - {{ $katex_css = printf "" $res.RelPermalink }} -{{ end }} -{{ $katex_js := "" }} -{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.katex_js }} - {{ $katex_js = .Site.Params.cdn.katex_js }} -{{ else }} - {{ $res := resources.Get "js/lib/katex/katex.min.js" | resources.Minify }} - {{ $katex_js = printf "" $res.RelPermalink }} -{{ end }} -{{ $katex_auto_render_js := "" }} -{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.katex_auto_render_js }} - {{ $katex_auto_render_js = .Site.Params.cdn.katex_auto_render_js }} -{{ else }} - {{ $res := resources.Get "js/lib/katex/auto-render.min.js" | resources.Minify }} - {{ $katex_auto_render_js = printf "" $res.RelPermalink }} -{{ end }} -{{ $katex := delimit (slice $katex_css $katex_js $katex_auto_render_js) "" }} +{{- $katex_css := "" -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.katex_css -}} + {{- $katex_css = .Site.Params.cdn.katex_css -}} +{{- else -}} + {{- $res := resources.Get "css/lib/katex/katex.min.css" | resources.Minify -}} + {{- $katex_css = printf "" $res.RelPermalink -}} +{{- end -}} +{{- $katex_js := "" -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.katex_js -}} + {{- $katex_js = .Site.Params.cdn.katex_js -}} +{{- else -}} + {{- $res := resources.Get "js/lib/katex/katex.min.js" | resources.Minify -}} + {{- $katex_js = printf "" $res.RelPermalink -}} +{{- end -}} +{{- $katex_auto_render_js := "" -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.katex_auto_render_js -}} + {{- $katex_auto_render_js = .Site.Params.cdn.katex_auto_render_js -}} +{{- else -}} + {{- $res := resources.Get "js/lib/katex/auto-render.min.js" | resources.Minify -}} + {{- $katex_auto_render_js = printf "" $res.RelPermalink -}} +{{- end -}} +{{- $katex := delimit (slice $katex_css $katex_js $katex_auto_render_js) "" -}} -{{ $mermaid := "" }} -{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.mermaid_js }} - {{ $mermaid = .Site.Params.cdn.mermaid_js }} -{{ else }} - {{ $res := resources.Get "js/lib/mermaid/mermaid.min.js" | resources.Minify }} - {{ $mermaid = printf "" $res.RelPermalink }} -{{ end }} -{{ $mermaidInit := "" }} -{{ $mermaid = delimit (slice $mermaid $mermaidInit) "" }} +{{- $mermaid := "" -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.mermaid_js -}} + {{- $mermaid = .Site.Params.cdn.mermaid_js -}} +{{- else -}} + {{- $res := resources.Get "js/lib/mermaid/mermaid.min.js" | resources.Minify -}} + {{- $mermaid = printf "" $res.RelPermalink -}} +{{- end -}} +{{- $mermaidInit := "" -}} +{{- $mermaid = delimit (slice $mermaid $mermaidInit) "" -}} -{{ $echarts_js := "" }} -{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.echarts_js }} - {{ $echarts_js = .Site.Params.cdn.echarts_js }} -{{ else }} - {{ $res := resources.Get "js/lib/echarts/echarts.min.js" | resources.Minify }} - {{ $echarts_js = printf "" $res.RelPermalink }} -{{ end }} -{{ $echarts_macarons_js := "" }} -{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.echarts_macarons_js }} - {{ $echarts_macarons_js = .Site.Params.cdn.echarts_macarons_js }} -{{ else }} - {{ $res := resources.Get "js/lib/echarts/macarons.js" | resources.Minify }} - {{ $echarts_macarons_js = printf "" $res.RelPermalink }} -{{ end }} -{{ $echarts := delimit (slice $echarts_js $echarts_macarons_js) "" }} +{{- $echarts_js := "" -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.echarts_js -}} + {{- $echarts_js = .Site.Params.cdn.echarts_js -}} +{{- else -}} + {{- $res := resources.Get "js/lib/echarts/echarts.min.js" | resources.Minify -}} + {{- $echarts_js = printf "" $res.RelPermalink -}} +{{- end -}} +{{- $echarts_macarons_js := "" -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.echarts_macarons_js -}} + {{- $echarts_macarons_js = .Site.Params.cdn.echarts_macarons_js -}} +{{- else -}} + {{- $res := resources.Get "js/lib/echarts/macarons.js" | resources.Minify -}} + {{- $echarts_macarons_js = printf "" $res.RelPermalink -}} +{{- end -}} +{{- $echarts := delimit (slice $echarts_js $echarts_macarons_js) "" -}} -{{ $typeit := "" }} -{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.typeit_js }} - {{ $typeit = .Site.Params.cdn.typeit_js }} -{{ else }} - {{ $res := resources.Get "js/lib/typeit/typeit.min.js" | resources.Minify }} - {{ $typeit = printf "" $res.RelPermalink }} -{{ end }} +{{- $typeit := "" -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.typeit_js -}} + {{- $typeit = .Site.Params.cdn.typeit_js -}} +{{- else -}} + {{- $res := resources.Get "js/lib/typeit/typeit.min.js" | resources.Minify -}} + {{- $typeit = printf "" $res.RelPermalink -}} +{{- end -}} -{{ $countdown := "" }} -{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.jquery_countdown_js }} - {{ $countdown = .Site.Params.cdn.jquery_countdown_js }} -{{ else }} - {{ $res := resources.Get "js/lib/jquery-countdown/jquery.countdown.min.js" | resources.Minify }} - {{ $countdown = printf "" $res.RelPermalink }} -{{ end }} +{{- $countdown := "" -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.jquery_countdown_js -}} + {{- $countdown = .Site.Params.cdn.jquery_countdown_js -}} +{{- else -}} + {{- $res := resources.Get "js/lib/jquery-countdown/jquery.countdown.min.js" | resources.Minify -}} + {{- $countdown = printf "" $res.RelPermalink -}} +{{- end -}} -{{ $aplayer_css := "" }} -{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.aplayer_css }} - {{ $aplayer_css = .Site.Params.cdn.aplayer_css }} -{{ else }} - {{ $res := resources.Get "css/lib/aplayer/APlayer.min.css" | resources.Minify }} - {{ $aplayer_css = printf "" $res.RelPermalink }} -{{ end }} -{{ $aplayer_js := "" }} -{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.aplayer_js }} - {{ $aplayer_js = .Site.Params.cdn.aplayer_js }} -{{ else }} - {{ $res := resources.Get "js/lib/aplayer/APlayer.min.js" | resources.Minify }} - {{ $aplayer_js = printf "" $res.RelPermalink }} -{{ end }} -{{ $aplayer := delimit (slice $aplayer_css $aplayer_js) "" }} +{{- $aplayer_css := "" -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.aplayer_css -}} + {{- $aplayer_css = .Site.Params.cdn.aplayer_css -}} +{{- else -}} + {{- $res := resources.Get "css/lib/aplayer/APlayer.min.css" | resources.Minify -}} + {{- $aplayer_css = printf "" $res.RelPermalink -}} +{{- end -}} +{{- $aplayer_js := "" -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.aplayer_js -}} + {{- $aplayer_js = .Site.Params.cdn.aplayer_js -}} +{{- else -}} + {{- $res := resources.Get "js/lib/aplayer/APlayer.min.js" | resources.Minify -}} + {{- $aplayer_js = printf "" $res.RelPermalink -}} +{{- end -}} +{{- $aplayer := delimit (slice $aplayer_css $aplayer_js) "" -}} -{{ $meting := "" }} -{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.meting_js }} - {{ $meting = .Site.Params.cdn.meting_js }} -{{ else }} - {{ $res := resources.Get "js/lib/meting/Meting.min.js" | resources.Minify }} - {{ $meting = printf "" $res.RelPermalink }} -{{ end }} +{{- $meting := "" -}} +{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.meting_js -}} + {{- $meting = .Site.Params.cdn.meting_js -}} +{{- else -}} + {{- $res := resources.Get "js/lib/meting/Meting.min.js" | resources.Minify -}} + {{- $meting = printf "" $res.RelPermalink -}} +{{- end -}} -{{ $jquery | safeHTML }} -{{ $lazysizes | safeHTML }} -{{ $smooth_scroll | safeHTML }} +{{- $jquery | safeHTML -}} +{{- $lazysizes | safeHTML -}} +{{- $smooth_scroll | safeHTML -}} -{{ if .IsPage }} +{{- if .IsPage -}} {{/* dev feature */}} - {{ if .Params.dev }} - {{ with .Scratch.Get "echartsMap" }} - {{ $echarts | safeHTML }} - - {{ end }} - {{ end }} + {{- if .Params.dev -}} + {{- with .Scratch.Get "echartsMap" -}} + {{- $echarts | safeHTML -}} + + {{- end -}} + {{- end -}} {{/* dev feature */}} - {{ with .Scratch.Get "mermaidMap" }} - {{ $mermaid | safeHTML }} - - {{ end }} + {{- with .Scratch.Get "mermaidMap" -}} + {{- $mermaid | safeHTML -}} + + {{- end -}} - {{ if or .Params.math .Site.Params.math }} - {{ $katex | safeHTML }} - {{ end }} + {{- if or .Params.math .Site.Params.math -}} + {{- $katex | safeHTML -}} + {{- end -}} - {{ if .Scratch.Get "music" }} - {{ $aplayer | safeHTML }} - {{ $meting | safeHTML }} - {{ end }} + {{- if .Scratch.Get "music" -}} + {{- $aplayer | safeHTML -}} + {{- $meting | safeHTML -}} + {{- end -}} - {{ with .Scratch.Get "countdownMap" }} - {{ $countdown | safeHTML }} - - {{ end }} -{{ end }} + {{- with .Scratch.Get "countdownMap" -}} + {{- $countdown | safeHTML -}} + + {{- end -}} +{{- end -}} -{{ $typeitMap := .Scratch.Get "typeitMap" }} -{{ if $typeitMap }} - {{ $typeit | safeHTML }} - {{ $typeitArr := slice }} - {{ range $key, $val := $typeitMap }} - {{ $typeitArr = $typeitArr | append (slice $val) }} - {{ end }} - -{{ end }} +{{- $typeitMap := .Scratch.Get "typeitMap" -}} +{{- if $typeitMap -}} + {{- $typeit | safeHTML -}} + {{- $typeitArr := slice -}} + {{- range $key, $val := $typeitMap -}} + {{- $typeitArr = $typeitArr | append (slice $val) -}} + {{- end -}} + +{{- end -}} -{{ $res := resources.Get "/js/blog.js" | resources.Minify }} +{{- $res := resources.Get "/js/blog.js" | resources.Minify -}} -{{ if not .Site.IsServer }} - {{ template "_internal/google_analytics_async.html" . }} -{{ end }} \ No newline at end of file +{{- if not .Site.IsServer -}} + {{- template "_internal/google_analytics_async.html" . -}} +{{- end -}} \ No newline at end of file diff --git a/layouts/partials/seo.html b/layouts/partials/seo.html index f601125..3890fb8 100644 --- a/layouts/partials/seo.html +++ b/layouts/partials/seo.html @@ -1,91 +1,91 @@ -{{ if .IsHome -}} +{{- if .IsHome -}} {{ else if .IsPage -}} -{{ end }} \ No newline at end of file +{{- end -}} \ No newline at end of file diff --git a/layouts/posts/single.html b/layouts/posts/single.html index 2ca270d..3f098dd 100644 --- a/layouts/posts/single.html +++ b/layouts/posts/single.html @@ -1,11 +1,11 @@ -{{ define "title" }}{{ .Title }} | {{ .Site.Title }}{{ end }} +{{- define "title" }}{{ .Title }} | {{ .Site.Title }}{{ end -}} -{{ define "content" }} - {{ $publish_date := .PublishDate.Format (.Site.Params.dateFormatToUse | default "2006-01-02") }} - {{ $author := .Site.Author.name }} - {{ if isset .Params "author" }} - {{ $author = .Site.Author.name }} - {{ end }} +{{- define "content" -}} + {{- $publish_date := .PublishDate.Format (.Site.Params.dateFormatToUse | default "2006-01-02") -}} + {{- $author := .Site.Author.name -}} + {{- if isset .Params "author" -}} + {{- $author = .Site.Author.name -}} + {{- end }}

{{ .Title }}

@@ -13,17 +13,17 @@ - {{ with .Params.featured_image }} + {{- with .Params.featured_image -}}
- {{ $res := resources.Get "svg/loading.svg" | minify }} + {{- $res := resources.Get "svg/loading.svg" | minify -}} featured image
- {{ end }} + {{- end -}} - {{ if or .Params.toc (and .Site.Params.toc (ne .Params.toc false)) -}} + {{- if or .Params.toc (and .Site.Params.toc (ne .Params.toc false)) -}}

{{ T "toc" }}

{{- $globalAutoCollapseToc := .Site.Params.autoCollapseToc | default true }}
- {{ .TableOfContents }} + {{- .TableOfContents -}}
-
{{ T "toc" }}
+ +
+ {{ T "toc" }} + +
+
- {{ $toc := .TableOfContents }} - {{ $toc = replaceRE `id="TableOfContents"` `id="TableOfContentsMobile"` $toc }} - {{ $toc | safeHTML }} + {{- $toc := .TableOfContents -}} + {{- $toc = replaceRE `id="TableOfContents"` `id="TableOfContentsMobile"` $toc -}} + {{- $toc | safeHTML -}}
- {{- end }} + {{- end -}}
- {{ $content := .Content }} - {{ $REin := `:\(([\w- ]+?)\):` }} - {{ $REout := `` }} - {{ $content = replaceRE $REin $REout $content }} - {{ $REin = `\[(.+?)\]\^\((.+?)\)` }} - {{ $REout = `$1$2` }} - {{ $content = replaceRE $REin $REout $content }} - {{ $REin = `\[return\]` }} - {{ $REout = printf "[%s]" (T "return") }} - {{ $content = replaceRE $REin $REout $content }} - {{ $REin = `<(h[23456]) (id=".+?")>` }} - {{ $REout = `<$1>` }} - {{ $content = replaceRE $REin $REout $content }} - {{ $REin = `<(.+) (id="fnref:.+?")>` }} - {{ $REout = `<$1>` }} - {{ $content = replaceRE $REin $REout $content }} - {{ $content | safeHTML }} + {{- $content := .Content -}} + + {{- $REin := `:\(([\w- ]+?)\):` -}} + {{- $REout := `` -}} + {{- $content = replaceRE $REin $REout $content -}} + + {{- $REin = `\[(.+?)\]\^\((.+?)\)` -}} + {{- $REout = `$1$2` -}} + {{- $content = replaceRE $REin $REout $content -}} + + {{- $REin = `\[return\]` -}} + {{- $REout = printf "[%s]" (T "return") -}} + {{- $content = replaceRE $REin $REout $content -}} + + {{- $REin = `<(h[23456]) (id=".+?")>` -}} + {{- $REout = `<$1>` -}} + {{- $content = replaceRE $REin $REout $content -}} + + {{- $REin = `<(.+) (id="fnref:.+?")>` -}} + {{- $REout = `<$1>` -}} + {{- $content = replaceRE $REin $REout $content -}} + + {{- $content | safeHTML -}}
- {{ partial "post/footer.html" . }} + {{- partial "post/footer.html" . -}}
- {{ if ( .Params.comment | default true ) }} - {{ partial "comments.html" . }} - {{ end }} + {{- if ( .Params.comment | default true ) -}} + {{- partial "comments.html" . -}} + {{- end -}}
-{{- end }} \ No newline at end of file +{{- end -}} \ No newline at end of file diff --git a/layouts/shortcodes/admonition.html b/layouts/shortcodes/admonition.html index d0b9fb5..dec5d0e 100644 --- a/layouts/shortcodes/admonition.html +++ b/layouts/shortcodes/admonition.html @@ -1,42 +1,54 @@ -{{ $_hugo_config := `{ "version": 1 }` -}} -{{ $iconMap := dict "note" "fas fa-pencil-alt" -}} -{{ $iconMap = dict "abstract" "fas fa-list-ul" | merge $iconMap -}} -{{ $iconMap = dict "info" "fas fa-info-circle" | merge $iconMap -}} -{{ $iconMap = dict "tip" "fas fa-lightbulb" | merge $iconMap -}} -{{ $iconMap = dict "success" "fas fa-check-circle" | merge $iconMap -}} -{{ $iconMap = dict "question" "fas fa-question-circle" | merge $iconMap -}} -{{ $iconMap = dict "warning" "fas fa-exclamation-triangle" | merge $iconMap -}} -{{ $iconMap = dict "failure" "fas fa-times-circle" | merge $iconMap -}} -{{ $iconMap = dict "danger" "fas fa-skull-crossbones" | merge $iconMap -}} -{{ $iconMap = dict "bug" "fas fa-bug" | merge $iconMap -}} -{{ $iconMap = dict "example" "fas fa-list-ol" | merge $iconMap -}} -{{ $iconMap = dict "quote" "fas fa-quote-right" | merge $iconMap -}} -{{ $iconMap = dict "details" "fas fa-angle-down" | merge $iconMap -}} +{{- $_hugo_config := `{ "version": 1 }` -}} +{{- $iconMap := dict "note" "fas fa-pencil-alt" -}} +{{- $iconMap = dict "abstract" "fas fa-list-ul" | merge $iconMap -}} +{{- $iconMap = dict "info" "fas fa-info-circle" | merge $iconMap -}} +{{- $iconMap = dict "tip" "fas fa-lightbulb" | merge $iconMap -}} +{{- $iconMap = dict "success" "fas fa-check-circle" | merge $iconMap -}} +{{- $iconMap = dict "question" "fas fa-question-circle" | merge $iconMap -}} +{{- $iconMap = dict "warning" "fas fa-exclamation-triangle" | merge $iconMap -}} +{{- $iconMap = dict "failure" "fas fa-times-circle" | merge $iconMap -}} +{{- $iconMap = dict "danger" "fas fa-skull-crossbones" | merge $iconMap -}} +{{- $iconMap = dict "bug" "fas fa-bug" | merge $iconMap -}} +{{- $iconMap = dict "example" "fas fa-list-ol" | merge $iconMap -}} +{{- $iconMap = dict "quote" "fas fa-quote-right" | merge $iconMap -}} +{{- $iconMap = dict "details" "fas fa-angle-down" | merge $iconMap -}} -{{ if .IsNamedParams -}} - {{ $type := .Get "type" }} - {{ if eq (.Get "details") "true" -}} +{{- if .IsNamedParams -}} + {{- $type := .Get "type" -}} + {{- if eq (.Get "details") "true" -}}
- {{- with .Get "title" }}{{ . }}{{ end }} + {{- with .Get "title" -}} + + {{ . }} + + {{- end -}} {{- .Inner -}}
{{- else -}}
- {{- with .Get "title" }}

{{ . }}

{{ end }} + {{- with .Get "title" -}} +

{{ . }}

+ {{- end -}} {{- .Inner -}}
{{- end -}} -{{ else -}} - {{ $type := .Get 0 }} - {{ if eq (.Get 2) "true" }} +{{- else -}} + {{- $type := .Get 0 -}} + {{- if eq (.Get 2) "true" -}}
- {{- with .Get 1 }}{{ . }}{{ end }} + {{- with .Get 1 -}} + + {{ . }} + + {{- end -}} {{- .Inner -}}
{{- else -}}
- {{- with .Get 1 }}

{{ . }}

{{ end }} + {{- with .Get 1 -}} +

{{ . }}

+ {{- end -}} {{- .Inner -}}
{{- end -}} -{{ end }} \ No newline at end of file +{{- end -}} \ No newline at end of file diff --git a/layouts/shortcodes/countdown.html b/layouts/shortcodes/countdown.html index dab9a43..4c95a1b 100644 --- a/layouts/shortcodes/countdown.html +++ b/layouts/shortcodes/countdown.html @@ -1,12 +1,12 @@ -{{ if .Get "date" -}} - {{ $date := .Get "date" }} - {{ $id := delimit (split (md5 $date) "" | shuffle) "" | printf "countdown-%s" -}} - {{ $defaultPattern := printf "%%D %s %%H %s %%M %s %%S %s" (T "day") (T "hour") (T "minute") (T "second") }} - {{ $new := dict $id (dict "date" $date "pattern" (.Get "pattern" | default $defaultPattern)) }} - {{ with .Page.Scratch.Get "countdownMap" -}} - {{ .Page.Scratch.Set "countdownMap" (merge . $new) -}} - {{ else -}} - {{ .Page.Scratch.Set "countdownMap" $new -}} - {{ end -}} +{{- if .Get "date" -}} + {{- $date := .Get "date" -}} + {{- $id := delimit (split (md5 $date) "" | shuffle) "" | printf "countdown-%s" -}} + {{- $defaultPattern := printf "%%D %s %%H %s %%M %s %%S %s" (T "day") (T "hour") (T "minute") (T "second") -}} + {{- $new := dict $id (dict "date" $date "pattern" (.Get "pattern" | default $defaultPattern)) -}} + {{- with .Page.Scratch.Get "countdownMap" -}} + {{- .Page.Scratch.Set "countdownMap" (merge . $new) -}} + {{- else -}} + {{- .Page.Scratch.Set "countdownMap" $new -}} + {{- end -}}
-{{ end -}} \ No newline at end of file +{{- end -}} \ No newline at end of file diff --git a/layouts/shortcodes/dev/echarts.html b/layouts/shortcodes/dev/echarts.html index 5b70bfa..c207ea7 100644 --- a/layouts/shortcodes/dev/echarts.html +++ b/layouts/shortcodes/dev/echarts.html @@ -1,10 +1,10 @@ -{{ $id := delimit (split (md5 .Inner) "" | shuffle) "" | printf "echarts-%s" -}} -{{ $echartsMap := .Page.Scratch.Get "echartsMap" -}} -{{ if $echartsMap -}} +{{- $id := delimit (split (md5 .Inner) "" | shuffle) "" | printf "echarts-%s" -}} +{{- $echartsMap := .Page.Scratch.Get "echartsMap" -}} +{{- if $echartsMap -}} {{ $echartsMap = .Inner | printf "{%s}" | dict $id | merge $echartsMap -}} -{{ else -}} +{{- else -}} {{ $echartsMap = .Inner | printf "{%s}" | dict $id -}} -{{ end -}} -{{ .Page.Scratch.Set "echartsMap" $echartsMap -}} +{{- end -}} +{{- .Page.Scratch.Set "echartsMap" $echartsMap -}}
\ No newline at end of file diff --git a/layouts/shortcodes/mermaid.html b/layouts/shortcodes/mermaid.html index ebf406a..c52451e 100644 --- a/layouts/shortcodes/mermaid.html +++ b/layouts/shortcodes/mermaid.html @@ -1,10 +1,10 @@ -{{ $id := delimit (split (md5 .Inner) "" | shuffle) "" | printf "mermaid-%s" -}} -{{ $mermaidMap := .Page.Scratch.Get "mermaidMap" -}} -{{ if $mermaidMap -}} - {{ $mermaidMap = trim .Inner "\n" | dict $id | merge $mermaidMap -}} -{{ else -}} - {{ $mermaidMap = trim .Inner "\n" | dict $id -}} -{{ end -}} -{{ .Page.Scratch.Set "mermaidMap" $mermaidMap -}} +{{- $id := delimit (split (md5 .Inner) "" | shuffle) "" | printf "mermaid-%s" -}} +{{- $mermaidMap := .Page.Scratch.Get "mermaidMap" -}} +{{- if $mermaidMap -}} + {{- $mermaidMap = trim .Inner "\n" | dict $id | merge $mermaidMap -}} +{{- else -}} + {{- $mermaidMap = trim .Inner "\n" | dict $id -}} +{{- end -}} +{{- .Page.Scratch.Set "mermaidMap" $mermaidMap -}}
\ No newline at end of file diff --git a/layouts/shortcodes/music.html b/layouts/shortcodes/music.html index 9918fed..d4a99a8 100644 --- a/layouts/shortcodes/music.html +++ b/layouts/shortcodes/music.html @@ -1,22 +1,22 @@ -{{ .Page.Scratch.Set "music" "true" -}} -{{ if .IsNamedParams }} +{{- .Page.Scratch.Set "music" "true" -}} +{{- if .IsNamedParams -}} -{{ else }} +{{- else -}} > -{{ end }} \ No newline at end of file +{{- end }} \ No newline at end of file diff --git a/layouts/shortcodes/typeit.html b/layouts/shortcodes/typeit.html index ecd061b..5733686 100644 --- a/layouts/shortcodes/typeit.html +++ b/layouts/shortcodes/typeit.html @@ -1,50 +1,56 @@ -{{ $content := replaceRE `(?s)^\n*(.*?)\n*$` "$1\n" .Inner }} +{{- $content := replaceRE `(?s)^\n*(.*?)\n*$` "$1\n" .Inner -}} -{{ $id := delimit (split (md5 $content) "" | shuffle) "" | printf "typeit-%s" }} +{{- $id := delimit (split (md5 $content) "" | shuffle) "" | printf "typeit-%s" -}}
- {{ if .Get "raw" }} - + {{- if .Get "raw" -}} +
- {{ else if .Get "code" }} + {{- else if .Get "code" -}} - {{ $content = highlight $content (.Get "code") "linenos=false" }} + {{- $content = highlight $content (.Get "code") "linenos=false" -}} - {{ $content = replaceRE `
]*>(?s)(.*)
` "$1" $content }} + {{- $content = replaceRE `
]*>(?s)(.*)
` "$1" $content -}} - {{ $content = replaceRE `(]*>)([^<>]*)\[([^<>]+)\]\(([^<>]+)\)([^<>]*)()` "$1$2$6$3$1$5$6" $content }} + {{- $content = replaceRE `(]*>)([^<>]*)\[([^<>]+)\]\(([^<>]+)\)([^<>]*)()` "$1$2$6$3$1$5$6" $content -}} - {{ $content = replaceRE ` ` " " $content | replaceRE `(<\w+) ` "$1 " | replaceRE `\n` "
" }} + {{- $content = replaceRE ` ` " " $content | replaceRE `(<\w+) ` "$1 " | replaceRE `\n` "
" -}} - {{ $content = replaceRE `
` "
" $content }} - + {{- $content = replaceRE `
` "
" $content -}} +
- {{ else }} - {{ $tag := .Get "tag" | default "p" }} - {{ $content = $content | markdownify | chomp }} - - {{ printf "<%s id=%s>" $tag $id $tag | safeHTML }} - {{ end }} + {{- else -}} + {{- $tag := .Get "tag" | default "p" -}} + {{- $content = $content | markdownify | chomp -}} + + {{- printf "<%s id=%s>" $tag $id $tag | safeHTML -}} + {{- end -}} - {{ $typeitMap := .Page.Scratch.Get "typeitMap" }} - {{ $group := slice $id }} - {{ with .Get "group" }} - {{ if $typeitMap }} - {{ if index $typeitMap . }} - {{ $group = index $typeitMap . | append $id }} - {{ end }} - {{ $typeitMap = dict . $group | merge $typeitMap }} - {{ else }} - {{ $typeitMap = dict . $group }} - {{ end }} - {{ else }} - {{ if $typeitMap }} - {{ $typeitMap = dict $id $group | merge $typeitMap }} - {{ else }} - {{ $typeitMap = dict $id $group }} - {{ end }} - {{ end }} - {{ .Page.Scratch.Set "typeitMap" $typeitMap }} + {{- $typeitMap := .Page.Scratch.Get "typeitMap" -}} + {{- $group := slice $id -}} + {{- with .Get "group" -}} + {{- if $typeitMap -}} + {{- if index $typeitMap . -}} + {{- $group = index $typeitMap . | append $id -}} + {{- end -}} + {{- $typeitMap = dict . $group | merge $typeitMap -}} + {{- else -}} + {{- $typeitMap = dict . $group -}} + {{- end -}} + {{- else -}} + {{- if $typeitMap -}} + {{- $typeitMap = dict $id $group | merge $typeitMap -}} + {{- else -}} + {{- $typeitMap = dict $id $group -}} + {{- end -}} + {{- end -}} + {{- .Page.Scratch.Set "typeitMap" $typeitMap -}}
diff --git a/layouts/taxonomy/list.html b/layouts/taxonomy/list.html index 0bc9119..a76cb9f 100644 --- a/layouts/taxonomy/list.html +++ b/layouts/taxonomy/list.html @@ -1,29 +1,33 @@ -{{ define "title" }}{{ .Title }} | {{ T .Data.Singular | default (humanize .Data.Singular) }} | {{ .Site.Title }}{{ end }} +{{- define "title" -}} + {{- .Title }} | {{ T .Data.Singular | default (humanize .Data.Singular) }} | {{ .Site.Title -}} +{{- end -}} -{{ define "content" }} +{{- define "content" -}}

- {{ $taxonomy := .Data.Singular }} - {{ if eq $taxonomy "category" }} + {{- $taxonomy := .Data.Singular -}} + {{- if eq $taxonomy "category" -}} {{ .Title }} - {{ else if eq $taxonomy "tag" }} + {{- else if eq $taxonomy "tag" -}} {{ .Title }} - {{ else }} - {{ printf "%s - %s" (T $taxonomy | default (humanize $taxonomy)) .Title }} - {{ end }} + {{- else -}} + {{- printf "%s - %s" (T $taxonomy | default (humanize $taxonomy)) .Title -}} + {{- end -}}

- {{ range (.Paginate (.Pages.GroupByDate "2006")).PageGroups }} + {{- range (.Paginate (.Pages.GroupByDate "2006")).PageGroups -}}

{{ .Key }}

- {{ range .Pages }} + {{- range .Pages -}}
- {{ .Title }} + + {{- .Title -}} + - {{ .Date.Format (.Site.Params.dateFormatToUse | default "01-02") }} + {{- .Date.Format (.Site.Params.dateFormatToUse | default "01-02") -}}
- {{ end }} - {{ end }} - {{ partial "paginator.html" . }} + {{- end -}} + {{- end -}} + {{- partial "paginator.html" . -}}
-{{end }} +{{- end -}} \ No newline at end of file diff --git a/layouts/taxonomy/terms.html b/layouts/taxonomy/terms.html index 47b01af..d0fae0c 100644 --- a/layouts/taxonomy/terms.html +++ b/layouts/taxonomy/terms.html @@ -1,51 +1,55 @@ -{{ define "title" }}{{ T "all" | humanize}}{{ T .Data.Plural | default .Data.Plural | humanize }} | {{ .Site.Title }}{{ end }} +{{- define "title" -}} + {{- T "all" | humanize}}{{ T .Data.Plural | default .Data.Plural | humanize }} | {{ .Site.Title -}} +{{- end -}} -{{ define "content" }} - {{ $taxonomies := .Data.Plural }} - {{ $terms := .Data.Terms.ByCount }} - {{ $type := .Type }} +{{- define "content" -}} + {{- $taxonomies := .Data.Plural -}} + {{- $terms := .Data.Terms.ByCount -}} + {{- $type := .Type -}}

- {{ T "all" | humanize}}{{ T $taxonomies | default $taxonomies | humanize }} + {{- T "all" | humanize}}{{ T $taxonomies | default $taxonomies | humanize -}}

- {{ if eq $taxonomies "categories" }} + {{- if eq $taxonomies "categories" -}}
- {{ range $terms }} - {{ $term := .Term }} - {{ $pages := .Pages }} - {{ with $.Site.GetPage "taxonomy" (printf "%s/%s" $type $term) }} + {{- range $terms -}} + {{- $term := .Term -}} + {{- $pages := .Pages -}} + {{- with $.Site.GetPage "taxonomy" (printf "%s/%s" $type $term) -}}

{{ $term | humanize}}

- {{ range first 5 $pages }} + {{- range first 5 $pages -}} - {{ end }} - {{ if gt (len $pages) 5 }} + {{- end -}} + {{- if gt (len $pages) 5 -}} {{ T "more" }} >> - {{ end }} + {{- end -}}
- {{ end }} - {{ end }} + {{- end -}} + {{- end -}}
- {{ else if eq $taxonomies "tags" }} + {{- else if eq $taxonomies "tags" -}}
- {{ range $.Site.Taxonomies.tags.ByCount }} + {{- range $.Site.Taxonomies.tags.ByCount -}} {{ .Page.Title }} ({{ .Count }}) - {{end}} + {{- end -}}
- {{ end }} + {{- end -}}
-{{end }} +{{- end -}} \ No newline at end of file diff --git a/resources/_gen/assets/scss/css/style.scss_b95b077eb505d5c0aff8055eaced30ad.content b/resources/_gen/assets/scss/css/style.scss_b95b077eb505d5c0aff8055eaced30ad.content index a0e50b3..6156722 100644 --- a/resources/_gen/assets/scss/css/style.scss_b95b077eb505d5c0aff8055eaced30ad.content +++ b/resources/_gen/assets/scss/css/style.scss_b95b077eb505d5c0aff8055eaced30ad.content @@ -1 +1 @@ -@import "https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900";/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{font-family:Lato,-apple-system,BlinkMacSystemFont,PingFang-SC-Regular,Hiragino Sans GB,Microsoft Yahei,Arial,sans-serif}html::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-thumb{height:40px;background-color:#87878d;border-radius:16px}html::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background:rgba(0,149,255,.1)}body{font-size:16px;font-weight:400;line-height:26px;background-color:#fff;color:#161209}body:before{content:"";background-repeat:no-repeat;background-position:50%;opacity:.05;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:grayscale(100%);filter:gray}body.dark-theme{color:#a9a9b3;background-color:#292a2d}a{color:#161209;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease}a:hover{color:#2d96bd}.dark-theme a{color:#a9a9b3}.dark-theme a:hover{color:#fff}.wrapper{display:flex;flex-direction:column;min-height:98vh;width:100%}.main{flex:1 0 auto}.container{padding-left:1rem;padding-right:1rem}.footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}.notfound{font-size:2rem;transform:translateY(35vh);text-align:center}.home-intro{transform:translateY(25vh);text-align:center}.home-intro .home-avatar{padding:.6rem}.home-intro .home-avatar img{width:8rem;height:auto;display:inline-block;-webkit-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 .3618em rgba(0,0,0,.05);box-shadow:0 0 0 .3618em rgba(0,0,0,.05);margin:0 auto;-webkit-transition:all ease .4s;-moz-transition:all ease .4s;-o-transition:all ease .4s;transition:all ease .4s;cursor:pointer}.home-intro .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-intro .home-description{font-size:1rem;font-weight:400;padding:.4rem}.home-intro .home-social-links{padding-top:.6rem}.home-intro .home-social-links i{font-size:1.4rem}.warpper{position:relative;width:100%;max-width:960px;margin:0 auto;padding-top:6rem}.warpper .post-title{margin:0!important;font-size:1.8rem;line-height:3rem}.warpper .post-meta{font-size:.88rem;color:#a9a9b3}.warpper .post-meta span{display:inline-block}.dark-theme .warpper .post-meta{color:#87878d}.warpper .post-meta a{color:#2d96bd}.dark-theme .warpper .post-meta a{color:#eee}.warpper .post-meta a:hover{color:#ef3982}.dark-theme .warpper .post-meta a:hover{color:#2d96bd}.warpper .post-meta .author{font-size:1.05rem}.warpper .post-featured-image{padding-top:.6rem}.warpper .post-featured-image img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.warpper .post-toc{display:block;position:absolute;width:240px;max-width:300px;margin-left:980px;padding:.8rem;border-left:1px solid #dcdcdc;word-wrap:break-word;box-sizing:border-box;top:12rem}.warpper .post-toc .post-toc-title{font-weight:400;text-transform:uppercase}.warpper .post-toc .post-toc-content.always-active ul{display:block}.warpper .post-toc .post-toc-content>nav>ul{margin:.625rem 0}.warpper .post-toc .post-toc-content ul{padding-left:.625rem;list-style:none}.warpper .post-toc .post-toc-content ul ul{padding-left:1.25rem;display:none}.warpper .post-toc .post-toc-content ul .has-active>ul{display:block}.warpper .post-toc .post-toc-content .toc-link.active{color:#2d96bd}.warpper .post-toc-mobile{display:none;padding-top:.8rem}.warpper .post-toc-mobile details summary .post-toc-title{display:block;display:flex;justify-content:space-between;font-size:1.2em;font-weight:700;line-height:2em;padding:0 .625rem;background:#f5f5f5}.warpper .post-toc-mobile details summary .post-toc-title i.details{line-height:2em}.dark-theme .warpper .post-toc-mobile details summary .post-toc-title{background:#272c34}.warpper .post-toc-mobile details summary::-webkit-details-marker{display:none}.warpper .post-toc-mobile details[open] i.details{transform:rotate(180deg)}.warpper .post-toc-mobile .post-toc-content{border:2px solid #f5f5f5}.warpper .post-toc-mobile .post-toc-content>nav>ul{margin:.625rem 0}.warpper .post-toc-mobile .post-toc-content ul{padding-left:.625rem;list-style:none}.warpper .post-toc-mobile .post-toc-content ul ul{padding-left:1.25rem}.dark-theme .warpper .post-toc-mobile .post-toc-content{border:2px solid #272c34}.warpper .post-content .post-dummy-target:target{display:inline-block;position:relative;top:-5.6rem;visibility:hidden}.warpper .post-content h2,.warpper .post-content h3,.warpper .post-content h4,.warpper .post-content h5,.warpper .post-content h6{padding-top:.8rem;padding-bottom:.3rem}.warpper .post-content h2::before{content:"#";margin-right:.3125rem;color:#2d96bd}.dark-theme .warpper .post-content h2::before{color:#eee}.warpper .post-content h3::before,.warpper .post-content h4::before,.warpper .post-content h5::before,.warpper .post-content h6::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark-theme .warpper .post-content h3::before,.dark-theme .warpper .post-content h4::before,.dark-theme .warpper .post-content h5::before,.dark-theme .warpper .post-content h6::before{color:#eee}.warpper .post-content p{font-size:1rem;margin:.5rem 0;text-align:justify}.warpper .post-content a{color:#2d96bd}.dark-theme .warpper .post-content a{color:#eee}.warpper .post-content a:hover{color:#ef3982}.dark-theme .warpper .post-content a:hover:hover{color:#2d96bd;font-weight:700}.warpper .post-content ul{padding-left:2rem}.warpper .post-content ruby{background:#f5f5f5}.warpper .post-content ruby rt{color:#a9a9b3}.dark-theme .warpper .post-content ruby{background:#272c34}.dark-theme .warpper .post-content ruby rt{color:#87878d}.warpper .post-content .table-wrapper{overflow-x:auto}.warpper .post-content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff}.dark-theme .warpper .post-content .table-wrapper>table{background:#272c34}.warpper .post-content .table-wrapper>table thead{background:#ededed}.dark-theme .warpper .post-content .table-wrapper>table thead{background-color:#20252b}.warpper .post-content .table-wrapper>table th,.warpper .post-content .table-wrapper>table td{padding:.3rem 1rem;border:1px double #dcdcdc}.dark-theme .warpper .post-content .table-wrapper>table th,.dark-theme .warpper .post-content .table-wrapper>table td{border:1px double #4a4b50}.warpper .post-content figure{text-align:center}.warpper .post-content .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.625rem;margin:0 auto;border-bottom:1px solid #d9d9d9;font-size:.875rem;color:#969696;line-height:1.7}.warpper .post-content img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.warpper .post-content blockquote{font-size:1rem;display:block;border-width:1px 0;border-style:solid;border-color:#dcdcdc;padding:1.5em 1.2em .5em;margin:0 0 2em;position:relative}.warpper .post-content blockquote::before{content:'\201C';position:absolute;top:0;left:50%;transform:translate(-50%,-50%);width:3rem;height:2rem;font:6em/1.08em pt sans,sans-serif;color:#2d96bd;text-align:center}.dark-theme .warpper .post-content blockquote::before{color:#eee}.warpper .post-content blockquote::after{content:"#blockquote" attr(cite);display:block;text-align:right;font-size:.875em;color:#2d96bd}.dark-theme .warpper .post-content blockquote::after{color:#eee}.dark-theme .warpper .post-content blockquote{border-color:#4a4b50}.warpper .post-content .footnotes{color:#a9a9b3}.dark-theme .warpper .post-content .footnotes{color:#87878d}.warpper .post-content code,.warpper .post-content pre{padding:7px;font-size:13px;font-family:Source Code Pro,Consolas,Liberation Mono,Menlo,Courier,monospace;background:#f5f5f5}.dark-theme .warpper .post-content code,.dark-theme .warpper .post-content pre{background:#272c34}.warpper .post-content code{padding:3px 5px;border-radius:4px;color:#e74c3c;background:#f5f5f5}.dark-theme .warpper .post-content code{color:#e5bf78;background:#272c34}.warpper .post-content p>code{background:#ededed}.dark-theme .warpper .post-content p>code{color:#e5bf78;background:#20252b}.warpper .post-content .highlight>.chroma{margin:1em 0;border-radius:6px;overflow-x:auto;position:relative;background:#f5f5f5}.warpper .post-content .highlight>.chroma code{padding:0}.warpper .post-content .highlight>.chroma table{position:relative}.warpper .post-content .highlight>.chroma table::after{position:absolute;top:0;right:0;left:0;padding:2px 7px;font-size:13px;font-weight:700;color:#b1b0b0;background:#ededed;content:'Code'}.dark-theme .warpper .post-content .highlight>.chroma table::after{background:#20252b}.warpper .post-content .highlight>.chroma .language-bash table::after{content:"Bash"}.warpper .post-content .highlight>.chroma .language-c table::after{content:"C"}.warpper .post-content .highlight>.chroma .language-cs table::after{content:"C#"}.warpper .post-content .highlight>.chroma .language-cpp table::after{content:"C++"}.warpper .post-content .highlight>.chroma .language-css table::after{content:"CSS"}.warpper .post-content .highlight>.chroma .language-coffeescript table::after{content:"CoffeeScript"}.warpper .post-content .highlight>.chroma .language-html table::after{content:"HTML"}.warpper .post-content .highlight>.chroma .language-xml table::after{content:"XML"}.warpper .post-content .highlight>.chroma .language-http table::after{content:"HTTP"}.warpper .post-content .highlight>.chroma .language-json table::after{content:"JSON"}.warpper .post-content .highlight>.chroma .language-java table::after{content:"Java"}.warpper .post-content .highlight>.chroma .language-js table::after{content:"JavaScript"}.warpper .post-content .highlight>.chroma .language-javascript table::after{content:"JavaScript"}.warpper .post-content .highlight>.chroma .language-makefile table::after{content:"Makefile"}.warpper .post-content .highlight>.chroma .language-markdown table::after{content:"Markdown"}.warpper .post-content .highlight>.chroma .language-objectivec table::after{content:"Objective-C"}.warpper .post-content .highlight>.chroma .language-php table::after{content:"PHP"}.warpper .post-content .highlight>.chroma .language-perl table::after{content:"Perl"}.warpper .post-content .highlight>.chroma .language-python table::after{content:"Python"}.warpper .post-content .highlight>.chroma .language-ruby table::after{content:"Ruby"}.warpper .post-content .highlight>.chroma .language-sql table::after{content:"SQL"}.warpper .post-content .highlight>.chroma .language-shell table::after{content:"Shell"}.warpper .post-content .highlight>.chroma .language-erlang table::after{content:"Erlang"}.warpper .post-content .highlight>.chroma .language-go table::after{content:"Go"}.warpper .post-content .highlight>.chroma .language-go-html-template table::after{content:"Go HTML Template"}.warpper .post-content .highlight>.chroma .language-groovy table::after{content:"Groovy"}.warpper .post-content .highlight>.chroma .language-haskell table::after{content:"Haskell"}.warpper .post-content .highlight>.chroma .language-kotlin table::after{content:"Kotlin"}.warpper .post-content .highlight>.chroma .language-clojure table::after{content:"Clojure"}.warpper .post-content .highlight>.chroma .language-less table::after{content:"Less"}.warpper .post-content .highlight>.chroma .language-lisp table::after{content:"Lisp"}.warpper .post-content .highlight>.chroma .language-lua table::after{content:"Lua"}.warpper .post-content .highlight>.chroma .language-matlab table::after{content:"Matlab"}.warpper .post-content .highlight>.chroma .language-rust table::after{content:"Rust"}.warpper .post-content .highlight>.chroma .language-scss table::after{content:"Scss"}.warpper .post-content .highlight>.chroma .language-scala table::after{content:"Scala"}.warpper .post-content .highlight>.chroma .language-swift table::after{content:"Swift"}.warpper .post-content .highlight>.chroma .language-typescript table::after{content:"TypeScript"}.warpper .post-content .highlight>.chroma .language-yml table::after{content:"YAML"}.warpper .post-content .highlight>.chroma .language-yaml table::after{content:"YAML"}.warpper .post-content .highlight>.chroma .language-toml table::after{content:"TOML"}.warpper .post-content .highlight>.chroma .language-diff table::after{content:"Diff"}.warpper .post-content .highlight>.chroma .lntd{line-height:20px}.warpper .post-content .highlight>.chroma .lntd:first-child{width:10px}.warpper .post-content .highlight>.chroma .lntd:first-child pre{margin:0;padding:38px 7px 8px}.warpper .post-content .highlight>.chroma .lntd:last-child{vertical-align:top}.warpper .post-content .highlight>.chroma .lntd:last-child pre{margin:0;padding:38px 10px 8px}.warpper .post-content .highlight>.chroma table,.warpper .post-content .highlight>.chroma tr,.warpper .post-content .highlight>.chroma td{margin:0;padding:0;width:100%;border-collapse:collapse;border-color:#f5f5f5}.dark-theme .warpper .post-content .highlight>.chroma table,.dark-theme .warpper .post-content .highlight>.chroma tr,.dark-theme .warpper .post-content .highlight>.chroma td{border-color:#272c34}.warpper .post-content .highlight>.chroma .lnt{color:#cacaca}.warpper .post-content .highlight>.chroma .hl{display:block;width:100%;background-color:#e8e8e8}.dark-theme .warpper .post-content .highlight>.chroma .hl{background-color:#1c2025}.warpper .post-content .highlight{}.warpper .post-content .highlight .p{color:#a9a9b3}.warpper .post-content .highlight .k{color:#859900}.warpper .post-content .highlight .kc{color:#859900;font-weight:700}.warpper .post-content .highlight .kd{color:#859900}.warpper .post-content .highlight .kn{color:#dc322f;font-weight:700}.warpper .post-content .highlight .kp{color:#859900}.warpper .post-content .highlight .kr{color:#859900}.warpper .post-content .highlight .kt{color:#859900;font-weight:700}.warpper .post-content .highlight .n{color:#268bd2}.warpper .post-content .highlight .na{color:#268bd2}.warpper .post-content .highlight .nb{color:#cb4b16}.warpper .post-content .highlight .bp{color:#268bd2}.warpper .post-content .highlight .nc{color:#cb4b16}.warpper .post-content .highlight .no{color:#268bd2}.warpper .post-content .highlight .nd{color:#268bd2}.warpper .post-content .highlight .ni{color:#268bd2}.warpper .post-content .highlight .ne{color:#268bd2}.warpper .post-content .highlight .nf{color:#268bd2}.warpper .post-content .highlight .fm{color:#268bd2}.warpper .post-content .highlight .nl{color:#268bd2}.warpper .post-content .highlight .nn{color:#268bd2}.warpper .post-content .highlight .nx{color:#268bd2}.warpper .post-content .highlight .py{color:#268bd2}.warpper .post-content .highlight .nt{color:#268bd2;font-weight:700}.warpper .post-content .highlight .nv{color:#268bd2}.warpper .post-content .highlight .vc{color:#268bd2}.warpper .post-content .highlight .vg{color:#268bd2}.warpper .post-content .highlight .vi{color:#268bd2}.warpper .post-content .highlight .vm{color:#268bd2}.warpper .post-content .highlight .l{color:#2aa198}.warpper .post-content .highlight .ld{color:#2aa198}.warpper .post-content .highlight .s{color:#2aa198}.warpper .post-content .highlight .sa{color:#2aa198}.warpper .post-content .highlight .sb{color:#2aa198}.warpper .post-content .highlight .sc{color:#2aa198}.warpper .post-content .highlight .dl{color:#2aa198}.warpper .post-content .highlight .sd{color:#2aa198}.warpper .post-content .highlight .s2{color:#2aa198}.warpper .post-content .highlight .se{color:#2aa198}.warpper .post-content .highlight .sh{color:#2aa198}.warpper .post-content .highlight .si{color:#2aa198}.warpper .post-content .highlight .sx{color:#2aa198}.warpper .post-content .highlight .sr{color:#2aa198}.warpper .post-content .highlight .s1{color:#2aa198}.warpper .post-content .highlight .ss{color:#2aa198}.warpper .post-content .highlight .m{color:#2aa198;font-weight:700}.warpper .post-content .highlight .mb{color:#2aa198;font-weight:700}.warpper .post-content .highlight .mf{color:#2aa198;font-weight:700}.warpper .post-content .highlight .mh{color:#2aa198;font-weight:700}.warpper .post-content .highlight .mi{color:#2aa198;font-weight:700}.warpper .post-content .highlight .il{color:#2aa198;font-weight:700}.warpper .post-content .highlight .mo{color:#2aa198;font-weight:700}.warpper .post-content .highlight .ow{color:#859900}.warpper .post-content .highlight .c{color:#93a1a1;font-style:italic}.warpper .post-content .highlight .ch{color:#93a1a1;font-style:italic}.warpper .post-content .highlight .cm{color:#93a1a1;font-style:italic}.warpper .post-content .highlight .c1{color:#93a1a1;font-style:italic}.warpper .post-content .highlight .cs{color:#93a1a1;font-style:italic}.warpper .post-content .highlight .cp{color:#93a1a1;font-style:italic}.warpper .post-content .highlight .cpf{color:#93a1a1;font-style:italic}.warpper .post-content .highlight .g{color:#d33682}.warpper .post-content .highlight .gd{color:#b58900}.warpper .post-content .highlight .ge{color:#d33682}.warpper .post-content .highlight .gr{color:#d33682}.warpper .post-content .highlight .gh{color:#d33682}.warpper .post-content .highlight .gi{color:#859900}.warpper .post-content .highlight .go{color:#d33682}.warpper .post-content .highlight .gp{color:#d33682}.warpper .post-content .highlight .gs{color:#d33682}.warpper .post-content .highlight .gu{color:#d33682}.warpper .post-content .highlight .gt{color:#d33682}.dark-theme .warpper .post-content .highlight{background:#272c34}.dark-theme .warpper .post-content .highlight .p{color:#a9a9b3}.dark-theme .warpper .post-content .highlight .k{color:#d371e3}.dark-theme .warpper .post-content .highlight .kc{color:#d371e3}.dark-theme .warpper .post-content .highlight .kd{color:#d371e3}.dark-theme .warpper .post-content .highlight .kn{color:#d371e3}.dark-theme .warpper .post-content .highlight .kp{color:#d371e3}.dark-theme .warpper .post-content .highlight .kr{color:#d371e3}.dark-theme .warpper .post-content .highlight .kt{color:#8be9fd}.dark-theme .warpper .post-content .highlight .na{color:#41b1f5}.dark-theme .warpper .post-content .highlight .nb{color:#8be9fd;font-style:italic}.dark-theme .warpper .post-content .highlight .nc{color:#e5bf78}.dark-theme .warpper .post-content .highlight .nf{color:#19b8c0}.dark-theme .warpper .post-content .highlight .nx{color:#f16473}.dark-theme .warpper .post-content .highlight .nl{color:#8be9fd;font-style:italic}.dark-theme .warpper .post-content .highlight .nt{color:#d371e3}.dark-theme .warpper .post-content .highlight .nv{color:#8be9fd;font-style:italic}.dark-theme .warpper .post-content .highlight .vc{color:#8be9fd;font-style:italic}.dark-theme .warpper .post-content .highlight .vg{color:#8be9fd;font-style:italic}.dark-theme .warpper .post-content .highlight .vi{color:#8be9fd;font-style:italic}.dark-theme .warpper .post-content .highlight .s{color:#8bc56f}.dark-theme .warpper .post-content .highlight .sa{color:#8bc56f}.dark-theme .warpper .post-content .highlight .sb{color:#8bc56f}.dark-theme .warpper .post-content .highlight .sc{color:#8bc56f}.dark-theme .warpper .post-content .highlight .dl{color:#8bc56f}.dark-theme .warpper .post-content .highlight .sd{color:#8bc56f}.dark-theme .warpper .post-content .highlight .s2{color:#8bc56f}.dark-theme .warpper .post-content .highlight .se{color:#8bc56f}.dark-theme .warpper .post-content .highlight .sh{color:#8bc56f}.dark-theme .warpper .post-content .highlight .si{color:#8bc56f}.dark-theme .warpper .post-content .highlight .sx{color:#8bc56f}.dark-theme .warpper .post-content .highlight .sr{color:#8bc56f}.dark-theme .warpper .post-content .highlight .s1{color:#8bc56f}.dark-theme .warpper .post-content .highlight .ss{color:#8bc56f}.dark-theme .warpper .post-content .highlight .m{color:#bd93f9}.dark-theme .warpper .post-content .highlight .mb{color:#bd93f9}.dark-theme .warpper .post-content .highlight .mf{color:#bd93f9}.dark-theme .warpper .post-content .highlight .mh{color:#bd93f9}.dark-theme .warpper .post-content .highlight .mi{color:#bd93f9}.dark-theme .warpper .post-content .highlight .il{color:#bd93f9}.dark-theme .warpper .post-content .highlight .mo{color:#bd93f9}.dark-theme .warpper .post-content .highlight .o{color:#d371e3}.dark-theme .warpper .post-content .highlight .ow{color:#d371e3}.dark-theme .warpper .post-content .highlight .c{color:#7e848f}.dark-theme .warpper .post-content .highlight .ch{color:#7e848f}.dark-theme .warpper .post-content .highlight .cm{color:#7e848f}.dark-theme .warpper .post-content .highlight .c1{color:#7e848f}.dark-theme .warpper .post-content .highlight .cs{color:#7e848f}.dark-theme .warpper .post-content .highlight .cp{color:#d371e3}.dark-theme .warpper .post-content .highlight .cpf{color:#d371e3}.dark-theme .warpper .post-content .highlight .gd{color:#8b080b}.dark-theme .warpper .post-content .highlight .ge{text-decoration:underline}.dark-theme .warpper .post-content .highlight .gh{font-weight:700}.dark-theme .warpper .post-content .highlight .gi{font-weight:700}.dark-theme .warpper .post-content .highlight .go{color:#44475a}.dark-theme .warpper .post-content .highlight .gu{font-weight:700}.dark-theme .warpper .post-content .highlight .gl{text-decoration:underline}.warpper .post-content .admonition{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:relative;margin:.9765em 0;padding:0 .75rem;border-left:.25rem solid #448aff;border-radius:.125rem;overflow:auto}.warpper .post-content .admonition .admonition-title{margin:0 -.75rem;padding:.5rem .75rem .5rem 2.5rem;border-bottom:.1rem solid rgba(68,138,255,.1);background-color:rgba(68,138,255,.1);font-weight:700}.warpper .post-content .admonition i.icon{font-size:16px;cursor:auto;position:absolute;left:.75rem;top:.75rem}.warpper .post-content .admonition.note{border-left-color:#448aff}.warpper .post-content .admonition.note i.icon{color:#448aff}.warpper .post-content .admonition.abstract{border-left-color:#00b0ff}.warpper .post-content .admonition.abstract .admonition-title{background-color:rgba(0,176,255,.1)}.warpper .post-content .admonition.abstract i.icon{color:#00b0ff}.warpper .post-content .admonition.info{border-left-color:#00b8d4}.warpper .post-content .admonition.info .admonition-title{background-color:rgba(0,184,212,.1)}.warpper .post-content .admonition.info i.icon{color:#00b8d4}.warpper .post-content .admonition.tip{border-left-color:#00bfa5}.warpper .post-content .admonition.tip .admonition-title{background-color:rgba(0,191,165,.1)}.warpper .post-content .admonition.tip i.icon{color:#00bfa5}.warpper .post-content .admonition.success{border-left-color:#00c853}.warpper .post-content .admonition.success .admonition-title{background-color:rgba(0,200,83,.1)}.warpper .post-content .admonition.success i.icon{color:#00c853}.warpper .post-content .admonition.question{border-left-color:#64dd17}.warpper .post-content .admonition.question .admonition-title{background-color:rgba(100,221,23,.1)}.warpper .post-content .admonition.question i.icon{color:#64dd17}.warpper .post-content .admonition.warning{border-left-color:#ff9100}.warpper .post-content .admonition.warning .admonition-title{background-color:rgba(255,145,0,.1)}.warpper .post-content .admonition.warning i.icon{color:#ff9100}.warpper .post-content .admonition.failure{border-left-color:#ff5252}.warpper .post-content .admonition.failure .admonition-title{background-color:rgba(255,82,82,.1)}.warpper .post-content .admonition.failure i.icon{color:#ff5252}.warpper .post-content .admonition.danger{border-left-color:#ff1744}.warpper .post-content .admonition.danger .admonition-title{background-color:rgba(255,23,68,.1)}.warpper .post-content .admonition.danger i.icon{color:#ff1744}.warpper .post-content .admonition.bug{border-left-color:#f50057}.warpper .post-content .admonition.bug .admonition-title{background-color:rgba(245,0,87,.1)}.warpper .post-content .admonition.bug i.icon{color:#f50057}.warpper .post-content .admonition.example{border-left-color:#651fff}.warpper .post-content .admonition.example .admonition-title{background-color:rgba(101,31,255,.1)}.warpper .post-content .admonition.example i.icon{color:#651fff}.warpper .post-content .admonition.quote{border-left-color:#9e9e9e}.warpper .post-content .admonition.quote .admonition-title{background-color:rgba(158,158,158,.1)}.warpper .post-content .admonition.quote i.icon{color:#9e9e9e}.warpper .post-content .admonition:last-child{margin-bottom:.75rem}.warpper .post-content details.admonition summary{display:block;outline:none;cursor:pointer}.warpper .post-content details.admonition summary::-webkit-details-marker{display:none}.warpper .post-content details.admonition summary i.details{position:absolute;top:.75rem;right:.75rem;color:#161209}.dark-theme .warpper .post-content details.admonition summary i.details{color:#a9a9b3}.warpper .post-content details.admonition[open] i.details{transform:rotate(180deg)}.warpper .post-content .mermaid{width:100%;margin:3% auto;text-align:center}.warpper .post-content .mermaid .label{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);color:#333}.warpper .post-content .mermaid .label text{fill:#333}.warpper .post-content .mermaid .node rect,.warpper .post-content .mermaid .node circle,.warpper .post-content .mermaid .node ellipse,.warpper .post-content .mermaid .node polygon{fill:#eee;stroke:#999;stroke-width:1px}.warpper .post-content .mermaid .node .label{text-align:center}.warpper .post-content .mermaid .node.clickable{cursor:pointer}.warpper .post-content .mermaid .arrowheadPath{fill:#333}.warpper .post-content .mermaid .edgePath .path{stroke:#666;stroke-width:1.5px}.warpper .post-content .mermaid .edgeLabel{background-color:#fff;text-align:center}.warpper .post-content .mermaid .cluster rect{fill:#eaf2fb;stroke:#26a;stroke-width:1px}.warpper .post-content .mermaid .cluster text{fill:#333}.warpper .post-content .mermaid div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:12px;background:#eaf2fb;border:1px solid #26a;border-radius:2px;pointer-events:none;z-index:100}.warpper .post-content .mermaid .actor{stroke:#999;fill:#eee}.warpper .post-content .mermaid text.actor{fill:#333;stroke:none}.warpper .post-content .mermaid .actor-line{stroke:#666}.warpper .post-content .mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.warpper .post-content .mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.warpper .post-content .mermaid #arrowhead{fill:#333}.warpper .post-content .mermaid .sequenceNumber{fill:#fff}.warpper .post-content .mermaid #sequencenumber{fill:#333}.warpper .post-content .mermaid #crosshead path{fill:#333!important;stroke:#333!important}.warpper .post-content .mermaid .messageText{fill:#333;stroke:none}.warpper .post-content .mermaid .labelBox{stroke:#999;fill:#eee}.warpper .post-content .mermaid .labelText{fill:#333;stroke:none}.warpper .post-content .mermaid .loopText{fill:#333;stroke:none}.warpper .post-content .mermaid .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#999}.warpper .post-content .mermaid .note{stroke:#770;fill:#ffa}.warpper .post-content .mermaid .noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:14px}.warpper .post-content .mermaid .activation0{fill:#f4f4f4;stroke:#666}.warpper .post-content .mermaid .activation1{fill:#f4f4f4;stroke:#666}.warpper .post-content .mermaid .activation2{fill:#f4f4f4;stroke:#666}.warpper .post-content .mermaid .mermaid-main-font{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid .section{stroke:none;opacity:.2}.warpper .post-content .mermaid .section0{fill:#80b3e6}.warpper .post-content .mermaid .section2{fill:#80b3e6}.warpper .post-content .mermaid .section1,.warpper .post-content .mermaid .section3{fill:#fff;opacity:.2}.warpper .post-content .mermaid .sectionTitle0{fill:#333}.warpper .post-content .mermaid .sectionTitle1{fill:#333}.warpper .post-content .mermaid .sectionTitle2{fill:#333}.warpper .post-content .mermaid .sectionTitle3{fill:#333}.warpper .post-content .mermaid .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid .grid .tick{stroke:#e6e5e5;opacity:.3;shape-rendering:crispEdges}.warpper .post-content .mermaid .grid .tick text{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid .grid path{stroke-width:0}.warpper .post-content .mermaid .today{fill:none;stroke:#d42;stroke-width:2px}.warpper .post-content .mermaid .task{stroke-width:2}.warpper .post-content .mermaid .taskText{text-anchor:middle;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid .taskText:not([font-size]){font-size:11px}.warpper .post-content .mermaid .taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid .taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.warpper .post-content .mermaid .task.clickable{cursor:pointer}.warpper .post-content .mermaid .taskText.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.warpper .post-content .mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.warpper .post-content .mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.warpper .post-content .mermaid .taskText0,.warpper .post-content .mermaid .taskText1,.warpper .post-content .mermaid .taskText2,.warpper .post-content .mermaid .taskText3{fill:#fff}.warpper .post-content .mermaid .task0,.warpper .post-content .mermaid .task1,.warpper .post-content .mermaid .task2,.warpper .post-content .mermaid .task3{fill:#26a;stroke:#1a4d80}.warpper .post-content .mermaid .taskTextOutside0,.warpper .post-content .mermaid .taskTextOutside2{fill:#333}.warpper .post-content .mermaid .taskTextOutside1,.warpper .post-content .mermaid .taskTextOutside3{fill:#333}.warpper .post-content .mermaid .active0,.warpper .post-content .mermaid .active1,.warpper .post-content .mermaid .active2,.warpper .post-content .mermaid .active3{fill:#eee;stroke:#1a4d80}.warpper .post-content .mermaid .activeText0,.warpper .post-content .mermaid .activeText1,.warpper .post-content .mermaid .activeText2,.warpper .post-content .mermaid .activeText3{fill:#333!important}.warpper .post-content .mermaid .done0,.warpper .post-content .mermaid .done1,.warpper .post-content .mermaid .done2,.warpper .post-content .mermaid .done3{stroke:#666;fill:#bbb;stroke-width:2}.warpper .post-content .mermaid .doneText0,.warpper .post-content .mermaid .doneText1,.warpper .post-content .mermaid .doneText2,.warpper .post-content .mermaid .doneText3{fill:#333!important}.warpper .post-content .mermaid .crit0,.warpper .post-content .mermaid .crit1,.warpper .post-content .mermaid .crit2,.warpper .post-content .mermaid .crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.warpper .post-content .mermaid .activeCrit0,.warpper .post-content .mermaid .activeCrit1,.warpper .post-content .mermaid .activeCrit2,.warpper .post-content .mermaid .activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.warpper .post-content .mermaid .doneCrit0,.warpper .post-content .mermaid .doneCrit1,.warpper .post-content .mermaid .doneCrit2,.warpper .post-content .mermaid .doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.warpper .post-content .mermaid .milestone{transform:rotate(45deg)scale(0.8,0.8)}.warpper .post-content .mermaid .milestoneText{font-style:italic}.warpper .post-content .mermaid .doneCritText0,.warpper .post-content .mermaid .doneCritText1,.warpper .post-content .mermaid .doneCritText2,.warpper .post-content .mermaid .doneCritText3{fill:#333!important}.warpper .post-content .mermaid .activeCritText0,.warpper .post-content .mermaid .activeCritText1,.warpper .post-content .mermaid .activeCritText2,.warpper .post-content .mermaid .activeCritText3{fill:#333!important}.warpper .post-content .mermaid .titleText{text-anchor:middle;font-size:18px;fill:#333;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid g.classGroup text{fill:#999;stroke:none;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:10px}.warpper .post-content .mermaid g.classGroup text .title{font-weight:bolder}.warpper .post-content .mermaid g.classGroup rect{fill:#eee;stroke:#999}.warpper .post-content .mermaid g.classGroup line{stroke:#999;stroke-width:1}.warpper .post-content .mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:.5}.warpper .post-content .mermaid .classLabel .label{fill:#999;font-size:10px}.warpper .post-content .mermaid .relation{stroke:#999;stroke-width:1;fill:none}.warpper .post-content .mermaid #compositionStart{fill:#999;stroke:#999;stroke-width:1}.warpper .post-content .mermaid #compositionEnd{fill:#999;stroke:#999;stroke-width:1}.warpper .post-content .mermaid #aggregationStart{fill:#eee;stroke:#999;stroke-width:1}.warpper .post-content .mermaid #aggregationEnd{fill:#eee;stroke:#999;stroke-width:1}.warpper .post-content .mermaid #dependencyStart{fill:#999;stroke:#999;stroke-width:1}.warpper .post-content .mermaid #dependencyEnd{fill:#999;stroke:#999;stroke-width:1}.warpper .post-content .mermaid #extensionStart{fill:#999;stroke:#999;stroke-width:1}.warpper .post-content .mermaid #extensionEnd{fill:#999;stroke:#999;stroke-width:1}.warpper .post-content .mermaid .commit-id,.warpper .post-content .mermaid .commit-msg,.warpper .post-content .mermaid .branch-label{fill:lightgrey;color:lightgrey;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid .pieTitleText{text-anchor:middle;font-size:25px;fill:#333;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid .slice{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid g.stateGroup text{fill:#999;stroke:none;font-size:10px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid g.stateGroup text{fill:#999;stroke:none;font-size:10px}.warpper .post-content .mermaid g.stateGroup .state-title{font-weight:bolder;fill:#000}.warpper .post-content .mermaid g.stateGroup rect{fill:#eee;stroke:#999}.warpper .post-content .mermaid g.stateGroup line{stroke:#999;stroke-width:1}.warpper .post-content .mermaid .transition{stroke:#999;stroke-width:1;fill:none}.warpper .post-content .mermaid .stateGroup .composit{fill:#fff;border-bottom:1px}.warpper .post-content .mermaid .state-note{stroke:#770;fill:#ffa}.warpper .post-content .mermaid .state-note text{fill:#000;stroke:none;font-size:10px}.warpper .post-content .mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:.5}.warpper .post-content .mermaid .stateLabel text{fill:#000;font-size:10px;font-weight:700;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid :root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}.dark-theme .warpper .post-content .mermaid{}.dark-theme .warpper .post-content .mermaid .label{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);color:#333}.dark-theme .warpper .post-content .mermaid .label text{fill:#333}.dark-theme .warpper .post-content .mermaid .node rect,.dark-theme .warpper .post-content .mermaid .node circle,.dark-theme .warpper .post-content .mermaid .node ellipse,.dark-theme .warpper .post-content .mermaid .node polygon{fill:#bdd5ea;stroke:purple;stroke-width:1px}.dark-theme .warpper .post-content .mermaid .node .label{text-align:center}.dark-theme .warpper .post-content .mermaid .node.clickable{cursor:pointer}.dark-theme .warpper .post-content .mermaid .arrowheadPath{fill:lightgrey}.dark-theme .warpper .post-content .mermaid .edgePath .path{stroke:lightgrey;stroke-width:1.5px}.dark-theme .warpper .post-content .mermaid .edgeLabel{background-color:#e8e8e8;text-align:center}.dark-theme .warpper .post-content .mermaid .cluster rect{fill:#6d6d65;stroke:rgba(255,255,255,.25);stroke-width:1px}.dark-theme .warpper .post-content .mermaid .cluster text{fill:#f9fffe}.dark-theme .warpper .post-content .mermaid div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:12px;background:#6d6d65;border:1px solid rgba(255,255,255,.25);border-radius:2px;pointer-events:none;z-index:100}.dark-theme .warpper .post-content .mermaid .actor{stroke:#81b1db;fill:#bdd5ea}.dark-theme .warpper .post-content .mermaid text.actor{fill:#000;stroke:none}.dark-theme .warpper .post-content .mermaid .actor-line{stroke:lightgrey}.dark-theme .warpper .post-content .mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:lightgrey}.dark-theme .warpper .post-content .mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:lightgrey}.dark-theme .warpper .post-content .mermaid #arrowhead{fill:lightgrey}.dark-theme .warpper .post-content .mermaid .sequenceNumber{fill:#fff}.dark-theme .warpper .post-content .mermaid #sequencenumber{fill:lightgrey}.dark-theme .warpper .post-content .mermaid #crosshead path{fill:lightgrey!important;stroke:lightgrey!important}.dark-theme .warpper .post-content .mermaid .messageText{fill:lightgrey;stroke:none}.dark-theme .warpper .post-content .mermaid .labelBox{stroke:#81b1db;fill:#bdd5ea}.dark-theme .warpper .post-content .mermaid .labelText{fill:#323d47;stroke:none}.dark-theme .warpper .post-content .mermaid .loopText{fill:lightgrey;stroke:none}.dark-theme .warpper .post-content .mermaid .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#81b1db}.dark-theme .warpper .post-content .mermaid .note{stroke:rgba(255,255,255,.25);fill:#fff5ad}.dark-theme .warpper .post-content .mermaid .noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:14px}.dark-theme .warpper .post-content .mermaid .activation0{fill:#f4f4f4;stroke:#666}.dark-theme .warpper .post-content .mermaid .activation1{fill:#f4f4f4;stroke:#666}.dark-theme .warpper .post-content .mermaid .activation2{fill:#f4f4f4;stroke:#666}.dark-theme .warpper .post-content .mermaid .mermaid-main-font{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid .section{stroke:none;opacity:.2}.dark-theme .warpper .post-content .mermaid .section0{fill:rgba(255,255,255,.3)}.dark-theme .warpper .post-content .mermaid .section2{fill:#eae8b9}.dark-theme .warpper .post-content .mermaid .section1,.dark-theme .warpper .post-content .mermaid .section3{fill:#fff;opacity:.2}.dark-theme .warpper .post-content .mermaid .sectionTitle0{fill:#f9fffe}.dark-theme .warpper .post-content .mermaid .sectionTitle1{fill:#f9fffe}.dark-theme .warpper .post-content .mermaid .sectionTitle2{fill:#f9fffe}.dark-theme .warpper .post-content .mermaid .sectionTitle3{fill:#f9fffe}.dark-theme .warpper .post-content .mermaid .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid .grid .tick{stroke:lightgrey;opacity:.3;shape-rendering:crispEdges}.dark-theme .warpper .post-content .mermaid .grid .tick text{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid .grid path{stroke-width:0}.dark-theme .warpper .post-content .mermaid .today{fill:none;stroke:#db5757;stroke-width:2px}.dark-theme .warpper .post-content .mermaid .task{stroke-width:2}.dark-theme .warpper .post-content .mermaid .taskText{text-anchor:middle;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid .taskText:not([font-size]){font-size:11px}.dark-theme .warpper .post-content .mermaid .taskTextOutsideRight{fill:#323d47;text-anchor:start;font-size:11px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid .taskTextOutsideLeft{fill:#323d47;text-anchor:end;font-size:11px}.dark-theme .warpper .post-content .mermaid .task.clickable{cursor:pointer}.dark-theme .warpper .post-content .mermaid .taskText.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.dark-theme .warpper .post-content .mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.dark-theme .warpper .post-content .mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.dark-theme .warpper .post-content .mermaid .taskText0,.dark-theme .warpper .post-content .mermaid .taskText1,.dark-theme .warpper .post-content .mermaid .taskText2,.dark-theme .warpper .post-content .mermaid .taskText3{fill:#323d47}.dark-theme .warpper .post-content .mermaid .task0,.dark-theme .warpper .post-content .mermaid .task1,.dark-theme .warpper .post-content .mermaid .task2,.dark-theme .warpper .post-content .mermaid .task3{fill:#bdd5ea;stroke:rgba(255,255,255,.5)}.dark-theme .warpper .post-content .mermaid .taskTextOutside0,.dark-theme .warpper .post-content .mermaid .taskTextOutside2{fill:lightgrey}.dark-theme .warpper .post-content .mermaid .taskTextOutside1,.dark-theme .warpper .post-content .mermaid .taskTextOutside3{fill:lightgrey}.dark-theme .warpper .post-content .mermaid .active0,.dark-theme .warpper .post-content .mermaid .active1,.dark-theme .warpper .post-content .mermaid .active2,.dark-theme .warpper .post-content .mermaid .active3{fill:#81b1db;stroke:rgba(255,255,255,.5)}.dark-theme .warpper .post-content .mermaid .activeText0,.dark-theme .warpper .post-content .mermaid .activeText1,.dark-theme .warpper .post-content .mermaid .activeText2,.dark-theme .warpper .post-content .mermaid .activeText3{fill:#323d47!important}.dark-theme .warpper .post-content .mermaid .done0,.dark-theme .warpper .post-content .mermaid .done1,.dark-theme .warpper .post-content .mermaid .done2,.dark-theme .warpper .post-content .mermaid .done3{stroke:grey;fill:lightgrey;stroke-width:2}.dark-theme .warpper .post-content .mermaid .doneText0,.dark-theme .warpper .post-content .mermaid .doneText1,.dark-theme .warpper .post-content .mermaid .doneText2,.dark-theme .warpper .post-content .mermaid .doneText3{fill:#323d47!important}.dark-theme .warpper .post-content .mermaid .crit0,.dark-theme .warpper .post-content .mermaid .crit1,.dark-theme .warpper .post-content .mermaid .crit2,.dark-theme .warpper .post-content .mermaid .crit3{stroke:#e83737;fill:#e83737;stroke-width:2}.dark-theme .warpper .post-content .mermaid .activeCrit0,.dark-theme .warpper .post-content .mermaid .activeCrit1,.dark-theme .warpper .post-content .mermaid .activeCrit2,.dark-theme .warpper .post-content .mermaid .activeCrit3{stroke:#e83737;fill:#81b1db;stroke-width:2}.dark-theme .warpper .post-content .mermaid .doneCrit0,.dark-theme .warpper .post-content .mermaid .doneCrit1,.dark-theme .warpper .post-content .mermaid .doneCrit2,.dark-theme .warpper .post-content .mermaid .doneCrit3{stroke:#e83737;fill:lightgrey;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.dark-theme .warpper .post-content .mermaid .milestone{transform:rotate(45deg)scale(0.8,0.8)}.dark-theme .warpper .post-content .mermaid .milestoneText{font-style:italic}.dark-theme .warpper .post-content .mermaid .doneCritText0,.dark-theme .warpper .post-content .mermaid .doneCritText1,.dark-theme .warpper .post-content .mermaid .doneCritText2,.dark-theme .warpper .post-content .mermaid .doneCritText3{fill:#323d47!important}.dark-theme .warpper .post-content .mermaid .activeCritText0,.dark-theme .warpper .post-content .mermaid .activeCritText1,.dark-theme .warpper .post-content .mermaid .activeCritText2,.dark-theme .warpper .post-content .mermaid .activeCritText3{fill:#323d47!important}.dark-theme .warpper .post-content .mermaid .titleText{text-anchor:middle;font-size:18px;fill:#323d47;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid g.classGroup text{fill:purple;stroke:none;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:10px}.dark-theme .warpper .post-content .mermaid g.classGroup text .title{font-weight:bolder}.dark-theme .warpper .post-content .mermaid g.classGroup rect{fill:#bdd5ea;stroke:purple}.dark-theme .warpper .post-content .mermaid g.classGroup line{stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#bdd5ea;opacity:.5}.dark-theme .warpper .post-content .mermaid .classLabel .label{fill:purple;font-size:10px}.dark-theme .warpper .post-content .mermaid .relation{stroke:purple;stroke-width:1;fill:none}.dark-theme .warpper .post-content .mermaid #compositionStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid #compositionEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid #aggregationStart{fill:#bdd5ea;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid #aggregationEnd{fill:#bdd5ea;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid #dependencyStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid #dependencyEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid #extensionStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid #extensionEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid .commit-id,.dark-theme .warpper .post-content .mermaid .commit-msg,.dark-theme .warpper .post-content .mermaid .branch-label{fill:lightgrey;color:lightgrey;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid .pieTitleText{text-anchor:middle;font-size:25px;fill:#323d47;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid .slice{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid g.stateGroup text{fill:purple;stroke:none;font-size:10px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid g.stateGroup text{fill:purple;stroke:none;font-size:10px}.dark-theme .warpper .post-content .mermaid g.stateGroup .state-title{font-weight:bolder;fill:#000}.dark-theme .warpper .post-content .mermaid g.stateGroup rect{fill:#bdd5ea;stroke:purple}.dark-theme .warpper .post-content .mermaid g.stateGroup line{stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid .transition{stroke:purple;stroke-width:1;fill:none}.dark-theme .warpper .post-content .mermaid .stateGroup .composit{fill:#fff;border-bottom:1px}.dark-theme .warpper .post-content .mermaid .state-note{stroke:rgba(255,255,255,.25);fill:#fff5ad}.dark-theme .warpper .post-content .mermaid .state-note text{fill:#000;stroke:none;font-size:10px}.dark-theme .warpper .post-content .mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#bdd5ea;opacity:.5}.dark-theme .warpper .post-content .mermaid .stateLabel text{fill:#000;font-size:10px;font-weight:700;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid :root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}.dark-theme .warpper .post-content .aplayer{background:#212121}.dark-theme .warpper .post-content .aplayer.aplayer-withlist .aplayer-info{border-bottom-color:#5c5c5c}.dark-theme .warpper .post-content .aplayer.aplayer-fixed .aplayer-list{border-color:#5c5c5c}.dark-theme .warpper .post-content .aplayer .aplayer-body{background-color:#212121}.dark-theme .warpper .post-content .aplayer .aplayer-info{border-top-color:#212121}.dark-theme .warpper .post-content .aplayer .aplayer-info .aplayer-music .aplayer-title{color:#fff}.dark-theme .warpper .post-content .aplayer .aplayer-info .aplayer-music .aplayer-author{color:#fff}.dark-theme .warpper .post-content .aplayer .aplayer-info .aplayer-controller .aplayer-time{color:#eee}.dark-theme .warpper .post-content .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:#eee}.dark-theme .warpper .post-content .aplayer .aplayer-list{background-color:#212121}.dark-theme .warpper .post-content .aplayer .aplayer-list::-webkit-scrollbar-thumb{background-color:#999}.dark-theme .warpper .post-content .aplayer .aplayer-list::-webkit-scrollbar-thumb:hover{background-color:#bbb}.dark-theme .warpper .post-content .aplayer .aplayer-list li{color:#fff;border-top-color:#666}.dark-theme .warpper .post-content .aplayer .aplayer-list li:hover{background:#4e4e4e}.dark-theme .warpper .post-content .aplayer .aplayer-list li.aplayer-list-light{background:#6c6c6c}.dark-theme .warpper .post-content .aplayer .aplayer-list li .aplayer-list-index{color:#ddd}.dark-theme .warpper .post-content .aplayer .aplayer-list li .aplayer-list-author{color:#ddd}.dark-theme .warpper .post-content .aplayer .aplayer-lrc{text-shadow:-1px -1px 0 #666}.dark-theme .warpper .post-content .aplayer .aplayer-lrc:before{background:-moz-linear-gradient(top,#212121 0%,rgba(33,33,33,0) 100%);background:-webkit-linear-gradient(top,#212121 0%,rgba(33,33,33,0) 100%);background:linear-gradient(to bottom,#212121 0%,rgba(33,33,33,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#212121',endColorstr='#00212121',GradientType=0 )}.dark-theme .warpper .post-content .aplayer .aplayer-lrc:after{background:-moz-linear-gradient(top,rgba(33,33,33,0) 0%,rgba(33,33,33,0.8) 100%);background:-webkit-linear-gradient(top,rgba(33,33,33,0) 0%,rgba(33,33,33,0.8) 100%);background:linear-gradient(to bottom,rgba(33,33,33,0) 0%,rgba(33,33,33,0.8) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00212121',endColorstr='#cc212121',GradientType=0 )}.dark-theme .warpper .post-content .aplayer .aplayer-lrc p{color:#fff}.dark-theme .warpper .post-content .aplayer .aplayer-miniswitcher{background:#484848}.dark-theme .warpper .post-content .aplayer .aplayer-miniswitcher .aplayer-icon path{fill:#eee}.warpper .post-content .echarts{width:100%;height:30rem;margin:3% auto;text-align:center}.warpper .post-content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.warpper .post-content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.warpper .post-content hr{margin:1rem 0;position:relative;border-top:1px dashed #dcdcdc;border-bottom:none}.dark-theme .warpper .post-content hr{border-top:1px dashed #4a4b50}.warpper .post-content kbd{display:inline-block;padding:.25em;background-color:#fff;border:1px solid #dcdcdc;border-bottom-color:#dcdcdc;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #dcdcdc;box-shadow:inset 0 -1px 0 #dcdcdc;font-size:.8em;line-height:1.25rem;font-family:Source Code Pro,Consolas,Liberation Mono,Menlo,Courier,monospace;color:#e74c3c}.dark-theme .warpper .post-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}.warpper .post-content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Consolas,Liberation Mono,Menlo,Courier,monospace;font-weight:700;word-break:break-all}.warpper .post-content .align-left{text-align:left}.warpper .post-content .align-center{text-align:center}.warpper .post-content .align-right{text-align:right}.warpper .post-content .float-left{float:left}.warpper .post-content .float-right{float:right}.warpper .post-footer{margin-top:3rem}.warpper .post-footer .post-info{border-bottom:1px solid #dcdcdc;padding:1rem 0 .3rem}.dark-theme .warpper .post-footer .post-info{border-bottom:1px solid #4a4b50}.warpper .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.warpper .post-footer .post-info .post-info-line .post-info-mod{font-size:.8em;color:#a9a9b3}.dark-theme .warpper .post-footer .post-info .post-info-line .post-info-mod{color:#87878d}.warpper .post-footer .post-info .post-info-line .post-info-license{font-size:.8em;color:#a9a9b3}.dark-theme .warpper .post-footer .post-info .post-info-line .post-info-license{color:#87878d}.warpper .post-footer .post-info .post-info-line .post-info-md a{font-size:.8em;color:#2d96bd}.dark-theme .warpper .post-footer .post-info .post-info-line .post-info-md a{color:#eee}.warpper .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark-theme .warpper .post-footer .post-info .post-info-line .post-info-md a:hover{color:#2d96bd}.warpper .post-footer .post-info-more{padding:.3rem 0 1rem;display:flex;justify-content:space-between;font-size:.9rem}.warpper .post-footer .post-nav::before,.warpper .post-footer .post-nav::after{content:' ';display:table}.warpper .post-footer .post-nav a.prev,.warpper .post-footer .post-nav a.next{font-size:1rem;font-weight:600;transition-duration:.3s;transition-property:transform;transition-timing-function:ease-out}.warpper .post-footer .post-nav a.prev{float:left}.warpper .post-footer .post-nav a.prev:hover{transform:translateX(-4px)}.warpper .post-footer .post-nav a.next{float:right}.warpper .post-footer .post-nav a.next:hover{transform:translateX(4px)}.warpper .post-comment{padding:4rem 0}.warpper .home-intro{transform:translateY(0);padding:2rem 0}.warpper .home-intro .home-avatar img{width:6rem}.warpper .post{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #dcdcdc}.dark-theme .warpper .post{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.warpper .post .post-featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:.6rem auto}.warpper .post .post-featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.warpper .post .post-list-title{font-size:1.6rem}.warpper .post .post-meta{font-size:.875rem!important}.warpper .post .post-meta a{color:#a9a9b3!important}.dark-theme .warpper .post .post-meta a{color:#87878d!important}.warpper .post .post-meta a:hover{color:#2d96bd!important}.dark-theme .warpper .post .post-meta a:hover{color:#fff!important}.warpper .post .post-content{padding-top:.2rem;font-size:.9rem;width:100%;max-height:7rem;overflow:hidden}.warpper .post .post-content h2,.warpper .post .post-content h3,.warpper .post .post-content h4,.warpper .post .post-content h5,.warpper .post .post-content h6{font-size:1rem;line-height:1rem;padding-top:.3rem;padding-bottom:.3rem}.warpper .post .post-content p{margin:0;padding-top:.3rem;padding-bottom:.3rem}.warpper .post .post-footer{margin-top:.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem!important}.warpper .post .post-footer a{color:#2d96bd!important}.dark-theme .warpper .post .post-footer a{color:#eee!important}.warpper .post .post-footer a:hover{color:#ef3982!important}.dark-theme .warpper .post .post-footer a:hover{color:#2d96bd!important}.warpper .post .post-footer .post-tags{padding:0}.warpper .post .post-footer .post-tags a{color:#161209!important}.dark-theme .warpper .post .post-footer .post-tags a{color:#a9a9b3!important}.warpper .post .post-footer .post-tags a:hover{color:#2d96bd!important}.dark-theme .warpper .post .post-footer .post-tags a:hover{color:#fff!important}.archive .post-title{text-align:right;padding-bottom:2rem}.archive .archive-item{margin-left:2rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;padding:0 2.5rem;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 .categories{width:100%;overflow:hidden}.archive .archive-item-link{display:inline-block;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:95%}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}.dark-theme .archive .archive-item-link{color:#a9a9b3;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease}.dark-theme .archive .archive-item-link:hover{color:#fff;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease}.archive .archive-item-date{float:right;text-align:right;color:#a9a9b3}.dark-theme .archive .archive-item-date{color:#87878d}.archive .more-post{text-align:right}.archive .categories h3{display:inline-block}.archive .categories span{float:right;padding-right:1rem}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;transition-duration:.3s;transition-property:transform;transition-timing-function:ease-out}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{color:#2d96bd;transform:scale(1.1)}.dark-theme .archive .tag-cloud-tags a:active,.dark-theme .archive .tag-cloud-tags a:focus,.dark-theme .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a small{color:#a9a9b3}.dark-theme .archive .tag-cloud-tags a small{color:#fff}.single .post-title{text-align:right;padding-bottom:2rem}.navbar{display:block;position:fixed;width:100%;z-index:100;height:4rem;line-height:4rem;background-color:#fafafa}.dark-theme .navbar{background-color:#252627}.navbar .navbar-container{width:auto;text-align:center;margin:0 6rem;display:flex;justify-content:space-between}.navbar .navbar-container .navbar-header a{padding:0 8px;font-size:20px}.navbar .navbar-container .navbar-header a i{line-height:2em}.navbar .navbar-container .navbar-menu a{padding:0 8px}.navbar .navbar-container .navbar-menu a.active{font-weight:900;color:#161209}.dark-theme .navbar .navbar-container .navbar-menu a.active{color:#fff}.navbar-mobile{display:none;position:fixed;width:100%;z-index:100;transition:all .3s ease 0s}.navbar-mobile .navbar-container{padding:0;margin:0;height:4.5em;line-height:4.5em;background:#fff}.navbar-mobile .navbar-container .navbar-header{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:18px;padding-right:1em;padding-left:1em;box-sizing:border-box}.navbar-mobile .navbar-container .navbar-header .navbar-header-title{font-size:20px}.navbar-mobile .navbar-container .navbar-header .menu-toggle{cursor:pointer;line-height:4.5em}.navbar-mobile .navbar-container .navbar-header .menu-toggle span{display:block;background:#000;width:24px;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:.2s margin .2s,.2s transform;-moz-transition:.2s margin .2s,.2s transform;transition:.2s margin .2s,.2s transform}.dark-theme .navbar-mobile .navbar-container .navbar-header .menu-toggle span{background:#a9a9b3}.navbar-mobile .navbar-container .navbar-header .menu-toggle span:nth-child(1){margin-bottom:8px}.navbar-mobile .navbar-container .navbar-header .menu-toggle span:nth-child(3){margin-top:8px}.navbar-mobile .navbar-container .navbar-header .menu-toggle.active span{-webkit-transition:.2s margin,.2s transform .2s;-moz-transition:.2s margin,.2s transform .2s;transition:.2s margin,.2s transform .2s}.navbar-mobile .navbar-container .navbar-header .menu-toggle.active span:nth-child(1){-moz-transform:rotate(45deg)translate(4px,6px);-ms-transform:rotate(45deg)translate(4px,6px);-webkit-transform:rotate(45deg)translate(4px,6px);transform:rotate(45deg)translate(4px,6px)}.navbar-mobile .navbar-container .navbar-header .menu-toggle.active span:nth-child(2){opacity:0}.navbar-mobile .navbar-container .navbar-header .menu-toggle.active span:nth-child(3){-moz-transform:rotate(-45deg)translate(8px,-10px);-ms-transform:rotate(-45deg)translate(8px,-10px);-webkit-transform:rotate(-45deg)translate(8px,-10px);transform:rotate(-45deg)translate(8px,-10px)}.navbar-mobile .navbar-container .navbar-menu{text-align:center;background:#fff;border-top:2px solid #161209;display:none;box-shadow:0 2px 4px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.1)}.navbar-mobile .navbar-container .navbar-menu a{display:block;line-height:2.5em}.navbar-mobile .navbar-container .navbar-menu.active{display:block}.dark-theme .navbar-mobile .navbar-container .navbar-menu{background:#292a2d;border-top:2px solid #a9a9b3}.dark-theme .navbar-mobile .navbar-container{background:#292a2d}.copyright{font-size:.875rem}.copyright .copyright-line{width:100%}.dynamic-to-top{display:none;overflow:hidden;width:auto;z-index:90;position:fixed;bottom:2rem;right:2rem;top:auto;left:auto;font-family:sans-serif;font-size:1rem;color:#fff;text-decoration:none;text-shadow:0 1px 0 #333;font-weight:700;padding:1rem;border:1px solid #dcdcdc;background:#222;outline:none}.dynamic-to-top:hover{background:#000;cursor:pointer}.dynamic-to-top:active{background:#000;outline:none}.dynamic-to-top:focus,.dynamic-to-top:hover{outline:none}.dynamic-to-top span{display:block;overflow:hidden;width:.875rem;height:.75rem;background:url(data:image/png;base64,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)no-repeat 50%}.dark-theme .dynamic-to-top{border:1px solid #4a4b50}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding-top:1rem}.pagination a{-webkit-font-smoothing:antialiased;font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px;text-decoration:none;transition:.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-theme .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;transition:.3s;bottom:0}.dark-theme .pagination li:before,.dark-theme .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-theme .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width:1800px){.warpper{max-width:780px}.warpper .post-toc{margin-left:800px}}@media only screen and (max-width:1300px){.warpper{max-width:560px}.warpper .post-toc{margin-left:580px}}@media only screen and (max-width:1080px){.navbar .navbar-container{margin:0 2rem}.warpper{max-width:80%}.warpper .post-toc{display:none}.warpper .post-toc-mobile{display:block}}@media only screen and (max-width:560px){.navbar{display:none}.navbar-mobile{display:block}.warpper{max-width:100%}.warpper .categories-card .card-item{width:95%}.dynamic-to-top{display:none!important}} \ No newline at end of file +@import "https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900";/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{font-family:Lato,-apple-system,BlinkMacSystemFont,PingFang-SC-Regular,Hiragino Sans GB,Microsoft Yahei,Arial,sans-serif}html::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-thumb{height:40px;background-color:#87878d;border-radius:16px}html::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background:rgba(0,149,255,.1)}body{font-size:16px;font-weight:400;line-height:26px;background-color:#fff;color:#161209}body:before{content:"";background-repeat:no-repeat;background-position:50%;opacity:.05;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:grayscale(100%);filter:gray}body.dark-theme{color:#a9a9b3;background-color:#292a2d}a{color:#161209;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease}a:hover{color:#2d96bd}.dark-theme a{color:#a9a9b3}.dark-theme a:hover{color:#fff}.wrapper{display:flex;flex-direction:column;min-height:98vh;width:100%}.main{flex:1 0 auto}.container{padding-left:1rem;padding-right:1rem}.footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}.notfound{font-size:2rem;transform:translateY(35vh);text-align:center}.home-intro{transform:translateY(25vh);text-align:center}.home-intro .home-avatar{padding:.6rem}.home-intro .home-avatar img{width:8rem;height:auto;display:inline-block;-webkit-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 .3618em rgba(0,0,0,.05);box-shadow:0 0 0 .3618em rgba(0,0,0,.05);margin:0 auto;-webkit-transition:all ease .4s;-moz-transition:all ease .4s;-o-transition:all ease .4s;transition:all ease .4s;cursor:pointer}.home-intro .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-intro .home-description{font-size:1rem;font-weight:400;padding:.4rem}.home-intro .home-social-links{padding-top:.6rem}.home-intro .home-social-links i{font-size:1.4rem}.warpper{position:relative;width:100%;max-width:960px;margin:0 auto;padding-top:6rem}.warpper .post-title{margin:0!important;font-size:1.8rem;line-height:3rem}.warpper .post-meta{font-size:.88rem;color:#a9a9b3}.warpper .post-meta span{display:inline-block}.dark-theme .warpper .post-meta{color:#87878d}.warpper .post-meta a{color:#2d96bd}.dark-theme .warpper .post-meta a{color:#eee}.warpper .post-meta a:hover{color:#ef3982}.dark-theme .warpper .post-meta a:hover{color:#2d96bd}.warpper .post-meta .author{font-size:1.05rem}.warpper .post-featured-image{padding-top:.6rem}.warpper .post-featured-image img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.warpper .post-toc{display:block;position:absolute;width:240px;max-width:300px;margin-left:980px;padding:.8rem;border-left:1px solid #dcdcdc;word-wrap:break-word;box-sizing:border-box;top:12rem}.dark-theme .warpper .post-toc{border-left:1px solid #4a4b50}.warpper .post-toc .post-toc-title{font-weight:400;text-transform:uppercase}.warpper .post-toc .post-toc-content.always-active ul{display:block}.warpper .post-toc .post-toc-content>nav>ul{margin:.625rem 0}.warpper .post-toc .post-toc-content ul{text-indent:-.85rem;padding-left:.625rem;list-style:none}.warpper .post-toc .post-toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark-theme .warpper .post-toc .post-toc-content ul a::before{color:#eee}.warpper .post-toc .post-toc-content ul ul{padding-left:1.25rem;display:none}.warpper .post-toc .post-toc-content ul .has-active>ul{display:block}.warpper .post-toc .post-toc-content .toc-link.active{font-weight:700;color:#ef3982}.dark-theme .warpper .post-toc .post-toc-content .toc-link.active{color:#2d96bd}.warpper .post-toc .post-toc-content .toc-link.active::before{font-weight:bolder;color:#ef3982}.dark-theme .warpper .post-toc .post-toc-content .toc-link.active::before{color:#2d96bd}.warpper .post-toc-mobile{display:none;padding-top:.8rem}.warpper .post-toc-mobile details summary .post-toc-title{display:block;display:flex;justify-content:space-between;font-size:1.2em;font-weight:700;line-height:2em;padding:0 .625rem;background:#f5f5f5}.warpper .post-toc-mobile details summary .post-toc-title i.details{line-height:2em}.dark-theme .warpper .post-toc-mobile details summary .post-toc-title{background:#272c34}.warpper .post-toc-mobile details summary::-webkit-details-marker{display:none}.warpper .post-toc-mobile details[open] i.details{transform:rotate(180deg)}.warpper .post-toc-mobile .post-toc-content{border:2px solid #f5f5f5}.warpper .post-toc-mobile .post-toc-content>nav>ul{margin:.625rem 0}.warpper .post-toc-mobile .post-toc-content ul{padding-left:.625rem;list-style:none}.warpper .post-toc-mobile .post-toc-content ul ul{padding-left:1.25rem}.dark-theme .warpper .post-toc-mobile .post-toc-content{border:2px solid #272c34}.warpper .post-content .post-dummy-target:target{display:inline-block;position:relative;top:-5.6rem;visibility:hidden}.warpper .post-content h2,.warpper .post-content h3,.warpper .post-content h4,.warpper .post-content h5,.warpper .post-content h6{padding-top:.8rem;padding-bottom:.3rem}.warpper .post-content h2::before{content:"#";margin-right:.3125rem;color:#2d96bd}.dark-theme .warpper .post-content h2::before{color:#eee}.warpper .post-content h3::before,.warpper .post-content h4::before,.warpper .post-content h5::before,.warpper .post-content h6::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark-theme .warpper .post-content h3::before,.dark-theme .warpper .post-content h4::before,.dark-theme .warpper .post-content h5::before,.dark-theme .warpper .post-content h6::before{color:#eee}.warpper .post-content p{font-size:1rem;margin:.5rem 0;text-align:justify}.warpper .post-content a{color:#2d96bd}.dark-theme .warpper .post-content a{color:#eee}.warpper .post-content a:hover{color:#ef3982}.dark-theme .warpper .post-content a:hover:hover{color:#2d96bd;font-weight:700}.warpper .post-content ul{padding-left:2rem}.warpper .post-content ruby{background:#f5f5f5}.warpper .post-content ruby rt{color:#a9a9b3}.dark-theme .warpper .post-content ruby{background:#272c34}.dark-theme .warpper .post-content ruby rt{color:#87878d}.warpper .post-content .table-wrapper{overflow-x:auto}.warpper .post-content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff}.dark-theme .warpper .post-content .table-wrapper>table{background:#272c34}.warpper .post-content .table-wrapper>table thead{background:#ededed}.dark-theme .warpper .post-content .table-wrapper>table thead{background-color:#20252b}.warpper .post-content .table-wrapper>table th,.warpper .post-content .table-wrapper>table td{padding:.3rem 1rem;border:1px double #dcdcdc}.dark-theme .warpper .post-content .table-wrapper>table th,.dark-theme .warpper .post-content .table-wrapper>table td{border:1px double #4a4b50}.warpper .post-content figure{text-align:center}.warpper .post-content .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.625rem;margin:0 auto;border-bottom:1px solid #d9d9d9;font-size:.875rem;color:#969696;line-height:1.7}.warpper .post-content img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.warpper .post-content blockquote{font-size:1rem;display:block;border-width:1px 0;border-style:solid;border-color:#dcdcdc;padding:1.5em 1.2em .5em;margin:0 0 2em;position:relative}.warpper .post-content blockquote::before{content:'\201C';position:absolute;top:0;left:50%;transform:translate(-50%,-50%);width:3rem;height:2rem;font:6em/1.08em pt sans,sans-serif;color:#2d96bd;text-align:center}.dark-theme .warpper .post-content blockquote::before{color:#eee}.warpper .post-content blockquote::after{content:"#blockquote" attr(cite);display:block;text-align:right;font-size:.875em;color:#2d96bd}.dark-theme .warpper .post-content blockquote::after{color:#eee}.dark-theme .warpper .post-content blockquote{border-color:#4a4b50}.warpper .post-content .footnotes{color:#a9a9b3}.dark-theme .warpper .post-content .footnotes{color:#87878d}.warpper .post-content code,.warpper .post-content pre{padding:7px;font-size:13px;font-family:Source Code Pro,Consolas,Liberation Mono,Menlo,Courier,monospace;background:#f5f5f5}.dark-theme .warpper .post-content code,.dark-theme .warpper .post-content pre{background:#272c34}.warpper .post-content code{padding:3px 5px;border-radius:4px;color:#e74c3c;background:#f5f5f5}.dark-theme .warpper .post-content code{color:#e5bf78;background:#272c34}.warpper .post-content p>code{background:#ededed}.dark-theme .warpper .post-content p>code{color:#e5bf78;background:#20252b}.warpper .post-content .highlight>.chroma{margin:1em 0;border-radius:6px;overflow-x:auto;position:relative;background:#f5f5f5}.warpper .post-content .highlight>.chroma code{padding:0}.warpper .post-content .highlight>.chroma table{position:relative}.warpper .post-content .highlight>.chroma table::after{position:absolute;top:0;right:0;left:0;padding:2px 7px;font-size:13px;font-weight:700;color:#b1b0b0;background:#ededed;content:'Code'}.dark-theme .warpper .post-content .highlight>.chroma table::after{background:#20252b}.warpper .post-content .highlight>.chroma .language-bash table::after{content:"Bash"}.warpper .post-content .highlight>.chroma .language-c table::after{content:"C"}.warpper .post-content .highlight>.chroma .language-cs table::after{content:"C#"}.warpper .post-content .highlight>.chroma .language-cpp table::after{content:"C++"}.warpper .post-content .highlight>.chroma .language-css table::after{content:"CSS"}.warpper .post-content .highlight>.chroma .language-coffeescript table::after{content:"CoffeeScript"}.warpper .post-content .highlight>.chroma .language-html table::after{content:"HTML"}.warpper .post-content .highlight>.chroma .language-xml table::after{content:"XML"}.warpper .post-content .highlight>.chroma .language-http table::after{content:"HTTP"}.warpper .post-content .highlight>.chroma .language-json table::after{content:"JSON"}.warpper .post-content .highlight>.chroma .language-java table::after{content:"Java"}.warpper .post-content .highlight>.chroma .language-js table::after{content:"JavaScript"}.warpper .post-content .highlight>.chroma .language-javascript table::after{content:"JavaScript"}.warpper .post-content .highlight>.chroma .language-makefile table::after{content:"Makefile"}.warpper .post-content .highlight>.chroma .language-markdown table::after{content:"Markdown"}.warpper .post-content .highlight>.chroma .language-objectivec table::after{content:"Objective-C"}.warpper .post-content .highlight>.chroma .language-php table::after{content:"PHP"}.warpper .post-content .highlight>.chroma .language-perl table::after{content:"Perl"}.warpper .post-content .highlight>.chroma .language-python table::after{content:"Python"}.warpper .post-content .highlight>.chroma .language-ruby table::after{content:"Ruby"}.warpper .post-content .highlight>.chroma .language-sql table::after{content:"SQL"}.warpper .post-content .highlight>.chroma .language-shell table::after{content:"Shell"}.warpper .post-content .highlight>.chroma .language-erlang table::after{content:"Erlang"}.warpper .post-content .highlight>.chroma .language-go table::after{content:"Go"}.warpper .post-content .highlight>.chroma .language-go-html-template table::after{content:"Go HTML Template"}.warpper .post-content .highlight>.chroma .language-groovy table::after{content:"Groovy"}.warpper .post-content .highlight>.chroma .language-haskell table::after{content:"Haskell"}.warpper .post-content .highlight>.chroma .language-kotlin table::after{content:"Kotlin"}.warpper .post-content .highlight>.chroma .language-clojure table::after{content:"Clojure"}.warpper .post-content .highlight>.chroma .language-less table::after{content:"Less"}.warpper .post-content .highlight>.chroma .language-lisp table::after{content:"Lisp"}.warpper .post-content .highlight>.chroma .language-lua table::after{content:"Lua"}.warpper .post-content .highlight>.chroma .language-matlab table::after{content:"Matlab"}.warpper .post-content .highlight>.chroma .language-rust table::after{content:"Rust"}.warpper .post-content .highlight>.chroma .language-scss table::after{content:"Scss"}.warpper .post-content .highlight>.chroma .language-scala table::after{content:"Scala"}.warpper .post-content .highlight>.chroma .language-swift table::after{content:"Swift"}.warpper .post-content .highlight>.chroma .language-typescript table::after{content:"TypeScript"}.warpper .post-content .highlight>.chroma .language-yml table::after{content:"YAML"}.warpper .post-content .highlight>.chroma .language-yaml table::after{content:"YAML"}.warpper .post-content .highlight>.chroma .language-toml table::after{content:"TOML"}.warpper .post-content .highlight>.chroma .language-diff table::after{content:"Diff"}.warpper .post-content .highlight>.chroma .lntd{line-height:20px}.warpper .post-content .highlight>.chroma .lntd:first-child{width:10px}.warpper .post-content .highlight>.chroma .lntd:first-child pre{margin:0;padding:38px 7px 8px}.warpper .post-content .highlight>.chroma .lntd:last-child{vertical-align:top}.warpper .post-content .highlight>.chroma .lntd:last-child pre{margin:0;padding:38px 10px 8px}.warpper .post-content .highlight>.chroma table,.warpper .post-content .highlight>.chroma tr,.warpper .post-content .highlight>.chroma td{margin:0;padding:0;width:100%;border-collapse:collapse;border-color:#f5f5f5}.dark-theme .warpper .post-content .highlight>.chroma table,.dark-theme .warpper .post-content .highlight>.chroma tr,.dark-theme .warpper .post-content .highlight>.chroma td{border-color:#272c34}.warpper .post-content .highlight>.chroma .lnt{color:#cacaca}.warpper .post-content .highlight>.chroma .hl{display:block;width:100%;background-color:#e8e8e8}.dark-theme .warpper .post-content .highlight>.chroma .hl{background-color:#1c2025}.warpper .post-content .highlight{}.warpper .post-content .highlight .p{color:#a9a9b3}.warpper .post-content .highlight .k{color:#859900}.warpper .post-content .highlight .kc{color:#859900;font-weight:700}.warpper .post-content .highlight .kd{color:#859900}.warpper .post-content .highlight .kn{color:#dc322f;font-weight:700}.warpper .post-content .highlight .kp{color:#859900}.warpper .post-content .highlight .kr{color:#859900}.warpper .post-content .highlight .kt{color:#859900;font-weight:700}.warpper .post-content .highlight .n{color:#268bd2}.warpper .post-content .highlight .na{color:#268bd2}.warpper .post-content .highlight .nb{color:#cb4b16}.warpper .post-content .highlight .bp{color:#268bd2}.warpper .post-content .highlight .nc{color:#cb4b16}.warpper .post-content .highlight .no{color:#268bd2}.warpper .post-content .highlight .nd{color:#268bd2}.warpper .post-content .highlight .ni{color:#268bd2}.warpper .post-content .highlight .ne{color:#268bd2}.warpper .post-content .highlight .nf{color:#268bd2}.warpper .post-content .highlight .fm{color:#268bd2}.warpper .post-content .highlight .nl{color:#268bd2}.warpper .post-content .highlight .nn{color:#268bd2}.warpper .post-content .highlight .nx{color:#268bd2}.warpper .post-content .highlight .py{color:#268bd2}.warpper .post-content .highlight .nt{color:#268bd2;font-weight:700}.warpper .post-content .highlight .nv{color:#268bd2}.warpper .post-content .highlight .vc{color:#268bd2}.warpper .post-content .highlight .vg{color:#268bd2}.warpper .post-content .highlight .vi{color:#268bd2}.warpper .post-content .highlight .vm{color:#268bd2}.warpper .post-content .highlight .l{color:#2aa198}.warpper .post-content .highlight .ld{color:#2aa198}.warpper .post-content .highlight .s{color:#2aa198}.warpper .post-content .highlight .sa{color:#2aa198}.warpper .post-content .highlight .sb{color:#2aa198}.warpper .post-content .highlight .sc{color:#2aa198}.warpper .post-content .highlight .dl{color:#2aa198}.warpper .post-content .highlight .sd{color:#2aa198}.warpper .post-content .highlight .s2{color:#2aa198}.warpper .post-content .highlight .se{color:#2aa198}.warpper .post-content .highlight .sh{color:#2aa198}.warpper .post-content .highlight .si{color:#2aa198}.warpper .post-content .highlight .sx{color:#2aa198}.warpper .post-content .highlight .sr{color:#2aa198}.warpper .post-content .highlight .s1{color:#2aa198}.warpper .post-content .highlight .ss{color:#2aa198}.warpper .post-content .highlight .m{color:#2aa198;font-weight:700}.warpper .post-content .highlight .mb{color:#2aa198;font-weight:700}.warpper .post-content .highlight .mf{color:#2aa198;font-weight:700}.warpper .post-content .highlight .mh{color:#2aa198;font-weight:700}.warpper .post-content .highlight .mi{color:#2aa198;font-weight:700}.warpper .post-content .highlight .il{color:#2aa198;font-weight:700}.warpper .post-content .highlight .mo{color:#2aa198;font-weight:700}.warpper .post-content .highlight .ow{color:#859900}.warpper .post-content .highlight .c{color:#93a1a1;font-style:italic}.warpper .post-content .highlight .ch{color:#93a1a1;font-style:italic}.warpper .post-content .highlight .cm{color:#93a1a1;font-style:italic}.warpper .post-content .highlight .c1{color:#93a1a1;font-style:italic}.warpper .post-content .highlight .cs{color:#93a1a1;font-style:italic}.warpper .post-content .highlight .cp{color:#93a1a1;font-style:italic}.warpper .post-content .highlight .cpf{color:#93a1a1;font-style:italic}.warpper .post-content .highlight .g{color:#d33682}.warpper .post-content .highlight .gd{color:#b58900}.warpper .post-content .highlight .ge{color:#d33682}.warpper .post-content .highlight .gr{color:#d33682}.warpper .post-content .highlight .gh{color:#d33682}.warpper .post-content .highlight .gi{color:#859900}.warpper .post-content .highlight .go{color:#d33682}.warpper .post-content .highlight .gp{color:#d33682}.warpper .post-content .highlight .gs{color:#d33682}.warpper .post-content .highlight .gu{color:#d33682}.warpper .post-content .highlight .gt{color:#d33682}.dark-theme .warpper .post-content .highlight{background:#272c34}.dark-theme .warpper .post-content .highlight .p{color:#a9a9b3}.dark-theme .warpper .post-content .highlight .k{color:#d371e3}.dark-theme .warpper .post-content .highlight .kc{color:#d371e3}.dark-theme .warpper .post-content .highlight .kd{color:#d371e3}.dark-theme .warpper .post-content .highlight .kn{color:#d371e3}.dark-theme .warpper .post-content .highlight .kp{color:#d371e3}.dark-theme .warpper .post-content .highlight .kr{color:#d371e3}.dark-theme .warpper .post-content .highlight .kt{color:#8be9fd}.dark-theme .warpper .post-content .highlight .na{color:#41b1f5}.dark-theme .warpper .post-content .highlight .nb{color:#8be9fd;font-style:italic}.dark-theme .warpper .post-content .highlight .nc{color:#e5bf78}.dark-theme .warpper .post-content .highlight .nf{color:#19b8c0}.dark-theme .warpper .post-content .highlight .nx{color:#f16473}.dark-theme .warpper .post-content .highlight .nl{color:#8be9fd;font-style:italic}.dark-theme .warpper .post-content .highlight .nt{color:#d371e3}.dark-theme .warpper .post-content .highlight .nv{color:#8be9fd;font-style:italic}.dark-theme .warpper .post-content .highlight .vc{color:#8be9fd;font-style:italic}.dark-theme .warpper .post-content .highlight .vg{color:#8be9fd;font-style:italic}.dark-theme .warpper .post-content .highlight .vi{color:#8be9fd;font-style:italic}.dark-theme .warpper .post-content .highlight .s{color:#8bc56f}.dark-theme .warpper .post-content .highlight .sa{color:#8bc56f}.dark-theme .warpper .post-content .highlight .sb{color:#8bc56f}.dark-theme .warpper .post-content .highlight .sc{color:#8bc56f}.dark-theme .warpper .post-content .highlight .dl{color:#8bc56f}.dark-theme .warpper .post-content .highlight .sd{color:#8bc56f}.dark-theme .warpper .post-content .highlight .s2{color:#8bc56f}.dark-theme .warpper .post-content .highlight .se{color:#8bc56f}.dark-theme .warpper .post-content .highlight .sh{color:#8bc56f}.dark-theme .warpper .post-content .highlight .si{color:#8bc56f}.dark-theme .warpper .post-content .highlight .sx{color:#8bc56f}.dark-theme .warpper .post-content .highlight .sr{color:#8bc56f}.dark-theme .warpper .post-content .highlight .s1{color:#8bc56f}.dark-theme .warpper .post-content .highlight .ss{color:#8bc56f}.dark-theme .warpper .post-content .highlight .m{color:#bd93f9}.dark-theme .warpper .post-content .highlight .mb{color:#bd93f9}.dark-theme .warpper .post-content .highlight .mf{color:#bd93f9}.dark-theme .warpper .post-content .highlight .mh{color:#bd93f9}.dark-theme .warpper .post-content .highlight .mi{color:#bd93f9}.dark-theme .warpper .post-content .highlight .il{color:#bd93f9}.dark-theme .warpper .post-content .highlight .mo{color:#bd93f9}.dark-theme .warpper .post-content .highlight .o{color:#d371e3}.dark-theme .warpper .post-content .highlight .ow{color:#d371e3}.dark-theme .warpper .post-content .highlight .c{color:#7e848f}.dark-theme .warpper .post-content .highlight .ch{color:#7e848f}.dark-theme .warpper .post-content .highlight .cm{color:#7e848f}.dark-theme .warpper .post-content .highlight .c1{color:#7e848f}.dark-theme .warpper .post-content .highlight .cs{color:#7e848f}.dark-theme .warpper .post-content .highlight .cp{color:#d371e3}.dark-theme .warpper .post-content .highlight .cpf{color:#d371e3}.dark-theme .warpper .post-content .highlight .gd{color:#8b080b}.dark-theme .warpper .post-content .highlight .ge{text-decoration:underline}.dark-theme .warpper .post-content .highlight .gh{font-weight:700}.dark-theme .warpper .post-content .highlight .gi{font-weight:700}.dark-theme .warpper .post-content .highlight .go{color:#44475a}.dark-theme .warpper .post-content .highlight .gu{font-weight:700}.dark-theme .warpper .post-content .highlight .gl{text-decoration:underline}.warpper .post-content .admonition{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:relative;margin:.9765em 0;padding:0 .75rem;border-left:.25rem solid #448aff;border-radius:.125rem;overflow:auto}.warpper .post-content .admonition .admonition-title{margin:0 -.75rem;padding:.5rem .75rem .5rem 2.5rem;border-bottom:.1rem solid rgba(68,138,255,.1);background-color:rgba(68,138,255,.1);font-weight:700}.warpper .post-content .admonition i.icon{font-size:16px;cursor:auto;position:absolute;left:.75rem;top:.75rem}.warpper .post-content .admonition.note{border-left-color:#448aff}.warpper .post-content .admonition.note i.icon{color:#448aff}.warpper .post-content .admonition.abstract{border-left-color:#00b0ff}.warpper .post-content .admonition.abstract .admonition-title{background-color:rgba(0,176,255,.1)}.warpper .post-content .admonition.abstract i.icon{color:#00b0ff}.warpper .post-content .admonition.info{border-left-color:#00b8d4}.warpper .post-content .admonition.info .admonition-title{background-color:rgba(0,184,212,.1)}.warpper .post-content .admonition.info i.icon{color:#00b8d4}.warpper .post-content .admonition.tip{border-left-color:#00bfa5}.warpper .post-content .admonition.tip .admonition-title{background-color:rgba(0,191,165,.1)}.warpper .post-content .admonition.tip i.icon{color:#00bfa5}.warpper .post-content .admonition.success{border-left-color:#00c853}.warpper .post-content .admonition.success .admonition-title{background-color:rgba(0,200,83,.1)}.warpper .post-content .admonition.success i.icon{color:#00c853}.warpper .post-content .admonition.question{border-left-color:#64dd17}.warpper .post-content .admonition.question .admonition-title{background-color:rgba(100,221,23,.1)}.warpper .post-content .admonition.question i.icon{color:#64dd17}.warpper .post-content .admonition.warning{border-left-color:#ff9100}.warpper .post-content .admonition.warning .admonition-title{background-color:rgba(255,145,0,.1)}.warpper .post-content .admonition.warning i.icon{color:#ff9100}.warpper .post-content .admonition.failure{border-left-color:#ff5252}.warpper .post-content .admonition.failure .admonition-title{background-color:rgba(255,82,82,.1)}.warpper .post-content .admonition.failure i.icon{color:#ff5252}.warpper .post-content .admonition.danger{border-left-color:#ff1744}.warpper .post-content .admonition.danger .admonition-title{background-color:rgba(255,23,68,.1)}.warpper .post-content .admonition.danger i.icon{color:#ff1744}.warpper .post-content .admonition.bug{border-left-color:#f50057}.warpper .post-content .admonition.bug .admonition-title{background-color:rgba(245,0,87,.1)}.warpper .post-content .admonition.bug i.icon{color:#f50057}.warpper .post-content .admonition.example{border-left-color:#651fff}.warpper .post-content .admonition.example .admonition-title{background-color:rgba(101,31,255,.1)}.warpper .post-content .admonition.example i.icon{color:#651fff}.warpper .post-content .admonition.quote{border-left-color:#9e9e9e}.warpper .post-content .admonition.quote .admonition-title{background-color:rgba(158,158,158,.1)}.warpper .post-content .admonition.quote i.icon{color:#9e9e9e}.warpper .post-content .admonition:last-child{margin-bottom:.75rem}.warpper .post-content details.admonition summary{display:block;outline:none;cursor:pointer}.warpper .post-content details.admonition summary::-webkit-details-marker{display:none}.warpper .post-content details.admonition summary i.details{position:absolute;top:.75rem;right:.75rem;color:#161209}.dark-theme .warpper .post-content details.admonition summary i.details{color:#a9a9b3}.warpper .post-content details.admonition[open] i.details{transform:rotate(180deg)}.warpper .post-content .mermaid{width:100%;margin:3% auto;text-align:center}.warpper .post-content .mermaid .label{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);color:#333}.warpper .post-content .mermaid .label text{fill:#333}.warpper .post-content .mermaid .node rect,.warpper .post-content .mermaid .node circle,.warpper .post-content .mermaid .node ellipse,.warpper .post-content .mermaid .node polygon{fill:#eee;stroke:#999;stroke-width:1px}.warpper .post-content .mermaid .node .label{text-align:center}.warpper .post-content .mermaid .node.clickable{cursor:pointer}.warpper .post-content .mermaid .arrowheadPath{fill:#333}.warpper .post-content .mermaid .edgePath .path{stroke:#666;stroke-width:1.5px}.warpper .post-content .mermaid .edgeLabel{background-color:#fff;text-align:center}.warpper .post-content .mermaid .cluster rect{fill:#eaf2fb;stroke:#26a;stroke-width:1px}.warpper .post-content .mermaid .cluster text{fill:#333}.warpper .post-content .mermaid div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:12px;background:#eaf2fb;border:1px solid #26a;border-radius:2px;pointer-events:none;z-index:100}.warpper .post-content .mermaid .actor{stroke:#999;fill:#eee}.warpper .post-content .mermaid text.actor{fill:#333;stroke:none}.warpper .post-content .mermaid .actor-line{stroke:#666}.warpper .post-content .mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.warpper .post-content .mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.warpper .post-content .mermaid #arrowhead{fill:#333}.warpper .post-content .mermaid .sequenceNumber{fill:#fff}.warpper .post-content .mermaid #sequencenumber{fill:#333}.warpper .post-content .mermaid #crosshead path{fill:#333!important;stroke:#333!important}.warpper .post-content .mermaid .messageText{fill:#333;stroke:none}.warpper .post-content .mermaid .labelBox{stroke:#999;fill:#eee}.warpper .post-content .mermaid .labelText{fill:#333;stroke:none}.warpper .post-content .mermaid .loopText{fill:#333;stroke:none}.warpper .post-content .mermaid .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#999}.warpper .post-content .mermaid .note{stroke:#770;fill:#ffa}.warpper .post-content .mermaid .noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:14px}.warpper .post-content .mermaid .activation0{fill:#f4f4f4;stroke:#666}.warpper .post-content .mermaid .activation1{fill:#f4f4f4;stroke:#666}.warpper .post-content .mermaid .activation2{fill:#f4f4f4;stroke:#666}.warpper .post-content .mermaid .mermaid-main-font{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid .section{stroke:none;opacity:.2}.warpper .post-content .mermaid .section0{fill:#80b3e6}.warpper .post-content .mermaid .section2{fill:#80b3e6}.warpper .post-content .mermaid .section1,.warpper .post-content .mermaid .section3{fill:#fff;opacity:.2}.warpper .post-content .mermaid .sectionTitle0{fill:#333}.warpper .post-content .mermaid .sectionTitle1{fill:#333}.warpper .post-content .mermaid .sectionTitle2{fill:#333}.warpper .post-content .mermaid .sectionTitle3{fill:#333}.warpper .post-content .mermaid .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid .grid .tick{stroke:#e6e5e5;opacity:.3;shape-rendering:crispEdges}.warpper .post-content .mermaid .grid .tick text{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid .grid path{stroke-width:0}.warpper .post-content .mermaid .today{fill:none;stroke:#d42;stroke-width:2px}.warpper .post-content .mermaid .task{stroke-width:2}.warpper .post-content .mermaid .taskText{text-anchor:middle;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid .taskText:not([font-size]){font-size:11px}.warpper .post-content .mermaid .taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid .taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.warpper .post-content .mermaid .task.clickable{cursor:pointer}.warpper .post-content .mermaid .taskText.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.warpper .post-content .mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.warpper .post-content .mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.warpper .post-content .mermaid .taskText0,.warpper .post-content .mermaid .taskText1,.warpper .post-content .mermaid .taskText2,.warpper .post-content .mermaid .taskText3{fill:#fff}.warpper .post-content .mermaid .task0,.warpper .post-content .mermaid .task1,.warpper .post-content .mermaid .task2,.warpper .post-content .mermaid .task3{fill:#26a;stroke:#1a4d80}.warpper .post-content .mermaid .taskTextOutside0,.warpper .post-content .mermaid .taskTextOutside2{fill:#333}.warpper .post-content .mermaid .taskTextOutside1,.warpper .post-content .mermaid .taskTextOutside3{fill:#333}.warpper .post-content .mermaid .active0,.warpper .post-content .mermaid .active1,.warpper .post-content .mermaid .active2,.warpper .post-content .mermaid .active3{fill:#eee;stroke:#1a4d80}.warpper .post-content .mermaid .activeText0,.warpper .post-content .mermaid .activeText1,.warpper .post-content .mermaid .activeText2,.warpper .post-content .mermaid .activeText3{fill:#333!important}.warpper .post-content .mermaid .done0,.warpper .post-content .mermaid .done1,.warpper .post-content .mermaid .done2,.warpper .post-content .mermaid .done3{stroke:#666;fill:#bbb;stroke-width:2}.warpper .post-content .mermaid .doneText0,.warpper .post-content .mermaid .doneText1,.warpper .post-content .mermaid .doneText2,.warpper .post-content .mermaid .doneText3{fill:#333!important}.warpper .post-content .mermaid .crit0,.warpper .post-content .mermaid .crit1,.warpper .post-content .mermaid .crit2,.warpper .post-content .mermaid .crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.warpper .post-content .mermaid .activeCrit0,.warpper .post-content .mermaid .activeCrit1,.warpper .post-content .mermaid .activeCrit2,.warpper .post-content .mermaid .activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.warpper .post-content .mermaid .doneCrit0,.warpper .post-content .mermaid .doneCrit1,.warpper .post-content .mermaid .doneCrit2,.warpper .post-content .mermaid .doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.warpper .post-content .mermaid .milestone{transform:rotate(45deg)scale(0.8,0.8)}.warpper .post-content .mermaid .milestoneText{font-style:italic}.warpper .post-content .mermaid .doneCritText0,.warpper .post-content .mermaid .doneCritText1,.warpper .post-content .mermaid .doneCritText2,.warpper .post-content .mermaid .doneCritText3{fill:#333!important}.warpper .post-content .mermaid .activeCritText0,.warpper .post-content .mermaid .activeCritText1,.warpper .post-content .mermaid .activeCritText2,.warpper .post-content .mermaid .activeCritText3{fill:#333!important}.warpper .post-content .mermaid .titleText{text-anchor:middle;font-size:18px;fill:#333;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid g.classGroup text{fill:#999;stroke:none;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:10px}.warpper .post-content .mermaid g.classGroup text .title{font-weight:bolder}.warpper .post-content .mermaid g.classGroup rect{fill:#eee;stroke:#999}.warpper .post-content .mermaid g.classGroup line{stroke:#999;stroke-width:1}.warpper .post-content .mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:.5}.warpper .post-content .mermaid .classLabel .label{fill:#999;font-size:10px}.warpper .post-content .mermaid .relation{stroke:#999;stroke-width:1;fill:none}.warpper .post-content .mermaid #compositionStart{fill:#999;stroke:#999;stroke-width:1}.warpper .post-content .mermaid #compositionEnd{fill:#999;stroke:#999;stroke-width:1}.warpper .post-content .mermaid #aggregationStart{fill:#eee;stroke:#999;stroke-width:1}.warpper .post-content .mermaid #aggregationEnd{fill:#eee;stroke:#999;stroke-width:1}.warpper .post-content .mermaid #dependencyStart{fill:#999;stroke:#999;stroke-width:1}.warpper .post-content .mermaid #dependencyEnd{fill:#999;stroke:#999;stroke-width:1}.warpper .post-content .mermaid #extensionStart{fill:#999;stroke:#999;stroke-width:1}.warpper .post-content .mermaid #extensionEnd{fill:#999;stroke:#999;stroke-width:1}.warpper .post-content .mermaid .commit-id,.warpper .post-content .mermaid .commit-msg,.warpper .post-content .mermaid .branch-label{fill:lightgrey;color:lightgrey;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid .pieTitleText{text-anchor:middle;font-size:25px;fill:#333;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid .slice{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid g.stateGroup text{fill:#999;stroke:none;font-size:10px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid g.stateGroup text{fill:#999;stroke:none;font-size:10px}.warpper .post-content .mermaid g.stateGroup .state-title{font-weight:bolder;fill:#000}.warpper .post-content .mermaid g.stateGroup rect{fill:#eee;stroke:#999}.warpper .post-content .mermaid g.stateGroup line{stroke:#999;stroke-width:1}.warpper .post-content .mermaid .transition{stroke:#999;stroke-width:1;fill:none}.warpper .post-content .mermaid .stateGroup .composit{fill:#fff;border-bottom:1px}.warpper .post-content .mermaid .state-note{stroke:#770;fill:#ffa}.warpper .post-content .mermaid .state-note text{fill:#000;stroke:none;font-size:10px}.warpper .post-content .mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:.5}.warpper .post-content .mermaid .stateLabel text{fill:#000;font-size:10px;font-weight:700;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.warpper .post-content .mermaid :root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}.dark-theme .warpper .post-content .mermaid{}.dark-theme .warpper .post-content .mermaid .label{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);color:#333}.dark-theme .warpper .post-content .mermaid .label text{fill:#333}.dark-theme .warpper .post-content .mermaid .node rect,.dark-theme .warpper .post-content .mermaid .node circle,.dark-theme .warpper .post-content .mermaid .node ellipse,.dark-theme .warpper .post-content .mermaid .node polygon{fill:#bdd5ea;stroke:purple;stroke-width:1px}.dark-theme .warpper .post-content .mermaid .node .label{text-align:center}.dark-theme .warpper .post-content .mermaid .node.clickable{cursor:pointer}.dark-theme .warpper .post-content .mermaid .arrowheadPath{fill:lightgrey}.dark-theme .warpper .post-content .mermaid .edgePath .path{stroke:lightgrey;stroke-width:1.5px}.dark-theme .warpper .post-content .mermaid .edgeLabel{background-color:#e8e8e8;text-align:center}.dark-theme .warpper .post-content .mermaid .cluster rect{fill:#6d6d65;stroke:rgba(255,255,255,.25);stroke-width:1px}.dark-theme .warpper .post-content .mermaid .cluster text{fill:#f9fffe}.dark-theme .warpper .post-content .mermaid div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:12px;background:#6d6d65;border:1px solid rgba(255,255,255,.25);border-radius:2px;pointer-events:none;z-index:100}.dark-theme .warpper .post-content .mermaid .actor{stroke:#81b1db;fill:#bdd5ea}.dark-theme .warpper .post-content .mermaid text.actor{fill:#000;stroke:none}.dark-theme .warpper .post-content .mermaid .actor-line{stroke:lightgrey}.dark-theme .warpper .post-content .mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:lightgrey}.dark-theme .warpper .post-content .mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:lightgrey}.dark-theme .warpper .post-content .mermaid #arrowhead{fill:lightgrey}.dark-theme .warpper .post-content .mermaid .sequenceNumber{fill:#fff}.dark-theme .warpper .post-content .mermaid #sequencenumber{fill:lightgrey}.dark-theme .warpper .post-content .mermaid #crosshead path{fill:lightgrey!important;stroke:lightgrey!important}.dark-theme .warpper .post-content .mermaid .messageText{fill:lightgrey;stroke:none}.dark-theme .warpper .post-content .mermaid .labelBox{stroke:#81b1db;fill:#bdd5ea}.dark-theme .warpper .post-content .mermaid .labelText{fill:#323d47;stroke:none}.dark-theme .warpper .post-content .mermaid .loopText{fill:lightgrey;stroke:none}.dark-theme .warpper .post-content .mermaid .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#81b1db}.dark-theme .warpper .post-content .mermaid .note{stroke:rgba(255,255,255,.25);fill:#fff5ad}.dark-theme .warpper .post-content .mermaid .noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:14px}.dark-theme .warpper .post-content .mermaid .activation0{fill:#f4f4f4;stroke:#666}.dark-theme .warpper .post-content .mermaid .activation1{fill:#f4f4f4;stroke:#666}.dark-theme .warpper .post-content .mermaid .activation2{fill:#f4f4f4;stroke:#666}.dark-theme .warpper .post-content .mermaid .mermaid-main-font{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid .section{stroke:none;opacity:.2}.dark-theme .warpper .post-content .mermaid .section0{fill:rgba(255,255,255,.3)}.dark-theme .warpper .post-content .mermaid .section2{fill:#eae8b9}.dark-theme .warpper .post-content .mermaid .section1,.dark-theme .warpper .post-content .mermaid .section3{fill:#fff;opacity:.2}.dark-theme .warpper .post-content .mermaid .sectionTitle0{fill:#f9fffe}.dark-theme .warpper .post-content .mermaid .sectionTitle1{fill:#f9fffe}.dark-theme .warpper .post-content .mermaid .sectionTitle2{fill:#f9fffe}.dark-theme .warpper .post-content .mermaid .sectionTitle3{fill:#f9fffe}.dark-theme .warpper .post-content .mermaid .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid .grid .tick{stroke:lightgrey;opacity:.3;shape-rendering:crispEdges}.dark-theme .warpper .post-content .mermaid .grid .tick text{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid .grid path{stroke-width:0}.dark-theme .warpper .post-content .mermaid .today{fill:none;stroke:#db5757;stroke-width:2px}.dark-theme .warpper .post-content .mermaid .task{stroke-width:2}.dark-theme .warpper .post-content .mermaid .taskText{text-anchor:middle;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid .taskText:not([font-size]){font-size:11px}.dark-theme .warpper .post-content .mermaid .taskTextOutsideRight{fill:#323d47;text-anchor:start;font-size:11px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid .taskTextOutsideLeft{fill:#323d47;text-anchor:end;font-size:11px}.dark-theme .warpper .post-content .mermaid .task.clickable{cursor:pointer}.dark-theme .warpper .post-content .mermaid .taskText.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.dark-theme .warpper .post-content .mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.dark-theme .warpper .post-content .mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.dark-theme .warpper .post-content .mermaid .taskText0,.dark-theme .warpper .post-content .mermaid .taskText1,.dark-theme .warpper .post-content .mermaid .taskText2,.dark-theme .warpper .post-content .mermaid .taskText3{fill:#323d47}.dark-theme .warpper .post-content .mermaid .task0,.dark-theme .warpper .post-content .mermaid .task1,.dark-theme .warpper .post-content .mermaid .task2,.dark-theme .warpper .post-content .mermaid .task3{fill:#bdd5ea;stroke:rgba(255,255,255,.5)}.dark-theme .warpper .post-content .mermaid .taskTextOutside0,.dark-theme .warpper .post-content .mermaid .taskTextOutside2{fill:lightgrey}.dark-theme .warpper .post-content .mermaid .taskTextOutside1,.dark-theme .warpper .post-content .mermaid .taskTextOutside3{fill:lightgrey}.dark-theme .warpper .post-content .mermaid .active0,.dark-theme .warpper .post-content .mermaid .active1,.dark-theme .warpper .post-content .mermaid .active2,.dark-theme .warpper .post-content .mermaid .active3{fill:#81b1db;stroke:rgba(255,255,255,.5)}.dark-theme .warpper .post-content .mermaid .activeText0,.dark-theme .warpper .post-content .mermaid .activeText1,.dark-theme .warpper .post-content .mermaid .activeText2,.dark-theme .warpper .post-content .mermaid .activeText3{fill:#323d47!important}.dark-theme .warpper .post-content .mermaid .done0,.dark-theme .warpper .post-content .mermaid .done1,.dark-theme .warpper .post-content .mermaid .done2,.dark-theme .warpper .post-content .mermaid .done3{stroke:grey;fill:lightgrey;stroke-width:2}.dark-theme .warpper .post-content .mermaid .doneText0,.dark-theme .warpper .post-content .mermaid .doneText1,.dark-theme .warpper .post-content .mermaid .doneText2,.dark-theme .warpper .post-content .mermaid .doneText3{fill:#323d47!important}.dark-theme .warpper .post-content .mermaid .crit0,.dark-theme .warpper .post-content .mermaid .crit1,.dark-theme .warpper .post-content .mermaid .crit2,.dark-theme .warpper .post-content .mermaid .crit3{stroke:#e83737;fill:#e83737;stroke-width:2}.dark-theme .warpper .post-content .mermaid .activeCrit0,.dark-theme .warpper .post-content .mermaid .activeCrit1,.dark-theme .warpper .post-content .mermaid .activeCrit2,.dark-theme .warpper .post-content .mermaid .activeCrit3{stroke:#e83737;fill:#81b1db;stroke-width:2}.dark-theme .warpper .post-content .mermaid .doneCrit0,.dark-theme .warpper .post-content .mermaid .doneCrit1,.dark-theme .warpper .post-content .mermaid .doneCrit2,.dark-theme .warpper .post-content .mermaid .doneCrit3{stroke:#e83737;fill:lightgrey;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.dark-theme .warpper .post-content .mermaid .milestone{transform:rotate(45deg)scale(0.8,0.8)}.dark-theme .warpper .post-content .mermaid .milestoneText{font-style:italic}.dark-theme .warpper .post-content .mermaid .doneCritText0,.dark-theme .warpper .post-content .mermaid .doneCritText1,.dark-theme .warpper .post-content .mermaid .doneCritText2,.dark-theme .warpper .post-content .mermaid .doneCritText3{fill:#323d47!important}.dark-theme .warpper .post-content .mermaid .activeCritText0,.dark-theme .warpper .post-content .mermaid .activeCritText1,.dark-theme .warpper .post-content .mermaid .activeCritText2,.dark-theme .warpper .post-content .mermaid .activeCritText3{fill:#323d47!important}.dark-theme .warpper .post-content .mermaid .titleText{text-anchor:middle;font-size:18px;fill:#323d47;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid g.classGroup text{fill:purple;stroke:none;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:10px}.dark-theme .warpper .post-content .mermaid g.classGroup text .title{font-weight:bolder}.dark-theme .warpper .post-content .mermaid g.classGroup rect{fill:#bdd5ea;stroke:purple}.dark-theme .warpper .post-content .mermaid g.classGroup line{stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#bdd5ea;opacity:.5}.dark-theme .warpper .post-content .mermaid .classLabel .label{fill:purple;font-size:10px}.dark-theme .warpper .post-content .mermaid .relation{stroke:purple;stroke-width:1;fill:none}.dark-theme .warpper .post-content .mermaid #compositionStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid #compositionEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid #aggregationStart{fill:#bdd5ea;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid #aggregationEnd{fill:#bdd5ea;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid #dependencyStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid #dependencyEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid #extensionStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid #extensionEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid .commit-id,.dark-theme .warpper .post-content .mermaid .commit-msg,.dark-theme .warpper .post-content .mermaid .branch-label{fill:lightgrey;color:lightgrey;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid .pieTitleText{text-anchor:middle;font-size:25px;fill:#323d47;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid .slice{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid g.stateGroup text{fill:purple;stroke:none;font-size:10px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid g.stateGroup text{fill:purple;stroke:none;font-size:10px}.dark-theme .warpper .post-content .mermaid g.stateGroup .state-title{font-weight:bolder;fill:#000}.dark-theme .warpper .post-content .mermaid g.stateGroup rect{fill:#bdd5ea;stroke:purple}.dark-theme .warpper .post-content .mermaid g.stateGroup line{stroke:purple;stroke-width:1}.dark-theme .warpper .post-content .mermaid .transition{stroke:purple;stroke-width:1;fill:none}.dark-theme .warpper .post-content .mermaid .stateGroup .composit{fill:#fff;border-bottom:1px}.dark-theme .warpper .post-content .mermaid .state-note{stroke:rgba(255,255,255,.25);fill:#fff5ad}.dark-theme .warpper .post-content .mermaid .state-note text{fill:#000;stroke:none;font-size:10px}.dark-theme .warpper .post-content .mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#bdd5ea;opacity:.5}.dark-theme .warpper .post-content .mermaid .stateLabel text{fill:#000;font-size:10px;font-weight:700;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .warpper .post-content .mermaid :root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}.dark-theme .warpper .post-content .aplayer{background:#212121}.dark-theme .warpper .post-content .aplayer.aplayer-withlist .aplayer-info{border-bottom-color:#5c5c5c}.dark-theme .warpper .post-content .aplayer.aplayer-fixed .aplayer-list{border-color:#5c5c5c}.dark-theme .warpper .post-content .aplayer .aplayer-body{background-color:#212121}.dark-theme .warpper .post-content .aplayer .aplayer-info{border-top-color:#212121}.dark-theme .warpper .post-content .aplayer .aplayer-info .aplayer-music .aplayer-title{color:#fff}.dark-theme .warpper .post-content .aplayer .aplayer-info .aplayer-music .aplayer-author{color:#fff}.dark-theme .warpper .post-content .aplayer .aplayer-info .aplayer-controller .aplayer-time{color:#eee}.dark-theme .warpper .post-content .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:#eee}.dark-theme .warpper .post-content .aplayer .aplayer-list{background-color:#212121}.dark-theme .warpper .post-content .aplayer .aplayer-list::-webkit-scrollbar-thumb{background-color:#999}.dark-theme .warpper .post-content .aplayer .aplayer-list::-webkit-scrollbar-thumb:hover{background-color:#bbb}.dark-theme .warpper .post-content .aplayer .aplayer-list li{color:#fff;border-top-color:#666}.dark-theme .warpper .post-content .aplayer .aplayer-list li:hover{background:#4e4e4e}.dark-theme .warpper .post-content .aplayer .aplayer-list li.aplayer-list-light{background:#6c6c6c}.dark-theme .warpper .post-content .aplayer .aplayer-list li .aplayer-list-index{color:#ddd}.dark-theme .warpper .post-content .aplayer .aplayer-list li .aplayer-list-author{color:#ddd}.dark-theme .warpper .post-content .aplayer .aplayer-lrc{text-shadow:-1px -1px 0 #666}.dark-theme .warpper .post-content .aplayer .aplayer-lrc:before{background:-moz-linear-gradient(top,#212121 0%,rgba(33,33,33,0) 100%);background:-webkit-linear-gradient(top,#212121 0%,rgba(33,33,33,0) 100%);background:linear-gradient(to bottom,#212121 0%,rgba(33,33,33,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#212121',endColorstr='#00212121',GradientType=0 )}.dark-theme .warpper .post-content .aplayer .aplayer-lrc:after{background:-moz-linear-gradient(top,rgba(33,33,33,0) 0%,rgba(33,33,33,0.8) 100%);background:-webkit-linear-gradient(top,rgba(33,33,33,0) 0%,rgba(33,33,33,0.8) 100%);background:linear-gradient(to bottom,rgba(33,33,33,0) 0%,rgba(33,33,33,0.8) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00212121',endColorstr='#cc212121',GradientType=0 )}.dark-theme .warpper .post-content .aplayer .aplayer-lrc p{color:#fff}.dark-theme .warpper .post-content .aplayer .aplayer-miniswitcher{background:#484848}.dark-theme .warpper .post-content .aplayer .aplayer-miniswitcher .aplayer-icon path{fill:#eee}.warpper .post-content .echarts{width:100%;height:30rem;margin:3% auto;text-align:center}.warpper .post-content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.warpper .post-content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.warpper .post-content hr{margin:1rem 0;position:relative;border-top:1px dashed #dcdcdc;border-bottom:none}.dark-theme .warpper .post-content hr{border-top:1px dashed #4a4b50}.warpper .post-content kbd{display:inline-block;padding:.25em;background-color:#fff;border:1px solid #dcdcdc;border-bottom-color:#dcdcdc;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #dcdcdc;box-shadow:inset 0 -1px 0 #dcdcdc;font-size:.8em;line-height:1.25rem;font-family:Source Code Pro,Consolas,Liberation Mono,Menlo,Courier,monospace;color:#e74c3c}.dark-theme .warpper .post-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}.warpper .post-content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Consolas,Liberation Mono,Menlo,Courier,monospace;font-weight:700;word-break:break-all}.warpper .post-content .align-left{text-align:left}.warpper .post-content .align-center{text-align:center}.warpper .post-content .align-right{text-align:right}.warpper .post-content .float-left{float:left}.warpper .post-content .float-right{float:right}.warpper .post-footer{margin-top:3rem}.warpper .post-footer .post-info{border-bottom:1px solid #dcdcdc;padding:1rem 0 .3rem}.dark-theme .warpper .post-footer .post-info{border-bottom:1px solid #4a4b50}.warpper .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.warpper .post-footer .post-info .post-info-line .post-info-mod{font-size:.8em;color:#a9a9b3}.dark-theme .warpper .post-footer .post-info .post-info-line .post-info-mod{color:#87878d}.warpper .post-footer .post-info .post-info-line .post-info-license{font-size:.8em;color:#a9a9b3}.dark-theme .warpper .post-footer .post-info .post-info-line .post-info-license{color:#87878d}.warpper .post-footer .post-info .post-info-line .post-info-md a{font-size:.8em;color:#2d96bd}.dark-theme .warpper .post-footer .post-info .post-info-line .post-info-md a{color:#eee}.warpper .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark-theme .warpper .post-footer .post-info .post-info-line .post-info-md a:hover{color:#2d96bd}.warpper .post-footer .post-info-more{padding:.3rem 0 1rem;display:flex;justify-content:space-between;font-size:.9rem}.warpper .post-footer .post-nav::before,.warpper .post-footer .post-nav::after{content:' ';display:table}.warpper .post-footer .post-nav a.prev,.warpper .post-footer .post-nav a.next{font-size:1rem;font-weight:600;transition-duration:.3s;transition-property:transform;transition-timing-function:ease-out}.warpper .post-footer .post-nav a.prev{float:left}.warpper .post-footer .post-nav a.prev:hover{transform:translateX(-4px)}.warpper .post-footer .post-nav a.next{float:right}.warpper .post-footer .post-nav a.next:hover{transform:translateX(4px)}.warpper .post-comment{padding:4rem 0}.warpper .home-intro{transform:translateY(0);padding:2rem 0}.warpper .home-intro .home-avatar img{width:6rem}.warpper .post{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #dcdcdc}.dark-theme .warpper .post{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.warpper .post .post-featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:.6rem auto}.warpper .post .post-featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.warpper .post .post-list-title{font-size:1.6rem}.warpper .post .post-meta{font-size:.875rem!important}.warpper .post .post-meta a{color:#a9a9b3!important}.dark-theme .warpper .post .post-meta a{color:#87878d!important}.warpper .post .post-meta a:hover{color:#2d96bd!important}.dark-theme .warpper .post .post-meta a:hover{color:#fff!important}.warpper .post .post-content{padding-top:.2rem;font-size:.9rem;width:100%;max-height:7rem;overflow:hidden}.warpper .post .post-content h2,.warpper .post .post-content h3,.warpper .post .post-content h4,.warpper .post .post-content h5,.warpper .post .post-content h6{font-size:1rem;line-height:1rem;padding-top:.3rem;padding-bottom:.3rem}.warpper .post .post-content p{margin:0;padding-top:.3rem;padding-bottom:.3rem}.warpper .post .post-footer{margin-top:.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem!important}.warpper .post .post-footer a{color:#2d96bd!important}.dark-theme .warpper .post .post-footer a{color:#eee!important}.warpper .post .post-footer a:hover{color:#ef3982!important}.dark-theme .warpper .post .post-footer a:hover{color:#2d96bd!important}.warpper .post .post-footer .post-tags{padding:0}.warpper .post .post-footer .post-tags a{color:#161209!important}.dark-theme .warpper .post .post-footer .post-tags a{color:#a9a9b3!important}.warpper .post .post-footer .post-tags a:hover{color:#2d96bd!important}.dark-theme .warpper .post .post-footer .post-tags a:hover{color:#fff!important}.archive .post-title{text-align:right;padding-bottom:2rem}.archive .archive-item{margin-left:2rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;padding:0 2.5rem;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 .categories{width:100%;overflow:hidden}.archive .archive-item-link{display:inline-block;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:95%}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}.dark-theme .archive .archive-item-link{color:#a9a9b3;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease}.dark-theme .archive .archive-item-link:hover{color:#fff;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease}.archive .archive-item-date{float:right;text-align:right;color:#a9a9b3}.dark-theme .archive .archive-item-date{color:#87878d}.archive .more-post{text-align:right}.archive .categories h3{display:inline-block}.archive .categories span{float:right;padding-right:1rem}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;transition-duration:.3s;transition-property:transform;transition-timing-function:ease-out}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{color:#2d96bd;transform:scale(1.1)}.dark-theme .archive .tag-cloud-tags a:active,.dark-theme .archive .tag-cloud-tags a:focus,.dark-theme .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a small{color:#a9a9b3}.dark-theme .archive .tag-cloud-tags a small{color:#fff}.single .post-title{text-align:right;padding-bottom:2rem}.navbar{display:block;position:fixed;width:100%;z-index:100;height:4rem;line-height:4rem;background-color:#fafafa}.dark-theme .navbar{background-color:#252627}.navbar .navbar-container{width:auto;text-align:center;margin:0 6rem;display:flex;justify-content:space-between}.navbar .navbar-container .navbar-header a{padding:0 8px;font-size:20px}.navbar .navbar-container .navbar-header a i{line-height:2em}.navbar .navbar-container .navbar-menu a{padding:0 8px}.navbar .navbar-container .navbar-menu a.active{font-weight:900;color:#161209}.dark-theme .navbar .navbar-container .navbar-menu a.active{color:#fff}.navbar-mobile{display:none;position:fixed;width:100%;z-index:100;transition:all .3s ease 0s}.navbar-mobile .navbar-container{padding:0;margin:0;height:4.5em;line-height:4.5em;background:#fff}.navbar-mobile .navbar-container .navbar-header{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:18px;padding-right:1em;padding-left:1em;box-sizing:border-box}.navbar-mobile .navbar-container .navbar-header .navbar-header-title{font-size:20px}.navbar-mobile .navbar-container .navbar-header .menu-toggle{cursor:pointer;line-height:4.5em}.navbar-mobile .navbar-container .navbar-header .menu-toggle span{display:block;background:#000;width:24px;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:.2s margin .2s,.2s transform;-moz-transition:.2s margin .2s,.2s transform;transition:.2s margin .2s,.2s transform}.dark-theme .navbar-mobile .navbar-container .navbar-header .menu-toggle span{background:#a9a9b3}.navbar-mobile .navbar-container .navbar-header .menu-toggle span:nth-child(1){margin-bottom:8px}.navbar-mobile .navbar-container .navbar-header .menu-toggle span:nth-child(3){margin-top:8px}.navbar-mobile .navbar-container .navbar-header .menu-toggle.active span{-webkit-transition:.2s margin,.2s transform .2s;-moz-transition:.2s margin,.2s transform .2s;transition:.2s margin,.2s transform .2s}.navbar-mobile .navbar-container .navbar-header .menu-toggle.active span:nth-child(1){-moz-transform:rotate(45deg)translate(4px,6px);-ms-transform:rotate(45deg)translate(4px,6px);-webkit-transform:rotate(45deg)translate(4px,6px);transform:rotate(45deg)translate(4px,6px)}.navbar-mobile .navbar-container .navbar-header .menu-toggle.active span:nth-child(2){opacity:0}.navbar-mobile .navbar-container .navbar-header .menu-toggle.active span:nth-child(3){-moz-transform:rotate(-45deg)translate(8px,-10px);-ms-transform:rotate(-45deg)translate(8px,-10px);-webkit-transform:rotate(-45deg)translate(8px,-10px);transform:rotate(-45deg)translate(8px,-10px)}.navbar-mobile .navbar-container .navbar-menu{text-align:center;background:#fff;border-top:2px solid #161209;display:none;box-shadow:0 2px 4px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.1)}.navbar-mobile .navbar-container .navbar-menu a{display:block;line-height:2.5em}.navbar-mobile .navbar-container .navbar-menu.active{display:block}.dark-theme .navbar-mobile .navbar-container .navbar-menu{background:#292a2d;border-top:2px solid #a9a9b3}.dark-theme .navbar-mobile .navbar-container{background:#292a2d}.copyright{font-size:.875rem}.copyright .copyright-line{width:100%}.dynamic-to-top{display:none;overflow:hidden;width:auto;z-index:90;position:fixed;bottom:2rem;right:2rem;top:auto;left:auto;font-family:sans-serif;font-size:1rem;color:#fff;text-decoration:none;text-shadow:0 1px 0 #333;font-weight:700;padding:1rem;border:1px solid #dcdcdc;background:#222;outline:none}.dynamic-to-top:hover{background:#000;cursor:pointer}.dynamic-to-top:active{background:#000;outline:none}.dynamic-to-top:focus,.dynamic-to-top:hover{outline:none}.dynamic-to-top span{display:block;overflow:hidden;width:.875rem;height:.75rem;background:url(data:image/png;base64,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)no-repeat 50%}.dark-theme .dynamic-to-top{border:1px solid #4a4b50}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding-top:1rem}.pagination a{-webkit-font-smoothing:antialiased;font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px;text-decoration:none;transition:.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-theme .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;transition:.3s;bottom:0}.dark-theme .pagination li:before,.dark-theme .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-theme .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width:1800px){.warpper{max-width:780px}.warpper .post-toc{margin-left:800px}}@media only screen and (max-width:1300px){.warpper{max-width:560px}.warpper .post-toc{margin-left:580px}}@media only screen and (max-width:1080px){.navbar .navbar-container{margin:0 2rem}.warpper{max-width:80%}.warpper .post-toc{display:none}.warpper .post-toc-mobile{display:block}}@media only screen and (max-width:560px){.navbar{display:none}.navbar-mobile{display:block}.warpper{max-width:100%}.warpper .categories-card .card-item{width:95%}.dynamic-to-top{display:none!important}} \ No newline at end of file