diff options
50 files changed, 318 insertions, 628 deletions
@@ -10,7 +10,7 @@ Fuji is a minimal Hugo theme with full dark mode support and GitHub Primer markd > Checkout the brand new [VSCode Aofuji Light Theme](https://github.com/dsrkafuu/vscode-theme-aofuji) which has similar color scheme to [Aofuji](https://github.com/dsrkafuu/hugo-template-aofuji)! -Supported languages: `cs`, `en`, `ja`, `nl`, `pt-pt`, `zh-hans`, `zh-hant`. Check the i18n folder to add more languages. +Supported languages: `cs`, `de`, `en`, `eo`, `fr`, `ja`, `nl`, `pl`, `pt-pt`, `zh-hans`, `zh-hant`. Check the i18n folder to add more languages. ## 📑 Table of contents @@ -252,8 +252,6 @@ Feel free to use the [issue tracker](https://github.com/dsrkafuu/hugo-theme-fuji ## 📝 License -<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fdsrkafuu%2Fhugo-theme-fuji?ref=badge_large" alt="FOSSA Status"><img align="right" src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdsrkafuu%2Fhugo-theme-fuji.svg?type=large"/></a> - The theme is released under the `Apache License 2.0`, for more information read the [License](https://github.com/dsrkafuu/hugo-theme-fuji/blob/master/LICENSE). - [Primer CSS - MIT](https://github.com/primer/css/blob/master/LICENSE) diff --git a/README_CN.md b/README_CN.md index 4ff2dda..df0e4f4 100644 --- a/README_CN.md +++ b/README_CN.md @@ -10,7 +10,7 @@ > 介绍一个全新的亮色 VSCode 主题 [Aofuji Light Theme](https://github.com/dsrkafuu/vscode-theme-aofuji),它的配色方案继承自 [Aofuji](https://github.com/amzrk2/hugo-template-aofuji)! -支持的 i18n 语言:`cs`, `en`, `ja`, `nl`, `pt-pt`, `zh-hans`, `zh-hant`。i18n 文件夹内为所有语言文件。 +支持的 i18n 语言:`cs`, `de`, `en`, `eo`, `fr`, `ja`, `nl`, `pl`, `pt-pt`, `zh-hans`, `zh-hant`。i18n 文件夹内为所有语言文件。 ## 目录 @@ -250,8 +250,6 @@ To override SCSS rules, create `[SITEROOT]/assets/scss/_custom_rules.scss`. This ## 📝 License -<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fdsrkafuu%2Fhugo-theme-fuji?ref=badge_large" alt="FOSSA Status"><img align="right" src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdsrkafuu%2Fhugo-theme-fuji.svg?type=large"/></a> - The theme is released under the `Apache License 2.0`, for more information read the [License](https://github.com/dsrkafuu/hugo-theme-fuji/blob/master/LICENSE). - [Primer CSS - MIT](https://github.com/primer/css/blob/master/LICENSE) diff --git a/assets/js/fuji.js b/assets/js/fuji.js index d2eab58..ed10d17 100644 --- a/assets/js/fuji.js +++ b/assets/js/fuji.js @@ -58,6 +58,7 @@ function updateUtterancesTheme(utterancesFrame) { document.querySelector('.btn .btn-toggle-mode').addEventListener('click', () => { let nowTheme = getNowTheme(); let domTheme = document.body.getAttribute('data-theme'); + const needAuto = document.body.getAttribute('data-theme-auto') === 'true'; let systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; if (domTheme === 'auto') { @@ -65,15 +66,13 @@ document.querySelector('.btn .btn-toggle-mode').addEventListener('click', () => document.body.setAttribute('data-theme', nowTheme === 'light' ? 'dark' : 'light'); localStorage.setItem('fuji_data-theme', nowTheme === 'light' ? 'dark' : 'light'); } else if (domTheme === 'light') { - // if now in user mode and light mode - document.body.setAttribute('data-theme', 'dark'); - // if the theme want to switch is system theme - localStorage.setItem('fuji_data-theme', systemTheme === 'dark' ? 'auto' : 'dark'); + const tar = systemTheme === 'dark' ? (needAuto ? 'auto' : 'dark') : 'dark'; + document.body.setAttribute('data-theme', tar); + localStorage.setItem('fuji_data-theme', tar); } else { - // if now in user mode and dark mode - document.body.setAttribute('data-theme', 'light'); - // if the theme want to switch is system theme - localStorage.setItem('fuji_data-theme', systemTheme === 'light' ? 'auto' : 'light'); + const tar = systemTheme === 'light' ? (needAuto ? 'auto' : 'light') : 'light'; + document.body.setAttribute('data-theme', tar); + localStorage.setItem('fuji_data-theme', tar); } // switch comment area theme diff --git a/assets/scss/_primer/LICENSE b/assets/scss/_primer/LICENSE index 71fbac5..4a03ad6 100644 --- a/assets/scss/_primer/LICENSE +++ b/assets/scss/_primer/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2018 GitHub Inc. +Copyright (c) 2021 GitHub Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/assets/scss/_primer/base/base.scss b/assets/scss/_primer/base/base.scss index 381fa89..8b6fbb0 100644 --- a/assets/scss/_primer/base/base.scss +++ b/assets/scss/_primer/base/base.scss @@ -16,12 +16,12 @@ body { font-family: $body-font; font-size: $body-font-size; line-height: $body-line-height; - color: $text-gray-dark; - background-color: $bg-white; + color: var(--color-text-primary); + background-color: var(--color-bg-canvas); } a { - color: $text-blue; + color: var(--color-text-link); text-decoration: none; &:hover { @@ -45,8 +45,7 @@ hr, overflow: hidden; background: transparent; border: 0; - // stylelint-disable-next-line primer/borders - border-bottom: $border-width $border-style lighten($gray-300, 5%); + border-bottom: $border-width $border-style var(--color-border-secondary); @include clearfix(); } diff --git a/assets/scss/_primer/base/kbd.scss b/assets/scss/_primer/base/kbd.scss index 7ee4503..033c03a 100644 --- a/assets/scss/_primer/base/kbd.scss +++ b/assets/scss/_primer/base/kbd.scss @@ -8,14 +8,13 @@ kbd { font: 11px $mono-font; // stylelint-disable-next-line primer/typography line-height: 10px; - // stylelint-disable-next-line primer/colors - color: $gray-700; + color: var(--color-text-primary); vertical-align: middle; - background-color: $bg-gray-light; + background-color: var(--color-bg-secondary); // stylelint-disable-next-line primer/borders - border: $border-style $border-width $border-gray-dark; - border-bottom-color: $border-gray-dark; + border: $border-style $border-width var(--color-border-tertiary); + border-bottom-color: var(--color-border-tertiary); border-radius: $border-radius; // stylelint-disable-next-line primer/box-shadow - box-shadow: inset 0 -1px 0 $border-gray-dark; + box-shadow: inset 0 -1px 0 var(--color-border-tertiary); } diff --git a/assets/scss/_primer/base/normalize.scss b/assets/scss/_primer/base/normalize.scss index 95931e7..6a1e3c1 100644 --- a/assets/scss/_primer/base/normalize.scss +++ b/assets/scss/_primer/base/normalize.scss @@ -162,7 +162,7 @@ h1 { mark { background-color: #ff0; - color: $text-black; + color: var(--color-text-primary); } /** diff --git a/assets/scss/_primer/markdown/blob-csv.scss b/assets/scss/_primer/markdown/blob-csv.scss index e97e447..be7d257 100644 --- a/assets/scss/_primer/markdown/blob-csv.scss +++ b/assets/scss/_primer/markdown/blob-csv.scss @@ -15,7 +15,7 @@ // stylelint-disable-next-line primer/spacing padding: 10px $spacer-2 9px; text-align: right; - background: $bg-white; + background: var(--color-bg-primary); border: 0; } @@ -23,7 +23,7 @@ th { font-weight: $font-weight-bold; - background: $bg-gray; + background: var(--color-bg-tertiary); border-top: 0; } } diff --git a/assets/scss/_primer/markdown/code.scss b/assets/scss/_primer/markdown/code.scss index fbd2d16..5ed6a6c 100644 --- a/assets/scss/_primer/markdown/code.scss +++ b/assets/scss/_primer/markdown/code.scss @@ -8,8 +8,7 @@ margin: 0; // stylelint-disable-next-line primer/typography font-size: 85%; - // stylelint-disable-next-line primer/colors - background-color: rgba($black, 0.05); + background-color: var(--color-markdown-code-bg); border-radius: $border-radius; br { display: none; } @@ -50,7 +49,7 @@ font-size: 85%; // stylelint-disable-next-line primer/typography line-height: 1.45; - background-color: $bg-gray; + background-color: var(--color-bg-tertiary); border-radius: $border-radius; } diff --git a/assets/scss/_primer/markdown/headings.scss b/assets/scss/_primer/markdown/headings.scss index 26347bb..3cd86e9 100644 --- a/assets/scss/_primer/markdown/headings.scss +++ b/assets/scss/_primer/markdown/headings.scss @@ -15,7 +15,7 @@ line-height: $lh-condensed; .octicon-link { - color: $text-black; + color: var(--color-text-primary); vertical-align: middle; visibility: hidden; } @@ -39,7 +39,7 @@ padding-bottom: 0.3em; // stylelint-disable-next-line primer/typography font-size: 2em; - border-bottom: $border-width $border-style $border-gray-light; + border-bottom: $border-width $border-style var(--color-border-secondary); } h2 { @@ -47,7 +47,7 @@ padding-bottom: 0.3em; // stylelint-disable-next-line primer/typography font-size: 1.5em; - border-bottom: $border-width $border-style $border-gray-light; + border-bottom: $border-width $border-style var(--color-border-secondary); } h3 { @@ -67,6 +67,6 @@ h6 { // stylelint-disable-next-line primer/typography font-size: 0.85em; - color: $text-gray-light; + color: var(--color-text-tertiary); } } diff --git a/assets/scss/_primer/markdown/images.scss b/assets/scss/_primer/markdown/images.scss index caea502..3efb011 100644 --- a/assets/scss/_primer/markdown/images.scss +++ b/assets/scss/_primer/markdown/images.scss @@ -8,7 +8,7 @@ // because we put padding on the images to hide header lines, and some people // specify the width of their images in their markdown. box-sizing: content-box; - background-color: $bg-white; + background-color: var(--color-bg-primary); &[align=right] { // stylelint-disable-next-line primer/spacing @@ -44,8 +44,7 @@ // stylelint-disable-next-line primer/spacing margin: 13px 0 0; overflow: hidden; - // stylelint-disable-next-line primer/borders - border: $border-width $border-style lighten($gray-300, 5%); + border: $border-width $border-style var(--color-markdown-frame-border); } span img { @@ -58,7 +57,7 @@ // stylelint-disable-next-line primer/spacing padding: 5px 0 0; clear: both; - color: $text-gray-dark; + color: var(--color-text-primary); } } diff --git a/assets/scss/_primer/markdown/lists.scss b/assets/scss/_primer/markdown/lists.scss index b680faf..f61233c 100644 --- a/assets/scss/_primer/markdown/lists.scss +++ b/assets/scss/_primer/markdown/lists.scss @@ -2,7 +2,6 @@ // stylelint-disable selector-no-qualifying-type // stylelint-disable selector-max-type .markdown-body { - // Lists, Blockquotes & Such ul, ol { @@ -15,6 +14,24 @@ } } + ol[type="1"] { + list-style-type: decimal; + } + + ol[type="a"] { + list-style-type: lower-alpha; + } + + ol[type="i"] { + list-style-type: lower-roman; + } + + // Reset <ol> style to decimal (HTML default) specifically for AsciiDoc + // <div><ol> construction (doesn't affect MarkDown) + div > ol:not([type]) { + list-style-type: decimal; + } + // Did someone complain about list spacing? Encourage them // to create the spacing with their markdown formatting. // List behavior should be controled by the markup, not the css. @@ -46,10 +63,6 @@ margin-bottom: 0; } - li { - word-wrap: break-all; - } - li > p { margin-top: $spacer-3; } diff --git a/assets/scss/_primer/markdown/markdown-body.scss b/assets/scss/_primer/markdown/markdown-body.scss index 6581f19..eb46ea8 100644 --- a/assets/scss/_primer/markdown/markdown-body.scss +++ b/assets/scss/_primer/markdown/markdown-body.scss @@ -45,7 +45,7 @@ // Link Colors .absent { - color: $text-red; + color: var(--color-text-danger); } .anchor { @@ -77,16 +77,16 @@ padding: 0; margin: $spacer-4 0; // stylelint-disable-next-line primer/colors - background-color: $gray-200; + background-color: var(--color-border-primary); border: 0; } blockquote { // stylelint-disable-next-line primer/spacing padding: 0 1em; - color: $text-gray-light; + color: var(--color-text-tertiary); // stylelint-disable-next-line primer/borders - border-left: 0.25em $border-style lighten($gray-300, 5%); + border-left: 0.25em $border-style var(--color-markdown-blockquote-border); > :first-child { margin-top: 0; diff --git a/assets/scss/_primer/markdown/tables.scss b/assets/scss/_primer/markdown/tables.scss index 5e1e0bd..83a1a9f 100644 --- a/assets/scss/_primer/markdown/tables.scss +++ b/assets/scss/_primer/markdown/tables.scss @@ -2,7 +2,7 @@ // stylelint-disable selector-max-type .markdown-body { // Tables - table:not(.highlight) { + table { display: block; width: 100%; // keep for backwards compatibility width: max-content; @@ -17,17 +17,15 @@ td { // stylelint-disable-next-line primer/spacing padding: 6px 13px; - // stylelint-disable-next-line primer/borders - border: $border-width $border-style lighten($gray-300, 5%); + border: $border-width $border-style var(--color-markdown-table-border); } tr { - background-color: $bg-white; - // stylelint-disable-next-line primer/borders - border-top: $border-width $border-style darken($gray-300, 4%); + background-color: var(--color-bg-primary); + border-top: $border-width $border-style var(--color-markdown-table-tr-border); &:nth-child(2n) { - background-color: $bg-gray; + background-color: var(--color-bg-tertiary); } } diff --git a/assets/scss/_primer/support/index.scss b/assets/scss/_primer/support/index.scss index 93f9449..85a2c7c 100644 --- a/assets/scss/_primer/support/index.scss +++ b/assets/scss/_primer/support/index.scss @@ -1,11 +1,10 @@ // variables @import "./variables/typography.scss"; -@import "./variables/colors.scss"; @import "./variables/layout.scss"; @import "./variables/misc.scss"; // mixins +@import "./mixins/color-modes.scss"; @import "./mixins/typography.scss"; @import "./mixins/layout.scss"; -@import "./mixins/buttons.scss"; @import "./mixins/misc.scss"; diff --git a/assets/scss/_primer/support/mixins/buttons.scss b/assets/scss/_primer/support/mixins/buttons.scss deleted file mode 100644 index ca8b59f..0000000 --- a/assets/scss/_primer/support/mixins/buttons.scss +++ /dev/null @@ -1,172 +0,0 @@ - -// TODO: See if the mixins below can be deprecated -// Might still be needed for .btn-blue -// ------------------------------------------------------------------ - -// Button color generator for primary and themed buttons - -// New button hotness -@mixin btn-solid($color, $bg, $bg2) { - color: $color; - background-color: $bg2; - background-image: linear-gradient(-180deg, $bg 0%, $bg2 90%); - - @if $bg == $gray-000 { - &:focus, - &.focus { - box-shadow: $btn-input-focus-shadow; - } - - &:hover, - &.hover { - background-color: darken($bg2, 3%); - background-image: linear-gradient(-180deg, darken($bg, 3%) 0%, darken($bg2, 3%) 90%); - background-position: 0 -$em-spacer-5; - border-color: rgba($black, 0.35); - } - - &:active, - &.selected, - &[aria-selected=true], - [open] > & { - background-color: darken(desaturate($bg, 10%), 6%); - background-image: none; - border-color: rgba($black, 0.35); // repeat to avoid shift on click-drag off of button - box-shadow: $btn-active-shadow; - } - - &:disabled, - &.disabled, - &[aria-disabled=true] { - color: rgba($color, 0.4); - background-color: $bg2; - background-image: none; - border-color: $border-color-button; - box-shadow: none; - } - - } - @else { - &:focus, - &.focus { - box-shadow: 0 0 0 0.2em rgba($bg, 0.4); - } - - &:hover, - &.hover { - background-color: darken($bg2, 2%); - background-image: linear-gradient(-180deg, darken($bg, 2%) 0%, darken($bg2, 2%) 90%); - background-position: 0 -$em-spacer-5; - border-color: $black-fade-50; - } - - &:active, - &.selected, - &[aria-selected=true], - [open] > & { - background-color: darken(mix($bg, $bg2, 50%), 7%); - background-image: none; - border-color: $black-fade-50; // repeat to avoid shift on click-drag off of button - box-shadow: $btn-active-shadow; - } - - &:disabled, - &.disabled, - &[aria-disabled=true] { - color: rgba($color, 0.75); - background-color: mix($bg2, $white, 50%); - background-image: none; - border-color: $border-color-button; - box-shadow: none; - } - - .Counter { - color: darken($bg, 8%); - background-color: $white; - } - } -} - -// Inverse button hover style -@mixin btn-inverse($color, $bg, $bg2) { - color: $color; - background-color: $bg; - background-image: linear-gradient(-180deg, $bg 0%, $bg2 90%); - - &:focus { - box-shadow: 0 0 0 0.2em rgba($color, 0.4); - } - - &:hover { - color: $text-white; - background-color: $color; - background-image: linear-gradient(-180deg, lighten($color, 10%) 0%, $color 90%); - border-color: $black-fade-50; - - .Counter { - color: $text-white; - } - } - - &:active, - &.selected, - &[aria-selected=true], - [open] > & { - color: $text-white; - background-color: darken($color, 5%); - background-image: none; - border-color: $black-fade-50; - box-shadow: $btn-active-shadow; - } - - &:disabled, - &.disabled, - &[aria-disabled=true] { - color: rgba($color, 0.4); - background-color: $bg2; - background-image: none; - border-color: $border-color-button; - box-shadow: none; - } -} - -// Outline color generator for btn-outline to make the hover state inverse the text and bg colors. -@mixin btn-outline($text-color: $text-blue, $bg-color: $bg-white) { - color: $text-color; - background-color: $bg-color; - background-image: none; - - .Counter { - background-color: rgba($black, 0.07); - } - - &:hover, - &:active, - &.selected, - &[aria-selected=true], - [open] > & { - color: $bg-color; - background-color: $text-color; - background-image: none; - border-color: $text-color; - - .Counter { - color: $text-color; - background-color: $bg-color; - } - } - - &:focus { - border-color: $text-color; - box-shadow: 0 0 0 0.2em rgba($text-color, 0.4); - } - - &:disabled, - &.disabled, - &[aria-disabled=true] { - color: $black-fade-30; - background-color: $bg-white; - border-color: $black-fade-15; - box-shadow: none; - } -} diff --git a/assets/scss/_primer/support/mixins/color-modes.scss b/assets/scss/_primer/support/mixins/color-modes.scss new file mode 100644 index 0000000..e4ad958 --- /dev/null +++ b/assets/scss/_primer/support/mixins/color-modes.scss @@ -0,0 +1,106 @@ +@mixin color-mode-theme($theme-name, $include-root: false) { + @if $include-root { + :root, + [data-color-mode="light"][data-light-theme="#{$theme-name}"], + [data-color-mode="dark"][data-dark-theme="#{$theme-name}"] { + @content; + + /*! */ // This is a fix for a cssstats bug see https://github.com/cssstats/cssstats/issues/331 + } + } + @else { + [data-color-mode="light"][data-light-theme="#{$theme-name}"], + [data-color-mode="dark"][data-dark-theme="#{$theme-name}"] { + @content; + } + } + + @media (prefers-color-scheme: light) { + [data-color-mode="auto"][data-light-theme="#{$theme-name}"] { + @content; + } + } + + @media (prefers-color-scheme: dark) { + [data-color-mode="auto"][data-dark-theme="#{$theme-name}"] { + @content; + } + } +} + +@mixin color-mode($mode) { + @if $mode == light { + :root, + [data-color-mode="light"][data-light-theme*="#{$mode}"], + [data-color-mode="dark"][data-dark-theme*="#{$mode}"] { + @content; + } + } + @else { + [data-color-mode="light"][data-light-theme*="#{$mode}"], + [data-color-mode="dark"][data-dark-theme*="#{$mode}"] { + @content; + } + } + + @media (prefers-color-scheme: light) { + [data-color-mode="auto"][data-light-theme*="#{$mode}"] { + @content; + } + } + + @media (prefers-color-scheme: dark) { + [data-color-mode="auto"][data-dark-theme*="#{$mode}"] { + @content; + } + } +} + +// This mixin takes a map of color mode vars and splits them into dark and light mode +// The goal is to reduce the amount of dark/light mode selectors compiled. +// +// Example input for $color-map +// +// @include color-variables(("custom-css-variable-1": ( +// light: var(--color-scale-gray-3), +// dark: var(--color-scale-gray-5) +// ), +// "custom-css-variable-2": ( +// light: var(--color-scale-gray-2), +// dark: var(--color-scale-gray-6) +// ), +// "custom-css-variable-3": ( +// light: var(--color-scale-gray-2), +// dark: var(--color-scale-gray-6) +// ) +// )); +@mixin color-variables($color-map) { + // Create map to store incoming variables + $dark-colors: (); + $light-colors: (); + + @each $name, $value in $color-map { + @each $type, $color in $value { + @if $type == dark { + $dark-colors: append($dark-colors, (--color-#{$name}, #{$color})); + } + @else { + $light-colors: append($light-colors, (--color-#{$name}, #{$color})); + } + } + } + + $mode-colors: ( + dark: $dark-colors, + light: $light-colors + ); + + // Loop through sorted list + @each $mode, $variables in $mode-colors { + @include color-mode($mode) { + @each $prop, $val in $variables { + #{$prop}: $val; + } + } + } +} diff --git a/assets/scss/_primer/support/mixins/misc.scss b/assets/scss/_primer/support/mixins/misc.scss index ebdd32d..e4641ab 100644 --- a/assets/scss/_primer/support/mixins/misc.scss +++ b/assets/scss/_primer/support/mixins/misc.scss @@ -1,29 +1,26 @@ // Generate a two-color caret for any element. -@mixin double-caret($foreground: $text-white, $background: lighten($gray-300, 5%)) { +@mixin double-caret($background: var(--color-bg-primary), $border: var(--color-border-primary)) { &::after, &::before { position: absolute; top: 11px; right: 100%; - left: -16px; + left: -8px; display: block; - width: 0; - height: 0; + width: 8px; + height: 16px; pointer-events: none; content: " "; - border-color: transparent; - border-style: solid solid outset; + clip-path: polygon(0 50%, 100% 0, 100% 100%); } &::after { - margin-top: 1px; - margin-left: 2px; - border-width: 7px; - border-right-color: $foreground; + margin-left: 1px; + background-color: var(--color-bg-primary); + background-image: linear-gradient($background, $background); } &::before { - border-width: 8px; - border-right-color: $background; + background-color: $border; } } diff --git a/assets/scss/_primer/support/variables/color-system.scss b/assets/scss/_primer/support/variables/color-system.scss deleted file mode 100644 index febc58b..0000000 --- a/assets/scss/_primer/support/variables/color-system.scss +++ /dev/null @@ -1,243 +0,0 @@ -// Black based on same hue as $gray-900 -$black: #1b1f23 !default; -$white: #fff !default; - -// -// -// -------- Grays -------- -$gray-000: #fafbfc !default; -$gray-100: #f6f8fa !default; -$gray-200: #e1e4e8 !default; -$gray-300: #d1d5da !default; -$gray-400: #959da5 !default; -$gray-500: #6a737d !default; -$gray-600: #586069 !default; -$gray-700: #444d56 !default; -$gray-800: #2f363d !default; -$gray-900: #24292e !default; // body font color - -// -------- Blue -------- -$blue-000: #f1f8ff !default; -$blue-100: #dbedff !default; -$blue-200: #c8e1ff !default; -$blue-300: #79b8ff !default; -$blue-400: #2188ff !default; -$blue-500: #0366d6 !default; // Default: Passes AA with #fff -$blue-600: #005cc5 !default; -$blue-700: #044289 !default; -$blue-800: #032f62 !default; -$blue-900: #05264c !default; // Passes with 1/2/300 blues - -// -------- Green -------- -$green-000: #f0fff4 !default; -$green-100: #dcffe4 !default; -$green-200: #bef5cb !default; -$green-300: #85e89d !default; -$green-400: #34d058 !default; -$green-500: #28a745 !default; // Default. passes AA Large -$green-600: #22863a !default; // Text green, passes AA on #fff -$green-700: #176f2c !default; -$green-800: #165c26 !default; -$green-900: #144620 !default; - -// -------- Yellow -------- -$yellow-000: #fffdef !default; -$yellow-100: #fffbdd !default; -$yellow-200: #fff5b1 !default; -$yellow-300: #ffea7f !default; -$yellow-400: #ffdf5d !default; -$yellow-500: #ffd33d !default; -$yellow-600: #f9c513 !default; -$yellow-700: #dbab09 !default; -$yellow-800: #b08800 !default; -$yellow-900: #735c0f !default; - -// -------- Orange -------- -$orange-000: #fff8f2 !default; -$orange-100: #ffebda !default; -$orange-200: #ffd1ac !default; -$orange-300: #ffab70 !default; -$orange-400: #fb8532 !default; -$orange-500: #f66a0a !default; // Default. passes AA Large with #fff -$orange-600: #e36209 !default; -$orange-700: #d15704 !default; -$orange-800: #c24e00 !default; -$orange-900: #a04100 !default; - -// -------- Red -------- -$red-000: #ffeef0 !default; -$red-100: #ffdce0 !default; -$red-200: #fdaeb7 !default; -$red-300: #f97583 !default; -$red-400: #ea4a5a !default; -$red-500: #d73a49 !default; // Default. passes AA -$red-600: #cb2431 !default; -$red-700: #b31d28 !default; -$red-800: #9e1c23 !default; -$red-900: #86181d !default; - -// -------- Purple -------- -$purple-000: #f5f0ff !default; -$purple-100: #e6dcfd !default; -$purple-200: #d1bcf9 !default; -$purple-300: #b392f0 !default; -$purple-400: #8a63d2 !default; -$purple-500: #6f42c1 !default; // passes AA with #fff -$purple-600: #5a32a3 !default; -$purple-700: #4c2889 !default; -$purple-800: #3a1d6e !default; -$purple-900: #29134e !default; - -// -------- Pink -------- -$pink-000: #ffeef8 !default; -$pink-100: #fedbf0 !default; -$pink-200: #f9b3dd !default; -$pink-300: #f692ce !default; -$pink-400: #ec6cb9 !default; -$pink-500: #ea4aaa !default; -$pink-600: #d03592 !default; -$pink-700: #b93a86 !default; -$pink-800: #99306f !default; -$pink-900: #6d224f !default; - -// -------- Fades -------- -$black-fade-15: rgba($black, 0.15) !default; -$black-fade-30: rgba($black, 0.3) !default; -$black-fade-50: rgba($black, 0.5) !default; -$black-fade-70: rgba($black, 0.7) !default; -$black-fade-85: rgba($black, 0.85) !default; - -$white-fade-15: rgba($white, 0.15) !default; -$white-fade-30: rgba($white, 0.3) !default; -$white-fade-50: rgba($white, 0.5) !default; -$white-fade-70: rgba($white, 0.7) !default; -$white-fade-85: rgba($white, 0.85) !default; - -// -------- Color defaults -------- -$red: $red-500 !default; -$purple: $purple-500 !default; -$blue: $blue-500 !default; -$green: $green-500 !default; -$yellow: $yellow-500 !default; -$orange: $orange-500 !default; - -$gray-dark: $gray-900 !default; -$gray-light: $gray-400 !default; -$gray: $gray-500 !default; - -// -------- Color gradient maps -------- - -$grays: ( - 0: $gray-000, - 1: $gray-100, - 2: $gray-200, - 3: $gray-300, - 4: $gray-400, - 5: $gray-500, - 6: $gray-600, - 7: $gray-700, - 8: $gray-800, - 9: $gray-900, -) !default; - -$blues: ( - 0: $blue-000, - 1: $blue-100, - 2: $blue-200, - 3: $blue-300, - 4: $blue-400, - 5: $blue-500, - 6: $blue-600, - 7: $blue-700, - 8: $blue-800, - 9: $blue-900, -) !default; - -$greens: ( - 0: $green-000, - 1: $green-100, - 2: $green-200, - 3: $green-300, - 4: $green-400, - 5: $green-500, - 6: $green-600, - 7: $green-700, - 8: $green-800, - 9: $green-900, -) !default; - -$yellows: ( - 0: $yellow-000, - 1: $yellow-100, - 2: $yellow-200, - 3: $yellow-300, - 4: $yellow-400, - 5: $yellow-500, - 6: $yellow-600, - 7: $yellow-700, - 8: $yellow-800, - 9: $yellow-900, -) !default; - -$oranges: ( - 0: $orange-000, - 1: $orange-100, - 2: $orange-200, - 3: $orange-300, - 4: $orange-400, - 5: $orange-500, - 6: $orange-600, - 7: $orange-700, - 8: $orange-800, - 9: $orange-900, -) !default; - -$reds: ( - 0: $red-000, - 1: $red-100, - 2: $red-200, - 3: $red-300, - 4: $red-400, - 5: $red-500, - 6: $red-600, - 7: $red-700, - 8: $red-800, - 9: $red-900, -) !default; - -$purples: ( - 0: $purple-000, - 1: $purple-100, - 2: $purple-200, - 3: $purple-300, - 4: $purple-400, - 5: $purple-500, - 6: $purple-600, - 7: $purple-700, - 8: $purple-800, - 9: $purple-900, -) !default; - -$pinks: ( - 0: $pink-000, - 1: $pink-100, - 2: $pink-200, - 3: $pink-300, - 4: $pink-400, - 5: $pink-500, - 6: $pink-600, - 7: $pink-700, - 8: $pink-800, - 9: $pink-900, -) !default; - -$hue-maps: ( - "gray": $grays, - "blue": $blues, - "green": $greens, - "yellow": $yellows, - "orange": $oranges, - "red": $reds, - "purple": $purples, - "pink": $pinks, -) !default; diff --git a/assets/scss/_primer/support/variables/colors.scss b/assets/scss/_primer/support/variables/colors.scss deleted file mode 100644 index 3623156..0000000 --- a/assets/scss/_primer/support/variables/colors.scss +++ /dev/null @@ -1,55 +0,0 @@ -@import "color-system.scss"; -// Color variables - -// Border colors -$border-white: $white !default; -$border-black-fade: $black-fade-15 !default; -$border-white-fade: $white-fade-15 !default; -$border-gray-dark: $gray-300 !default; -$border-gray-darker: $gray-700 !default; -$border-gray-light: lighten($gray-200, 3%) !default; -$border-gray: $gray-200 !default; -$border-blue: $blue-500 !default; -$border-blue-light: $blue-200 !default; -$border-green: $green-400 !default; -$border-green-light: desaturate($green-300, 40%) !default; -$border-purple: $purple !default; -$border-red: $red !default; -$border-red-light: $red-300 !default; -$border-yellow: $yellow-600 !default; - -// Background colors -$bg-white: $white !default; -$bg-black: $black !default; -$bg-black-fade: $black-fade-50 !default; -$bg-blue-light: $blue-000 !default; -$bg-blue: $blue-500 !default; -$bg-gray-dark: $gray-900 !default; -$bg-gray-light: $gray-000 !default; -$bg-gray: $gray-100 !default; -$bg-green: $green-500 !default; -$bg-green-light: $green-100 !default; -$bg-orange: $orange-700 !default; -$bg-purple: $purple-500 !default; -$bg-purple-light: $purple-000 !default; -$bg-pink: $pink-500 !default; -$bg-red: $red-500 !default; -$bg-red-light: $red-000 !default; -$bg-yellow: $yellow-500 !default; -$bg-yellow-light: $yellow-200 !default; -$bg-yellow-dark: $yellow-700 !default; - -// Text colors -$text-black: $black !default; -$text-white: $white !default; -$text-blue: $blue-500 !default; -$text-gray-dark: $gray-900 !default; -$text-gray-light: $gray-500 !default; -$text-gray: $gray-600 !default; -$text-green: $green-600 !default; -$text-orange: $orange-900 !default; -$text-orange-light: $orange-600 !default; -$text-purple: $purple !default; -$text-pink: $pink-500 !default; -$text-red: $red-600 !default; -$text-yellow: $yellow-800 !default; diff --git a/assets/scss/_primer/support/variables/layout.scss b/assets/scss/_primer/support/variables/layout.scss index 227235c..1c09c00 100644 --- a/assets/scss/_primer/support/variables/layout.scss +++ b/assets/scss/_primer/support/variables/layout.scss @@ -63,6 +63,38 @@ $spacer-map: ( 6: $spacer-6, ) !default; +// Increases the core spacing scale first by 8px for $spacer-7, then by 16px +// increments from $spacer-8 to $spacer-12, i.e. after 40px, we have 48, 64, +// 80, 96, etc. +$spacer-7: $spacer * 6 !default; // 48px +$spacer-8: $spacer * 8 !default; // 64px +$spacer-9: $spacer * 10 !default; // 80px +$spacer-10: $spacer * 12 !default; // 96px +$spacer-11: $spacer * 14 !default; // 112px +$spacer-12: $spacer * 16 !default; // 128px + +$spacers-large: ( + 7: $spacer-7, + 8: $spacer-8, + 9: $spacer-9, + 10: $spacer-10, + 11: $spacer-11, + 12: $spacer-12, +) !default; + +$spacer-map-extended: map-merge( + ( + 0: 0, + 1: $spacer-1, + 2: $spacer-2, + 3: $spacer-3, + 4: $spacer-4, + 5: $spacer-5, + 6: $spacer-6, + ), + $spacers-large, +) !default; + // Em spacer variables $em-spacer-1: 0.0625em !default; // 1/16 $em-spacer-2: 0.125em !default; // 1/8 @@ -141,3 +173,40 @@ $responsive-positions: ( fixed, sticky ) !default; + +$sidebar-width: ( + sm: 220px, + md: 256px, + lg: 296px, + xl: 320px +) !default; + +$sidebar-narrow-width: ( + md: 240px, + lg: 256px, + xl: 296px +) !default; + +$sidebar-wide-width: ( + md: 296px, + lg: 320px, + xl: 344px +) !default; + +$gutter: ( + md: $spacer-3, + lg: $spacer-4, + xl: $spacer-5 +) !default; + +$gutter-condensed: ( + md: $spacer-3, + lg: $spacer-3, + xl: $spacer-4 +) !default; + +$gutter-spacious: ( + md: $spacer-4, + lg: $spacer-5, + xl: $spacer-6 +) !default; diff --git a/assets/scss/_primer/support/variables/misc.scss b/assets/scss/_primer/support/variables/misc.scss index dd74a8f..897aa71 100644 --- a/assets/scss/_primer/support/variables/misc.scss +++ b/assets/scss/_primer/support/variables/misc.scss @@ -2,41 +2,16 @@ // Border $border-width: 1px !default; -$border-color: $border-gray !default; $border-style: solid !default; -$border: $border-width $border-color $border-style !default; +$border: $border-width $border-style var(--color-border-primary) !default; // Border Radius $border-radius-1: 4px !default; $border-radius-2: 6px !default; +$border-radius-3: 8px !default; $border-radius: $border-radius-2 !default; -// Box shadow -$box-shadow: 0 1px 0 rgba($black, 0.04) !default; -$box-shadow-medium: 0 3px 6px rgba($gray-400, 0.15) !default; -$box-shadow-large: 0 8px 24px rgba($gray-400, 0.2) !default; -$box-shadow-extra-large: 0 12px 48px rgba($gray-400, 0.3) !default; - -$box-shadow-highlight: inset 0 1px 0 rgba($white, 0.25) !default; // top highlight -$box-shadow-inset: inset 0 1px 0 rgba($border-color, 0.2) !default; // top inner shadow -$box-shadow-focus: 0 0 0 3px rgba($border-blue, 0.3) !default; // blue focus ring - -// Button variables -$border-color-button: $black-fade-15 !default; -$btn-active-shadow: inset 0 0.15em 0.3em $black-fade-15 !default; // TODO: Deprecate? - -// Form variables -$form-control-shadow: inset 0 1px 2px rgba($black, 0.075) !default; // TODO: Deprecate? -$btn-input-focus-shadow: 0 0 0 0.2em rgba($blue, 0.3) !default; // TODO: Deprecate? Replaced by $box-shadow-focus - // Tooltips $tooltip-max-width: 250px !default; -$tooltip-background-color: $black !default; -$tooltip-text-color: $white !default; $tooltip-delay: 0.4s !default; $tooltip-duration: 0.1s !default; - -// diffstat background colors -$bg-diffstat-added: darken($green-400, 5%) !default; -$bg-diffstat-deleted: $red-600 !default; -$bg-diffstat-neutral: $gray-300 !default; diff --git a/assets/scss/_primer/support/variables/typography.scss b/assets/scss/_primer/support/variables/typography.scss index dcb57a7..50b7933 100644 --- a/assets/scss/_primer/support/variables/typography.scss +++ b/assets/scss/_primer/support/variables/typography.scss @@ -35,7 +35,8 @@ $lh-default: 1.5 !default; $body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji" !default; // Monospace font stack -$mono-font: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace !default; +// Note: SFMono-Regular needs to come before SF Mono to fix an older version of the font in Chrome +$mono-font: ui-monospace, SFMono-Regular, SF Mono, Consolas, Liberation Mono, Menlo, monospace !default; // The base body size $body-font-size: 14px !default; diff --git a/assets/scss/_primer/utilities/layout.scss b/assets/scss/_primer/utilities/layout.scss index 1b4da95..10258cd 100644 --- a/assets/scss/_primer/utilities/layout.scss +++ b/assets/scss/_primer/utilities/layout.scss @@ -1,7 +1,7 @@ // Layout -// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before, comment-empty-line-before +// stylelint-disable block-opening-brace-space-before, comment-empty-line-before -// Loop through the breakpoint values +/* Position */ @each $breakpoint, $variant in $responsive-variants { @include breakpoint($breakpoint) { @each $position in $responsive-positions { @@ -12,14 +12,19 @@ } } -/* Set top 0 */ -.top-0 { top: 0 !important; } -/* Set right 0 */ -.right-0 { right: 0 !important; } -/* Set bottom 0 */ -.bottom-0 { bottom: 0 !important; } -/* Set left 0 */ -.left-0 { left: 0 !important; } +/* Final position */ +@each $breakpoint, $variant in $responsive-variants { + @include breakpoint($breakpoint) { + .top#{$variant}-0 { top: 0 !important; } + .right#{$variant}-0 { right: 0 !important; } + .bottom#{$variant}-0 { bottom: 0 !important; } + .left#{$variant}-0 { left: 0 !important; } + .top#{$variant}-auto { top: auto !important; } + .right#{$variant}-auto { right: auto !important; } + .bottom#{$variant}-auto { bottom: auto !important; } + .left#{$variant}-auto { left: auto !important; } + } +} /* Vertical align middle */ .v-align-middle { vertical-align: middle !important; } @@ -35,10 +40,14 @@ .v-align-baseline { vertical-align: baseline !important; } // Overflow utilities -@each $overflow in (visible, hidden, auto, scroll) { - .overflow-#{$overflow} { overflow: $overflow !important; } - .overflow-x-#{$overflow} { overflow-x: $overflow !important; } - .overflow-y-#{$overflow} { overflow-y: $overflow !important; } +@each $breakpoint, $variant in $responsive-variants { + @include breakpoint($breakpoint) { + @each $overflow in (visible, hidden, auto, scroll) { + .overflow#{$variant}-#{$overflow} { overflow: $overflow !important; } + .overflow#{$variant}-x-#{$overflow} { overflow-x: $overflow !important; } + .overflow#{$variant}-y-#{$overflow} { overflow-y: $overflow !important; } + } + } } // Clear floats diff --git a/assets/scss/_var.scss b/assets/scss/_var.scss index 95b7b78..c897b80 100644 --- a/assets/scss/_var.scss +++ b/assets/scss/_var.scss @@ -13,11 +13,10 @@ $font-weight-light: 400; $body-font: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', 'Arial', 'Helvetica Neue', 'Helvetica', 'PingFang SC', 'Hiragino Sans GB', 'Source Han Sans CN', 'Source Han Sans SC', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif !default; -$mono-font: 'Cascadia Code', 'SF Mono', 'Fira Code', 'Consolas', -apple-system, BlinkMacSystemFont, - 'SF Pro Text', 'Segoe UI', 'Arial', 'Helvetica Neue', 'Helvetica', 'PingFang SC', - 'Hiragino Sans GB', 'Source Han Sans CN', 'Source Han Sans SC', 'Microsoft YaHei', - 'WenQuanYi Micro Hei', monospace !default; -$title-font: 'Product Sans', $body-font !default; +$mono-font: 'SF Mono', 'Fira Code', 'Consolas', -apple-system, BlinkMacSystemFont, 'SF Pro Text', + 'Segoe UI', 'Arial', 'Helvetica Neue', 'Helvetica', 'PingFang SC', 'Hiragino Sans GB', + 'Source Han Sans CN', 'Source Han Sans SC', 'Microsoft YaHei', 'WenQuanYi Micro Hei', monospace !default; +$title-font: 'Product Sans', sans-serif !default; $body-font-size: 16px !default; $width-md: 768px; @@ -43,18 +42,17 @@ $dark-color-codebg: #414449 !default; // kai GitHub @font-face { font-family: 'Product Sans'; font-style: normal; - font-weight: 700; font-display: swap; - src: local('Product Sans Bold'), local('ProductSans-Bold'), - url('https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/product-sans/product-sans-bold.woff2') - format('woff2'); + font-weight: 700; + src: url('https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn-main@1/fonts/product_sans/product_sans_700.woff2') + format('woff2'); } @font-face { - font-family: 'Cascadia Code'; + font-family: 'Fira Code'; font-style: normal; font-display: swap; - src: local('Cascadia Code Regular'), - url('https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/cascadia-code/cascadia-code.woff2') - format('woff2'); + font-weight: 400; + src: url('https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn-main@1/fonts/fira_code/fira_code_400.woff2') + format('woff2'); } diff --git a/exampleSite/config.toml b/exampleSite/config.toml index 378d3a9..33c6c30 100644 --- a/exampleSite/config.toml +++ b/exampleSite/config.toml @@ -33,9 +33,10 @@ paginate = 10 [params] author = "DSRKafuU" # You can also set author in post front matter individually subTitle = "A minimal Hugo theme." + defaultTheme = "auto" # default theme when first visit (auto|dark|light) # Source URL of the website, will appear in the footer - sourceURL = "https://github.com/itsme/my_blog" + sourceURL = "https://github.com/dsrkafuu/hugo-theme-fuji" # Use CloudFlare Workers to accelerate the Google Analytics # If you are using this please comment the googleAnalytics above diff --git a/exampleSite/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content b/exampleSite/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content index be3e6fa..ac40ab5 100644 --- a/exampleSite/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content +++ b/exampleSite/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content @@ -1 +1 @@ -@font-face{font-family:'Product Sans';font-style:normal;font-weight:700;font-display:swap;src:local("Product Sans Bold"),local("ProductSans-Bold"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/product-sans/product-sans-bold.woff2") format("woff2")}@font-face{font-family:'Cascadia Code';font-style:normal;font-display:swap;src:local("Cascadia Code Regular"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/cascadia-code/cascadia-code.woff2") format("woff2")}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{display:flex;flex-direction:column;height:100%;scroll-behavior:smooth}main{flex:1 1 auto}.container-lg{display:flex;flex-direction:row}@media screen and (max-width: 768px){.container-lg{flex-direction:column}}a:hover{text-decoration:none !important}/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none !important}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background-color:#ff0;color:#1b1f23}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:600}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:0.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*{box-sizing:border-box}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;color:#24292e;background-color:#fff}a{color:#0366d6;text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:600}hr,.rule{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid #dfe2e5}hr::before,.rule::before{display:table;content:""}hr::after,.rule::after{display:table;clear:both;content:""}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}button{cursor:pointer;border-radius:0}[hidden][hidden]{display:none !important}details summary{cursor:pointer}details:not([open])>*:not(summary){display:none !important}kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0}h1{font-size:32px;font-weight:600}h2{font-size:24px;font-weight:600}h3{font-size:20px;font-weight:600}h4{font-size:16px;font-weight:600}h5{font-size:14px;font-weight:600}h6{font-size:12px;font-weight:600}p{margin-top:0;margin-bottom:10px}small{font-size:90%}blockquote{margin:0}ul,ol{padding-left:0;margin-top:0;margin-bottom:0}ol ol,ul ol{list-style-type:lower-roman}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}dd{margin-left:0}tt,code{font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}pre{margin-top:0;margin-bottom:0;font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}.octicon{vertical-align:text-bottom}.container-sm{max-width:544px;margin-right:auto;margin-left:auto}.container-md{max-width:768px;margin-right:auto;margin-left:auto}.container-lg{max-width:1012px;margin-right:auto;margin-left:auto}.container-xl{max-width:1280px;margin-right:auto;margin-left:auto}.col-1{width:8.33333333%}.col-2{width:16.66666667%}.col-3{width:25%}.col-4{width:33.33333333%}.col-5{width:41.66666667%}.col-6{width:50%}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{width:75%}.col-10{width:83.33333333%}.col-11{width:91.66666667%}.col-12{width:100%}@media (min-width: 544px){.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}}@media (min-width: 768px){.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}}@media (min-width: 1012px){.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}}@media (min-width: 1280px){.col-xl-1{width:8.33333333%}.col-xl-2{width:16.66666667%}.col-xl-3{width:25%}.col-xl-4{width:33.33333333%}.col-xl-5{width:41.66666667%}.col-xl-6{width:50%}.col-xl-7{width:58.33333333%}.col-xl-8{width:66.66666667%}.col-xl-9{width:75%}.col-xl-10{width:83.33333333%}.col-xl-11{width:91.66666667%}.col-xl-12{width:100%}}.gutter{margin-right:-16px;margin-left:-16px}.gutter>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-condensed{margin-right:-8px;margin-left:-8px}.gutter-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-spacious{margin-right:-24px;margin-left:-24px}.gutter-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}@media (min-width: 544px){.gutter-sm{margin-right:-16px;margin-left:-16px}.gutter-sm>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-sm-condensed{margin-right:-8px;margin-left:-8px}.gutter-sm-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-sm-spacious{margin-right:-24px;margin-left:-24px}.gutter-sm-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 768px){.gutter-md{margin-right:-16px;margin-left:-16px}.gutter-md>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-md-condensed{margin-right:-8px;margin-left:-8px}.gutter-md-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-md-spacious{margin-right:-24px;margin-left:-24px}.gutter-md-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1012px){.gutter-lg{margin-right:-16px;margin-left:-16px}.gutter-lg>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-lg-condensed{margin-right:-8px;margin-left:-8px}.gutter-lg-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-lg-spacious{margin-right:-24px;margin-left:-24px}.gutter-lg-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1280px){.gutter-xl{margin-right:-16px;margin-left:-16px}.gutter-xl>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-xl-condensed{margin-right:-8px;margin-left:-8px}.gutter-xl-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-xl-spacious{margin-right:-24px;margin-left:-24px}.gutter-xl-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#cb2431}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.markdown-body blockquote{padding:0 1em;color:#6a737d;border-left:0.25em solid #dfe2e5}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}.markdown-body h1{padding-bottom:0.3em;font-size:2em;border-bottom:1px solid #eaecef}.markdown-body h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eaecef}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:0.875em}.markdown-body h6{font-size:0.85em;color:#6a737d}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table:not(.highlight){display:block;width:100%;width:max-content;max-width:100%;overflow:auto}.markdown-body table:not(.highlight) th{font-weight:600}.markdown-body table:not(.highlight) th,.markdown-body table:not(.highlight) td{padding:6px 13px;border:1px solid #dfe2e5}.markdown-body table:not(.highlight) tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table:not(.highlight) tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table:not(.highlight) img{background-color:transparent}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #dfe2e5}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#24292e}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}@media (min-width: 544px){.position-sm-static{position:static !important}.position-sm-relative{position:relative !important}.position-sm-absolute{position:absolute !important}.position-sm-fixed{position:fixed !important}.position-sm-sticky{position:sticky !important}}@media (min-width: 768px){.position-md-static{position:static !important}.position-md-relative{position:relative !important}.position-md-absolute{position:absolute !important}.position-md-fixed{position:fixed !important}.position-md-sticky{position:sticky !important}}@media (min-width: 1012px){.position-lg-static{position:static !important}.position-lg-relative{position:relative !important}.position-lg-absolute{position:absolute !important}.position-lg-fixed{position:fixed !important}.position-lg-sticky{position:sticky !important}}@media (min-width: 1280px){.position-xl-static{position:static !important}.position-xl-relative{position:relative !important}.position-xl-absolute{position:absolute !important}.position-xl-fixed{position:fixed !important}.position-xl-sticky{position:sticky !important}}.top-0{top:0 !important}.right-0{right:0 !important}.bottom-0{bottom:0 !important}.left-0{left:0 !important}.v-align-middle{vertical-align:middle !important}.v-align-top{vertical-align:top !important}.v-align-bottom{vertical-align:bottom !important}.v-align-text-top{vertical-align:text-top !important}.v-align-text-bottom{vertical-align:text-bottom !important}.v-align-baseline{vertical-align:baseline !important}.overflow-visible{overflow:visible !important}.overflow-x-visible{overflow-x:visible !important}.overflow-y-visible{overflow-y:visible !important}.overflow-hidden{overflow:hidden !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-auto{overflow:auto !important}.overflow-x-auto{overflow-x:auto !important}.overflow-y-auto{overflow-y:auto !important}.overflow-scroll{overflow:scroll !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-scroll{overflow-y:scroll !important}.clearfix::before{display:table;content:""}.clearfix::after{display:table;clear:both;content:""}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 544px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 1012px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1280px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.width-fit{max-width:100% !important}.width-full{width:100% !important}.height-fit{max-height:100% !important}.height-full{height:100% !important}.min-width-0{min-width:0 !important}.width-auto{width:auto !important}.direction-rtl{direction:rtl !important}.direction-ltr{direction:ltr !important}@media (min-width: 544px){.width-sm-auto{width:auto !important}.direction-sm-rtl{direction:rtl !important}.direction-sm-ltr{direction:ltr !important}}@media (min-width: 768px){.width-md-auto{width:auto !important}.direction-md-rtl{direction:rtl !important}.direction-md-ltr{direction:ltr !important}}@media (min-width: 1012px){.width-lg-auto{width:auto !important}.direction-lg-rtl{direction:rtl !important}.direction-lg-ltr{direction:ltr !important}}@media (min-width: 1280px){.width-xl-auto{width:auto !important}.direction-xl-rtl{direction:rtl !important}.direction-xl-ltr{direction:ltr !important}}@font-face{font-family:'iconfont';src:url("../iconfont/iconfont.woff2") format("woff2"),url("../iconfont/iconfont.woff") format("woff"),url("../iconfont/iconfont.ttf") format("truetype"),url("../iconfont/iconfont.svg") format("svg")}.iconfont{font-family:'iconfont' !important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-grid-sharp:before{content:'\e612'}.icon-search-circle-sharp:before{content:'\e60c'}.icon-chevron-back-circle-sharp:before{content:'\e608'}.icon-caret-back-circle-sharp:before{content:'\e609'}.icon-chevron-forward-circle-sharp:before{content:'\e60a'}.icon-caret-forward-circle-sharp:before{content:'\e60b'}.icon-today-sharp:before{content:'\e607'}.icon-chevron-up-circle-sharp:before{content:'\e606'}.icon-contrast-sharp:before{content:'\e601'}.icon-file-tray-sharp:before{content:'\e602'}.icon-pricetags-sharp:before{content:'\e603'}.icon-chatbox-ellipses-sharp:before{content:'\e604'}.icon-time-sharp:before{content:'\e605'}header .header{padding:1.75rem 1.5rem 2rem 1.5rem}header .title-main{font-size:2.5rem;font-family:"Product Sans",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-weight:700;white-space:nowrap}header .title-sub{margin:0 0.1rem;display:block;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}header .title-sub::-webkit-scrollbar{display:none}.content{padding:1.5rem 1.5rem 0 1.5rem}.post:not(:first-child){padding:1.5rem 0}.post:first-child{padding:0 0 1.5rem 0}.post-title{font-size:1.75rem}.post-meta{display:flex;align-items:center;margin:0.5rem 0.1rem 1rem 0.1rem;flex-wrap:wrap}.post-meta span{display:flex;align-items:center}.post-meta span:not(:last-child){padding-right:1.5rem}.post-summary{margin:0 0.1rem}.post-summary p:last-child{margin-bottom:0}.post-summary h1,.post-summary h2,.post-summary h3,.post-summary h4,.post-summary h5,.post-summary h6{display:none}.post-meta-archive{display:flex;align-items:center;margin:0.5rem 0.1rem 0 0.1rem;flex-wrap:wrap}.post-meta-archive span{display:flex;align-items:center}.post-meta-archive span:not(:last-child){padding-right:1.5rem}.pagination{display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1.25rem;padding:1.25rem 0}.pagination div{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.pagination div a{display:flex;align-items:center}.page-info{padding:0 0.1rem 1.5rem 0.1rem}article{padding-bottom:1.5rem}article .post-content{margin:1.25rem 0.1rem 0 0.1rem}.license{margin-bottom:1.5rem}.post-loading{margin:0 0 1.5rem 0;padding-top:1.5rem;text-align:center}.post-loading i{font-size:1.25rem}.post-loading p{margin:0.5rem 0 0 0}.markdown-body h1{font-size:1.75rem;margin-top:1.5rem}.markdown-body h2{font-size:1.5rem;margin-top:1.375rem}.markdown-body h3{font-size:1.25rem;margin-top:1.25rem}.markdown-body h4{margin-top:1.25rem}.markdown-body ul{list-style-type:circle}.markdown-body img{max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.markdown-body .table-dense{font-size:0.875rem}.markdown-body .table-dense td,.markdown-body .table-dense th{padding:4px 8px !important}.post-comment span.post-comment-notloaded{display:flex;align-items:center;justify-content:center}#disqus_thread{padding:1.25rem 0}#search-result .post:first-child{padding:1.5rem 0}.search-result-info{padding:1rem 0.1rem}.search-input{display:flex;height:2.5rem;align-items:center;padding-left:0.5rem;width:100%}.search-input input{width:100%;min-width:0;flex:1 1 auto;height:2rem}.search-input button{flex:0 1 auto;padding:0 0.5rem;word-break:keep-all;height:2.5rem}.search-input button:hover i{color:var(--color-primary)}.search-input button i{color:var(--color-mute);height:100%;font-size:1.6rem}.sidebar{padding:1.5rem 1.5rem 1.5rem 0}.sidebar-item:not(:last-child){margin-bottom:1rem}.sidebar-item h3{margin-bottom:0.25rem}.sidebar-item ul{list-style-type:none;margin:0 0.1rem}.sidebar-item>div,.sidebar-item>nav{margin:0 0.1rem}.sidebar-item>img{margin:0.5rem 0.25rem 0 0.25rem;width:100%;border-radius:2px}@media screen and (max-width: 768px){.sidebar{display:none !important}}@media screen and (max-width: 768px){.sidebar-mobile{width:70%;position:fixed;top:0;right:0;bottom:0%;background-color:var(--color-codebg);z-index:50;overflow:auto;display:flex;flex-direction:column-reverse}.sidebar-mobile .sidebar-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:space-around;margin:1.5rem 4.25rem 1.5rem 1.5rem}.sidebar-mobile .sidebar-item{width:90%;text-align:right;margin-top:1rem}.sidebar-mobile .sidebar-item:last-child{margin-top:0}}@media screen and (min-width: 768px){.sidebar-toc{position:sticky;top:1rem}.sidebar-toc ul ul{font-size:0.875rem;padding-left:0.5rem;margin-bottom:0.25rem}.sidebar-toc #TableOfContents{max-height:32rem;overflow:auto;scrollbar-width:thin}}footer .footer{padding:2rem 1.5rem;text-align:center}footer .footer i{font-size:0.875rem}.btn{position:fixed;right:1.5rem;bottom:1.5rem;width:2.5rem;display:flex;justify-content:space-between;flex-direction:column;z-index:100}.btn div{flex:0 1 auto;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem}.btn div:first-child{border-radius:0.25rem 0.25rem 0 0;font-size:1.125rem}.btn div:last-child{border-radius:0 0 0.25rem 0.25rem;font-size:1.325rem}@media screen and (min-width: 768px){.btn div:first-child{display:none}.btn div:nth-child(2){border-radius:0.25rem 0.25rem 0 0}}.post-player-wrapper{margin:0.25rem 0.125rem 1rem 0.125rem !important;font-family:inherit !important}.post-player{font-family:inherit !important}.post-summary .post-player-wrapper{display:none}body[data-theme='auto']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}@media (prefers-color-scheme: dark){body[data-theme='auto']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='auto'] table:not(.highlight) th,body[data-theme='auto'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='auto'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}}body[data-theme='light']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}body[data-theme='dark']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='dark'] table:not(.highlight) th,body[data-theme='dark'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='dark'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}::selection,::-moz-selection{color:var(--color-bg);background-color:var(--color-primary)}body{background-color:var(--color-bg);color:var(--color-font)}body a{color:var(--color-primary)}body a:hover{color:var(--color-secondary)}.post-summary a,.post-meta a{color:var(--color-secondary)}.post-summary a:hover,.post-meta a:hover{color:var(--color-focus)}.pag-current a,.pag-current a:hover{color:var(--color-focus)}.title-sub,.post-meta{color:var(--color-mute)}header,.page-info{border-bottom:2px solid var(--color-divider)}.post+.post,.pagination,footer{border-top:2px solid var(--color-divider)}.post-meta-archive{color:var(--color-mute)}.post-meta-archive a{color:var(--color-secondary)}.post-meta-archive a:hover{color:var(--color-focus)}@media screen and (max-width: 768px){.sidebar{border-top:2px solid var(--color-divider)}}.post-content a{color:var(--color-secondary)}.post-content a:hover{color:var(--color-focus)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--color-primary)}.markdown-body strong,.markdown-body em{color:var(--color-secondary)}.markdown-body h1,.markdown-body h2{border-bottom:2px solid var(--color-divider)}.markdown-body blockquote{color:var(--color-mute)}.markdown-body img{border-radius:2px;background-color:inherit}.markdown-body hr{height:2px}.markdown-body pre,.markdown-body code{background-color:var(--color-codebg)}.post-loading{border-top:2px solid var(--color-divider)}.post-comment{border-top:2px solid var(--color-divider)}.post-comment span.post-comment-notloaded{padding:1.5rem 0;color:var(--color-secondary);cursor:pointer}.post-comment span.post-comment-notloaded:hover{color:var(--color-focus)}.btn div{background-color:var(--color-divider);color:var(--color-primary)}.btn div:hover{background-color:var(--color-primary);color:var(--color-divider)}.btn div+div{border-top:2px solid var(--color-bg)}code[class*='language-'],pre[class*='language-']{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:0.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:600}.token.italic{font-style:italic}pre .rule,code .rule{margin:0;border-bottom:none;overflow:inherit}pre .rule::before,pre .rule::after,code .rule::before,code .rule::after{display:inherit;clear:inherit}#dsqjs a{text-decoration:none !important;color:var(--color-secondary) !important}#dsqjs a:hover{color:var(--color-focus) !important}#dsqjs .dsqjs-bullet::after{color:var(--color-mute) !important;font-weight:600 !important}#dsqjs .dsqjs-no-comment{color:var(--color-font) !important}#dsqjs .dsqjs-nav-tab{color:var(--color-mute) !important}#dsqjs .dsqjs-tab-active{color:var(--color-font) !important}#dsqjs .dsqjs-tab-active>span:after{background-color:var(--color-secondary) !important}#dsqjs .dsqjs-post-list .dsqjs-post-avatar{background:var(--color-bg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-post-author{color:var(--color-mute) !important;font-weight:600}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-admin-badge{color:var(--color-font) !important;background:var(--color-codebg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-meta{color:var(--color-mute) !important}#dsqjs .dsqjs-post-body{color:var(--color-font) !important}#dsqjs .dsqjs-post-body code,#dsqjs .dsqjs-post-body pre{background:var(--color-codebg) !important}#dsqjs .dsqjs-post-body blockquote{color:var(--color-codebg) !important;border-left:0.25em solid var(--color-divider) !important}#dsqjs .dsqjs-load-more{background:var(--color-mute) !important;color:var(--color-bg) !important}#dsqjs footer{border-top:2px solid var(--color-divider) !important;font-weight:600 !important;color:var(--color-mute) !important}#dsqjs .dsqjs-order-radio:checked+.dsqjs-order-label{color:var(--color-font) !important;background-color:var(--color-divider) !important}#dsqjs .dsqjs-order-label{background-color:var(--color-bg) !important}#dsqjs p.dsqjs-has-more a.dsqjs-has-more-btn{color:var(--color-mute) !important}.search-result-info{border-bottom:2px solid var(--color-divider)}.search-input{border-top:2px solid;border-left:2px solid;border-bottom:2px solid;border-right:none;border-radius:0.25rem;border-color:var(--color-divider);background-color:var(--color-bg)}.search-input:hover,.search-input:focus-within{color:var(--color-primary);border-color:var(--color-primary)}.search-input input{outline:none;border:none;color:inherit;background-color:inherit}.search-input button{outline:none;border-top:2px solid;border-left:none;border-right:2px solid;border-bottom:2px solid;border-radius:0 0.25rem 0.25rem 0;border-color:inherit;color:inherit;background-color:inherit}.search-input button:hover{color:var(--color-secondary)}.image-wrapper{position:relative;display:block;width:100%;height:0;overflow:hidden;background-color:var(--color-divider);border-radius:3px;max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.image-wrapper img{display:block;width:100%;max-width:100%;margin:0;overflow:hidden}.ratio-40x9{padding-bottom:22.5%}.ratio-32x9{padding-bottom:28.125%}.ratio-21x9{padding-bottom:42.85714286%}.ratio-18x9{padding-bottom:50%}.ratio-16x9{padding-bottom:56.25%}.ratio-16x10{padding-bottom:62.5%}.ratio-3x2{padding-bottom:66.66666667%}.ratio-4x3{padding-bottom:75%}.ratio-1x1{padding-bottom:100%}.ratio-3x4{padding-bottom:133.33333333%}.ratio-2x3{padding-bottom:150%}.ratio-10x16{padding-bottom:160%}.ratio-9x16{padding-bottom:177.77777778%}.ratio-9x18{padding-bottom:200%}.ratio-9x21{padding-bottom:233.33333333%}.ratio-9x32{padding-bottom:355.55555556%} +@font-face{font-family:'Product Sans';font-style:normal;font-display:swap;font-weight:700;src:url("https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn-main@1/fonts/product_sans/product_sans_700.woff2") format("woff2")}@font-face{font-family:'Fira Code';font-style:normal;font-display:swap;font-weight:400;src:url("https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn-main@1/fonts/fira_code/fira_code_400.woff2") format("woff2")}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{display:flex;flex-direction:column;height:100%;scroll-behavior:smooth}main{flex:1 1 auto}.container-lg{display:flex;flex-direction:row}@media screen and (max-width: 768px){.container-lg{flex-direction:column}}a:hover{text-decoration:none !important}/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none !important}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background-color:#ff0;color:var(--color-text-primary)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:600}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:0.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*{box-sizing:border-box}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-canvas)}a{color:var(--color-text-link);text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:600}hr,.rule{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid var(--color-border-secondary)}hr::before,.rule::before{display:table;content:""}hr::after,.rule::after{display:table;clear:both;content:""}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}button{cursor:pointer;border-radius:0}[hidden][hidden]{display:none !important}details summary{cursor:pointer}details:not([open])>*:not(summary){display:none !important}kbd{display:inline-block;padding:3px 5px;font:11px "SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:var(--color-text-primary);vertical-align:middle;background-color:var(--color-bg-secondary);border:solid 1px var(--color-border-tertiary);border-bottom-color:var(--color-border-tertiary);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-border-tertiary)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0}h1{font-size:32px;font-weight:600}h2{font-size:24px;font-weight:600}h3{font-size:20px;font-weight:600}h4{font-size:16px;font-weight:600}h5{font-size:14px;font-weight:600}h6{font-size:12px;font-weight:600}p{margin-top:0;margin-bottom:10px}small{font-size:90%}blockquote{margin:0}ul,ol{padding-left:0;margin-top:0;margin-bottom:0}ol ol,ul ol{list-style-type:lower-roman}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}dd{margin-left:0}tt,code{font-family:"SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}pre{margin-top:0;margin-bottom:0;font-family:"SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}.octicon{vertical-align:text-bottom}.container-sm{max-width:544px;margin-right:auto;margin-left:auto}.container-md{max-width:768px;margin-right:auto;margin-left:auto}.container-lg{max-width:1012px;margin-right:auto;margin-left:auto}.container-xl{max-width:1280px;margin-right:auto;margin-left:auto}.col-1{width:8.33333333%}.col-2{width:16.66666667%}.col-3{width:25%}.col-4{width:33.33333333%}.col-5{width:41.66666667%}.col-6{width:50%}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{width:75%}.col-10{width:83.33333333%}.col-11{width:91.66666667%}.col-12{width:100%}@media (min-width: 544px){.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}}@media (min-width: 768px){.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}}@media (min-width: 1012px){.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}}@media (min-width: 1280px){.col-xl-1{width:8.33333333%}.col-xl-2{width:16.66666667%}.col-xl-3{width:25%}.col-xl-4{width:33.33333333%}.col-xl-5{width:41.66666667%}.col-xl-6{width:50%}.col-xl-7{width:58.33333333%}.col-xl-8{width:66.66666667%}.col-xl-9{width:75%}.col-xl-10{width:83.33333333%}.col-xl-11{width:91.66666667%}.col-xl-12{width:100%}}.gutter{margin-right:-16px;margin-left:-16px}.gutter>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-condensed{margin-right:-8px;margin-left:-8px}.gutter-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-spacious{margin-right:-24px;margin-left:-24px}.gutter-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}@media (min-width: 544px){.gutter-sm{margin-right:-16px;margin-left:-16px}.gutter-sm>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-sm-condensed{margin-right:-8px;margin-left:-8px}.gutter-sm-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-sm-spacious{margin-right:-24px;margin-left:-24px}.gutter-sm-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 768px){.gutter-md{margin-right:-16px;margin-left:-16px}.gutter-md>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-md-condensed{margin-right:-8px;margin-left:-8px}.gutter-md-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-md-spacious{margin-right:-24px;margin-left:-24px}.gutter-md-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1012px){.gutter-lg{margin-right:-16px;margin-left:-16px}.gutter-lg>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-lg-condensed{margin-right:-8px;margin-left:-8px}.gutter-lg-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-lg-spacious{margin-right:-24px;margin-left:-24px}.gutter-lg-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1280px){.gutter-xl{margin-right:-16px;margin-left:-16px}.gutter-xl>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-xl-condensed{margin-right:-8px;margin-left:-8px}.gutter-xl-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-xl-spacious{margin-right:-24px;margin-left:-24px}.gutter-xl-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px "SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:var(--color-text-primary);vertical-align:middle;background-color:var(--color-bg-secondary);border:solid 1px var(--color-border-tertiary);border-bottom-color:var(--color-border-tertiary);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-border-tertiary)}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--color-text-danger)}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:var(--color-border-primary);border:0}.markdown-body blockquote{padding:0 1em;color:var(--color-text-tertiary);border-left:0.25em solid var(--color-markdown-blockquote-border)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--color-text-primary);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}.markdown-body h1{padding-bottom:0.3em;font-size:2em;border-bottom:1px solid var(--color-border-secondary)}.markdown-body h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid var(--color-border-secondary)}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:0.875em}.markdown-body h6{font-size:0.85em;color:var(--color-text-tertiary)}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body ol[type="a"]{list-style-type:lower-alpha}.markdown-body ol[type="i"]{list-style-type:lower-roman}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;width:max-content;max-width:100%;overflow:auto}.markdown-body table th{font-weight:600}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--color-markdown-table-border)}.markdown-body table tr{background-color:var(--color-bg-primary);border-top:1px solid var(--color-markdown-table-tr-border)}.markdown-body table tr:nth-child(2n){background-color:var(--color-bg-tertiary)}.markdown-body table img{background-color:transparent}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:var(--color-bg-primary)}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--color-markdown-frame-border)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--color-text-primary)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:var(--color-markdown-code-bg);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:var(--color-bg-tertiary);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:var(--color-bg-primary);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:var(--color-bg-tertiary);border-top:0}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}@media (min-width: 544px){.position-sm-static{position:static !important}.position-sm-relative{position:relative !important}.position-sm-absolute{position:absolute !important}.position-sm-fixed{position:fixed !important}.position-sm-sticky{position:sticky !important}}@media (min-width: 768px){.position-md-static{position:static !important}.position-md-relative{position:relative !important}.position-md-absolute{position:absolute !important}.position-md-fixed{position:fixed !important}.position-md-sticky{position:sticky !important}}@media (min-width: 1012px){.position-lg-static{position:static !important}.position-lg-relative{position:relative !important}.position-lg-absolute{position:absolute !important}.position-lg-fixed{position:fixed !important}.position-lg-sticky{position:sticky !important}}@media (min-width: 1280px){.position-xl-static{position:static !important}.position-xl-relative{position:relative !important}.position-xl-absolute{position:absolute !important}.position-xl-fixed{position:fixed !important}.position-xl-sticky{position:sticky !important}}.top-0{top:0 !important}.right-0{right:0 !important}.bottom-0{bottom:0 !important}.left-0{left:0 !important}.top-auto{top:auto !important}.right-auto{right:auto !important}.bottom-auto{bottom:auto !important}.left-auto{left:auto !important}@media (min-width: 544px){.top-sm-0{top:0 !important}.right-sm-0{right:0 !important}.bottom-sm-0{bottom:0 !important}.left-sm-0{left:0 !important}.top-sm-auto{top:auto !important}.right-sm-auto{right:auto !important}.bottom-sm-auto{bottom:auto !important}.left-sm-auto{left:auto !important}}@media (min-width: 768px){.top-md-0{top:0 !important}.right-md-0{right:0 !important}.bottom-md-0{bottom:0 !important}.left-md-0{left:0 !important}.top-md-auto{top:auto !important}.right-md-auto{right:auto !important}.bottom-md-auto{bottom:auto !important}.left-md-auto{left:auto !important}}@media (min-width: 1012px){.top-lg-0{top:0 !important}.right-lg-0{right:0 !important}.bottom-lg-0{bottom:0 !important}.left-lg-0{left:0 !important}.top-lg-auto{top:auto !important}.right-lg-auto{right:auto !important}.bottom-lg-auto{bottom:auto !important}.left-lg-auto{left:auto !important}}@media (min-width: 1280px){.top-xl-0{top:0 !important}.right-xl-0{right:0 !important}.bottom-xl-0{bottom:0 !important}.left-xl-0{left:0 !important}.top-xl-auto{top:auto !important}.right-xl-auto{right:auto !important}.bottom-xl-auto{bottom:auto !important}.left-xl-auto{left:auto !important}}.v-align-middle{vertical-align:middle !important}.v-align-top{vertical-align:top !important}.v-align-bottom{vertical-align:bottom !important}.v-align-text-top{vertical-align:text-top !important}.v-align-text-bottom{vertical-align:text-bottom !important}.v-align-baseline{vertical-align:baseline !important}.overflow-visible{overflow:visible !important}.overflow-x-visible{overflow-x:visible !important}.overflow-y-visible{overflow-y:visible !important}.overflow-hidden{overflow:hidden !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-auto{overflow:auto !important}.overflow-x-auto{overflow-x:auto !important}.overflow-y-auto{overflow-y:auto !important}.overflow-scroll{overflow:scroll !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-scroll{overflow-y:scroll !important}@media (min-width: 544px){.overflow-sm-visible{overflow:visible !important}.overflow-sm-x-visible{overflow-x:visible !important}.overflow-sm-y-visible{overflow-y:visible !important}.overflow-sm-hidden{overflow:hidden !important}.overflow-sm-x-hidden{overflow-x:hidden !important}.overflow-sm-y-hidden{overflow-y:hidden !important}.overflow-sm-auto{overflow:auto !important}.overflow-sm-x-auto{overflow-x:auto !important}.overflow-sm-y-auto{overflow-y:auto !important}.overflow-sm-scroll{overflow:scroll !important}.overflow-sm-x-scroll{overflow-x:scroll !important}.overflow-sm-y-scroll{overflow-y:scroll !important}}@media (min-width: 768px){.overflow-md-visible{overflow:visible !important}.overflow-md-x-visible{overflow-x:visible !important}.overflow-md-y-visible{overflow-y:visible !important}.overflow-md-hidden{overflow:hidden !important}.overflow-md-x-hidden{overflow-x:hidden !important}.overflow-md-y-hidden{overflow-y:hidden !important}.overflow-md-auto{overflow:auto !important}.overflow-md-x-auto{overflow-x:auto !important}.overflow-md-y-auto{overflow-y:auto !important}.overflow-md-scroll{overflow:scroll !important}.overflow-md-x-scroll{overflow-x:scroll !important}.overflow-md-y-scroll{overflow-y:scroll !important}}@media (min-width: 1012px){.overflow-lg-visible{overflow:visible !important}.overflow-lg-x-visible{overflow-x:visible !important}.overflow-lg-y-visible{overflow-y:visible !important}.overflow-lg-hidden{overflow:hidden !important}.overflow-lg-x-hidden{overflow-x:hidden !important}.overflow-lg-y-hidden{overflow-y:hidden !important}.overflow-lg-auto{overflow:auto !important}.overflow-lg-x-auto{overflow-x:auto !important}.overflow-lg-y-auto{overflow-y:auto !important}.overflow-lg-scroll{overflow:scroll !important}.overflow-lg-x-scroll{overflow-x:scroll !important}.overflow-lg-y-scroll{overflow-y:scroll !important}}@media (min-width: 1280px){.overflow-xl-visible{overflow:visible !important}.overflow-xl-x-visible{overflow-x:visible !important}.overflow-xl-y-visible{overflow-y:visible !important}.overflow-xl-hidden{overflow:hidden !important}.overflow-xl-x-hidden{overflow-x:hidden !important}.overflow-xl-y-hidden{overflow-y:hidden !important}.overflow-xl-auto{overflow:auto !important}.overflow-xl-x-auto{overflow-x:auto !important}.overflow-xl-y-auto{overflow-y:auto !important}.overflow-xl-scroll{overflow:scroll !important}.overflow-xl-x-scroll{overflow-x:scroll !important}.overflow-xl-y-scroll{overflow-y:scroll !important}}.clearfix::before{display:table;content:""}.clearfix::after{display:table;clear:both;content:""}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 544px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 1012px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1280px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.width-fit{max-width:100% !important}.width-full{width:100% !important}.height-fit{max-height:100% !important}.height-full{height:100% !important}.min-width-0{min-width:0 !important}.width-auto{width:auto !important}.direction-rtl{direction:rtl !important}.direction-ltr{direction:ltr !important}@media (min-width: 544px){.width-sm-auto{width:auto !important}.direction-sm-rtl{direction:rtl !important}.direction-sm-ltr{direction:ltr !important}}@media (min-width: 768px){.width-md-auto{width:auto !important}.direction-md-rtl{direction:rtl !important}.direction-md-ltr{direction:ltr !important}}@media (min-width: 1012px){.width-lg-auto{width:auto !important}.direction-lg-rtl{direction:rtl !important}.direction-lg-ltr{direction:ltr !important}}@media (min-width: 1280px){.width-xl-auto{width:auto !important}.direction-xl-rtl{direction:rtl !important}.direction-xl-ltr{direction:ltr !important}}@font-face{font-family:'iconfont';src:url("data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAX0AAsAAAAADYwAAAWkAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCELgqKaIh/ATYCJAM8CyAABCAFhG0HglMbugsRVaRPkf0ssGPyVCOvy8czJ7P+a4tNOQfB8987zTt6I0UeybxE4C2h7RA5WSAqILiEbCihivCVHidAwByCG4wZN3LTmZ9k86cXTdmo469pe92NkME0+WTx5WpNdcgnwuG6AI2PlX8PeJ+kCOhIVaEsCwVMiowBy0LW65qEV52clCwq54jn4VCAYQDjUAcdclQNLhoWFcqtWbm8A7cQgu7QKVyf07CpRp2HjWudbr0JnBu9v/qZKcoFC1vgI6WXHbyEVKCCpBxXOY4WOY7jDhcFjLcCAcYBGtS2xpgNSJIzDsEsnTUHAQ66qhX4QbJSwSHFRBQCl7lRP8Dg4RMmQugWHW0cqhCsfx4oB5Z8aB7NjUCgrAUGAssCDwKxwIdAWxCGwKZ2ww6CCAFXIQgXDER2wSGIABuIAHsQAfYRhAAnEIQFnATzSUhRv8kAYCSoVWClYHlNVFbQaCxhE61gJ/mJuB5U86PK9x1fbJLye+moknE8O+QkQ/RYyo/tLnxbU/yutvx9fSloKZXqRmXra9MjrisWywszTxbq66q7X18qFeZlPygXi7VjM8t9CS8leQclrS4Uamr/QLlcXyq11L1ZOuD58oHvlI9+q5iqrTNXvzf9kQ8GXvP+jAff3a0pN6+ufn5Nc36aukJhaefi1pIrFtTXLazdXU/X7HFZR67Z886E44w5Q6njNxtl8O1vmBuf7KUvf2p4/JZn+tpXPN0SsaMHmba1rmZBfe1hCSPUx3eqzyjtjjVYcTEmXzjo5dIQ0xzdvWXpdqm5+enjnznzqeOerLe2ZLbL7tiNt+69ym3DPerDt9wxC799Q2f3tYMuzSeZq9Fc0kMu7eld3N2ys3ERSOOr2hj9qgQZ4xplZ3u/U525O9wxdcqKFauXJyPXH3z4kr4d/UbkDusce+PFFeX/u+qT6zcjPfPsEeeNb91gjpg6hS+uzTM1iB8gx6WVqFSulw8/FPDXjxC47KLWYatX33RC/IOb7RP/yk60V82Pn9C0enXXOxuiv/3xx29RmoVBMuhe+eknuVcIIMdlSVOb3/yFZ/jmM8/Qvr+FpsS/T5cPpZXbB3HajgSjQ4yeOeq43Qu++CLxacIUvXZgLpVO5W3tXH6qedZMzRONcUrwrvvu0cIivYZoUnmQpJ7SXV36KSE8clx2iicfO+rY0e+NWjZ26X3b1vHuYSdMZ5bAwv3HceGGH+zDDkun7ez2D2PH7mCY5BYubG8PSuSeqeSnzpBLvHjNoHA43ndgitkyaNCk2yUlt086L//TtTcNwhefo+rjRpJ+PnjMhVce8ckfuUg7uUk+0OtRu9Ykh/3/ASo3y8fSFAWeFfm4KQA5ToDKl5KXQWC0zRaDgCTI+1n6j3ExBn8tE9uj8/7t3v/noE+3fDd9sEklr5Ec4GKBmv7To5Wd9Irl0KhetL9dFAVEmYgNP5ZBGEmHCpyQ4PPT+bv/iEYp3AI9Bosq+oPgMkyhNePAxmMaOLgsBMNYDt3aI8kmBKVDwBhODkAR4x6wiPAMCDHeUmjNZ2DTg1/BIWbtAIz/Lna59Jo3b0JWqYZqBx55ciZcTVz+m5p5sJJnI/0/SfTpUKR5Of+LJpJDrBHXTanqwAmP8BkcjYaBIQh3hJq2qmGVZa7pgVLkcWG8EcRSpAYqO8BDbOL8wMpU3v4bacwGlnQ0u3T/R0TkZw4KqVyh+JImVbOXUjVaa5SUohywdQUbgU+KIoPkMBCaF+oQpFLtDlnBSkbdOa2Unl4e3/dRgMEvFS3Jiio03TAt23E939m7CRP0ggMlsbUSTCO+Tqe/iGQF27bX32FLa+EpqSz2jYEbRB+kS9+jenrHsrFSz9T3LdaXWyrXdndYZveec0DtY+RJxUbNR504v0YreTf0DOKR1Dax6jW2ViveJh9Rmg+R6tKM+nFvwYsFAAAA") format("woff2"),url("iconfont.woff?t=1615774773267") format("woff"),url("iconfont.ttf?t=1615774773267") format("truetype"),url("iconfont.svg?t=1615774773267#iconfont") format("svg")}.iconfont{font-family:'iconfont' !important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-sync-circle-sharp:before{content:'\e613'}.icon-grid-sharp:before{content:'\e612'}.icon-search-circle-sharp:before{content:'\e60c'}.icon-chevron-back-circle-sharp:before{content:'\e608'}.icon-caret-back-circle-sharp:before{content:'\e609'}.icon-chevron-forward-circle-sharp:before{content:'\e60a'}.icon-caret-forward-circle-sharp:before{content:'\e60b'}.icon-today-sharp:before{content:'\e607'}.icon-chevron-up-circle-sharp:before{content:'\e606'}.icon-contrast-sharp:before{content:'\e601'}.icon-file-tray-sharp:before{content:'\e602'}.icon-pricetags-sharp:before{content:'\e603'}.icon-chatbox-ellipses-sharp:before{content:'\e604'}.icon-time-sharp:before{content:'\e605'}header .header{padding:1.75rem 1.5rem 2rem 1.5rem}header .title-main{font-size:2.5rem;font-family:"Product Sans",sans-serif;font-weight:700;white-space:nowrap}header .title-sub{margin:0 0.1rem;display:block;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}header .title-sub::-webkit-scrollbar{display:none}.content{padding:1.5rem 1.5rem 0 1.5rem}.post:not(:first-child){padding:1.5rem 0}.post:first-child{padding:0 0 1.5rem 0}.post-title{font-size:1.75rem}.post-meta{display:flex;align-items:center;margin:0.5rem 0.1rem 1rem 0.1rem;flex-wrap:wrap}.post-meta span{display:flex;align-items:center}.post-meta span:not(:last-child){padding-right:1.5rem}.post-summary{margin:0 0.1rem}.post-summary p:last-child{margin-bottom:0}.post-summary h1,.post-summary h2,.post-summary h3,.post-summary h4,.post-summary h5,.post-summary h6{display:none}.post-meta-archive{display:flex;align-items:center;margin:0.5rem 0.1rem 0 0.1rem;flex-wrap:wrap}.post-meta-archive span{display:flex;align-items:center}.post-meta-archive span:not(:last-child){padding-right:1.5rem}.pagination{display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1.25rem;padding:1.25rem 0}.pagination div{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.pagination div a{display:flex;align-items:center}.page-info{padding:0 0.1rem 1.5rem 0.1rem}article{padding-bottom:1.5rem}article .post-content{margin:1.25rem 0.1rem 0 0.1rem}.license{margin-bottom:1.5rem}.post-loading{margin:0 0 1.5rem 0;padding-top:1.5rem;text-align:center}.post-loading i{font-size:1.25rem}.post-loading p{margin:0.5rem 0 0 0}.markdown-body h1{font-size:1.75rem;margin-top:1.5rem}.markdown-body h2{font-size:1.5rem;margin-top:1.375rem}.markdown-body h3{font-size:1.25rem;margin-top:1.25rem}.markdown-body h4{margin-top:1.25rem}.markdown-body ul{list-style-type:circle}.markdown-body img{max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.markdown-body .table-dense{font-size:0.875rem}.markdown-body .table-dense td,.markdown-body .table-dense th{padding:4px 8px !important}.post-comment span.post-comment-notloaded{display:flex;align-items:center;justify-content:center}#disqus_thread{padding:1.25rem 0}#search-result .post:first-child{padding:1.5rem 0}.search-result-info{padding:1rem 0.1rem}.search-input{display:flex;height:2.5rem;align-items:center;padding-left:0.5rem;width:100%}.search-input input{width:100%;min-width:0;flex:1 1 auto;height:2rem}.search-input button{flex:0 1 auto;padding:0 0.5rem;word-break:keep-all;height:2.5rem}.search-input button:hover i{color:var(--color-primary)}.search-input button i{color:var(--color-mute);height:100%;font-size:1.6rem}.sidebar{padding:1.5rem 1.5rem 1.5rem 0}.sidebar-item:not(:last-child){margin-bottom:1rem}.sidebar-item h3{margin-bottom:0.25rem}.sidebar-item ul{list-style-type:none;margin:0 0.1rem}.sidebar-item>div,.sidebar-item>nav{margin:0 0.1rem}.sidebar-item>img{margin:0.5rem 0.25rem 0 0.25rem;width:100%;border-radius:2px}@media screen and (max-width: 768px){.sidebar{display:none !important}}@media screen and (max-width: 768px){.sidebar-mobile{width:70%;position:fixed;top:0;right:0;bottom:0%;background-color:var(--color-codebg);z-index:50;overflow:auto;display:flex;flex-direction:column-reverse}.sidebar-mobile .sidebar-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:space-around;margin:1.5rem 4.25rem 1.5rem 1.5rem}.sidebar-mobile .sidebar-item{width:90%;text-align:right;margin-top:1rem}.sidebar-mobile .sidebar-item:last-child{margin-top:0}}@media screen and (min-width: 768px){.sidebar-toc{position:sticky;top:1rem}.sidebar-toc ul ul{font-size:0.875rem;padding-left:0.5rem;margin-bottom:0.25rem}.sidebar-toc #TableOfContents{max-height:80vh;overflow:auto;scrollbar-width:thin}}footer .footer{padding:2rem 1.5rem;text-align:center}footer .footer i{font-size:0.875rem}.btn{position:fixed;right:1.5rem;bottom:1.5rem;width:2.5rem;display:flex;justify-content:space-between;flex-direction:column;z-index:100}.btn div{flex:0 1 auto;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem}.btn div:first-child{border-radius:0.25rem 0.25rem 0 0;font-size:1.125rem}.btn div:last-child{border-radius:0 0 0.25rem 0.25rem;font-size:1.325rem}@media screen and (min-width: 768px){.btn div:first-child{display:none}.btn div:nth-child(2){border-radius:0.25rem 0.25rem 0 0}}.post-player-wrapper{margin:0.25rem 0.125rem 1rem 0.125rem !important;font-family:inherit !important}.post-player{font-family:inherit !important}.post-summary .post-player-wrapper{display:none}body[data-theme='auto']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}@media (prefers-color-scheme: dark){body[data-theme='auto']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='auto'] table:not(.highlight) th,body[data-theme='auto'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='auto'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}}body[data-theme='light']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}body[data-theme='dark']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='dark'] table:not(.highlight) th,body[data-theme='dark'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='dark'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}::selection,::-moz-selection{color:var(--color-bg);background-color:var(--color-primary)}body{background-color:var(--color-bg);color:var(--color-font)}body a{color:var(--color-primary)}body a:hover{color:var(--color-secondary)}.post-summary a,.post-meta a{color:var(--color-secondary)}.post-summary a:hover,.post-meta a:hover{color:var(--color-focus)}.pag-current a,.pag-current a:hover{color:var(--color-focus)}.title-sub,.post-meta{color:var(--color-mute)}header,.page-info{border-bottom:2px solid var(--color-divider)}.post+.post,.pagination,footer{border-top:2px solid var(--color-divider)}.post-meta-archive{color:var(--color-mute)}.post-meta-archive a{color:var(--color-secondary)}.post-meta-archive a:hover{color:var(--color-focus)}@media screen and (max-width: 768px){.sidebar{border-top:2px solid var(--color-divider)}}.post-content a{color:var(--color-secondary)}.post-content a:hover{color:var(--color-focus)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--color-primary)}.markdown-body strong,.markdown-body em{color:var(--color-secondary)}.markdown-body h1,.markdown-body h2{border-bottom:2px solid var(--color-divider)}.markdown-body blockquote{color:var(--color-mute)}.markdown-body img{border-radius:2px;background-color:inherit}.markdown-body hr{height:2px}.markdown-body pre,.markdown-body code{background-color:var(--color-codebg)}.post-loading{border-top:2px solid var(--color-divider)}.post-comment{border-top:2px solid var(--color-divider)}.post-comment span.post-comment-notloaded{padding:1.5rem 0;color:var(--color-secondary);cursor:pointer}.post-comment span.post-comment-notloaded:hover{color:var(--color-focus)}.btn div{background-color:var(--color-divider);color:var(--color-primary)}.btn div:hover{background-color:var(--color-primary);color:var(--color-divider)}.btn div+div{border-top:2px solid var(--color-bg)}code[class*='language-'],pre[class*='language-']{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:0.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:600}.token.italic{font-style:italic}pre .rule,code .rule{margin:0;border-bottom:none;overflow:inherit}pre .rule::before,pre .rule::after,code .rule::before,code .rule::after{display:inherit;clear:inherit}#dsqjs a{text-decoration:none !important;color:var(--color-secondary) !important}#dsqjs a:hover{color:var(--color-focus) !important}#dsqjs .dsqjs-bullet::after{color:var(--color-mute) !important;font-weight:600 !important}#dsqjs .dsqjs-no-comment{color:var(--color-font) !important}#dsqjs .dsqjs-nav-tab{color:var(--color-mute) !important}#dsqjs .dsqjs-tab-active{color:var(--color-font) !important}#dsqjs .dsqjs-tab-active>span:after{background-color:var(--color-secondary) !important}#dsqjs .dsqjs-post-list .dsqjs-post-avatar{background:var(--color-bg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-post-author{color:var(--color-mute) !important;font-weight:600}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-admin-badge{color:var(--color-font) !important;background:var(--color-codebg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-meta{color:var(--color-mute) !important}#dsqjs .dsqjs-post-body{color:var(--color-font) !important}#dsqjs .dsqjs-post-body code,#dsqjs .dsqjs-post-body pre{background:var(--color-codebg) !important}#dsqjs .dsqjs-post-body blockquote{color:var(--color-codebg) !important;border-left:0.25em solid var(--color-divider) !important}#dsqjs .dsqjs-load-more{background:var(--color-mute) !important;color:var(--color-bg) !important}#dsqjs footer{border-top:2px solid var(--color-divider) !important;font-weight:600 !important;color:var(--color-mute) !important}#dsqjs .dsqjs-order-radio:checked+.dsqjs-order-label{color:var(--color-font) !important;background-color:var(--color-divider) !important}#dsqjs .dsqjs-order-label{background-color:var(--color-bg) !important}#dsqjs p.dsqjs-has-more a.dsqjs-has-more-btn{color:var(--color-mute) !important}.search-result-info{border-bottom:2px solid var(--color-divider)}.search-input{border-top:2px solid;border-left:2px solid;border-bottom:2px solid;border-right:none;border-radius:0.25rem;border-color:var(--color-divider);background-color:var(--color-bg)}.search-input:hover,.search-input:focus-within{color:var(--color-primary);border-color:var(--color-primary)}.search-input input{outline:none;border:none;color:inherit;background-color:inherit}.search-input button{outline:none;border-top:2px solid;border-left:none;border-right:2px solid;border-bottom:2px solid;border-radius:0 0.25rem 0.25rem 0;border-color:inherit;color:inherit;background-color:inherit}.search-input button:hover{color:var(--color-secondary)}.image-wrapper{position:relative;display:block;width:100%;height:0;overflow:hidden;background-color:var(--color-divider);border-radius:3px;max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.image-wrapper img{display:block;width:100%;max-width:100%;margin:0;overflow:hidden}.ratio-40x9{padding-bottom:22.5%}.ratio-32x9{padding-bottom:28.125%}.ratio-21x9{padding-bottom:42.85714286%}.ratio-18x9{padding-bottom:50%}.ratio-16x9{padding-bottom:56.25%}.ratio-16x10{padding-bottom:62.5%}.ratio-3x2{padding-bottom:66.66666667%}.ratio-4x3{padding-bottom:75%}.ratio-1x1{padding-bottom:100%}.ratio-3x4{padding-bottom:133.33333333%}.ratio-2x3{padding-bottom:150%}.ratio-10x16{padding-bottom:160%}.ratio-9x16{padding-bottom:177.77777778%}.ratio-9x18{padding-bottom:200%}.ratio-9x21{padding-bottom:233.33333333%}.ratio-9x32{padding-bottom:355.55555556%} diff --git a/layouts/404.html b/layouts/404.html index ee8fb79..8fe8176 100644 --- a/layouts/404.html +++ b/layouts/404.html @@ -2,4 +2,4 @@ <div class="404-not-found" style="font-size: 2rem; padding-top: 1.5rem;"> <span>404 NOT FOUND</span> </div> -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index c6a64e5..ac7b70f 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -5,7 +5,10 @@ {{ partial "head.html" . }} </head> -<body data-theme="auto"> +<body + data-theme="{{- if .Site.Params.defaultTheme -}}{{ .Site.Params.defaultTheme }}{{- else -}}auto{{- end -}}" + data-theme-auto='{{- if ne .Site.Params.defaultTheme "auto" -}}false{{- else -}}true{{- end -}}' + > {{ partial "scripts-front.html" . }} {{ partial "header.html" . }} @@ -24,4 +27,4 @@ {{ partial "scripts-end.html" . }} </body> -</html>
\ No newline at end of file +</html> diff --git a/layouts/_default/search.html b/layouts/_default/search.html index a2cdd4f..88c7021 100644 --- a/layouts/_default/search.html +++ b/layouts/_default/search.html @@ -36,4 +36,4 @@ </div> {{ "<% } %>" | safeHTML }} </script> -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/layouts/_default/single.html b/layouts/_default/single.html index cd2bd48..54b6934 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -28,4 +28,4 @@ {{ else if and (.Site.Params.utterancesRepo) (ne .Params.showComments false) }} {{ partial "comment-utterances.html" . }} {{ else }}{{ end }} -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/layouts/partials/analytic-cfga.html b/layouts/partials/analytic-cfga.html index d1e52af..fa93ede 100644 --- a/layouts/partials/analytic-cfga.html +++ b/layouts/partials/analytic-cfga.html @@ -4,4 +4,4 @@ window.ga_api = '{{ .Site.Params.googleAnalyticsRoute }}'; </script> <script async src="https://cdn.jsdelivr.net/npm/cfga@1.0.3/cfga.min.js"></script> -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/layouts/partials/analytic-gtag.html b/layouts/partials/analytic-gtag.html index f851745..d39e550 100644 --- a/layouts/partials/analytic-gtag.html +++ b/layouts/partials/analytic-gtag.html @@ -10,4 +10,4 @@ gtag('config', '{{ . }}'); </script> <script async src="https://www.googletagmanager.com/gtag/js?id={{ . }}"></script> -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/layouts/partials/comment-disqus.html b/layouts/partials/comment-disqus.html index 32ecc5d..625c203 100644 --- a/layouts/partials/comment-disqus.html +++ b/layouts/partials/comment-disqus.html @@ -18,4 +18,4 @@ document.querySelector('span.post-comment-notloaded').setAttribute('style', 'display: none;'); } </script> -</div>
\ No newline at end of file +</div> diff --git a/layouts/partials/comment-disqusjs.html b/layouts/partials/comment-disqusjs.html index 76bc099..18d1d82 100644 --- a/layouts/partials/comment-disqusjs.html +++ b/layouts/partials/comment-disqusjs.html @@ -3,7 +3,7 @@ <i class="iconfont icon-chatbox-ellipses-sharp"></i> {{ i18n "postComment" }} </span> <div id="disqus_thread" style="display: none;"></div> - <script src="https://cdn.jsdelivr.net/npm/disqusjs@1.3/dist/disqus.js"></script> + <script src="https://cdn.jsdelivr.net/npm/disqusjs@1.3.0/dist/disqus.js"></script> <script> function loadComment() { document.querySelector('#disqus_thread').removeAttribute('style'); @@ -19,4 +19,4 @@ document.querySelector('span.post-comment-notloaded').setAttribute('style', 'display: none;'); } </script> -</div>
\ No newline at end of file +</div> diff --git a/layouts/partials/favicon.html b/layouts/partials/favicon.html index 3dabd7d..87d5215 100644 --- a/layouts/partials/favicon.html +++ b/layouts/partials/favicon.html @@ -1 +1 @@ -<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn@1/images/favicons/dsrca/favicon.ico" /> +<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn-main@1/images/favicons/dsrca.ico" /> diff --git a/layouts/partials/head.html b/layouts/partials/head.html index c9f194a..7dedc44 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -43,7 +43,7 @@ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer@1.10.1/dist/APlayer.min.css" /> {{ end }} {{ if .Site.Params.useDisqusJS }} -<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/disqusjs@1.3/dist/disqusjs.css" /> +<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/disqusjs@1.3.0/dist/disqusjs.css" /> {{ end }} {{ partial "analytic-gtag.html" . }} -{{ partial "analytic-cfga.html" . }}
\ No newline at end of file +{{ partial "analytic-cfga.html" . }} diff --git a/layouts/partials/math.html b/layouts/partials/math.html index 79be746..90409a8 100644 --- a/layouts/partials/math.html +++ b/layouts/partials/math.html @@ -1,7 +1,7 @@ -<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css" /> -<script defer src="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.js"></script> +<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.13.11/dist/katex.min.css" /> +<script defer src="https://cdn.jsdelivr.net/npm/katex@0.13.11/dist/katex.min.js"></script> <script defer - src="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/contrib/auto-render.min.js" + src="https://cdn.jsdelivr.net/npm/katex@0.13.11/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);" ></script> diff --git a/layouts/partials/scripts-end.html b/layouts/partials/scripts-end.html index 82388cf..11329ef 100644 --- a/layouts/partials/scripts-end.html +++ b/layouts/partials/scripts-end.html @@ -4,7 +4,7 @@ {{ else if eq .Section "archives" }} {{ else }} <script defer src="https://cdn.jsdelivr.net/npm/medium-zoom@1.0.6/dist/medium-zoom.min.js"></script> -<script defer src="https://cdn.jsdelivr.net/npm/lazysizes@5.3.0/lazysizes.min.js"></script> +<script defer src="https://cdn.jsdelivr.net/npm/lazysizes@5.3.2/lazysizes.min.js"></script> <script defer src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/components/prism-core.min.js"></script> <script defer src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/autoloader/prism-autoloader.min.js"></script> {{ end }} @@ -61,4 +61,4 @@ } }); </script> -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/layouts/partials/scripts-front.html b/layouts/partials/scripts-front.html index c802702..c28912a 100644 --- a/layouts/partials/scripts-front.html +++ b/layouts/partials/scripts-front.html @@ -10,4 +10,4 @@ document.body.setAttribute('data-theme', fujiThemeData === 'dark' ? 'dark' : 'light'); } } -</script>
\ No newline at end of file +</script> diff --git a/layouts/partials/sidebar.html b/layouts/partials/sidebar.html index 1d6ae92..d0d0db9 100644 --- a/layouts/partials/sidebar.html +++ b/layouts/partials/sidebar.html @@ -48,8 +48,8 @@ <div class="sidebar-item sidebar-bgm"> <h3>{{ i18n "sidebarBangumiChart" }}</h3> <img class="lazyload" src="{{ $.Site.Params.lazyPlaceholder | relURL }}" - data-src="https://bgm.tv/chart/img/{{ . }}" alt="Bangumi 图像榜单" /> + data-src="https://bgm.tv/chart/img/{{ . }}" alt="Bangumi" /> </div> {{ end }} {{ end }} -</aside>
\ No newline at end of file +</aside> diff --git a/layouts/partials/styles.html b/layouts/partials/styles.html index cc6d930..5e8fd34 100644 --- a/layouts/partials/styles.html +++ b/layouts/partials/styles.html @@ -10,4 +10,4 @@ filter: brightness(60%); } </style> -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/layouts/shortcodes/aplayer.html b/layouts/shortcodes/aplayer.html index ac56aaa..37ed544 100644 --- a/layouts/shortcodes/aplayer.html +++ b/layouts/shortcodes/aplayer.html @@ -6,4 +6,4 @@ {{ with .Get "artists" -}}data-artists="{{- . -}}"{{- end }} {{ with .Get "covers" -}}data-covers="{{- . -}}"{{- end }} ></div> -</div>
\ No newline at end of file +</div> diff --git a/layouts/shortcodes/img-lazy.html b/layouts/shortcodes/img-lazy.html index eed9b0e..9b3513f 100644 --- a/layouts/shortcodes/img-lazy.html +++ b/layouts/shortcodes/img-lazy.html @@ -2,4 +2,4 @@ <p><div class="image-wrapper ratio-{{ index .Params 0 }}"> <img class="lazyload img-zoomable" data-src="{{ index .Params 2 | relURL | safeURL }}" alt="{{ index .Params 1 }}" /> </div></p> -{{- end -}}
\ No newline at end of file +{{- end -}} diff --git a/layouts/shortcodes/img-nz-lazy.html b/layouts/shortcodes/img-nz-lazy.html index bba88b6..54a2f8b 100644 --- a/layouts/shortcodes/img-nz-lazy.html +++ b/layouts/shortcodes/img-nz-lazy.html @@ -2,4 +2,4 @@ <p><div class="image-wrapper ratio-{{ index .Params 0 }}"> <img class="lazyload" data-src="{{ index .Params 2 | relURL | safeURL }}" alt="{{ index .Params 1 }}" /> </div></p> -{{- end -}}
\ No newline at end of file +{{- end -}} diff --git a/layouts/shortcodes/img-nz.html b/layouts/shortcodes/img-nz.html index 175dc5b..0033b14 100644 --- a/layouts/shortcodes/img-nz.html +++ b/layouts/shortcodes/img-nz.html @@ -2,4 +2,4 @@ <p> <img src="{{ index .Params 1 | relURL | safeURL }}" alt="{{ index .Params 0 }}" /> </p> -{{- end -}}
\ No newline at end of file +{{- end -}} diff --git a/layouts/shortcodes/math.html b/layouts/shortcodes/math.html index 3fcdaa7..16aadce 100644 --- a/layouts/shortcodes/math.html +++ b/layouts/shortcodes/math.html @@ -2,4 +2,4 @@ \( {{- trim .Inner "\n" -}} \) {{ else }} $$ {{- trim .Inner "\n" -}} $$ -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/layouts/shortcodes/table-dense.html b/layouts/shortcodes/table-dense.html index 6c77418..d5666a8 100644 --- a/layouts/shortcodes/table-dense.html +++ b/layouts/shortcodes/table-dense.html @@ -1,3 +1,3 @@ {{ $htmlTable := .Inner | markdownify }} {{ $htmlTable := replace $htmlTable "<table>" "<table class=\"table-dense\">" }} -{{ $htmlTable | safeHTML }}
\ No newline at end of file +{{ $htmlTable | safeHTML }} diff --git a/package.json b/package.json index 66d1af5..447e1a9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hugo-theme-fuji", - "version": "2.6.0", + "version": "2.7.0", "description": "A minimal Hugo theme with nice theme color. | 一个主题色极简 Hugo 主题。", "repository": { "type": "git", @@ -18,6 +18,6 @@ }, "homepage": "https://github.com/dsrkafuu/hugo-theme-fuji#readme", "dependencies": { - "@primer/css": "15.1.0" + "@primer/css": "17.2.1" } } diff --git a/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content b/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content index be3e6fa..ac40ab5 100644 --- a/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content +++ b/resources/_gen/assets/scss/scss/fuji.scss_c63600327b20d2d8975b827d4bd1220e.content @@ -1 +1 @@ -@font-face{font-family:'Product Sans';font-style:normal;font-weight:700;font-display:swap;src:local("Product Sans Bold"),local("ProductSans-Bold"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/product-sans/product-sans-bold.woff2") format("woff2")}@font-face{font-family:'Cascadia Code';font-style:normal;font-display:swap;src:local("Cascadia Code Regular"),url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@2/cascadia-code/cascadia-code.woff2") format("woff2")}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{display:flex;flex-direction:column;height:100%;scroll-behavior:smooth}main{flex:1 1 auto}.container-lg{display:flex;flex-direction:row}@media screen and (max-width: 768px){.container-lg{flex-direction:column}}a:hover{text-decoration:none !important}/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none !important}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background-color:#ff0;color:#1b1f23}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:600}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:0.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*{box-sizing:border-box}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;color:#24292e;background-color:#fff}a{color:#0366d6;text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:600}hr,.rule{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid #dfe2e5}hr::before,.rule::before{display:table;content:""}hr::after,.rule::after{display:table;clear:both;content:""}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}button{cursor:pointer;border-radius:0}[hidden][hidden]{display:none !important}details summary{cursor:pointer}details:not([open])>*:not(summary){display:none !important}kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0}h1{font-size:32px;font-weight:600}h2{font-size:24px;font-weight:600}h3{font-size:20px;font-weight:600}h4{font-size:16px;font-weight:600}h5{font-size:14px;font-weight:600}h6{font-size:12px;font-weight:600}p{margin-top:0;margin-bottom:10px}small{font-size:90%}blockquote{margin:0}ul,ol{padding-left:0;margin-top:0;margin-bottom:0}ol ol,ul ol{list-style-type:lower-roman}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}dd{margin-left:0}tt,code{font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}pre{margin-top:0;margin-bottom:0;font-family:"Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}.octicon{vertical-align:text-bottom}.container-sm{max-width:544px;margin-right:auto;margin-left:auto}.container-md{max-width:768px;margin-right:auto;margin-left:auto}.container-lg{max-width:1012px;margin-right:auto;margin-left:auto}.container-xl{max-width:1280px;margin-right:auto;margin-left:auto}.col-1{width:8.33333333%}.col-2{width:16.66666667%}.col-3{width:25%}.col-4{width:33.33333333%}.col-5{width:41.66666667%}.col-6{width:50%}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{width:75%}.col-10{width:83.33333333%}.col-11{width:91.66666667%}.col-12{width:100%}@media (min-width: 544px){.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}}@media (min-width: 768px){.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}}@media (min-width: 1012px){.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}}@media (min-width: 1280px){.col-xl-1{width:8.33333333%}.col-xl-2{width:16.66666667%}.col-xl-3{width:25%}.col-xl-4{width:33.33333333%}.col-xl-5{width:41.66666667%}.col-xl-6{width:50%}.col-xl-7{width:58.33333333%}.col-xl-8{width:66.66666667%}.col-xl-9{width:75%}.col-xl-10{width:83.33333333%}.col-xl-11{width:91.66666667%}.col-xl-12{width:100%}}.gutter{margin-right:-16px;margin-left:-16px}.gutter>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-condensed{margin-right:-8px;margin-left:-8px}.gutter-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-spacious{margin-right:-24px;margin-left:-24px}.gutter-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}@media (min-width: 544px){.gutter-sm{margin-right:-16px;margin-left:-16px}.gutter-sm>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-sm-condensed{margin-right:-8px;margin-left:-8px}.gutter-sm-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-sm-spacious{margin-right:-24px;margin-left:-24px}.gutter-sm-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 768px){.gutter-md{margin-right:-16px;margin-left:-16px}.gutter-md>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-md-condensed{margin-right:-8px;margin-left:-8px}.gutter-md-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-md-spacious{margin-right:-24px;margin-left:-24px}.gutter-md-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1012px){.gutter-lg{margin-right:-16px;margin-left:-16px}.gutter-lg>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-lg-condensed{margin-right:-8px;margin-left:-8px}.gutter-lg-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-lg-spacious{margin-right:-24px;margin-left:-24px}.gutter-lg-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1280px){.gutter-xl{margin-right:-16px;margin-left:-16px}.gutter-xl>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-xl-condensed{margin-right:-8px;margin-left:-8px}.gutter-xl-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-xl-spacious{margin-right:-24px;margin-left:-24px}.gutter-xl-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px "Cascadia Code","SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#d1d5da;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d5da}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#cb2431}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.markdown-body blockquote{padding:0 1em;color:#6a737d;border-left:0.25em solid #dfe2e5}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}.markdown-body h1{padding-bottom:0.3em;font-size:2em;border-bottom:1px solid #eaecef}.markdown-body h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eaecef}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:0.875em}.markdown-body h6{font-size:0.85em;color:#6a737d}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table:not(.highlight){display:block;width:100%;width:max-content;max-width:100%;overflow:auto}.markdown-body table:not(.highlight) th{font-weight:600}.markdown-body table:not(.highlight) th,.markdown-body table:not(.highlight) td{padding:6px 13px;border:1px solid #dfe2e5}.markdown-body table:not(.highlight) tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table:not(.highlight) tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table:not(.highlight) img{background-color:transparent}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #dfe2e5}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#24292e}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}@media (min-width: 544px){.position-sm-static{position:static !important}.position-sm-relative{position:relative !important}.position-sm-absolute{position:absolute !important}.position-sm-fixed{position:fixed !important}.position-sm-sticky{position:sticky !important}}@media (min-width: 768px){.position-md-static{position:static !important}.position-md-relative{position:relative !important}.position-md-absolute{position:absolute !important}.position-md-fixed{position:fixed !important}.position-md-sticky{position:sticky !important}}@media (min-width: 1012px){.position-lg-static{position:static !important}.position-lg-relative{position:relative !important}.position-lg-absolute{position:absolute !important}.position-lg-fixed{position:fixed !important}.position-lg-sticky{position:sticky !important}}@media (min-width: 1280px){.position-xl-static{position:static !important}.position-xl-relative{position:relative !important}.position-xl-absolute{position:absolute !important}.position-xl-fixed{position:fixed !important}.position-xl-sticky{position:sticky !important}}.top-0{top:0 !important}.right-0{right:0 !important}.bottom-0{bottom:0 !important}.left-0{left:0 !important}.v-align-middle{vertical-align:middle !important}.v-align-top{vertical-align:top !important}.v-align-bottom{vertical-align:bottom !important}.v-align-text-top{vertical-align:text-top !important}.v-align-text-bottom{vertical-align:text-bottom !important}.v-align-baseline{vertical-align:baseline !important}.overflow-visible{overflow:visible !important}.overflow-x-visible{overflow-x:visible !important}.overflow-y-visible{overflow-y:visible !important}.overflow-hidden{overflow:hidden !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-auto{overflow:auto !important}.overflow-x-auto{overflow-x:auto !important}.overflow-y-auto{overflow-y:auto !important}.overflow-scroll{overflow:scroll !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-scroll{overflow-y:scroll !important}.clearfix::before{display:table;content:""}.clearfix::after{display:table;clear:both;content:""}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 544px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 1012px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1280px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.width-fit{max-width:100% !important}.width-full{width:100% !important}.height-fit{max-height:100% !important}.height-full{height:100% !important}.min-width-0{min-width:0 !important}.width-auto{width:auto !important}.direction-rtl{direction:rtl !important}.direction-ltr{direction:ltr !important}@media (min-width: 544px){.width-sm-auto{width:auto !important}.direction-sm-rtl{direction:rtl !important}.direction-sm-ltr{direction:ltr !important}}@media (min-width: 768px){.width-md-auto{width:auto !important}.direction-md-rtl{direction:rtl !important}.direction-md-ltr{direction:ltr !important}}@media (min-width: 1012px){.width-lg-auto{width:auto !important}.direction-lg-rtl{direction:rtl !important}.direction-lg-ltr{direction:ltr !important}}@media (min-width: 1280px){.width-xl-auto{width:auto !important}.direction-xl-rtl{direction:rtl !important}.direction-xl-ltr{direction:ltr !important}}@font-face{font-family:'iconfont';src:url("../iconfont/iconfont.woff2") format("woff2"),url("../iconfont/iconfont.woff") format("woff"),url("../iconfont/iconfont.ttf") format("truetype"),url("../iconfont/iconfont.svg") format("svg")}.iconfont{font-family:'iconfont' !important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-grid-sharp:before{content:'\e612'}.icon-search-circle-sharp:before{content:'\e60c'}.icon-chevron-back-circle-sharp:before{content:'\e608'}.icon-caret-back-circle-sharp:before{content:'\e609'}.icon-chevron-forward-circle-sharp:before{content:'\e60a'}.icon-caret-forward-circle-sharp:before{content:'\e60b'}.icon-today-sharp:before{content:'\e607'}.icon-chevron-up-circle-sharp:before{content:'\e606'}.icon-contrast-sharp:before{content:'\e601'}.icon-file-tray-sharp:before{content:'\e602'}.icon-pricetags-sharp:before{content:'\e603'}.icon-chatbox-ellipses-sharp:before{content:'\e604'}.icon-time-sharp:before{content:'\e605'}header .header{padding:1.75rem 1.5rem 2rem 1.5rem}header .title-main{font-size:2.5rem;font-family:"Product Sans",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-weight:700;white-space:nowrap}header .title-sub{margin:0 0.1rem;display:block;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}header .title-sub::-webkit-scrollbar{display:none}.content{padding:1.5rem 1.5rem 0 1.5rem}.post:not(:first-child){padding:1.5rem 0}.post:first-child{padding:0 0 1.5rem 0}.post-title{font-size:1.75rem}.post-meta{display:flex;align-items:center;margin:0.5rem 0.1rem 1rem 0.1rem;flex-wrap:wrap}.post-meta span{display:flex;align-items:center}.post-meta span:not(:last-child){padding-right:1.5rem}.post-summary{margin:0 0.1rem}.post-summary p:last-child{margin-bottom:0}.post-summary h1,.post-summary h2,.post-summary h3,.post-summary h4,.post-summary h5,.post-summary h6{display:none}.post-meta-archive{display:flex;align-items:center;margin:0.5rem 0.1rem 0 0.1rem;flex-wrap:wrap}.post-meta-archive span{display:flex;align-items:center}.post-meta-archive span:not(:last-child){padding-right:1.5rem}.pagination{display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1.25rem;padding:1.25rem 0}.pagination div{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.pagination div a{display:flex;align-items:center}.page-info{padding:0 0.1rem 1.5rem 0.1rem}article{padding-bottom:1.5rem}article .post-content{margin:1.25rem 0.1rem 0 0.1rem}.license{margin-bottom:1.5rem}.post-loading{margin:0 0 1.5rem 0;padding-top:1.5rem;text-align:center}.post-loading i{font-size:1.25rem}.post-loading p{margin:0.5rem 0 0 0}.markdown-body h1{font-size:1.75rem;margin-top:1.5rem}.markdown-body h2{font-size:1.5rem;margin-top:1.375rem}.markdown-body h3{font-size:1.25rem;margin-top:1.25rem}.markdown-body h4{margin-top:1.25rem}.markdown-body ul{list-style-type:circle}.markdown-body img{max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.markdown-body .table-dense{font-size:0.875rem}.markdown-body .table-dense td,.markdown-body .table-dense th{padding:4px 8px !important}.post-comment span.post-comment-notloaded{display:flex;align-items:center;justify-content:center}#disqus_thread{padding:1.25rem 0}#search-result .post:first-child{padding:1.5rem 0}.search-result-info{padding:1rem 0.1rem}.search-input{display:flex;height:2.5rem;align-items:center;padding-left:0.5rem;width:100%}.search-input input{width:100%;min-width:0;flex:1 1 auto;height:2rem}.search-input button{flex:0 1 auto;padding:0 0.5rem;word-break:keep-all;height:2.5rem}.search-input button:hover i{color:var(--color-primary)}.search-input button i{color:var(--color-mute);height:100%;font-size:1.6rem}.sidebar{padding:1.5rem 1.5rem 1.5rem 0}.sidebar-item:not(:last-child){margin-bottom:1rem}.sidebar-item h3{margin-bottom:0.25rem}.sidebar-item ul{list-style-type:none;margin:0 0.1rem}.sidebar-item>div,.sidebar-item>nav{margin:0 0.1rem}.sidebar-item>img{margin:0.5rem 0.25rem 0 0.25rem;width:100%;border-radius:2px}@media screen and (max-width: 768px){.sidebar{display:none !important}}@media screen and (max-width: 768px){.sidebar-mobile{width:70%;position:fixed;top:0;right:0;bottom:0%;background-color:var(--color-codebg);z-index:50;overflow:auto;display:flex;flex-direction:column-reverse}.sidebar-mobile .sidebar-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:space-around;margin:1.5rem 4.25rem 1.5rem 1.5rem}.sidebar-mobile .sidebar-item{width:90%;text-align:right;margin-top:1rem}.sidebar-mobile .sidebar-item:last-child{margin-top:0}}@media screen and (min-width: 768px){.sidebar-toc{position:sticky;top:1rem}.sidebar-toc ul ul{font-size:0.875rem;padding-left:0.5rem;margin-bottom:0.25rem}.sidebar-toc #TableOfContents{max-height:32rem;overflow:auto;scrollbar-width:thin}}footer .footer{padding:2rem 1.5rem;text-align:center}footer .footer i{font-size:0.875rem}.btn{position:fixed;right:1.5rem;bottom:1.5rem;width:2.5rem;display:flex;justify-content:space-between;flex-direction:column;z-index:100}.btn div{flex:0 1 auto;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem}.btn div:first-child{border-radius:0.25rem 0.25rem 0 0;font-size:1.125rem}.btn div:last-child{border-radius:0 0 0.25rem 0.25rem;font-size:1.325rem}@media screen and (min-width: 768px){.btn div:first-child{display:none}.btn div:nth-child(2){border-radius:0.25rem 0.25rem 0 0}}.post-player-wrapper{margin:0.25rem 0.125rem 1rem 0.125rem !important;font-family:inherit !important}.post-player{font-family:inherit !important}.post-summary .post-player-wrapper{display:none}body[data-theme='auto']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}@media (prefers-color-scheme: dark){body[data-theme='auto']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='auto'] table:not(.highlight) th,body[data-theme='auto'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='auto'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}}body[data-theme='light']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}body[data-theme='dark']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='dark'] table:not(.highlight) th,body[data-theme='dark'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='dark'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}::selection,::-moz-selection{color:var(--color-bg);background-color:var(--color-primary)}body{background-color:var(--color-bg);color:var(--color-font)}body a{color:var(--color-primary)}body a:hover{color:var(--color-secondary)}.post-summary a,.post-meta a{color:var(--color-secondary)}.post-summary a:hover,.post-meta a:hover{color:var(--color-focus)}.pag-current a,.pag-current a:hover{color:var(--color-focus)}.title-sub,.post-meta{color:var(--color-mute)}header,.page-info{border-bottom:2px solid var(--color-divider)}.post+.post,.pagination,footer{border-top:2px solid var(--color-divider)}.post-meta-archive{color:var(--color-mute)}.post-meta-archive a{color:var(--color-secondary)}.post-meta-archive a:hover{color:var(--color-focus)}@media screen and (max-width: 768px){.sidebar{border-top:2px solid var(--color-divider)}}.post-content a{color:var(--color-secondary)}.post-content a:hover{color:var(--color-focus)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--color-primary)}.markdown-body strong,.markdown-body em{color:var(--color-secondary)}.markdown-body h1,.markdown-body h2{border-bottom:2px solid var(--color-divider)}.markdown-body blockquote{color:var(--color-mute)}.markdown-body img{border-radius:2px;background-color:inherit}.markdown-body hr{height:2px}.markdown-body pre,.markdown-body code{background-color:var(--color-codebg)}.post-loading{border-top:2px solid var(--color-divider)}.post-comment{border-top:2px solid var(--color-divider)}.post-comment span.post-comment-notloaded{padding:1.5rem 0;color:var(--color-secondary);cursor:pointer}.post-comment span.post-comment-notloaded:hover{color:var(--color-focus)}.btn div{background-color:var(--color-divider);color:var(--color-primary)}.btn div:hover{background-color:var(--color-primary);color:var(--color-divider)}.btn div+div{border-top:2px solid var(--color-bg)}code[class*='language-'],pre[class*='language-']{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:0.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:600}.token.italic{font-style:italic}pre .rule,code .rule{margin:0;border-bottom:none;overflow:inherit}pre .rule::before,pre .rule::after,code .rule::before,code .rule::after{display:inherit;clear:inherit}#dsqjs a{text-decoration:none !important;color:var(--color-secondary) !important}#dsqjs a:hover{color:var(--color-focus) !important}#dsqjs .dsqjs-bullet::after{color:var(--color-mute) !important;font-weight:600 !important}#dsqjs .dsqjs-no-comment{color:var(--color-font) !important}#dsqjs .dsqjs-nav-tab{color:var(--color-mute) !important}#dsqjs .dsqjs-tab-active{color:var(--color-font) !important}#dsqjs .dsqjs-tab-active>span:after{background-color:var(--color-secondary) !important}#dsqjs .dsqjs-post-list .dsqjs-post-avatar{background:var(--color-bg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-post-author{color:var(--color-mute) !important;font-weight:600}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-admin-badge{color:var(--color-font) !important;background:var(--color-codebg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-meta{color:var(--color-mute) !important}#dsqjs .dsqjs-post-body{color:var(--color-font) !important}#dsqjs .dsqjs-post-body code,#dsqjs .dsqjs-post-body pre{background:var(--color-codebg) !important}#dsqjs .dsqjs-post-body blockquote{color:var(--color-codebg) !important;border-left:0.25em solid var(--color-divider) !important}#dsqjs .dsqjs-load-more{background:var(--color-mute) !important;color:var(--color-bg) !important}#dsqjs footer{border-top:2px solid var(--color-divider) !important;font-weight:600 !important;color:var(--color-mute) !important}#dsqjs .dsqjs-order-radio:checked+.dsqjs-order-label{color:var(--color-font) !important;background-color:var(--color-divider) !important}#dsqjs .dsqjs-order-label{background-color:var(--color-bg) !important}#dsqjs p.dsqjs-has-more a.dsqjs-has-more-btn{color:var(--color-mute) !important}.search-result-info{border-bottom:2px solid var(--color-divider)}.search-input{border-top:2px solid;border-left:2px solid;border-bottom:2px solid;border-right:none;border-radius:0.25rem;border-color:var(--color-divider);background-color:var(--color-bg)}.search-input:hover,.search-input:focus-within{color:var(--color-primary);border-color:var(--color-primary)}.search-input input{outline:none;border:none;color:inherit;background-color:inherit}.search-input button{outline:none;border-top:2px solid;border-left:none;border-right:2px solid;border-bottom:2px solid;border-radius:0 0.25rem 0.25rem 0;border-color:inherit;color:inherit;background-color:inherit}.search-input button:hover{color:var(--color-secondary)}.image-wrapper{position:relative;display:block;width:100%;height:0;overflow:hidden;background-color:var(--color-divider);border-radius:3px;max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.image-wrapper img{display:block;width:100%;max-width:100%;margin:0;overflow:hidden}.ratio-40x9{padding-bottom:22.5%}.ratio-32x9{padding-bottom:28.125%}.ratio-21x9{padding-bottom:42.85714286%}.ratio-18x9{padding-bottom:50%}.ratio-16x9{padding-bottom:56.25%}.ratio-16x10{padding-bottom:62.5%}.ratio-3x2{padding-bottom:66.66666667%}.ratio-4x3{padding-bottom:75%}.ratio-1x1{padding-bottom:100%}.ratio-3x4{padding-bottom:133.33333333%}.ratio-2x3{padding-bottom:150%}.ratio-10x16{padding-bottom:160%}.ratio-9x16{padding-bottom:177.77777778%}.ratio-9x18{padding-bottom:200%}.ratio-9x21{padding-bottom:233.33333333%}.ratio-9x32{padding-bottom:355.55555556%} +@font-face{font-family:'Product Sans';font-style:normal;font-display:swap;font-weight:700;src:url("https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn-main@1/fonts/product_sans/product_sans_700.woff2") format("woff2")}@font-face{font-family:'Fira Code';font-style:normal;font-display:swap;font-weight:400;src:url("https://cdn.jsdelivr.net/gh/dsrkafuu/dsr-cdn-main@1/fonts/fira_code/fira_code_400.woff2") format("woff2")}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{display:flex;flex-direction:column;height:100%;scroll-behavior:smooth}main{flex:1 1 auto}.container-lg{display:flex;flex-direction:row}@media screen and (max-width: 768px){.container-lg{flex-direction:column}}a:hover{text-decoration:none !important}/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none !important}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background-color:#ff0;color:var(--color-text-primary)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:600}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:0.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*{box-sizing:border-box}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-canvas)}a{color:var(--color-text-link);text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:600}hr,.rule{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid var(--color-border-secondary)}hr::before,.rule::before{display:table;content:""}hr::after,.rule::after{display:table;clear:both;content:""}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}button{cursor:pointer;border-radius:0}[hidden][hidden]{display:none !important}details summary{cursor:pointer}details:not([open])>*:not(summary){display:none !important}kbd{display:inline-block;padding:3px 5px;font:11px "SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:var(--color-text-primary);vertical-align:middle;background-color:var(--color-bg-secondary);border:solid 1px var(--color-border-tertiary);border-bottom-color:var(--color-border-tertiary);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-border-tertiary)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0}h1{font-size:32px;font-weight:600}h2{font-size:24px;font-weight:600}h3{font-size:20px;font-weight:600}h4{font-size:16px;font-weight:600}h5{font-size:14px;font-weight:600}h6{font-size:12px;font-weight:600}p{margin-top:0;margin-bottom:10px}small{font-size:90%}blockquote{margin:0}ul,ol{padding-left:0;margin-top:0;margin-bottom:0}ol ol,ul ol{list-style-type:lower-roman}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}dd{margin-left:0}tt,code{font-family:"SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}pre{margin-top:0;margin-bottom:0;font-family:"SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;font-size:12px}.octicon{vertical-align:text-bottom}.container-sm{max-width:544px;margin-right:auto;margin-left:auto}.container-md{max-width:768px;margin-right:auto;margin-left:auto}.container-lg{max-width:1012px;margin-right:auto;margin-left:auto}.container-xl{max-width:1280px;margin-right:auto;margin-left:auto}.col-1{width:8.33333333%}.col-2{width:16.66666667%}.col-3{width:25%}.col-4{width:33.33333333%}.col-5{width:41.66666667%}.col-6{width:50%}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{width:75%}.col-10{width:83.33333333%}.col-11{width:91.66666667%}.col-12{width:100%}@media (min-width: 544px){.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}}@media (min-width: 768px){.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}}@media (min-width: 1012px){.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}}@media (min-width: 1280px){.col-xl-1{width:8.33333333%}.col-xl-2{width:16.66666667%}.col-xl-3{width:25%}.col-xl-4{width:33.33333333%}.col-xl-5{width:41.66666667%}.col-xl-6{width:50%}.col-xl-7{width:58.33333333%}.col-xl-8{width:66.66666667%}.col-xl-9{width:75%}.col-xl-10{width:83.33333333%}.col-xl-11{width:91.66666667%}.col-xl-12{width:100%}}.gutter{margin-right:-16px;margin-left:-16px}.gutter>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-condensed{margin-right:-8px;margin-left:-8px}.gutter-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-spacious{margin-right:-24px;margin-left:-24px}.gutter-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}@media (min-width: 544px){.gutter-sm{margin-right:-16px;margin-left:-16px}.gutter-sm>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-sm-condensed{margin-right:-8px;margin-left:-8px}.gutter-sm-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-sm-spacious{margin-right:-24px;margin-left:-24px}.gutter-sm-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 768px){.gutter-md{margin-right:-16px;margin-left:-16px}.gutter-md>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-md-condensed{margin-right:-8px;margin-left:-8px}.gutter-md-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-md-spacious{margin-right:-24px;margin-left:-24px}.gutter-md-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1012px){.gutter-lg{margin-right:-16px;margin-left:-16px}.gutter-lg>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-lg-condensed{margin-right:-8px;margin-left:-8px}.gutter-lg-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-lg-spacious{margin-right:-24px;margin-left:-24px}.gutter-lg-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}@media (min-width: 1280px){.gutter-xl{margin-right:-16px;margin-left:-16px}.gutter-xl>[class*="col-"]{padding-right:16px !important;padding-left:16px !important}.gutter-xl-condensed{margin-right:-8px;margin-left:-8px}.gutter-xl-condensed>[class*="col-"]{padding-right:8px !important;padding-left:8px !important}.gutter-xl-spacious{margin-right:-24px;margin-left:-24px}.gutter-xl-spacious>[class*="col-"]{padding-right:24px !important;padding-left:24px !important}}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px "SF Mono","Fira Code","Consolas",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Arial","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Source Han Sans CN","Source Han Sans SC","Microsoft YaHei","WenQuanYi Micro Hei",monospace;line-height:10px;color:var(--color-text-primary);vertical-align:middle;background-color:var(--color-bg-secondary);border:solid 1px var(--color-border-tertiary);border-bottom-color:var(--color-border-tertiary);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-border-tertiary)}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--color-text-danger)}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:var(--color-border-primary);border:0}.markdown-body blockquote{padding:0 1em;color:var(--color-text-tertiary);border-left:0.25em solid var(--color-markdown-blockquote-border)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--color-text-primary);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}.markdown-body h1{padding-bottom:0.3em;font-size:2em;border-bottom:1px solid var(--color-border-secondary)}.markdown-body h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid var(--color-border-secondary)}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:0.875em}.markdown-body h6{font-size:0.85em;color:var(--color-text-tertiary)}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body ol[type="a"]{list-style-type:lower-alpha}.markdown-body ol[type="i"]{list-style-type:lower-roman}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;width:max-content;max-width:100%;overflow:auto}.markdown-body table th{font-weight:600}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--color-markdown-table-border)}.markdown-body table tr{background-color:var(--color-bg-primary);border-top:1px solid var(--color-markdown-table-tr-border)}.markdown-body table tr:nth-child(2n){background-color:var(--color-bg-tertiary)}.markdown-body table img{background-color:transparent}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:var(--color-bg-primary)}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--color-markdown-frame-border)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--color-text-primary)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:var(--color-markdown-code-bg);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:var(--color-bg-tertiary);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:var(--color-bg-primary);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:var(--color-bg-tertiary);border-top:0}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}@media (min-width: 544px){.position-sm-static{position:static !important}.position-sm-relative{position:relative !important}.position-sm-absolute{position:absolute !important}.position-sm-fixed{position:fixed !important}.position-sm-sticky{position:sticky !important}}@media (min-width: 768px){.position-md-static{position:static !important}.position-md-relative{position:relative !important}.position-md-absolute{position:absolute !important}.position-md-fixed{position:fixed !important}.position-md-sticky{position:sticky !important}}@media (min-width: 1012px){.position-lg-static{position:static !important}.position-lg-relative{position:relative !important}.position-lg-absolute{position:absolute !important}.position-lg-fixed{position:fixed !important}.position-lg-sticky{position:sticky !important}}@media (min-width: 1280px){.position-xl-static{position:static !important}.position-xl-relative{position:relative !important}.position-xl-absolute{position:absolute !important}.position-xl-fixed{position:fixed !important}.position-xl-sticky{position:sticky !important}}.top-0{top:0 !important}.right-0{right:0 !important}.bottom-0{bottom:0 !important}.left-0{left:0 !important}.top-auto{top:auto !important}.right-auto{right:auto !important}.bottom-auto{bottom:auto !important}.left-auto{left:auto !important}@media (min-width: 544px){.top-sm-0{top:0 !important}.right-sm-0{right:0 !important}.bottom-sm-0{bottom:0 !important}.left-sm-0{left:0 !important}.top-sm-auto{top:auto !important}.right-sm-auto{right:auto !important}.bottom-sm-auto{bottom:auto !important}.left-sm-auto{left:auto !important}}@media (min-width: 768px){.top-md-0{top:0 !important}.right-md-0{right:0 !important}.bottom-md-0{bottom:0 !important}.left-md-0{left:0 !important}.top-md-auto{top:auto !important}.right-md-auto{right:auto !important}.bottom-md-auto{bottom:auto !important}.left-md-auto{left:auto !important}}@media (min-width: 1012px){.top-lg-0{top:0 !important}.right-lg-0{right:0 !important}.bottom-lg-0{bottom:0 !important}.left-lg-0{left:0 !important}.top-lg-auto{top:auto !important}.right-lg-auto{right:auto !important}.bottom-lg-auto{bottom:auto !important}.left-lg-auto{left:auto !important}}@media (min-width: 1280px){.top-xl-0{top:0 !important}.right-xl-0{right:0 !important}.bottom-xl-0{bottom:0 !important}.left-xl-0{left:0 !important}.top-xl-auto{top:auto !important}.right-xl-auto{right:auto !important}.bottom-xl-auto{bottom:auto !important}.left-xl-auto{left:auto !important}}.v-align-middle{vertical-align:middle !important}.v-align-top{vertical-align:top !important}.v-align-bottom{vertical-align:bottom !important}.v-align-text-top{vertical-align:text-top !important}.v-align-text-bottom{vertical-align:text-bottom !important}.v-align-baseline{vertical-align:baseline !important}.overflow-visible{overflow:visible !important}.overflow-x-visible{overflow-x:visible !important}.overflow-y-visible{overflow-y:visible !important}.overflow-hidden{overflow:hidden !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-auto{overflow:auto !important}.overflow-x-auto{overflow-x:auto !important}.overflow-y-auto{overflow-y:auto !important}.overflow-scroll{overflow:scroll !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-scroll{overflow-y:scroll !important}@media (min-width: 544px){.overflow-sm-visible{overflow:visible !important}.overflow-sm-x-visible{overflow-x:visible !important}.overflow-sm-y-visible{overflow-y:visible !important}.overflow-sm-hidden{overflow:hidden !important}.overflow-sm-x-hidden{overflow-x:hidden !important}.overflow-sm-y-hidden{overflow-y:hidden !important}.overflow-sm-auto{overflow:auto !important}.overflow-sm-x-auto{overflow-x:auto !important}.overflow-sm-y-auto{overflow-y:auto !important}.overflow-sm-scroll{overflow:scroll !important}.overflow-sm-x-scroll{overflow-x:scroll !important}.overflow-sm-y-scroll{overflow-y:scroll !important}}@media (min-width: 768px){.overflow-md-visible{overflow:visible !important}.overflow-md-x-visible{overflow-x:visible !important}.overflow-md-y-visible{overflow-y:visible !important}.overflow-md-hidden{overflow:hidden !important}.overflow-md-x-hidden{overflow-x:hidden !important}.overflow-md-y-hidden{overflow-y:hidden !important}.overflow-md-auto{overflow:auto !important}.overflow-md-x-auto{overflow-x:auto !important}.overflow-md-y-auto{overflow-y:auto !important}.overflow-md-scroll{overflow:scroll !important}.overflow-md-x-scroll{overflow-x:scroll !important}.overflow-md-y-scroll{overflow-y:scroll !important}}@media (min-width: 1012px){.overflow-lg-visible{overflow:visible !important}.overflow-lg-x-visible{overflow-x:visible !important}.overflow-lg-y-visible{overflow-y:visible !important}.overflow-lg-hidden{overflow:hidden !important}.overflow-lg-x-hidden{overflow-x:hidden !important}.overflow-lg-y-hidden{overflow-y:hidden !important}.overflow-lg-auto{overflow:auto !important}.overflow-lg-x-auto{overflow-x:auto !important}.overflow-lg-y-auto{overflow-y:auto !important}.overflow-lg-scroll{overflow:scroll !important}.overflow-lg-x-scroll{overflow-x:scroll !important}.overflow-lg-y-scroll{overflow-y:scroll !important}}@media (min-width: 1280px){.overflow-xl-visible{overflow:visible !important}.overflow-xl-x-visible{overflow-x:visible !important}.overflow-xl-y-visible{overflow-y:visible !important}.overflow-xl-hidden{overflow:hidden !important}.overflow-xl-x-hidden{overflow-x:hidden !important}.overflow-xl-y-hidden{overflow-y:hidden !important}.overflow-xl-auto{overflow:auto !important}.overflow-xl-x-auto{overflow-x:auto !important}.overflow-xl-y-auto{overflow-y:auto !important}.overflow-xl-scroll{overflow:scroll !important}.overflow-xl-x-scroll{overflow-x:scroll !important}.overflow-xl-y-scroll{overflow-y:scroll !important}}.clearfix::before{display:table;content:""}.clearfix::after{display:table;clear:both;content:""}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 544px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 1012px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1280px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.width-fit{max-width:100% !important}.width-full{width:100% !important}.height-fit{max-height:100% !important}.height-full{height:100% !important}.min-width-0{min-width:0 !important}.width-auto{width:auto !important}.direction-rtl{direction:rtl !important}.direction-ltr{direction:ltr !important}@media (min-width: 544px){.width-sm-auto{width:auto !important}.direction-sm-rtl{direction:rtl !important}.direction-sm-ltr{direction:ltr !important}}@media (min-width: 768px){.width-md-auto{width:auto !important}.direction-md-rtl{direction:rtl !important}.direction-md-ltr{direction:ltr !important}}@media (min-width: 1012px){.width-lg-auto{width:auto !important}.direction-lg-rtl{direction:rtl !important}.direction-lg-ltr{direction:ltr !important}}@media (min-width: 1280px){.width-xl-auto{width:auto !important}.direction-xl-rtl{direction:rtl !important}.direction-xl-ltr{direction:ltr !important}}@font-face{font-family:'iconfont';src:url("data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAX0AAsAAAAADYwAAAWkAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCELgqKaIh/ATYCJAM8CyAABCAFhG0HglMbugsRVaRPkf0ssGPyVCOvy8czJ7P+a4tNOQfB8987zTt6I0UeybxE4C2h7RA5WSAqILiEbCihivCVHidAwByCG4wZN3LTmZ9k86cXTdmo469pe92NkME0+WTx5WpNdcgnwuG6AI2PlX8PeJ+kCOhIVaEsCwVMiowBy0LW65qEV52clCwq54jn4VCAYQDjUAcdclQNLhoWFcqtWbm8A7cQgu7QKVyf07CpRp2HjWudbr0JnBu9v/qZKcoFC1vgI6WXHbyEVKCCpBxXOY4WOY7jDhcFjLcCAcYBGtS2xpgNSJIzDsEsnTUHAQ66qhX4QbJSwSHFRBQCl7lRP8Dg4RMmQugWHW0cqhCsfx4oB5Z8aB7NjUCgrAUGAssCDwKxwIdAWxCGwKZ2ww6CCAFXIQgXDER2wSGIABuIAHsQAfYRhAAnEIQFnATzSUhRv8kAYCSoVWClYHlNVFbQaCxhE61gJ/mJuB5U86PK9x1fbJLye+moknE8O+QkQ/RYyo/tLnxbU/yutvx9fSloKZXqRmXra9MjrisWywszTxbq66q7X18qFeZlPygXi7VjM8t9CS8leQclrS4Uamr/QLlcXyq11L1ZOuD58oHvlI9+q5iqrTNXvzf9kQ8GXvP+jAff3a0pN6+ufn5Nc36aukJhaefi1pIrFtTXLazdXU/X7HFZR67Z886E44w5Q6njNxtl8O1vmBuf7KUvf2p4/JZn+tpXPN0SsaMHmba1rmZBfe1hCSPUx3eqzyjtjjVYcTEmXzjo5dIQ0xzdvWXpdqm5+enjnznzqeOerLe2ZLbL7tiNt+69ym3DPerDt9wxC799Q2f3tYMuzSeZq9Fc0kMu7eld3N2ys3ERSOOr2hj9qgQZ4xplZ3u/U525O9wxdcqKFauXJyPXH3z4kr4d/UbkDusce+PFFeX/u+qT6zcjPfPsEeeNb91gjpg6hS+uzTM1iB8gx6WVqFSulw8/FPDXjxC47KLWYatX33RC/IOb7RP/yk60V82Pn9C0enXXOxuiv/3xx29RmoVBMuhe+eknuVcIIMdlSVOb3/yFZ/jmM8/Qvr+FpsS/T5cPpZXbB3HajgSjQ4yeOeq43Qu++CLxacIUvXZgLpVO5W3tXH6qedZMzRONcUrwrvvu0cIivYZoUnmQpJ7SXV36KSE8clx2iicfO+rY0e+NWjZ26X3b1vHuYSdMZ5bAwv3HceGGH+zDDkun7ez2D2PH7mCY5BYubG8PSuSeqeSnzpBLvHjNoHA43ndgitkyaNCk2yUlt086L//TtTcNwhefo+rjRpJ+PnjMhVce8ckfuUg7uUk+0OtRu9Ykh/3/ASo3y8fSFAWeFfm4KQA5ToDKl5KXQWC0zRaDgCTI+1n6j3ExBn8tE9uj8/7t3v/noE+3fDd9sEklr5Ec4GKBmv7To5Wd9Irl0KhetL9dFAVEmYgNP5ZBGEmHCpyQ4PPT+bv/iEYp3AI9Bosq+oPgMkyhNePAxmMaOLgsBMNYDt3aI8kmBKVDwBhODkAR4x6wiPAMCDHeUmjNZ2DTg1/BIWbtAIz/Lna59Jo3b0JWqYZqBx55ciZcTVz+m5p5sJJnI/0/SfTpUKR5Of+LJpJDrBHXTanqwAmP8BkcjYaBIQh3hJq2qmGVZa7pgVLkcWG8EcRSpAYqO8BDbOL8wMpU3v4bacwGlnQ0u3T/R0TkZw4KqVyh+JImVbOXUjVaa5SUohywdQUbgU+KIoPkMBCaF+oQpFLtDlnBSkbdOa2Unl4e3/dRgMEvFS3Jiio03TAt23E939m7CRP0ggMlsbUSTCO+Tqe/iGQF27bX32FLa+EpqSz2jYEbRB+kS9+jenrHsrFSz9T3LdaXWyrXdndYZveec0DtY+RJxUbNR504v0YreTf0DOKR1Dax6jW2ViveJh9Rmg+R6tKM+nFvwYsFAAAA") format("woff2"),url("iconfont.woff?t=1615774773267") format("woff"),url("iconfont.ttf?t=1615774773267") format("truetype"),url("iconfont.svg?t=1615774773267#iconfont") format("svg")}.iconfont{font-family:'iconfont' !important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-sync-circle-sharp:before{content:'\e613'}.icon-grid-sharp:before{content:'\e612'}.icon-search-circle-sharp:before{content:'\e60c'}.icon-chevron-back-circle-sharp:before{content:'\e608'}.icon-caret-back-circle-sharp:before{content:'\e609'}.icon-chevron-forward-circle-sharp:before{content:'\e60a'}.icon-caret-forward-circle-sharp:before{content:'\e60b'}.icon-today-sharp:before{content:'\e607'}.icon-chevron-up-circle-sharp:before{content:'\e606'}.icon-contrast-sharp:before{content:'\e601'}.icon-file-tray-sharp:before{content:'\e602'}.icon-pricetags-sharp:before{content:'\e603'}.icon-chatbox-ellipses-sharp:before{content:'\e604'}.icon-time-sharp:before{content:'\e605'}header .header{padding:1.75rem 1.5rem 2rem 1.5rem}header .title-main{font-size:2.5rem;font-family:"Product Sans",sans-serif;font-weight:700;white-space:nowrap}header .title-sub{margin:0 0.1rem;display:block;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}header .title-sub::-webkit-scrollbar{display:none}.content{padding:1.5rem 1.5rem 0 1.5rem}.post:not(:first-child){padding:1.5rem 0}.post:first-child{padding:0 0 1.5rem 0}.post-title{font-size:1.75rem}.post-meta{display:flex;align-items:center;margin:0.5rem 0.1rem 1rem 0.1rem;flex-wrap:wrap}.post-meta span{display:flex;align-items:center}.post-meta span:not(:last-child){padding-right:1.5rem}.post-summary{margin:0 0.1rem}.post-summary p:last-child{margin-bottom:0}.post-summary h1,.post-summary h2,.post-summary h3,.post-summary h4,.post-summary h5,.post-summary h6{display:none}.post-meta-archive{display:flex;align-items:center;margin:0.5rem 0.1rem 0 0.1rem;flex-wrap:wrap}.post-meta-archive span{display:flex;align-items:center}.post-meta-archive span:not(:last-child){padding-right:1.5rem}.pagination{display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1.25rem;padding:1.25rem 0}.pagination div{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.pagination div a{display:flex;align-items:center}.page-info{padding:0 0.1rem 1.5rem 0.1rem}article{padding-bottom:1.5rem}article .post-content{margin:1.25rem 0.1rem 0 0.1rem}.license{margin-bottom:1.5rem}.post-loading{margin:0 0 1.5rem 0;padding-top:1.5rem;text-align:center}.post-loading i{font-size:1.25rem}.post-loading p{margin:0.5rem 0 0 0}.markdown-body h1{font-size:1.75rem;margin-top:1.5rem}.markdown-body h2{font-size:1.5rem;margin-top:1.375rem}.markdown-body h3{font-size:1.25rem;margin-top:1.25rem}.markdown-body h4{margin-top:1.25rem}.markdown-body ul{list-style-type:circle}.markdown-body img{max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.markdown-body .table-dense{font-size:0.875rem}.markdown-body .table-dense td,.markdown-body .table-dense th{padding:4px 8px !important}.post-comment span.post-comment-notloaded{display:flex;align-items:center;justify-content:center}#disqus_thread{padding:1.25rem 0}#search-result .post:first-child{padding:1.5rem 0}.search-result-info{padding:1rem 0.1rem}.search-input{display:flex;height:2.5rem;align-items:center;padding-left:0.5rem;width:100%}.search-input input{width:100%;min-width:0;flex:1 1 auto;height:2rem}.search-input button{flex:0 1 auto;padding:0 0.5rem;word-break:keep-all;height:2.5rem}.search-input button:hover i{color:var(--color-primary)}.search-input button i{color:var(--color-mute);height:100%;font-size:1.6rem}.sidebar{padding:1.5rem 1.5rem 1.5rem 0}.sidebar-item:not(:last-child){margin-bottom:1rem}.sidebar-item h3{margin-bottom:0.25rem}.sidebar-item ul{list-style-type:none;margin:0 0.1rem}.sidebar-item>div,.sidebar-item>nav{margin:0 0.1rem}.sidebar-item>img{margin:0.5rem 0.25rem 0 0.25rem;width:100%;border-radius:2px}@media screen and (max-width: 768px){.sidebar{display:none !important}}@media screen and (max-width: 768px){.sidebar-mobile{width:70%;position:fixed;top:0;right:0;bottom:0%;background-color:var(--color-codebg);z-index:50;overflow:auto;display:flex;flex-direction:column-reverse}.sidebar-mobile .sidebar-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:space-around;margin:1.5rem 4.25rem 1.5rem 1.5rem}.sidebar-mobile .sidebar-item{width:90%;text-align:right;margin-top:1rem}.sidebar-mobile .sidebar-item:last-child{margin-top:0}}@media screen and (min-width: 768px){.sidebar-toc{position:sticky;top:1rem}.sidebar-toc ul ul{font-size:0.875rem;padding-left:0.5rem;margin-bottom:0.25rem}.sidebar-toc #TableOfContents{max-height:80vh;overflow:auto;scrollbar-width:thin}}footer .footer{padding:2rem 1.5rem;text-align:center}footer .footer i{font-size:0.875rem}.btn{position:fixed;right:1.5rem;bottom:1.5rem;width:2.5rem;display:flex;justify-content:space-between;flex-direction:column;z-index:100}.btn div{flex:0 1 auto;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem}.btn div:first-child{border-radius:0.25rem 0.25rem 0 0;font-size:1.125rem}.btn div:last-child{border-radius:0 0 0.25rem 0.25rem;font-size:1.325rem}@media screen and (min-width: 768px){.btn div:first-child{display:none}.btn div:nth-child(2){border-radius:0.25rem 0.25rem 0 0}}.post-player-wrapper{margin:0.25rem 0.125rem 1rem 0.125rem !important;font-family:inherit !important}.post-player{font-family:inherit !important}.post-summary .post-player-wrapper{display:none}body[data-theme='auto']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}@media (prefers-color-scheme: dark){body[data-theme='auto']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='auto'] table:not(.highlight) th,body[data-theme='auto'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='auto'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='auto'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='auto'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='auto'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}}body[data-theme='light']{--color-mode: 'light';--color-primary: #8aa2d3;--color-secondary: #8f82bc;--color-focus: #3b469b;--color-mute: #9ea1a3;--color-font: #3f4551;--color-divider: #e5e2e4;--color-bg: #fffffd;--color-codebg: #f6f8fa}body[data-theme='dark']{--color-mode: 'dark';--color-primary: #8aa2d3;--color-secondary: #bab1df;--color-focus: #e6e6e6;--color-mute: #9ea1a3;--color-font: silver;--color-divider: #4d5158;--color-bg: #2f3136;--color-codebg: #414449}body[data-theme='dark'] table:not(.highlight) th,body[data-theme='dark'] table:not(.highlight) td{border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr{background-color:var(--color-bg);border-color:var(--color-font)}body[data-theme='dark'] table:not(.highlight) tr:nth-child(2n){background-color:var(--color-divider)}body[data-theme='dark'] .post-aplayer{background-color:var(--color-divider) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-music .aplayer-author{color:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:var(--color-font) !important}body[data-theme='dark'] .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:var(--color-focus) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li{border-top:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid var(--color-bg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li.aplayer-list-light{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li:hover{background-color:var(--color-codebg) !important}body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-author,body[data-theme='dark'] .aplayer .aplayer-list ol li .aplayer-list-index{color:var(--color-font) !important}::selection,::-moz-selection{color:var(--color-bg);background-color:var(--color-primary)}body{background-color:var(--color-bg);color:var(--color-font)}body a{color:var(--color-primary)}body a:hover{color:var(--color-secondary)}.post-summary a,.post-meta a{color:var(--color-secondary)}.post-summary a:hover,.post-meta a:hover{color:var(--color-focus)}.pag-current a,.pag-current a:hover{color:var(--color-focus)}.title-sub,.post-meta{color:var(--color-mute)}header,.page-info{border-bottom:2px solid var(--color-divider)}.post+.post,.pagination,footer{border-top:2px solid var(--color-divider)}.post-meta-archive{color:var(--color-mute)}.post-meta-archive a{color:var(--color-secondary)}.post-meta-archive a:hover{color:var(--color-focus)}@media screen and (max-width: 768px){.sidebar{border-top:2px solid var(--color-divider)}}.post-content a{color:var(--color-secondary)}.post-content a:hover{color:var(--color-focus)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--color-primary)}.markdown-body strong,.markdown-body em{color:var(--color-secondary)}.markdown-body h1,.markdown-body h2{border-bottom:2px solid var(--color-divider)}.markdown-body blockquote{color:var(--color-mute)}.markdown-body img{border-radius:2px;background-color:inherit}.markdown-body hr{height:2px}.markdown-body pre,.markdown-body code{background-color:var(--color-codebg)}.post-loading{border-top:2px solid var(--color-divider)}.post-comment{border-top:2px solid var(--color-divider)}.post-comment span.post-comment-notloaded{padding:1.5rem 0;color:var(--color-secondary);cursor:pointer}.post-comment span.post-comment-notloaded:hover{color:var(--color-focus)}.btn div{background-color:var(--color-divider);color:var(--color-primary)}.btn div:hover{background-color:var(--color-primary);color:var(--color-divider)}.btn div+div{border-top:2px solid var(--color-bg)}code[class*='language-'],pre[class*='language-']{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:0.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:600}.token.italic{font-style:italic}pre .rule,code .rule{margin:0;border-bottom:none;overflow:inherit}pre .rule::before,pre .rule::after,code .rule::before,code .rule::after{display:inherit;clear:inherit}#dsqjs a{text-decoration:none !important;color:var(--color-secondary) !important}#dsqjs a:hover{color:var(--color-focus) !important}#dsqjs .dsqjs-bullet::after{color:var(--color-mute) !important;font-weight:600 !important}#dsqjs .dsqjs-no-comment{color:var(--color-font) !important}#dsqjs .dsqjs-nav-tab{color:var(--color-mute) !important}#dsqjs .dsqjs-tab-active{color:var(--color-font) !important}#dsqjs .dsqjs-tab-active>span:after{background-color:var(--color-secondary) !important}#dsqjs .dsqjs-post-list .dsqjs-post-avatar{background:var(--color-bg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-post-author{color:var(--color-mute) !important;font-weight:600}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-admin-badge{color:var(--color-font) !important;background:var(--color-codebg) !important}#dsqjs .dsqjs-post-list .dsqjs-post-header .dsqjs-meta{color:var(--color-mute) !important}#dsqjs .dsqjs-post-body{color:var(--color-font) !important}#dsqjs .dsqjs-post-body code,#dsqjs .dsqjs-post-body pre{background:var(--color-codebg) !important}#dsqjs .dsqjs-post-body blockquote{color:var(--color-codebg) !important;border-left:0.25em solid var(--color-divider) !important}#dsqjs .dsqjs-load-more{background:var(--color-mute) !important;color:var(--color-bg) !important}#dsqjs footer{border-top:2px solid var(--color-divider) !important;font-weight:600 !important;color:var(--color-mute) !important}#dsqjs .dsqjs-order-radio:checked+.dsqjs-order-label{color:var(--color-font) !important;background-color:var(--color-divider) !important}#dsqjs .dsqjs-order-label{background-color:var(--color-bg) !important}#dsqjs p.dsqjs-has-more a.dsqjs-has-more-btn{color:var(--color-mute) !important}.search-result-info{border-bottom:2px solid var(--color-divider)}.search-input{border-top:2px solid;border-left:2px solid;border-bottom:2px solid;border-right:none;border-radius:0.25rem;border-color:var(--color-divider);background-color:var(--color-bg)}.search-input:hover,.search-input:focus-within{color:var(--color-primary);border-color:var(--color-primary)}.search-input input{outline:none;border:none;color:inherit;background-color:inherit}.search-input button{outline:none;border-top:2px solid;border-left:none;border-right:2px solid;border-bottom:2px solid;border-radius:0 0.25rem 0.25rem 0;border-color:inherit;color:inherit;background-color:inherit}.search-input button:hover{color:var(--color-secondary)}.image-wrapper{position:relative;display:block;width:100%;height:0;overflow:hidden;background-color:var(--color-divider);border-radius:3px;max-width:98%;margin:0 0.25rem 0.5rem 0.25rem}.image-wrapper img{display:block;width:100%;max-width:100%;margin:0;overflow:hidden}.ratio-40x9{padding-bottom:22.5%}.ratio-32x9{padding-bottom:28.125%}.ratio-21x9{padding-bottom:42.85714286%}.ratio-18x9{padding-bottom:50%}.ratio-16x9{padding-bottom:56.25%}.ratio-16x10{padding-bottom:62.5%}.ratio-3x2{padding-bottom:66.66666667%}.ratio-4x3{padding-bottom:75%}.ratio-1x1{padding-bottom:100%}.ratio-3x4{padding-bottom:133.33333333%}.ratio-2x3{padding-bottom:150%}.ratio-10x16{padding-bottom:160%}.ratio-9x16{padding-bottom:177.77777778%}.ratio-9x18{padding-bottom:200%}.ratio-9x21{padding-bottom:233.33333333%}.ratio-9x32{padding-bottom:355.55555556%} |