diff --git a/README.md b/README.md index 4289b30..121ea55 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,10 @@ -![Stack](https://i.imgur.com/cCiHOGS.jpg) +![image](https://user-images.githubusercontent.com/5889006/190859441-141b5f81-8483-40d2-bd96-ebf85616a46d.png) + # Hugo Theme Stack -> Card-style Hugo theme designed for bloggers. +logo + +Card-style Hugo theme designed for bloggers. ## Quickstart @@ -9,45 +12,12 @@ Use this template: [CaiJimmy/hugo-theme-stack-starter](https://github.com/CaiJim ## Demo -[Example Site](https://demo.stack.jimmycai.com/) - -[![Netlify Status](https://api.netlify.com/api/v1/badges/a2d2807a-a905-4bcb-97da-8da8d847da3d/deploy-status)](https://app.netlify.com/sites/hugo-theme-stack/deploys) +* Stater template demo: [demo.stack.jimmycai.com](https://demo.stack.jimmycai.com) +* Dev build: [dev.stack.jimmycai.com](https://dev.stack.jimmycai.com) ## Documentation -[Documentation](https://docs.stack.jimmycai.com/) | [中文文档](https://docs.stack.jimmycai.com/zh/) - -## Introduction - -Stack is a simple card-style Hugo theme designed for bloggers, some of its features are: - -- Responsive images support -- Lazy load images -- Dark mode -- Local search -- [PhotoSwipe](https://photoswipe.com/) integration -- Archive page template -- Full native JavaScript, no jQuery or any other frameworks are used -- No CSS framework, keep it simple and minimal -- Properly cropped thumbnails -- Subsection support -- Table of contents -- Multilingual mode and RTL support - -## Requirements - -It's necessary to use **Hugo Extended ≥ 0.87.0**. - -## Installation - -* Route 1: Clone / Download this repository to `themes` folder -* Route 2: Turn your site into a hugo module and add this theme as a module dependency - - Edit your site config following `exampleSite/config.yaml`. - -*Note: Remove `config.toml` if there is one in the site folder.* - -Check [documentation](https://docs.stack.jimmycai.com/) for more details. +Visit [stack.jimmycai.com](https://stack.jimmycai.com) ## Copyright @@ -56,33 +26,3 @@ Check [documentation](https://docs.stack.jimmycai.com/) for more details. Please do not remove the "*Theme Stack designed by Jimmy*" text and link. If you want to port this theme to another blogging platform, please let me know🙏. - -## Sponsoring - -If you like this theme, give it a star, and consider supporting its development: - -[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/C0C530AXX) - -Your support is greatly appreciated :) - -## Thanks to - -| Project | Description | Licence | -| ------- | ----------- | ------- | -| [PhotoSwipe](https://photoswipe.com/) | For the lightbox effect | [MIT](https://github.com/dimsemenov/PhotoSwipe/blob/master/LICENSE) | -| [Normalize.css](https://github.com/necolas/normalize.css) | - | [MIT](https://github.com/necolas/normalize.css/blob/master/LICENSE.md) | -| [Node Vibrant](https://github.com/Vibrant-Colors/node-vibrant) | To extract the color from images | [MIT](https://github.com/Vibrant-Colors/node-vibrant/blob/master/LICENSE.md) -| [Tabler icons](https://github.com/tabler/tabler-icons) | Default menu icons | [MIT](https://github.com/tabler/tabler-icons/blob/master/LICENSE) | -| [jonsuh/hamburgers](https://github.com/jonsuh/hamburgers) | Hamburger icon of menu | [MIT](https://github.com/jonsuh/hamburgers/blob/master/LICENSE) | -| [lepture/yue.css](https://github.com/lepture/yue.css) | Part of it is used for styling article content | MIT | -| [Typlog](https://typlog.com/) | Where the markdown gallery syntax is borrowed from | The author gave me the permission | -| [Pure CSS implementation of Google Photos / 500px image layout](https://github.com/xieranmaya/blog/issues/6) | Used for image gallery | - | - -### References - -Some references that I took while building this theme: - -| Project | Licence| -| ------- | ------| -| [artchen/hexo-theme-element](https://github.com/artchen/hexo-theme-element) | [MIT](https://github.com/artchen/hexo-theme-element/blob/master/LICENSE) | -| [MunifTanjim/minimo](https://github.com/MunifTanjim/minimo) | [MIT](https://github.com/MunifTanjim/minimo/blob/master/LICENSE) | diff --git a/assets/scss/grid.scss b/assets/scss/grid.scss index 84967ef..9284da9 100644 --- a/assets/scss/grid.scss +++ b/assets/scss/grid.scss @@ -3,10 +3,12 @@ margin-right: auto; .left-sidebar { + order: -3; max-width: var(--left-sidebar-max-width); } .right-sidebar { + order: -1; max-width: var(--right-sidebar-max-width); /// Display right sidebar when min-width: lg @@ -73,6 +75,7 @@ } main.main { + order: -2; min-width: 0; max-width: 100%; flex-grow: 1; diff --git a/assets/scss/partials/highlight/common.scss b/assets/scss/partials/highlight/common.scss new file mode 100644 index 0000000..c9b70bb --- /dev/null +++ b/assets/scss/partials/highlight/common.scss @@ -0,0 +1,427 @@ +/* Background */ +.chroma { + color: $color; + background-color: $background-color; +} + +/* Other */ +.chroma .x { +} + +/* Error */ +.chroma .err { + color: $error-color; +} + +/* LineTableTD */ +.chroma .lntd { + vertical-align: top; + padding: 0; + margin: 0; + border: 0; +} + +/* LineTable */ +.chroma .lntable { + border-spacing: 0; + padding: 0; + margin: 0; + border: 0; + width: 100%; + display: block; + + > tbody { + display: block; + width: 100%; + > tr { + display: flex; + width: 100%; + > td:last-child { + overflow-x: auto; + } + } + } +} + +/* LineHighlight */ +.chroma .hl { + display: block; + width: 100%; + background-color: #ffffcc; +} + +/* LineNumbersTable */ +.chroma .lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f; +} + +/* LineNumbers */ +.chroma .ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; + color: #7f7f7f; +} + +/* Keyword */ +.chroma .k { + color: $keyword-color; +} + +/* KeywordConstant */ +.chroma .kc { + color: $keyword-color; +} + +/* KeywordDeclaration */ +.chroma .kd { + color: $keyword-color; +} + +/* KeywordNamespace */ +.chroma .kn { + color: #f92672; +} + +/* KeywordPseudo */ +.chroma .kp { + color: $keyword-color; +} + +/* KeywordReserved */ +.chroma .kr { + color: $keyword-color; +} + +/* KeywordType */ +.chroma .kt { + color: $keyword-color; +} + +/* Name */ +.chroma .n { + color: $text-color; +} + +/* NameAttribute */ +.chroma .na { + color: $name-color; +} + +/* NameBuiltin */ +.chroma .nb { + color: $text-color; +} + +/* NameBuiltinPseudo */ +.chroma .bp { + color: $text-color; +} + +/* NameClass */ +.chroma .nc { + color: $name-color; +} + +/* NameConstant */ +.chroma .no { + color: $keyword-color; +} + +/* NameDecorator */ +.chroma .nd { + color: $name-color; +} + +/* NameEntity */ +.chroma .ni { + color: $text-color; +} + +/* NameException */ +.chroma .ne { + color: $name-color; +} + +/* NameFunction */ +.chroma .nf { + color: $name-color; +} + +/* NameFunctionMagic */ +.chroma .fm { + color: $text-color; +} + +/* NameLabel */ +.chroma .nl { + color: $text-color; +} + +/* NameNamespace */ +.chroma .nn { + color: $text-color; +} + +/* NameOther */ +.chroma .nx { + color: $name-color; +} + +/* NameProperty */ +.chroma .py { + color: $text-color; +} + +/* NameTag */ +.chroma .nt { + color: #f92672; +} + +/* NameVariable */ +.chroma .nv { + color: $text-color; +} + +/* NameVariableClass */ +.chroma .vc { + color: $text-color; +} + +/* NameVariableGlobal */ +.chroma .vg { + color: $text-color; +} + +/* NameVariableInstance */ +.chroma .vi { + color: $text-color; +} + +/* NameVariableMagic */ +.chroma .vm { + color: $text-color; +} + +/* Literal */ +.chroma .l { + color: #ae81ff; +} + +/* LiteralDate */ +.chroma .ld { + color: $literal-color; +} + +/* LiteralString */ +.chroma .s { + color: $literal-color; +} + +/* LiteralStringAffix */ +.chroma .sa { + color: $literal-color; +} + +/* LiteralStringBacktick */ +.chroma .sb { + color: $literal-color; +} + +/* LiteralStringChar */ +.chroma .sc { + color: $literal-color; +} + +/* LiteralStringDelimiter */ +.chroma .dl { + color: $literal-color; +} + +/* LiteralStringDoc */ +.chroma .sd { + color: $literal-color; +} + +/* LiteralStringDouble */ +.chroma .s2 { + color: $literal-color; +} + +/* LiteralStringEscape */ +.chroma .se { + color: #ae81ff; +} + +/* LiteralStringHeredoc */ +.chroma .sh { + color: $literal-color; +} + +/* LiteralStringInterpol */ +.chroma .si { + color: $literal-color; +} + +/* LiteralStringOther */ +.chroma .sx { + color: $literal-color; +} + +/* LiteralStringRegex */ +.chroma .sr { + color: $literal-color; +} + +/* LiteralStringSingle */ +.chroma .s1 { + color: $literal-color; +} + +/* LiteralStringSymbol */ +.chroma .ss { + color: $literal-color; +} + +/* LiteralNumber */ +.chroma .m { + color: #ae81ff; +} + +/* LiteralNumberBin */ +.chroma .mb { + color: #ae81ff; +} + +/* LiteralNumberFloat */ +.chroma .mf { + color: #ae81ff; +} + +/* LiteralNumberHex */ +.chroma .mh { + color: #ae81ff; +} + +/* LiteralNumberInteger */ +.chroma .mi { + color: #ae81ff; +} + +/* LiteralNumberIntegerLong */ +.chroma .il { + color: #ae81ff; +} + +/* LiteralNumberOct */ +.chroma .mo { + color: #ae81ff; +} + +/* Operator */ +.chroma .o { + color: #f92672; +} + +/* OperatorWord */ +.chroma .ow { + color: #f92672; +} + +/* Punctuation */ +.chroma .p { + color: $text-color; +} + +/* Comment */ +.chroma .c { + color: #75715e; +} + +/* CommentHashbang */ +.chroma .ch { + color: #75715e; +} + +/* CommentMultiline */ +.chroma .cm { + color: #75715e; +} + +/* CommentSingle */ +.chroma .c1 { + color: #75715e; +} + +/* CommentSpecial */ +.chroma .cs { + color: #75715e; +} + +/* CommentPreproc */ +.chroma .cp { + color: #75715e; +} + +/* CommentPreprocFile */ +.chroma .cpf { + color: #75715e; +} + +/* Generic */ +.chroma .g { +} + +/* GenericDeleted */ +.chroma .gd { + color: #f92672; +} + +/* GenericEmph */ +.chroma .ge { + font-style: italic; +} + +/* GenericError */ +.chroma .gr { +} + +/* GenericHeading */ +.chroma .gh { +} + +/* GenericInserted */ +.chroma .gi { + color: $name-color; +} + +/* GenericOutput */ +.chroma .go { +} + +/* GenericPrompt */ +.chroma .gp { +} + +/* GenericStrong */ +.chroma .gs { + font-weight: bold; +} + +/* GenericSubheading */ +.chroma .gu { + color: #75715e; +} + +/* GenericTraceback */ +.chroma .gt { +} + +/* GenericUnderline */ +.chroma .gl { +} + +/* TextWhitespace */ +.chroma .w { +} diff --git a/assets/scss/partials/highlight/dark.scss b/assets/scss/partials/highlight/dark.scss index 489f1e5..3ea6c56 100644 --- a/assets/scss/partials/highlight/dark.scss +++ b/assets/scss/partials/highlight/dark.scss @@ -3,383 +3,12 @@ * https://xyproto.github.io/splash/docs/monokai.html */ -/* Background */ -.chroma { - color: #f8f8f2; - background-color: #272822 -} - -/* Other */ -.chroma .x {} - -/* Error */ -.chroma .err { - color: #bb0064; -} - -/* LineTableTD */ -.chroma .lntd { - vertical-align: top; - padding: 0; - margin: 0; - border: 0; -} - -/* LineTable */ -.chroma .lntable { - border-spacing: 0; - padding: 0; - margin: 0; - border: 0; - width: auto; - overflow: auto; - display: block; -} - -/* LineHighlight */ -.chroma .hl { - display: block; - width: 100%; - background-color: #ffffcc -} - -/* LineNumbersTable */ -.chroma .lnt { - margin-right: 0.4em; - padding: 0 0.4em 0 0.4em; - color: #7f7f7f; - display: block; -} - -/* LineNumbers */ -.chroma .ln { - margin-right: 0.4em; - padding: 0 0.4em 0 0.4em; - color: #7f7f7f -} - -/* Keyword */ -.chroma .k { - color: #66d9ef -} - -/* KeywordConstant */ -.chroma .kc { - color: #66d9ef -} - -/* KeywordDeclaration */ -.chroma .kd { - color: #66d9ef -} - -/* KeywordNamespace */ -.chroma .kn { - color: #f92672 -} - -/* KeywordPseudo */ -.chroma .kp { - color: #66d9ef -} - -/* KeywordReserved */ -.chroma .kr { - color: #66d9ef -} - -/* KeywordType */ -.chroma .kt { - color: #66d9ef -} - -/* Name */ -.chroma .n {} - -/* NameAttribute */ -.chroma .na { - color: #a6e22e -} - -/* NameBuiltin */ -.chroma .nb {} - -/* NameBuiltinPseudo */ -.chroma .bp {} - -/* NameClass */ -.chroma .nc { - color: #a6e22e -} - -/* NameConstant */ -.chroma .no { - color: #66d9ef -} - -/* NameDecorator */ -.chroma .nd { - color: #a6e22e -} - -/* NameEntity */ -.chroma .ni {} - -/* NameException */ -.chroma .ne { - color: #a6e22e -} - -/* NameFunction */ -.chroma .nf { - color: #a6e22e -} - -/* NameFunctionMagic */ -.chroma .fm {} - -/* NameLabel */ -.chroma .nl {} - -/* NameNamespace */ -.chroma .nn {} - -/* NameOther */ -.chroma .nx { - color: #a6e22e -} - -/* NameProperty */ -.chroma .py {} - -/* NameTag */ -.chroma .nt { - color: #f92672 -} - -/* NameVariable */ -.chroma .nv {} - -/* NameVariableClass */ -.chroma .vc {} - -/* NameVariableGlobal */ -.chroma .vg {} - -/* NameVariableInstance */ -.chroma .vi {} - -/* NameVariableMagic */ -.chroma .vm {} - -/* Literal */ -.chroma .l { - color: #ae81ff -} - -/* LiteralDate */ -.chroma .ld { - color: #e6db74 -} - -/* LiteralString */ -.chroma .s { - color: #e6db74 -} - -/* LiteralStringAffix */ -.chroma .sa { - color: #e6db74 -} - -/* LiteralStringBacktick */ -.chroma .sb { - color: #e6db74 -} - -/* LiteralStringChar */ -.chroma .sc { - color: #e6db74 -} - -/* LiteralStringDelimiter */ -.chroma .dl { - color: #e6db74 -} - -/* LiteralStringDoc */ -.chroma .sd { - color: #e6db74 -} - -/* LiteralStringDouble */ -.chroma .s2 { - color: #e6db74 -} - -/* LiteralStringEscape */ -.chroma .se { - color: #ae81ff -} - -/* LiteralStringHeredoc */ -.chroma .sh { - color: #e6db74 -} - -/* LiteralStringInterpol */ -.chroma .si { - color: #e6db74 -} - -/* LiteralStringOther */ -.chroma .sx { - color: #e6db74 -} - -/* LiteralStringRegex */ -.chroma .sr { - color: #e6db74 -} - -/* LiteralStringSingle */ -.chroma .s1 { - color: #e6db74 -} - -/* LiteralStringSymbol */ -.chroma .ss { - color: #e6db74 -} - -/* LiteralNumber */ -.chroma .m { - color: #ae81ff -} - -/* LiteralNumberBin */ -.chroma .mb { - color: #ae81ff -} - -/* LiteralNumberFloat */ -.chroma .mf { - color: #ae81ff -} - -/* LiteralNumberHex */ -.chroma .mh { - color: #ae81ff -} - -/* LiteralNumberInteger */ -.chroma .mi { - color: #ae81ff -} - -/* LiteralNumberIntegerLong */ -.chroma .il { - color: #ae81ff -} - -/* LiteralNumberOct */ -.chroma .mo { - color: #ae81ff -} - -/* Operator */ -.chroma .o { - color: #f92672 -} - -/* OperatorWord */ -.chroma .ow { - color: #f92672 -} - -/* Punctuation */ -.chroma .p {} - -/* Comment */ -.chroma .c { - color: #75715e -} - -/* CommentHashbang */ -.chroma .ch { - color: #75715e -} - -/* CommentMultiline */ -.chroma .cm { - color: #75715e -} - -/* CommentSingle */ -.chroma .c1 { - color: #75715e -} - -/* CommentSpecial */ -.chroma .cs { - color: #75715e -} - -/* CommentPreproc */ -.chroma .cp { - color: #75715e -} - -/* CommentPreprocFile */ -.chroma .cpf { - color: #75715e -} - -/* Generic */ -.chroma .g {} - -/* GenericDeleted */ -.chroma .gd { - color: #f92672 -} - -/* GenericEmph */ -.chroma .ge { - font-style: italic -} - -/* GenericError */ -.chroma .gr {} - -/* GenericHeading */ -.chroma .gh {} - -/* GenericInserted */ -.chroma .gi { - color: #a6e22e -} - -/* GenericOutput */ -.chroma .go {} - -/* GenericPrompt */ -.chroma .gp {} - -/* GenericStrong */ -.chroma .gs { - font-weight: bold -} - -/* GenericSubheading */ -.chroma .gu { - color: #75715e -} - -/* GenericTraceback */ -.chroma .gt {} - -/* GenericUnderline */ -.chroma .gl {} - -/* TextWhitespace */ -.chroma .w {} \ No newline at end of file +$color: #f8f8f2; +$background-color: #272822; +$error-color: #bb0064; +$keyword-color: #66d9ef; +$text-color: $color; +$name-color: #a6e22e; +$literal-color: #e6db74; + +@import "common.scss"; \ No newline at end of file diff --git a/assets/scss/partials/highlight/light.scss b/assets/scss/partials/highlight/light.scss index d904571..174b649 100644 --- a/assets/scss/partials/highlight/light.scss +++ b/assets/scss/partials/highlight/light.scss @@ -3,408 +3,12 @@ * https://xyproto.github.io/splash/docs/monokailight.html */ -/* Background */ -.chroma { - color: #272822; - background-color: #fafafa; -} - -/* Other */ -.chroma .x { -} - -/* Error */ -.chroma .err { - color: #960050; -} - -/* LineTableTD */ -.chroma .lntd { - vertical-align: top; - padding: 0; - margin: 0; - border: 0; -} - -/* LineTable */ -.chroma .lntable { - border-spacing: 0; - padding: 0; - margin: 0; - border: 0; - width: auto; - overflow: auto; - display: block; -} - -/* LineHighlight */ -.chroma .hl { - display: block; - width: 100%; - background-color: #ffffcc; -} - -/* LineNumbersTable */ -.chroma .lnt { - margin-right: 0.4em; - padding: 0 0.4em 0 0.4em; - color: #7f7f7f; - display: block; -} - -/* LineNumbers */ -.chroma .ln { - margin-right: 0.4em; - padding: 0 0.4em 0 0.4em; - color: #7f7f7f; -} - -/* Keyword */ -.chroma .k { - color: #00a8c8; -} - -/* KeywordConstant */ -.chroma .kc { - color: #00a8c8; -} - -/* KeywordDeclaration */ -.chroma .kd { - color: #00a8c8; -} - -/* KeywordNamespace */ -.chroma .kn { - color: #f92672; -} - -/* KeywordPseudo */ -.chroma .kp { - color: #00a8c8; -} - -/* KeywordReserved */ -.chroma .kr { - color: #00a8c8; -} - -/* KeywordType */ -.chroma .kt { - color: #00a8c8; -} - -/* Name */ -.chroma .n { - color: #111111; -} - -/* NameAttribute */ -.chroma .na { - color: #75af00; -} - -/* NameBuiltin */ -.chroma .nb { - color: #111111; -} - -/* NameBuiltinPseudo */ -.chroma .bp { - color: #111111; -} - -/* NameClass */ -.chroma .nc { - color: #75af00; -} - -/* NameConstant */ -.chroma .no { - color: #00a8c8; -} - -/* NameDecorator */ -.chroma .nd { - color: #75af00; -} - -/* NameEntity */ -.chroma .ni { - color: #111111; -} - -/* NameException */ -.chroma .ne { - color: #75af00; -} - -/* NameFunction */ -.chroma .nf { - color: #75af00; -} - -/* NameFunctionMagic */ -.chroma .fm { - color: #111111; -} - -/* NameLabel */ -.chroma .nl { - color: #111111; -} - -/* NameNamespace */ -.chroma .nn { - color: #111111; -} - -/* NameOther */ -.chroma .nx { - color: #75af00; -} - -/* NameProperty */ -.chroma .py { - color: #111111; -} - -/* NameTag */ -.chroma .nt { - color: #f92672; -} - -/* NameVariable */ -.chroma .nv { - color: #111111; -} - -/* NameVariableClass */ -.chroma .vc { - color: #111111; -} - -/* NameVariableGlobal */ -.chroma .vg { - color: #111111; -} - -/* NameVariableInstance */ -.chroma .vi { - color: #111111; -} - -/* NameVariableMagic */ -.chroma .vm { - color: #111111; -} - -/* Literal */ -.chroma .l { - color: #ae81ff; -} - -/* LiteralDate */ -.chroma .ld { - color: #d88200; -} - -/* LiteralString */ -.chroma .s { - color: #d88200; -} - -/* LiteralStringAffix */ -.chroma .sa { - color: #d88200; -} - -/* LiteralStringBacktick */ -.chroma .sb { - color: #d88200; -} - -/* LiteralStringChar */ -.chroma .sc { - color: #d88200; -} - -/* LiteralStringDelimiter */ -.chroma .dl { - color: #d88200; -} - -/* LiteralStringDoc */ -.chroma .sd { - color: #d88200; -} - -/* LiteralStringDouble */ -.chroma .s2 { - color: #d88200; -} - -/* LiteralStringEscape */ -.chroma .se { - color: #8045ff; -} - -/* LiteralStringHeredoc */ -.chroma .sh { - color: #d88200; -} - -/* LiteralStringInterpol */ -.chroma .si { - color: #d88200; -} - -/* LiteralStringOther */ -.chroma .sx { - color: #d88200; -} - -/* LiteralStringRegex */ -.chroma .sr { - color: #d88200; -} - -/* LiteralStringSingle */ -.chroma .s1 { - color: #d88200; -} - -/* LiteralStringSymbol */ -.chroma .ss { - color: #d88200; -} - -/* LiteralNumber */ -.chroma .m { - color: #ae81ff; -} - -/* LiteralNumberBin */ -.chroma .mb { - color: #ae81ff; -} - -/* LiteralNumberFloat */ -.chroma .mf { - color: #ae81ff; -} - -/* LiteralNumberHex */ -.chroma .mh { - color: #ae81ff; -} - -/* LiteralNumberInteger */ -.chroma .mi { - color: #ae81ff; -} - -/* LiteralNumberIntegerLong */ -.chroma .il { - color: #ae81ff; -} - -/* LiteralNumberOct */ -.chroma .mo { - color: #ae81ff; -} - -/* Operator */ -.chroma .o { - color: #f92672; -} - -/* OperatorWord */ -.chroma .ow { - color: #f92672; -} - -/* Punctuation */ -.chroma .p { - color: #111111; -} - -/* Comment */ -.chroma .c { - color: #75715e; -} - -/* CommentHashbang */ -.chroma .ch { - color: #75715e; -} - -/* CommentMultiline */ -.chroma .cm { - color: #75715e; -} - -/* CommentSingle */ -.chroma .c1 { - color: #75715e; -} - -/* CommentSpecial */ -.chroma .cs { - color: #75715e; -} - -/* CommentPreproc */ -.chroma .cp { - color: #75715e; -} - -/* CommentPreprocFile */ -.chroma .cpf { - color: #75715e; -} - -/* Generic */ -.chroma .g { -} -/* GenericDeleted */ -.chroma .gd { - color: #f92672; -} -/* GenericEmph */ -.chroma .ge { - font-style: italic; -} -/* GenericError */ -.chroma .gr { -} -/* GenericHeading */ -.chroma .gh { -} -/* GenericInserted */ -.chroma .gi { - color: #7ca727; -} -/* GenericOutput */ -.chroma .go { -} -/* GenericPrompt */ -.chroma .gp { -} -/* GenericStrong */ -.chroma .gs { - font-weight: bold; -} -/* GenericSubheading */ -.chroma .gu { - color: #75715e; -} -/* GenericTraceback */ -.chroma .gt { -} -/* GenericUnderline */ -.chroma .gl { -} -/* TextWhitespace */ -.chroma .w { -} +$color: #272822; +$background-color: #fafafa; +$error-color: #960050; +$keyword-color: #00a8c8; +$text-color: #111111; +$name-color: #75af00; +$literal-color: #d88200; + +@import "common.scss"; diff --git a/assets/scss/partials/layout/article.scss b/assets/scss/partials/layout/article.scss index 90d0ce8..ba06c11 100644 --- a/assets/scss/partials/layout/article.scss +++ b/assets/scss/partials/layout/article.scss @@ -420,4 +420,10 @@ margin-right: calc((var(--card-padding)) * -1); width: calc(100% + var(--card-padding) * 2); } + + /// Make long KaTeX equations scrollable in the x-axis + .katex-display > .katex { + overflow-x: auto; + overflow-y: hidden; + } } diff --git a/assets/ts/smoothAnchors.ts b/assets/ts/smoothAnchors.ts index 379eb39..46a4a03 100644 --- a/assets/ts/smoothAnchors.ts +++ b/assets/ts/smoothAnchors.ts @@ -21,12 +21,15 @@ function setupSmoothAnchors() { aElement.addEventListener("click", clickEvent => { clickEvent.preventDefault(); - let targetId = aElement.getAttribute("href").substring(1); - // The replace done on ':' is here for footnotes, as this character would otherwise interfere when used as a CSS selector. - let target = document.getElementById(targetId.replace(":", "\\:")) as HTMLElement; + const targetId = aElement.getAttribute("href").substring(1), + target = document.getElementById(targetId) as HTMLElement, + offset = target.getBoundingClientRect().top - document.documentElement.getBoundingClientRect().top; window.history.pushState({}, "", aElement.getAttribute("href")); - scrollTo({ top: target.offsetTop, behavior: "smooth" }); + scrollTo({ + top: offset, + behavior: "smooth" + }); }); }); } diff --git a/i18n/ar.yaml b/i18n/ar.yaml index bb867d7..61e0262 100644 --- a/i18n/ar.yaml +++ b/i18n/ar.yaml @@ -28,9 +28,13 @@ widget: archives: title: الارشيفات more: اكثر + tagCloud: title: وسوم + categoriesCloud: + title: التصنيفات + search: title: بحث placeholder: اكتب... diff --git a/i18n/bn.yaml b/i18n/bn.yaml index 1108ad8..0e3e511 100644 --- a/i18n/bn.yaml +++ b/i18n/bn.yaml @@ -4,25 +4,32 @@ darkMode: ডার্ক মোড list: page: - one: "{{ .Count }} পৃষ্ঠা" - other: "{{ .Count }} পৃষ্ঠা" + one: "{{ .Count }} পাতা" + other: "{{ .Count }} পাতা" + section: অনুচ্ছেদ + subsection: - one: উপঅনুচ্ছেদ - other: উপঅনুচ্ছেদ + one: উপ-অনুচ্ছেদ + other: উপ-অনুচ্ছেদ article: - back: পেছনে যান + back: পেছনে + tableOfContents: সূচিপত্র + relatedContent: সম্পর্কিত বিষয়বস্তু - lastUpdatedOn: শেষ হালনাগাদ করা হয়েছে + + lastUpdatedOn: সর্বশেষ আপডেট করা হয়েছে + readingTime: one: "{{ .Count }} মিনিটে পড়া যাবে" other: "{{ .Count }} মিনিটে পড়া যাবে" notFound: title: পাওয়া যায়নি - subtitle: এই পৃষ্ঠাটি বিদ্যমান নেই + + subtitle: এই পাতাটি বিদ্যমান নেই widget: archives: @@ -35,8 +42,10 @@ widget: search: title: অনুসন্ধান + placeholder: কিছু টাইপ করুন... - resultTitle: "#PAGES_COUNT পৃষ্ঠা (#TIME_SECONDS সেকেন্ড)" + + resultTitle: "#PAGES_COUNT পাতা (#TIME_SECONDS সেকেন্ড)" footer: builtWith: "{{ .Generator }} দিয়ে নির্মিত" diff --git a/i18n/ko.yaml b/i18n/ko.yaml index 6589568..05c0530 100644 --- a/i18n/ko.yaml +++ b/i18n/ko.yaml @@ -28,6 +28,10 @@ widget: archives: title: 보관함 more: 더보기 + + categoriesCloud: + title: 카테고리 + tagCloud: title: 태그 diff --git a/i18n/pt-br.yaml b/i18n/pt-br.yaml index 6ec29e3..b1235cb 100644 --- a/i18n/pt-br.yaml +++ b/i18n/pt-br.yaml @@ -28,9 +28,13 @@ widget: archives: title: Arquivos more: Mais + tagCloud: title: Tags + categoriesCloud: + title: Categorias + search: title: Busca placeholder: Digite algo... diff --git a/i18n/pt-pt.yaml b/i18n/pt-pt.yaml new file mode 100644 index 0000000..f524969 --- /dev/null +++ b/i18n/pt-pt.yaml @@ -0,0 +1,67 @@ +toggleMenu: + other: Alternar Menu + +darkMode: + other: Modo Escuro + +list: + page: + one: "{{ .Count }} página" + other: "{{ .Count }} páginas" + + section: + other: Secção + + subsection: + one: Subsecção + other: Subsecções + +article: + back: + other: Voltar + + tableOfContents: + other: Índice + + relatedContent: + other: Conteúdo relacionado + + lastUpdatedOn: + other: Última atualização a + + readingTime: + one: "{{ .Count }} minuto de leitura" + other: "{{ .Count }} minutos de leitura" + +notFound: + title: + other: Não Encontrado + subtitle: + other: Esta página não existe. + +widget: + archives: + title: + other: Arquivos + more: + other: Mais + tagCloud: + title: + other: Tags + categoriesCloud: + title: + other: Categorias + +search: + title: + other: Pesquisa + placeholder: + other: Escreva algo... + resultTitle: + other: "#PAGES_COUNT páginas (#TIME_SECONDS segundos)" + +footer: + builtWith: + other: Criado com {{ .Generator }} + designedBy: + other: Tema {{ .Theme }} desenvolvido por {{ .DesignedBy }} diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 081277b..83fdaa3 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -18,10 +18,10 @@ {{- block "left-sidebar" . -}} {{ partial "sidebar/left.html" . }} {{- end -}} + {{- block "right-sidebar" . -}}{{ end }}
{{- block "main" . }}{{- end }}
- {{- block "right-sidebar" . -}}{{ end }} {{ partial "footer/include.html" . }} diff --git a/layouts/partials/article/components/details.html b/layouts/partials/article/components/details.html index 4cd26e3..cc0a0fc 100644 --- a/layouts/partials/article/components/details.html +++ b/layouts/partials/article/components/details.html @@ -23,9 +23,12 @@ {{ end }} - {{ if or (not .Date.IsZero) (.Site.Params.article.readingTime) }} + {{ $showReadingTime := .Params.readingTime | default (.Site.Params.article.readingTime) }} + {{ $showDate := not .Date.IsZero }} + {{ $showFooter := or $showDate $showReadingTime }} + {{ if $showFooter }} {{ end }} - \ No newline at end of file + diff --git a/layouts/partials/comments/provider/giscus.html b/layouts/partials/comments/provider/giscus.html index abe345f..f7f435d 100644 --- a/layouts/partials/comments/provider/giscus.html +++ b/layouts/partials/comments/provider/giscus.html @@ -6,8 +6,10 @@ data-category="{{- .category -}}" data-category-id="{{- .categoryID -}}" data-mapping="{{- default `title` .mapping -}}" + data-strict="{{- default 0 .strict -}}" data-reactions-enabled="{{- default 1 .reactionsEnabled -}}" data-emit-metadata="{{- default 0 .emitMetadata -}}" + data-input-position="{{- default `top` .inputPosition -}}" data-theme="{{- default `light` .lightTheme -}}" data-lang="{{- default `en` .lang -}}" crossorigin="anonymous" diff --git a/layouts/partials/comments/provider/remark42.html b/layouts/partials/comments/provider/remark42.html index 97196c8..fa284eb 100644 --- a/layouts/partials/comments/provider/remark42.html +++ b/layouts/partials/comments/provider/remark42.html @@ -2,10 +2,10 @@