From 40f57ed72a601d8489a180f3bd9acd5e6c20d323 Mon Sep 17 00:00:00 2001 From: Ngô Ngọc Đức Huy Date: Tue, 23 Apr 2024 01:19:27 +0700 Subject: Update theme --- archetypes/free-guide.md | 10 - assets/css/custom.css | 26 - assets/css/custom.scss | 47 - assets/css/dark.css | 29 + assets/css/highdark.css | 174 -- assets/css/highlight.css | 88 - assets/css/light.css | 37 + assets/css/main.css | 575 ++++ assets/css/syntax-dark.css | 85 + assets/css/syntax-light.css | 87 + assets/images/android-chrome-192x192.png | Bin 1510 -> 0 bytes assets/images/android-chrome-512x512.png | Bin 3768 -> 0 bytes assets/images/apple-touch-icon.png | Bin 1350 -> 0 bytes assets/images/favicon-16x16.png | Bin 217 -> 0 bytes assets/images/favicon-32x32.png | Bin 296 -> 0 bytes assets/images/favicon.ico | Bin 15406 -> 0 bytes assets/images/site.webmanifest | 1 - config.yaml | 68 +- content/_index.md | 12 +- content/about/_index.md | 31 +- content/about/duck.png | Bin 0 -> 205491 bytes content/about/rss.md | 4 - content/about/rubber-duck.png | Bin 44518 -> 0 bytes content/book-reviews/ellana.fr.md | 2 +- content/book-reviews/rise-of-kyoshi.md | 2 +- content/book-reviews/shadow-of-kyoshi.md | 2 +- content/book-reviews/xkcd-what-if.md | 2 +- content/ipwhl.md | 3925 -------------------------- content/misc/_index.md | 91 +- content/misc/books.md | 49 + content/misc/comics.md | 21 + content/misc/conlangs.md | 22 + content/misc/projects.md | 20 + content/posts/2024-01-05-mayim-sqlite.md | 5 +- content/posts/_index.fr.md | 1 - content/posts/_index.md | 2 +- content/til/_index.fr.md | 1 - content/til/_index.md | 1 - dark.css | 47 - feeds | 1 - i18n/de.yaml | 37 +- i18n/en.yaml | 43 +- i18n/fr.yaml | 37 +- i18n/vi.yaml | 28 +- layouts/_default/_markup/render-heading.html | 7 + layouts/_default/baseof.html | 24 + layouts/_default/books.html | 7 - layouts/_default/comic.html | 45 - layouts/_default/list.html | 22 + layouts/_default/list.old.html | 20 - layouts/_default/project.html | 68 - layouts/_default/rss.xml | 34 + layouts/_default/single.html | 22 + layouts/_default/taxonomy.html | 12 + layouts/_default/terms.html | 19 + layouts/_default/wiki.html | 32 - layouts/index.html | 14 + layouts/index.old.html | 19 - layouts/partials/custom-webring.html | 21 +- layouts/partials/fa-icons/email.svg | 1 + layouts/partials/fa-icons/github.svg | 1 + layouts/partials/fa-icons/liberapay.svg | 3 + layouts/partials/fa-icons/mastodon.svg | 1 + layouts/partials/fa-icons/matrix.svg | 12 + layouts/partials/fa-icons/patreon.svg | 1 + layouts/partials/fa-icons/pleroma.svg | 3 + layouts/partials/fa-icons/sourcehut.svg | 1 + layouts/partials/font-awesome.html | 9 + layouts/partials/footer.html | 17 + layouts/partials/head-extra.html | 8 - layouts/partials/head.html | 31 + layouts/partials/header.html | 13 + layouts/partials/language-switcher.html | 5 + layouts/partials/left-sidebar.html | 14 + layouts/partials/pagination.html | 16 + layouts/partials/post-info.html | 28 + layouts/partials/post-language-switcher.html | 16 + layouts/partials/post-pagination.html | 16 + layouts/partials/post-summary.html | 6 + layouts/partials/right-sidebar.html | 1 + layouts/partials/single-extra.html | 1 - layouts/partials/social.html | 17 + static/android-chrome-192x192.png | Bin 1510 -> 3966 bytes static/android-chrome-512x512.png | Bin 3768 -> 13180 bytes static/apple-touch-icon.png | Bin 1350 -> 3592 bytes static/favico_license.txt | 6 + static/favicon-16x16.png | Bin 217 -> 252 bytes static/favicon-32x32.png | Bin 296 -> 536 bytes static/favicon.ico | Bin 15406 -> 15406 bytes themes/anibus | 1 - themes/victor | 1 - webring.template | 4 +- 92 files changed, 1491 insertions(+), 4721 deletions(-) delete mode 100644 archetypes/free-guide.md delete mode 100644 assets/css/custom.css delete mode 100644 assets/css/custom.scss create mode 100644 assets/css/dark.css delete mode 100644 assets/css/highdark.css delete mode 100644 assets/css/highlight.css create mode 100644 assets/css/light.css create mode 100644 assets/css/main.css create mode 100644 assets/css/syntax-dark.css create mode 100644 assets/css/syntax-light.css delete mode 100644 assets/images/android-chrome-192x192.png delete mode 100644 assets/images/android-chrome-512x512.png delete mode 100644 assets/images/apple-touch-icon.png delete mode 100644 assets/images/favicon-16x16.png delete mode 100644 assets/images/favicon-32x32.png delete mode 100644 assets/images/favicon.ico delete mode 100644 assets/images/site.webmanifest create mode 100644 content/about/duck.png delete mode 100644 content/about/rubber-duck.png delete mode 100644 content/ipwhl.md create mode 100644 content/misc/books.md create mode 100644 content/misc/comics.md create mode 100644 content/misc/conlangs.md create mode 100644 content/misc/projects.md delete mode 100644 dark.css create mode 100644 layouts/_default/_markup/render-heading.html create mode 100644 layouts/_default/baseof.html delete mode 100644 layouts/_default/comic.html create mode 100644 layouts/_default/list.html delete mode 100644 layouts/_default/list.old.html delete mode 100644 layouts/_default/project.html create mode 100644 layouts/_default/rss.xml create mode 100644 layouts/_default/single.html create mode 100644 layouts/_default/taxonomy.html create mode 100644 layouts/_default/terms.html delete mode 100644 layouts/_default/wiki.html create mode 100644 layouts/index.html delete mode 100644 layouts/index.old.html create mode 100644 layouts/partials/fa-icons/email.svg create mode 100644 layouts/partials/fa-icons/github.svg create mode 100644 layouts/partials/fa-icons/liberapay.svg create mode 100644 layouts/partials/fa-icons/mastodon.svg create mode 100644 layouts/partials/fa-icons/matrix.svg create mode 100644 layouts/partials/fa-icons/patreon.svg create mode 100644 layouts/partials/fa-icons/pleroma.svg create mode 100644 layouts/partials/fa-icons/sourcehut.svg create mode 100644 layouts/partials/font-awesome.html create mode 100644 layouts/partials/footer.html delete mode 100644 layouts/partials/head-extra.html create mode 100644 layouts/partials/head.html create mode 100644 layouts/partials/header.html create mode 100644 layouts/partials/language-switcher.html create mode 100644 layouts/partials/left-sidebar.html create mode 100644 layouts/partials/pagination.html create mode 100644 layouts/partials/post-info.html create mode 100644 layouts/partials/post-language-switcher.html create mode 100644 layouts/partials/post-pagination.html create mode 100644 layouts/partials/post-summary.html create mode 100644 layouts/partials/right-sidebar.html delete mode 100644 layouts/partials/single-extra.html create mode 100644 layouts/partials/social.html create mode 100644 static/favico_license.txt delete mode 160000 themes/anibus delete mode 160000 themes/victor diff --git a/archetypes/free-guide.md b/archetypes/free-guide.md deleted file mode 100644 index acf06a2..0000000 --- a/archetypes/free-guide.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "{{ replace .Name "-" " " | title }}" -layout: wiki -wiki: freeguide -draft: true -lang: en -tags: [] -translationKey: "{{ .Name | title }}" ---- - diff --git a/assets/css/custom.css b/assets/css/custom.css deleted file mode 100644 index 9388906..0000000 --- a/assets/css/custom.css +++ /dev/null @@ -1,26 +0,0 @@ -.no-prefix::before { - content: ""; -} - -.webring article { - border: 1px solid var(--color); - margin: 0.5rem 0; - padding: 0.5rem; -} - -.webring article h3 { - margin-top: 0; - padding-top: 0; -} - -pre, code { - font-family: monospace, monospace; -} - -.homepage::after { - content: " 🏠"; -} - -.feed ol { - list-style-type: none; -} diff --git a/assets/css/custom.scss b/assets/css/custom.scss deleted file mode 100644 index 3fd60cb..0000000 --- a/assets/css/custom.scss +++ /dev/null @@ -1,47 +0,0 @@ ---- ---- - -body { - font-family: serif; -} - -.post-content { - h1 { - font-size: 2rem; - } - h2 { - font-size: 1.5rem; - } -} - -.webring { - max-width: 1000px; - margin-left: auto; - margin-right: auto; - margin-bottom: 1rem; - padding: 1rem; - .attribution { - float: right; - font-size: .8rem; - line-height: 3; - } - - .footer-col.article { - padding: 0.5rem; - - margin: 0 0.5rem; - border: 0.01rem solid #333; - @media(max-width: 640px) { - margin: 0.5rem 0; - } - } -} - -dl { - dt { - font-weight: bold; - } - dd { - text-indent: 1em; - } -} diff --git a/assets/css/dark.css b/assets/css/dark.css new file mode 100644 index 0000000..d1b6446 --- /dev/null +++ b/assets/css/dark.css @@ -0,0 +1,29 @@ +:root { + /* dark.css */ + --font-color: #eee; + --bg-color: black; + + --link-color: #2f2; + --link-state-color:#ff5858; + --link-state-border-color: rgba(238, 54, 54, 0.5); + + --thead-bg-color: #343a40; + --table-border-color: lightgrey; + + --nav-link-color: green; + + --pre-color: #f1f1f1; + --pre-bg-color: #111111; + + --bq-color: #ccc; + --hr-color: #333; + + --post-info-color: lightgreen; + + --visited-color: violet; + --visited-post-color: #999; + --inline-code-color: yellow; + + --red: #FF6666; + --green: #66B266; +} diff --git a/assets/css/highdark.css b/assets/css/highdark.css deleted file mode 100644 index b1108bb..0000000 --- a/assets/css/highdark.css +++ /dev/null @@ -1,174 +0,0 @@ -@media(prefers-color-scheme:dark) { - /* Background */ .bg { background-color: #ffffff; } - /* PreWrapper */ .chroma { background-color: #ffffff; } - /* Other */ .chroma .x { } - /* Error */ .chroma .err { color: #ff0000; background-color: #ffaaaa } - /* CodeLine */ .chroma .cl { } - /* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit } - /* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } - /* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; } - /* LineHighlight */ .chroma .hl { background-color: #ffffcc } - /* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } - /* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } - /* Line */ .chroma .line { display: flex; } - /* Keyword */ .chroma .k { color: #008800; font-weight: bold } - /* KeywordConstant */ .chroma .kc { color: #008800; font-weight: bold } - /* KeywordDeclaration */ .chroma .kd { color: #008800; font-weight: bold } - /* KeywordNamespace */ .chroma .kn { color: #008800; font-weight: bold } - /* KeywordPseudo */ .chroma .kp { color: #003388; font-weight: bold } - /* KeywordReserved */ .chroma .kr { color: #008800; font-weight: bold } - /* KeywordType */ .chroma .kt { color: #333399; font-weight: bold } - /* Name */ .chroma .n { } - /* NameAttribute */ .chroma .na { color: #0000cc } - /* NameBuiltin */ .chroma .nb { color: #007020 } - /* NameBuiltinPseudo */ .chroma .bp { } - /* NameClass */ .chroma .nc { color: #bb0066; font-weight: bold } - /* NameConstant */ .chroma .no { color: #003366; font-weight: bold } - /* NameDecorator */ .chroma .nd { color: #555555; font-weight: bold } - /* NameEntity */ .chroma .ni { color: #880000; font-weight: bold } - /* NameException */ .chroma .ne { color: #ff0000; font-weight: bold } - /* NameFunction */ .chroma .nf { color: #0066bb; font-weight: bold } - /* NameFunctionMagic */ .chroma .fm { } - /* NameLabel */ .chroma .nl { color: #997700; font-weight: bold } - /* NameNamespace */ .chroma .nn { color: #0e84b5; font-weight: bold } - /* NameOther */ .chroma .nx { } - /* NameProperty */ .chroma .py { } - /* NameTag */ .chroma .nt { color: #007700 } - /* NameVariable */ .chroma .nv { color: #996633 } - /* NameVariableClass */ .chroma .vc { color: #336699 } - /* NameVariableGlobal */ .chroma .vg { color: #dd7700; font-weight: bold } - /* NameVariableInstance */ .chroma .vi { color: #3333bb } - /* NameVariableMagic */ .chroma .vm { } - /* Literal */ .chroma .l { } - /* LiteralDate */ .chroma .ld { } - /* LiteralString */ .chroma .s { background-color: #111010 } - /* LiteralStringA11ix */ .chroma .sa { background-color: #111010 } - /* LiteralStringBacktick */ .chroma .sb { background-color: #111010 } - /* LiteralStringChar */ .chroma .sc { color: #0044dd; background-color: #111010 } - /* LiteralStringDelimiter */ .chroma .dl { background-color: #111010 } - /* LiteralStringDoc */ .chroma .sd { color: #dd4422; background-color: #111010 } - /* LiteralStringDouble */ .chroma .s2 { background-color: #111010 } - /* LiteralStringEscape */ .chroma .se { color: #666666; background-color: #111010; font-weight: bold } - /* LiteralStringHeredoc */ .chroma .sh { background-color: #111010 } - /* LiteralStringInterpol */ .chroma .si { background-color: #eeeeee } - /* LiteralStringOther */ .chroma .sx { color: #dd2200; background-color: #111010 } - /* LiteralStringRegex */ .chroma .sr { color: #000000; background-color: #111011 } - /* LiteralStringSingle */ .chroma .s1 { background-color: #111010 } - /* LiteralStringSymbol */ .chroma .ss { color: #aa6600; background-color: #111010 } - /* LiteralNumber */ .chroma .m { color: #6600ee; font-weight: bold } - /* LiteralNumberBin */ .chroma .mb { color: #6600ee; font-weight: bold } - /* LiteralNumberFloat */ .chroma .mf { color: #6600ee; font-weight: bold } - /* LiteralNumberHex */ .chroma .mh { color: #005588; font-weight: bold } - /* LiteralNumberInteger */ .chroma .mi { color: #0000dd; font-weight: bold } - /* LiteralNumberIntegerLong */ .chroma .il { color: #6600ee; font-weight: bold } - /* LiteralNumberOct */ .chroma .mo { color: #4400ee; font-weight: bold } - /* Operator */ .chroma .o { color: #333333 } - /* OperatorWord */ .chroma .ow { color: #000000; font-weight: bold } - /* Punctuation */ .chroma .p { } - /* Comment */ .chroma .c { color: #888888 } - /* CommentHashbang */ .chroma .ch { color: #888888 } - /* CommentMultiline */ .chroma .cm { color: #888888 } - /* CommentSingle */ .chroma .c1 { color: #888888 } - /* CommentSpecial */ .chroma .cs { color: #cc0000; font-weight: bold } - /* CommentPreproc */ .chroma .cp { color: #557799 } - /* CommentPreprocFile */ .chroma .cpf { color: #557799 } - /* Generic */ .chroma .g { } - /* GenericDeleted */ .chroma .gd { color: #a00000 } - /* GenericEmph */ .chroma .ge { font-style: italic } - /* GenericError */ .chroma .gr { color: #ff0000 } - /* GenericHeading */ .chroma .gh { color: #000080; font-weight: bold } - /* GenericInserted */ .chroma .gi { color: #00a000 } - /* GenericOutput */ .chroma .go { color: #888888 } - /* GenericPrompt */ .chroma .gp { color: #c65d09; font-weight: bold } - /* GenericStrong */ .chroma .gs { font-weight: bold } - /* GenericSubheading */ .chroma .gu { color: #800080; font-weight: bold } - /* GenericTraceback */ .chroma .gt { color: #0044dd } - /* GenericUnderline */ .chroma .gl { text-decoration: underline } - /* TextWhitespace */ .chroma .w { color: #bbbbbb } - /* Background */ .bg { color: #d0d0d0; background-color: #202020; } - /* PreWrapper */ .chroma { color: #d0d0d0; background-color: #202020; } - /* Other */ .chroma .x { } - /* Error */ .chroma .err { color: #a61717; background-color: #e3d2d2 } - /* CodeLine */ .chroma .cl { } - /* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit } - /* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } - /* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; } - /* LineHighlight */ .chroma .hl { background-color: #ffffcc } - /* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #686868 } - /* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #686868 } - /* Line */ .chroma .line { display: flex; } - /* Keyword */ .chroma .k { color: #6ab825; font-weight: bold } - /* KeywordConstant */ .chroma .kc { color: #6ab825; font-weight: bold } - /* KeywordDeclaration */ .chroma .kd { color: #6ab825; font-weight: bold } - /* KeywordNamespace */ .chroma .kn { color: #6ab825; font-weight: bold } - /* KeywordPseudo */ .chroma .kp { color: #6ab825 } - /* KeywordReserved */ .chroma .kr { color: #6ab825; font-weight: bold } - /* KeywordType */ .chroma .kt { color: #6ab825; font-weight: bold } - /* Name */ .chroma .n { } - /* NameAttribute */ .chroma .na { color: #bbbbbb } - /* NameBuiltin */ .chroma .nb { color: #24909d } - /* NameBuiltinPseudo */ .chroma .bp { } - /* NameClass */ .chroma .nc { color: #558fdf; text-decoration: underline } - /* NameConstant */ .chroma .no { color: #40ffff } - /* NameDecorator */ .chroma .nd { color: #ffa500 } - /* NameEntity */ .chroma .ni { } - /* NameException */ .chroma .ne { color: #bbbbbb } - /* NameFunction */ .chroma .nf { color: #447fcf } - /* NameFunctionMagic */ .chroma .fm { } - /* NameLabel */ .chroma .nl { } - /* NameNamespace */ .chroma .nn { color: #447fcf; text-decoration: underline } - /* NameOther */ .chroma .nx { } - /* NameProperty */ .chroma .py { } - /* NameTag */ .chroma .nt { color: #6ab825; font-weight: bold } - /* NameVariable */ .chroma .nv { color: #40ffff } - /* NameVariableClass */ .chroma .vc { } - /* NameVariableGlobal */ .chroma .vg { } - /* NameVariableInstance */ .chroma .vi { } - /* NameVariableMagic */ .chroma .vm { } - /* Literal */ .chroma .l { } - /* LiteralDate */ .chroma .ld { } - /* LiteralString */ .chroma .s { color: #ed9d13 } - /* LiteralStringAffix */ .chroma .sa { color: #ed9d13 } - /* LiteralStringBacktick */ .chroma .sb { color: #ed9d13 } - /* LiteralStringChar */ .chroma .sc { color: #ed9d13 } - /* LiteralStringDelimiter */ .chroma .dl { color: #ed9d13 } - /* LiteralStringDoc */ .chroma .sd { color: #ed9d13 } - /* LiteralStringDouble */ .chroma .s2 { color: #ed9d13 } - /* LiteralStringEscape */ .chroma .se { color: #ed9d13 } - /* LiteralStringHeredoc */ .chroma .sh { color: #ed9d13 } - /* LiteralStringInterpol */ .chroma .si { color: #ed9d13 } - /* LiteralStringOther */ .chroma .sx { color: #ffa500 } - /* LiteralStringRegex */ .chroma .sr { color: #ed9d13 } - /* LiteralStringSingle */ .chroma .s1 { color: #ed9d13 } - /* LiteralStringSymbol */ .chroma .ss { color: #ed9d13 } - /* LiteralNumber */ .chroma .m { color: #3677a9 } - /* LiteralNumberBin */ .chroma .mb { color: #3677a9 } - /* LiteralNumberFloat */ .chroma .mf { color: #3677a9 } - /* LiteralNumberHex */ .chroma .mh { color: #3677a9 } - /* LiteralNumberInteger */ .chroma .mi { color: #3677a9 } - /* LiteralNumberIntegerLong */ .chroma .il { color: #3677a9 } - /* LiteralNumberOct */ .chroma .mo { color: #3677a9 } - /* Operator */ .chroma .o { color: #fa8a8a } - /* OperatorWord */ .chroma .ow { color: #6ab825; font-weight: bold } - /* Punctuation */ .chroma .p { } - /* Comment */ .chroma .c { color: #999999; font-style: italic } - /* CommentHashbang */ .chroma .ch { color: #999999; font-style: italic } - /* CommentMultiline */ .chroma .cm { color: #999999; font-style: italic } - /* CommentSingle */ .chroma .c1 { color: #999999; font-style: italic } - /* CommentSpecial */ .chroma .cs { color: #e50808; background-color: #520000; font-weight: bold } - /* CommentPreproc */ .chroma .cp { color: #cd2828; font-weight: bold } - /* CommentPreprocFile */ .chroma .cpf { color: #cd2828; font-weight: bold } - /* Generic */ .chroma .g { } - /* GenericDeleted */ .chroma .gd { color: #d22323 } - /* GenericEmph */ .chroma .ge { font-style: italic } - /* GenericError */ .chroma .gr { color: #d22323 } - /* GenericHeading */ .chroma .gh { color: #ffffff; font-weight: bold } - /* GenericInserted */ .chroma .gi { color: #589819 } - /* GenericOutput */ .chroma .go { color: #cccccc } - /* GenericPrompt */ .chroma .gp { color: #aaaaaa } - /* GenericStrong */ .chroma .gs { font-weight: bold } - /* GenericSubheading */ .chroma .gu { color: #ffffff; text-decoration: underline } - /* GenericTraceback */ .chroma .gt { color: #d22323 } - /* GenericUnderline */ .chroma .gl { text-decoration: underline } - /* TextWhitespace */ .chroma .w { color: #666666 } -} diff --git a/assets/css/highlight.css b/assets/css/highlight.css deleted file mode 100644 index 79bea26..0000000 --- a/assets/css/highlight.css +++ /dev/null @@ -1,88 +0,0 @@ -@media(prefers-color-scheme:light) { - /* Background */ .bg { background-color: #ffffff; } - /* PreWrapper */ .chroma { background-color: #ffffff; } - /* Other */ .chroma .x { } - /* Error */ .chroma .err { color: #ff0000; background-color: #ffaaaa } - /* CodeLine */ .chroma .cl { } - /* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit } - /* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } - /* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; } - /* LineHighlight */ .chroma .hl { background-color: #ffffcc } - /* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } - /* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } - /* Line */ .chroma .line { display: flex; } - /* Keyword */ .chroma .k { color: #008800; font-weight: bold } - /* KeywordConstant */ .chroma .kc { color: #008800; font-weight: bold } - /* KeywordDeclaration */ .chroma .kd { color: #008800; font-weight: bold } - /* KeywordNamespace */ .chroma .kn { color: #008800; font-weight: bold } - /* KeywordPseudo */ .chroma .kp { color: #003388; font-weight: bold } - /* KeywordReserved */ .chroma .kr { color: #008800; font-weight: bold } - /* KeywordType */ .chroma .kt { color: #333399; font-weight: bold } - /* Name */ .chroma .n { } - /* NameAttribute */ .chroma .na { color: #0000cc } - /* NameBuiltin */ .chroma .nb { color: #007020 } - /* NameBuiltinPseudo */ .chroma .bp { } - /* NameClass */ .chroma .nc { color: #bb0066; font-weight: bold } - /* NameConstant */ .chroma .no { color: #003366; font-weight: bold } - /* NameDecorator */ .chroma .nd { color: #555555; font-weight: bold } - /* NameEntity */ .chroma .ni { color: #880000; font-weight: bold } - /* NameException */ .chroma .ne { color: #ff0000; font-weight: bold } - /* NameFunction */ .chroma .nf { color: #0066bb; font-weight: bold } - /* NameFunctionMagic */ .chroma .fm { } - /* NameLabel */ .chroma .nl { color: #997700; font-weight: bold } - /* NameNamespace */ .chroma .nn { color: #0e84b5; font-weight: bold } - /* NameOther */ .chroma .nx { } - /* NameProperty */ .chroma .py { } - /* NameTag */ .chroma .nt { color: #007700 } - /* NameVariable */ .chroma .nv { color: #996633 } - /* NameVariableClass */ .chroma .vc { color: #336699 } - /* NameVariableGlobal */ .chroma .vg { color: #dd7700; font-weight: bold } - /* NameVariableInstance */ .chroma .vi { color: #3333bb } - /* NameVariableMagic */ .chroma .vm { } - /* Literal */ .chroma .l { } - /* LiteralDate */ .chroma .ld { } - /* LiteralString */ .chroma .s { background-color: #fff0f0 } - /* LiteralStringAffix */ .chroma .sa { background-color: #fff0f0 } - /* LiteralStringBacktick */ .chroma .sb { background-color: #fff0f0 } - /* LiteralStringChar */ .chroma .sc { color: #0044dd; background-color: #fff0f0 } - /* LiteralStringDelimiter */ .chroma .dl { background-color: #fff0f0 } - /* LiteralStringDoc */ .chroma .sd { color: #dd4422; background-color: #fff0f0 } - /* LiteralStringDouble */ .chroma .s2 { background-color: #fff0f0 } - /* LiteralStringEscape */ .chroma .se { color: #666666; background-color: #fff0f0; font-weight: bold } - /* LiteralStringHeredoc */ .chroma .sh { background-color: #fff0f0 } - /* LiteralStringInterpol */ .chroma .si { background-color: #eeeeee } - /* LiteralStringOther */ .chroma .sx { color: #dd2200; background-color: #fff0f0 } - /* LiteralStringRegex */ .chroma .sr { color: #000000; background-color: #fff0ff } - /* LiteralStringSingle */ .chroma .s1 { background-color: #fff0f0 } - /* LiteralStringSymbol */ .chroma .ss { color: #774400; background-color: #fff0f0 } - /* LiteralNumber */ .chroma .m { color: #6600ee; font-weight: bold } - /* LiteralNumberBin */ .chroma .mb { color: #6600ee; font-weight: bold } - /* LiteralNumberFloat */ .chroma .mf { color: #6600ee; font-weight: bold } - /* LiteralNumberHex */ .chroma .mh { color: #005588; font-weight: bold } - /* LiteralNumberInteger */ .chroma .mi { color: #0000dd; font-weight: bold } - /* LiteralNumberIntegerLong */ .chroma .il { color: #6600ee; font-weight: bold } - /* LiteralNumberOct */ .chroma .mo { color: #4400ee; font-weight: bold } - /* Operator */ .chroma .o { color: #333333 } - /* OperatorWord */ .chroma .ow { color: #000000; font-weight: bold } - /* Punctuation */ .chroma .p { } - /* Comment */ .chroma .c { color: #666666; font-style: italic; } - /* CommentHashbang */ .chroma .ch { color: #666666; font-style: italic; } - /* CommentMultiline */ .chroma .cm { color: #666666; font-style: italic; } - /* CommentSingle */ .chroma .c1 { color: #666666; font-style: italic; } - /* CommentSpecial */ .chroma .cs { color: #cc0000; font-style: italic; font-weight: bold } - /* CommentPreproc */ .chroma .cp { color: #557799; font-style: italic; } - /* CommentPreprocFile */ .chroma .cpf { color: #557799; font-style: italic; } - /* Generic */ .chroma .g { } - /* GenericDeleted */ .chroma .gd { color: #a00000 } - /* GenericEmph */ .chroma .ge { font-style: italic } - /* GenericError */ .chroma .gr { color: #ff0000 } - /* GenericHeading */ .chroma .gh { color: #000080; font-weight: bold } - /* GenericInserted */ .chroma .gi { color: #00a000 } - /* GenericOutput */ .chroma .go { color: #888888 } - /* GenericPrompt */ .chroma .gp { color: #c65d09; font-weight: bold } - /* GenericStrong */ .chroma .gs { font-weight: bold } - /* GenericSubheading */ .chroma .gu { color: #800080; font-weight: bold } - /* GenericTraceback */ .chroma .gt { color: #0044dd } - /* GenericUnderline */ .chroma .gl { text-decoration: underline } - /* TextWhitespace */ .chroma .w { color: #bbbbbb } -} diff --git a/assets/css/light.css b/assets/css/light.css new file mode 100644 index 0000000..b234ae7 --- /dev/null +++ b/assets/css/light.css @@ -0,0 +1,37 @@ +@media (prefers-color-scheme: light) { + :root { + /* light.css */ + --font-color: #333; + --bg-color: #fff; + + --link-color:#1d60a3; + --link-state-color:#a31d1d; + --link-state-border-color: rgba(163, 29, 29, .5); + + --thead-bg-color: lightgrey; + --table-border-color: lightgrey; + + --nav-link-color: #696969; + + --pre-color: #333; + --pre-bg-color: #f1f1f1; + + --bq-color: #ccc; + --hr-color: #ccc; + + --pagination-bg-color: #fafafa; + --pagination-link-color: #696969; + + --post-info-color: navy; + + --switcher-color: #fff; + --switcher-bg-color: #333; + + --visited-color: purple; + --visited-post-color: #666; + --inline-code-color: blue; + + --red: red; + --green: green; + } +} diff --git a/assets/css/main.css b/assets/css/main.css new file mode 100644 index 0000000..55167ef --- /dev/null +++ b/assets/css/main.css @@ -0,0 +1,575 @@ +/* Basic */ +html { + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} + +.container { + margin: 1rem; +} + +.sr-only { + position: absolute; + white-space: nowrap; + width: 1px; + height: 1px; + overflow: hidden; + border: 0; + padding: 0; + clip: rect(0 0 0 0); + clip-path: inset(50%); + margin: -1px; +} + +body { + margin: 0; + font-size: 1.2em; + line-height: 1.5; + -webkit-font-smoothing: antialiased; + color: var(--font-color); + background: var(--bg-color); +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} + + +/* Links */ + +a { + color: var(--link-color); +} + +a:hover, +a:focus, +a:active { + color: var(--link-state-color); + text-decoration-style: dashed; +} + +a:active, +a:hover { + outline: 1px; +} + +a:active { + opacity: 0.9; +} +a:visited { + color: var(--visited-color); +} +footer a:visited, nav a:visited:not(.site-title) { + color: var(--link-color); +} + +a.skip-main { + left:-999px; + position:absolute; + top:auto; + width:1px; + height:1px; + overflow:hidden; + z-index:-999; +} + +a.skip-main:focus, +a.skip-main:active { + left: auto; + top: 0px; + width: auto; + height: auto; + overflow:auto; + z-index:999; + padding: 4px 6px 4px 6px; +} + +/* Table */ +thead { + background: var(--thead-bg-color); +} + +table { + display: block; + max-width: 100%; + border-collapse: collapse; + overflow: auto; +} + + +th, td { + padding: 0.5em 1em; + border: 1px double var(--table-border-color); +} + +/* Code */ +pre { + padding: 1em; + max-width: 100%; + overflow: auto; + border: 1px dashed red; + color: var(--pre-color); + background-color: var(--pre-bg-color); +} + +code, +pre { + font-family: monospace, monospace; + font-size: 1rem; +} + +kbd { + border: 1px solid var(--font-color); + border-bottom: 2px solid var(--font-color); + border-radius: 5px; + padding: 0.1rem; +} + +p code { + color: var(--inline-code-color); +} + +/* Styles */ + +blockquote { + border-left: 2px solid var(--bq-color); + padding: 0.1em 1em; + margin-left: 0.75em; +} + +p { + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +hr { + color: var(--hr-color); + background-color: var(--hr-color); + border: none; + height: 1px; + border-bottom: thin solid var(--hr-color); +} + +/* Header */ + +.common-header { + marg +} + +header { + margin-top: 1em; +} + +header .site-title { + color: var(--font-color); + font-size: 1em; + margin-bottom: 0; + font-weight: normal; +} + +header nav:not(:empty){ + margin-top: 1em; + max-width: 100%; + padding: 0.5em 0; +} + +header nav a { + display: inline-block; + margin: 0 1rem; +} + +/* Social icons */ +table.social-icons { + float: right +} +table.social-icons th { + text-align: right; +} +table.social-icons th, td { + border: none; + padding: 0.5rem; +} + +.inline-svg { + display: inline-block; + height: 1.15rem; + width: 1.15rem; + top: 0.15rem; + position: relative; +} + +/* Pages */ +main h1 { + margin-top: 1em; + font-weight: normal; + line-height: 1.1em; + margin-bottom: 0.5em; + font-weight: 600; +} + +/* Articles */ + +a:hover, a:focus, a:active { + color: var(--link-state-color); +} + +.post-title.draft::after { + content: "✎"; + display: inline-block; + margin-left: 0.2em; +} + +article.embedded { + border: 1px dashed red; + padding: 1rem; +} + +article:not(:last-of-type) { + padding-bottom: 2em; +} +header h1, header .post-translations { + margin-left: 2.5rem; +} + +h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, +h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited{ + color: var(--font-color); +} + +.post-info { + color: var(--post-info-color); + font-size: 0.75em; + margin-top: 1em; +} + +.post-info a { + color: var(--post-info-color); +} + +.post-info a:hover { + color: var(--link-state-color); +} + +.post-taxonomies { + display: inline; +} + +.post-categories { + display: inline; + list-style-type: none; + padding: 0; +} + +.post-categories li { + display: inline; + margin-left: 1em; +} + +.post-tags { + display: inline; + list-style-type: none; + padding: 0; +} + +.post-tags li { + display: inline; + margin-left: 1em; +} + +article img { + max-width: 100%; + display: block; + height: auto; + margin: 0 auto .5em; +} + +article figcaption { + color: grey; + text-align: center; + font-size: 0.85em; + margin-bottom: 2em; +} + +.read-more { + margin: 1em 0; +} + +.post-translations { + margin-left: 0.5em; + list-style: none; + padding: 0; + display: inline; + font-size: 14px; +} + +.post-translations > li { + display: inline; +} + +.post-translations > li:not(:last-child)::after { + content: "|"; + display: inline-block; +} + +.post-translations > li a { + color: var(--link-color); +} + +.post-translations > li a:hover, +.post-translations > li a:focus { + color: var(--link-state-color); +} + +/* Other pages */ +.terms { + list-style-type: none; + padding: 0; + line-height: 2em; +} + +/* Footer */ + +#footer { + max-width: 80rem; + margin: 0 auto; + border-top: thin solid var(--hr-color); + padding-top: 1.5em; + margin-top: 3em; +} + +.common-footer-bottom { + align-items: center; + justify-content: space-between; +} + +ul.language-select, ul.footer-menu { + padding-left: 0; + list-style: none; + display: flex; +} + +ul.language-select > li, ul.footer-menu > li { + margin-right: 1em; +} + +/* Media Queries */ + +@media screen, print { + h2 .decorative::before { + content: '# '; + } + + h3 .decorative::before { + content: '## '; + } + + h4 .decorative::before { + content: '### '; + } + .decorative::before { + color: gray; + } +} + +@media speech { + .decorative::before { + display: none; + } +} + +@media print { + aside, .language-select, .post-translations { + display: None; + } + article .content a:not(.heading-anchor):visited, article header a:visited { + color: var(--link-color); + } + .webring { + display: none; + } +} +@media (min-width: 780px) { + + #toc { + position: sticky; + top: 10px; + } + .container { + display: grid; + grid-template-columns: 1fr 4fr 1fr; + grid-gap: 2rem; + } + .common-footer-bottom { + display: grid; + grid-template-columns: 1fr 1fr; + } +} + +@media (max-width: 500px) { + table.social-icons .inline-svg { + display: none; + } +} + +@media (max-width: 840px) { + .main-wrapper { + margin: 0; + max-width: none; + overflow-x: hidden; + padding-left: 25px; + padding-right: 25px; + } + + .post-navigation { + text-align: center; + padding: 0.5em 0; + } + + .post-navigation a { + margin-left: 0.5em; + } +} + +/* Webring---doesn't make sense if you don't use openring */ + +.webring { + margin-top: 2rem; +} + +.webring h2 { + font-size: 1.2rem; +} + +.webring .articles { + width: 95%; +} + +.webring .title { + margin: 0; +} + +.webring .article { + width: 100%; + padding: 0.5rem; + border: 1px solid #333; + margin: 0.5rem 0; +} + +@media (max-width: 640px) { + .webring .article { + margin: 0.5rem 0; + } +} + +.webring .article:first-child { + margin-left: 0; +} + +.webring .article:last-child { + margin-right: 0; +} + +.webring .summary { + font-size: 1rem; + flex: 1 1 0; +} + +.webring .attribution { + float: right; + font-size: 0.8rem; + color: #555; + line-height: 3; +} + +dl dt { + font-weight: bold; +} +dl dd { + text-indent: 1em; +} + +/* Book data format */ + +dl.data { + border: 3px double #ccc; + padding: 0.5em; +} +dl.data dt { + float: left; + clear: left; + max-width: 40%; + text-align: right; + font-weight: bold; +} +dl.data dd { + margin: 0 0 0 110px; + padding: 0 0 0.5em 0; +} + +.text-red { + color: var(--red); +} + +.text-green { + color: var(--green); +} + +details { + margin-top: 1em; + margin-bottom: 1em; + border: 1px solid #aaa; + border-radius: 4px; + padding: .5em .5em 0; +} + +summary { + font-weight: bold; + margin: -.5em -.5em 0; + padding: .5em; +} + +details[open] { + padding: .5em; +} + +details[open] summary { + border-bottom: 1px solid #aaa; + margin-bottom: .5em; +} + +a.site-title::before { + content: "["; +} + +a.site-title::after { + content: "]"; +} + +a.prev-link::before { + content: "← "; +} + +a.next-link.float { + float: right; +} + +a.random-link::before { + content: "🎲 "; +} + +a.next-link::after { + content: " →"; +} diff --git a/assets/css/syntax-dark.css b/assets/css/syntax-dark.css new file mode 100644 index 0000000..d172503 --- /dev/null +++ b/assets/css/syntax-dark.css @@ -0,0 +1,85 @@ +/* Background */ .bg { color: #ffffff; background-color: #1f1f24; } +/* PreWrapper */ .chroma { color: #ffffff; background-color: #1f1f24; } +/* Other */ .chroma .x { } +/* Error */ .chroma .err { color: #960050 } +/* CodeLine */ .chroma .cl { } +/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } +/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; } +/* LineHighlight */ .chroma .hl { background-color: #ffffcc } +/* LineNumbersTable */ .chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } +/* LineNumbers */ .chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } +/* Line */ .chroma .line { display: flex; } +/* Keyword */ .chroma .k { color: #fc5fa3 } +/* KeywordConstant */ .chroma .kc { color: #fc5fa3 } +/* KeywordDeclaration */ .chroma .kd { color: #fc5fa3 } +/* KeywordNamespace */ .chroma .kn { color: #fc5fa3 } +/* KeywordPseudo */ .chroma .kp { color: #fc5fa3 } +/* KeywordReserved */ .chroma .kr { color: #fc5fa3 } +/* KeywordType */ .chroma .kt { color: #fc5fa3 } +/* Name */ .chroma .n { } +/* NameAttribute */ .chroma .na { } +/* NameBuiltin */ .chroma .nb { color: #d0a8ff } +/* NameBuiltinPseudo */ .chroma .bp { color: #a167e6 } +/* NameClass */ .chroma .nc { color: #5dd8ff } +/* NameConstant */ .chroma .no { } +/* NameDecorator */ .chroma .nd { } +/* NameEntity */ .chroma .ni { } +/* NameException */ .chroma .ne { } +/* NameFunction */ .chroma .nf { color: #41a1c0 } +/* NameFunctionMagic */ .chroma .fm { } +/* NameLabel */ .chroma .nl { } +/* NameNamespace */ .chroma .nn { } +/* NameOther */ .chroma .nx { } +/* NameProperty */ .chroma .py { } +/* NameTag */ .chroma .nt { } +/* NameVariable */ .chroma .nv { color: #41a1c0 } +/* NameVariableClass */ .chroma .vc { } +/* NameVariableGlobal */ .chroma .vg { } +/* NameVariableInstance */ .chroma .vi { } +/* NameVariableMagic */ .chroma .vm { } +/* Literal */ .chroma .l { } +/* LiteralDate */ .chroma .ld { } +/* LiteralString */ .chroma .s { color: #fc6a5d } +/* LiteralStringAffix */ .chroma .sa { color: #fc6a5d } +/* LiteralStringBacktick */ .chroma .sb { color: #fc6a5d } +/* LiteralStringChar */ .chroma .sc { color: #fc6a5d } +/* LiteralStringDelimiter */ .chroma .dl { color: #fc6a5d } +/* LiteralStringDoc */ .chroma .sd { color: #fc6a5d } +/* LiteralStringDouble */ .chroma .s2 { color: #fc6a5d } +/* LiteralStringEscape */ .chroma .se { color: #fc6a5d } +/* LiteralStringHeredoc */ .chroma .sh { color: #fc6a5d } +/* LiteralStringInterpol */ .chroma .si { } +/* LiteralStringOther */ .chroma .sx { color: #fc6a5d } +/* LiteralStringRegex */ .chroma .sr { color: #fc6a5d } +/* LiteralStringSingle */ .chroma .s1 { color: #fc6a5d } +/* LiteralStringSymbol */ .chroma .ss { color: #fc6a5d } +/* LiteralNumber */ .chroma .m { color: #d0bf69 } +/* LiteralNumberBin */ .chroma .mb { color: #d0bf69 } +/* LiteralNumberFloat */ .chroma .mf { color: #d0bf69 } +/* LiteralNumberHex */ .chroma .mh { color: #d0bf69 } +/* LiteralNumberInteger */ .chroma .mi { color: #d0bf69 } +/* LiteralNumberIntegerLong */ .chroma .il { color: #d0bf69 } +/* LiteralNumberOct */ .chroma .mo { color: #d0bf69 } +/* Operator */ .chroma .o { } +/* OperatorWord */ .chroma .ow { } +/* Punctuation */ .chroma .p { } +/* Comment */ .chroma .c { color: #6c7986 } +/* CommentHashbang */ .chroma .ch { color: #6c7986 } +/* CommentMultiline */ .chroma .cm { color: #6c7986 } +/* CommentSingle */ .chroma .c1 { color: #6c7986 } +/* CommentSpecial */ .chroma .cs { color: #6c7986; font-style: italic } +/* CommentPreproc */ .chroma .cp { color: #fd8f3f } +/* CommentPreprocFile */ .chroma .cpf { color: #fd8f3f } +/* Generic */ .chroma .g { } +/* GenericDeleted */ .chroma .gd { } +/* GenericEmph */ .chroma .ge { } +/* GenericError */ .chroma .gr { } +/* GenericHeading */ .chroma .gh { } +/* GenericInserted */ .chroma .gi { } +/* GenericOutput */ .chroma .go { } +/* GenericPrompt */ .chroma .gp { } +/* GenericStrong */ .chroma .gs { } +/* GenericSubheading */ .chroma .gu { } +/* GenericTraceback */ .chroma .gt { } +/* GenericUnderline */ .chroma .gl { } +/* TextWhitespace */ .chroma .w { } diff --git a/assets/css/syntax-light.css b/assets/css/syntax-light.css new file mode 100644 index 0000000..3e3c47c --- /dev/null +++ b/assets/css/syntax-light.css @@ -0,0 +1,87 @@ +@media (prefers-color-scheme: light) { + /* Background */ .bg { background-color: #ffffff; } + /* PreWrapper */ .chroma { background-color: #ffffff; } + /* Other */ .chroma .x { } + /* Error */ .chroma .err { color: #000000 } + /* CodeLine */ .chroma .cl { } + /* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } + /* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; } + /* LineHighlight */ .chroma .hl { background-color: #ffffcc } + /* LineNumbersTable */ .chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } + /* LineNumbers */ .chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } + /* Line */ .chroma .line { display: flex; } + /* Keyword */ .chroma .k { color: #a90d91 } + /* KeywordConstant */ .chroma .kc { color: #a90d91 } + /* KeywordDeclaration */ .chroma .kd { color: #a90d91 } + /* KeywordNamespace */ .chroma .kn { color: #a90d91 } + /* KeywordPseudo */ .chroma .kp { color: #a90d91 } + /* KeywordReserved */ .chroma .kr { color: #a90d91 } + /* KeywordType */ .chroma .kt { color: #a90d91 } + /* Name */ .chroma .n { color: #000000 } + /* NameAttribute */ .chroma .na { color: #836c28 } + /* NameBuiltin */ .chroma .nb { color: #a90d91 } + /* NameBuiltinPseudo */ .chroma .bp { color: #5b269a } + /* NameClass */ .chroma .nc { color: #3f6e75 } + /* NameConstant */ .chroma .no { color: #000000 } + /* NameDecorator */ .chroma .nd { color: #000000 } + /* NameEntity */ .chroma .ni { color: #000000 } + /* NameException */ .chroma .ne { color: #000000 } + /* NameFunction */ .chroma .nf { color: #000000 } + /* NameFunctionMagic */ .chroma .fm { color: #000000 } + /* NameLabel */ .chroma .nl { color: #000000 } + /* NameNamespace */ .chroma .nn { color: #000000 } + /* NameOther */ .chroma .nx { color: #000000 } + /* NameProperty */ .chroma .py { color: #000000 } + /* NameTag */ .chroma .nt { color: #000000 } + /* NameVariable */ .chroma .nv { color: #000000 } + /* NameVariableClass */ .chroma .vc { color: #000000 } + /* NameVariableGlobal */ .chroma .vg { color: #000000 } + /* NameVariableInstance */ .chroma .vi { color: #000000 } + /* NameVariableMagic */ .chroma .vm { color: #000000 } + /* Literal */ .chroma .l { color: #1c01ce } + /* LiteralDate */ .chroma .ld { color: #1c01ce } + /* LiteralString */ .chroma .s { color: #c41a16 } + /* LiteralStringAffix */ .chroma .sa { color: #c41a16 } + /* LiteralStringBacktick */ .chroma .sb { color: #c41a16 } + /* LiteralStringChar */ .chroma .sc { color: #2300ce } + /* LiteralStringDelimiter */ .chroma .dl { color: #c41a16 } + /* LiteralStringDoc */ .chroma .sd { color: #c41a16 } + /* LiteralStringDouble */ .chroma .s2 { color: #c41a16 } + /* LiteralStringEscape */ .chroma .se { color: #c41a16 } + /* LiteralStringHeredoc */ .chroma .sh { color: #c41a16 } + /* LiteralStringInterpol */ .chroma .si { color: #c41a16 } + /* LiteralStringOther */ .chroma .sx { color: #c41a16 } + /* LiteralStringRegex */ .chroma .sr { color: #c41a16 } + /* LiteralStringSingle */ .chroma .s1 { color: #c41a16 } + /* LiteralStringSymbol */ .chroma .ss { color: #c41a16 } + /* LiteralNumber */ .chroma .m { color: #1c01ce } + /* LiteralNumberBin */ .chroma .mb { color: #1c01ce } + /* LiteralNumberFloat */ .chroma .mf { color: #1c01ce } + /* LiteralNumberHex */ .chroma .mh { color: #1c01ce } + /* LiteralNumberInteger */ .chroma .mi { color: #1c01ce } + /* LiteralNumberIntegerLong */ .chroma .il { color: #1c01ce } + /* LiteralNumberOct */ .chroma .mo { color: #1c01ce } + /* Operator */ .chroma .o { color: #000000 } + /* OperatorWord */ .chroma .ow { color: #000000 } + /* Punctuation */ .chroma .p { } + /* Comment */ .chroma .c { color: #177500 } + /* CommentHashbang */ .chroma .ch { color: #177500 } + /* CommentMultiline */ .chroma .cm { color: #177500 } + /* CommentSingle */ .chroma .c1 { color: #177500 } + /* CommentSpecial */ .chroma .cs { color: #177500 } + /* CommentPreproc */ .chroma .cp { color: #633820 } + /* CommentPreprocFile */ .chroma .cpf { color: #633820 } + /* Generic */ .chroma .g { } + /* GenericDeleted */ .chroma .gd { } + /* GenericEmph */ .chroma .ge { } + /* GenericError */ .chroma .gr { } + /* GenericHeading */ .chroma .gh { } + /* GenericInserted */ .chroma .gi { } + /* GenericOutput */ .chroma .go { } + /* GenericPrompt */ .chroma .gp { } + /* GenericStrong */ .chroma .gs { } + /* GenericSubheading */ .chroma .gu { } + /* GenericTraceback */ .chroma .gt { } + /* GenericUnderline */ .chroma .gl { } + /* TextWhitespace */ .chroma .w { } +} diff --git a/assets/images/android-chrome-192x192.png b/assets/images/android-chrome-192x192.png deleted file mode 100644 index 334222b..0000000 Binary files a/assets/images/android-chrome-192x192.png and /dev/null differ diff --git a/assets/images/android-chrome-512x512.png b/assets/images/android-chrome-512x512.png deleted file mode 100644 index d935e97..0000000 Binary files a/assets/images/android-chrome-512x512.png and /dev/null differ diff --git a/assets/images/apple-touch-icon.png b/assets/images/apple-touch-icon.png deleted file mode 100644 index 3dcf481..0000000 Binary files a/assets/images/apple-touch-icon.png and /dev/null differ diff --git a/assets/images/favicon-16x16.png b/assets/images/favicon-16x16.png deleted file mode 100644 index 4e2eee7..0000000 Binary files a/assets/images/favicon-16x16.png and /dev/null differ diff --git a/assets/images/favicon-32x32.png b/assets/images/favicon-32x32.png deleted file mode 100644 index 9ad0725..0000000 Binary files a/assets/images/favicon-32x32.png and /dev/null differ diff --git a/assets/images/favicon.ico b/assets/images/favicon.ico deleted file mode 100644 index d9ff90e..0000000 Binary files a/assets/images/favicon.ico and /dev/null differ diff --git a/assets/images/site.webmanifest b/assets/images/site.webmanifest deleted file mode 100644 index 45dc8a2..0000000 --- a/assets/images/site.webmanifest +++ /dev/null @@ -1 +0,0 @@ -{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/config.yaml b/config.yaml index a3aebf4..22b7174 100644 --- a/config.yaml +++ b/config.yaml @@ -2,17 +2,60 @@ baseURL: https://xrvs.net/ copyright: CC-BY-SA 4.0 defaultContentLanguage: en defaultContentLanguageInSubdir: true -sectionPagesMenu: main languageCode: en-us languages: de: languageName: Deutsch + menus: + main: + - name: Über + pageRef: /about + weight: 10 + - name: Artikeln + pageRef: /posts + weight: 20 + - name: RSS + pageRef: /about/rss + weight: 90 en: languageName: English + menus: + main: + - name: About + pageRef: /about + weight: 10 + - name: Articles + pageRef: /posts + weight: 20 + - name: RSS + pageRef: /about/rss + weight: 90 fr: languageName: Français + menus: + main: + - name: À propos + pageRef: /about + weight: 10 + - name: Publications + pageRef: /posts + weight: 20 + - name: RSS + pageRef: /about/rss + weight: 90 vi: languageName: Tiếng Việt + menus: + main: + - name: Giới thiệu + pageRef: /about + weight: 10 + - name: Bài viết + pageRef: /posts + weight: 20 + - name: RSS + pageRef: /about/rss + weight: 90 markup: goldmark: renderer: @@ -23,14 +66,23 @@ params: author: Ngô Ngọc Đức Huy disableSummary: true email: huyngo@disroot.org - relMe: - - https://outerheaven.club/xarvos - - https://social.treehouse.systems/@xarvos - - https://fedi.criminallycute.fi/xarvos - - https://nixnet.social/xarvos - - https://git.sr.ht/~huyngo/ + social: + - id: pleroma + name: "@xarvos@outerheaven.club" + url: https://outerheaven.club/xarvos + - id: mastodon + name: "@xarvos@treehouse.systems" + url: "https://social.treehouse.systems/@xarvos" + - id: sourcehut + name: "~huyngo" + url: "https://sr.ht/~huyngo" + - id: matrix + name: "@huyngo:envs.net" + url: matrix:u/huyngo:envs.net + - id: email + name: huyngo@disroot.org + url: mailto:huyngo@disroot.org mainSections: - posts summaryLength: 0 -theme: victor title: xarvos diff --git a/content/_index.md b/content/_index.md index 28c2129..4302ae2 100644 --- a/content/_index.md +++ b/content/_index.md @@ -2,11 +2,11 @@ title: Home page --- -Check out the [previous site][prev] in the [fediring][fedi] as well as the [next -site][next] as well. +Hi, this is xarvos's little corner on the Wired. More introduction can be seen +in the [about page](/en/about/). -Take a look at other sections of my site: +To the left are my site sections. -[prev]: https://fediring.net/previous?host=xrvs.net -[fedi]: https://fediring.net/ -[next]: https://fediring.net/next?host=xrvs.net +To the right are external links to web rings and feeds from people I follow. + +Below is my latest post. diff --git a/content/about/_index.md b/content/about/_index.md index a880e48..42715d7 100644 --- a/content/about/_index.md +++ b/content/about/_index.md @@ -5,18 +5,39 @@ ref: about disable_feed: true --- -## Me +I suppose I should introduce my selves in third person to distinguish my +internet persona and "meatsona", even though I find it weird to write in third +person. The distinction is there, albeit somewhat blur. I might have some +other personae, but I don't feel comfortable disclosing them in public. -![I literally used this duck image for debugging](rubber-duck.png) +## xarvos + +the internet persona known as xarvos is a blob of energy without a +shape. ze chose to use this debugging rubber duck to represent zemself. + +![a yellow rubber duck](duck.png) + +no, that is not an "x" that starts zer name; it's a [velar fricative][x], and +zer name's pronunciation in IPA is /xarvos/. ze prefers to write in lowercase, +except for acronyms and as-is quotes. + +xarvos is a creative creature. ze loves writing (fiction, software), drawing. + +## Huy + +Huy is a struggling youth + +## common + +I speak Vietnamese, English, French, German, with proficiency and fluency +decrementally sorted. Please [contact][contact] if you want language exchange. -Hi, this is xarvos, also known in meatspace as Huy. I write about all kinds of stuff; expect tech discussion, shitposts, language stuff, fictions, blah blah. I [work][work] as a software developer, and that means I [hate software][relevant-xkcd] more than others. -I speak Vietnamese, English, French, German, with proficiency and fluency -decrementally sorted. Please [contact][contact] if you want language exchange. +[x]: https://en.wikipedia.org/wiki/Voiceless_velar_fricative [contact]: /en/about/contact/ [work]: /en/about/works/ [relevant-xkcd]: https://xkcd.com/2030/ diff --git a/content/about/duck.png b/content/about/duck.png new file mode 100644 index 0000000..f423c00 Binary files /dev/null and b/content/about/duck.png differ diff --git a/content/about/rss.md b/content/about/rss.md index fea42e1..7633059 100644 --- a/content/about/rss.md +++ b/content/about/rss.md @@ -35,7 +35,3 @@ feeds here: - [French](/fr/book-reviews/index.xml) - [German](/de/book-reviews/index.xml) - [Vietnamese](/vi/book-reviews/index.xml) - -## Comics - -- [English](/en/comics/index.xml) diff --git a/content/about/rubber-duck.png b/content/about/rubber-duck.png deleted file mode 100644 index e354034..0000000 Binary files a/content/about/rubber-duck.png and /dev/null differ diff --git a/content/book-reviews/ellana.fr.md b/content/book-reviews/ellana.fr.md index 9383ae4..2ede93c 100644 --- a/content/book-reviews/ellana.fr.md +++ b/content/book-reviews/ellana.fr.md @@ -1,5 +1,5 @@ --- -categories: [blog, "book review"] +categories: ["book review"] title: "Ellana" date: 2022-02-17 tags: [ellana] diff --git a/content/book-reviews/rise-of-kyoshi.md b/content/book-reviews/rise-of-kyoshi.md index a19af90..e07c4a6 100644 --- a/content/book-reviews/rise-of-kyoshi.md +++ b/content/book-reviews/rise-of-kyoshi.md @@ -1,5 +1,5 @@ --- -categories: [blog, "book review"] +categories: ["book review"] title: "Rise of Kyoshi" date: 2021-10-14 tags: [avatar, kyoshi, fantasy, fiction] diff --git a/content/book-reviews/shadow-of-kyoshi.md b/content/book-reviews/shadow-of-kyoshi.md index 3ea0f9b..4650a61 100644 --- a/content/book-reviews/shadow-of-kyoshi.md +++ b/content/book-reviews/shadow-of-kyoshi.md @@ -1,5 +1,5 @@ --- -categories: [blog, "book review"] +categories: ["book review"] title: "Shadow of Kyoshi" date: 2021-10-20 tags: [avatar, kyoshi, fantasy, fiction] diff --git a/content/book-reviews/xkcd-what-if.md b/content/book-reviews/xkcd-what-if.md index 5d24d02..17100c5 100644 --- a/content/book-reviews/xkcd-what-if.md +++ b/content/book-reviews/xkcd-what-if.md @@ -1,5 +1,5 @@ --- -categories: [blog, "book review"] +categories: ["book review"] title: "XKCD: What If?" date: 2021-05-07T16:35:08+07:00 tags: [book, review, science, hypothetical, xkcd, whatif] diff --git a/content/ipwhl.md b/content/ipwhl.md deleted file mode 100644 index 6bd627c..0000000 --- a/content/ipwhl.md +++ /dev/null @@ -1,3925 +0,0 @@ ---- -title: IPWHL version tracker -date: 2022-05-15 -lang: en -disable_feed: true ---- - -

Updated at - -

-

IPWHL release 2022W24 -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Package namePyPIIPWHLStatus
absl-py1.1.01.1.0Up to date
adal1.2.71.2.7Up to date
aiodns3.0.03.0.0Up to date
aiofiles0.8.00.8.0Up to date
aiohttp3.8.13.8.1Up to date
aiohttp-cors0.7.00.7.0Up to date
aioitertools0.10.00.10.0Up to date
aioquic0.9.200.9.20Up to date
aiosignal1.2.01.2.0Up to date
aiosmtpd1.4.21.4.2Up to date
aiosqlite0.17.00.17.0Up to date
alabaster0.7.120.7.12Up to date
anyio3.6.13.6.1Up to date
appdirs1.4.41.4.4Up to date
appnope0.1.30.1.3Up to date
argcomplete2.0.01.12.3Outdated
argh0.26.20.26.2Up to date
argon2-cffi21.3.021.3.0Up to date
argon2-cffi-bindings21.2.021.2.0Up to date
argparse1.4.01.4.0Up to date
Arpeggio2.0.01.10.2Outdated
arrow1.2.21.2.2Up to date
asaman0.1.60.1.6Up to date
asdf2.12.02.12.0Up to date
asdf-standard1.0.21.0.2Up to date
asdf-transform-schemas0.2.20.2.2Up to date
asgiref3.5.23.5.2Up to date
asn1crypto1.5.11.5.1Up to date
aspectlib1.5.21.5.2Up to date
aspy.yaml1.3.01.3.0Up to date
astor0.8.10.8.1Up to date
astroid2.11.62.11.6Up to date
astropy-sphinx-theme1.11.1Up to date
asttokens2.0.52.0.5Up to date
async_generator1.101.10Up to date
asyncpg0.25.00.25.0Up to date
asynctest0.13.00.13.0Up to date
async-timeout4.0.24.0.2Up to date
atomicwrites1.4.01.4.0Up to date
atpublic3.0.13.0.1Up to date
attrs21.4.021.4.0Up to date
autocommand2.2.12.2.1Up to date
autopage0.5.10.5.1Up to date
awscrt0.13.130.13.8Outdated
azure-common1.1.281.1.28Up to date
azure-core1.24.11.24.1Up to date
azure-datalake-store0.0.520.0.52Up to date
azure-identity1.10.01.10.0Up to date
azure-storage-blob12.12.012.12.0Up to date
Babel2.10.32.10.3Up to date
backcall0.2.00.2.0Up to date
backports.entry-points-selectable1.1.11.1.1Up to date
backports.zoneinfo0.2.10.2.1Up to date
bcrypt3.2.23.2.2Up to date
beautifulsoup44.11.14.11.1Up to date
binaryornot0.4.40.4.4Up to date
bleach5.0.05.0.0Up to date
blinker1.41.4Up to date
blurb1.1.01.1.0Up to date
bokeh2.4.32.4.3Up to date
boolean.py4.04.0Up to date
boto31.24.161.24.10Outdated
botocore1.27.161.27.10Outdated
branca0.5.00.5.0Up to date
Brotli1.0.91.0.9Up to date
brotlipy0.7.00.7.0Up to date
build0.8.00.8.0Up to date
bump2version1.0.11.0.1Up to date
bumpversion0.6.00.6.0Up to date
CacheControl0.12.110.12.11Up to date
cached-property1.5.21.5.2Up to date
cachetools5.2.05.2.0Up to date
cchardet2.1.72.1.7Up to date
Cerberus1.3.41.3.4Up to date
certifi2022.6.152022.6.15Up to date
cffi1.15.01.15.0Up to date
cfgv3.3.13.3.1Up to date
Chameleon3.10.13.9.1Outdated
chardet4.0.04.0.0Up to date
charset-normalizer2.1.02.0.12Outdated
check-manifest0.480.48Up to date
click8.1.38.1.3Up to date
click-default-group1.2.21.2.2Up to date
click-log0.4.00.4.0Up to date
cliff3.10.13.10.1Up to date
cloudpickle2.1.02.1.0Up to date
cmarkgfm0.8.00.8.0Up to date
cmd22.4.12.4.1Up to date
codecov2.1.122.1.12Up to date
cogapp3.3.03.3.0Up to date
colorama0.4.50.4.4Outdated
colorlog6.6.06.6.0Up to date
commentjson0.9.00.9.0Up to date
commonmark0.9.10.9.1Up to date
configparser5.2.05.2.0Up to date
constantly15.1.015.1.0Up to date
contextlib221.6.021.6.0Up to date
contextvars2.42.4Up to date
covdefaults2.2.02.2.0Up to date
coverage6.4.16.4.1Up to date
coverage_enable_subprocess1.01.0Up to date
coveralls3.3.13.3.1Up to date
cryptography37.0.237.0.2Up to date
csscompressor0.9.50.9.5Up to date
cssselect1.1.01.1.0Up to date
cssselect20.6.00.6.0Up to date
curio1.51.5Up to date
cx-Oracle8.3.08.3.0Up to date
Cycler0.11.00.11.0Up to date
Cython0.29.300.29.30Up to date
cython-test-exception-raiser1.0.21.0.2Up to date
dataclasses0.80.8Up to date
ddt1.5.01.5.0Up to date
debugpy1.6.01.6.0Up to date
decorator5.1.15.1.1Up to date
defusedxml0.7.10.7.1Up to date
Deprecated1.2.131.2.13Up to date
dill0.3.5.10.3.5.1Up to date
distlib0.3.40.3.4Up to date
distro1.7.01.7.0Up to date
Django4.0.54.0.5Up to date
dnspython2.2.12.1.0Outdated
doc80.11.20.11.2Up to date
docopt0.6.20.6.2Up to date
docstring-parser0.14.10.7.3Outdated
docutils0.18.10.15.2Outdated
docutils-stubs0.0.220.0.22Up to date
dpcontracts0.6.00.6.0Up to date
dropbox11.32.011.32.0Up to date
editdistance-s1.0.01.0.0Up to date
elasticsearch8.2.38.2.3Up to date
elastic-transport8.1.28.1.2Up to date
email-validator1.2.11.2.1Up to date
entrypoints0.40.4Up to date
execnet1.9.01.9.0Up to date
executing0.8.30.8.3Up to date
extras1.0.01.0.0Up to date
falcon3.1.02.0.0Outdated
fastapi0.78.00.78.0Up to date
fastimport0.9.140.9.14Up to date
fastjsonschema2.15.32.15.3Up to date
feedparser6.0.106.0.10Up to date
fields5.0.05.0.0Up to date
filelock3.7.13.7.1Up to date
findimports2.2.02.2.0Up to date
fissix21.11.1321.11.13Up to date
fixtures4.0.04.0.0Up to date
flake84.0.13.9.2Outdated
flake8-annotations2.9.02.9.0Up to date
flake8-bugbear22.6.2222.4.25Outdated
flake8-builtins1.5.31.5.3Up to date
flake8-docstrings1.6.01.6.0Up to date
flake8-import-order0.18.10.18.1Up to date
flake8-polyfill1.0.21.0.2Up to date
flaky3.7.03.7.0Up to date
Flask2.1.22.1.2Up to date
flit3.7.13.7.1Up to date
flit_core3.7.13.7.1Up to date
flufl.flake80.100.10Up to date
fonttools4.33.34.33.3Up to date
formbox0.4.10.4.1Up to date
fqdn1.5.11.5.1Up to date
freezegun1.2.11.2.1Up to date
frozenlist1.3.01.3.0Up to date
fs2.4.162.4.16Up to date
func-timeout4.3.54.3.5Up to date
furo2022.6.212022.4.7Outdated
fusepy3.0.13.0.1Up to date
future0.18.20.18.2Up to date
fuzzywuzzy0.18.00.18.0Up to date
Genshi0.7.70.7.7Up to date
ghp-import2.1.02.1.0Up to date
gitdb4.0.94.0.9Up to date
GitPython3.1.273.1.27Up to date
gnureadline8.1.28.0.0Outdated
google-api-core2.8.22.8.2Up to date
google-api-python-client2.51.02.51.0Up to date
googleapis-common-protos1.56.31.56.2Outdated
google-auth2.8.02.6.6Outdated
google-auth-httplib20.1.00.1.0Up to date
google-auth-oauthlib0.5.20.5.2Up to date
google-cloud-core2.3.12.3.1Up to date
google-cloud-dlp3.7.13.7.1Up to date
google-cloud-storage2.4.02.4.0Up to date
google-crc32c1.3.01.3.0Up to date
google-resumable-media2.3.32.3.3Up to date
graphviz0.200.20Up to date
greenlet1.1.21.1.2Up to date
grpcio1.47.01.46.3Outdated
grpcio-gcp0.2.20.2.2Up to date
grpcio-status1.47.01.46.3Outdated
grpcio-tools1.47.01.46.3Outdated
gssapi1.7.31.7.3Up to date
h110.13.00.12.0Outdated
h24.1.04.1.0Up to date
h5py3.7.03.7.0Up to date
HeapDict1.0.11.0.1Up to date
hiredis2.0.02.0.0Up to date
hpack4.0.04.0.0Up to date
html5lib1.11.1Up to date
httpcore0.15.00.13.7Outdated
httplib20.20.40.20.4Up to date
httpx0.23.00.19.0Outdated
hug2.6.12.6.1Up to date
humanize4.2.14.1.0Outdated
hunter3.4.33.4.3Up to date
Hypercorn0.13.20.13.2Up to date
hyperframe6.0.16.0.1Up to date
hyperlink21.0.021.0.0Up to date
identify2.5.12.5.1Up to date
idna3.33.3Up to date
idna-ssl1.1.01.1.0Up to date
imagecodecs2022.2.222021.11.20Outdated
imageio-ffmpeg0.4.70.4.7Up to date
imagesize1.3.01.3.0Up to date
immutables0.180.18Up to date
importlib-metadata4.11.44.11.3Outdated
importlib-resources5.8.05.8.0Up to date
iniconfig1.1.11.1.1Up to date
invoke1.7.11.7.1Up to date
ipwhl1.1.01.1.0Up to date
ipython-genutils0.2.00.2.0Up to date
iso86011.0.21.0.2Up to date
isodate0.6.10.6.1Up to date
isoduration20.11.020.11.0Up to date
isort5.10.15.10.1Up to date
itsdangerous2.1.22.1.2Up to date
jaraco.classes3.2.13.2.1Up to date
jaraco.context4.1.14.1.1Up to date
jaraco.functools3.5.03.5.0Up to date
jaraco.packaging9.0.09.0.0Up to date
jaraco.tidelift1.5.01.5.0Up to date
jedi0.18.10.18.1Up to date
jeepney0.8.00.8.0Up to date
Jinja23.1.23.1.2Up to date
jinja2-humanize-extension0.2.10.2.0Outdated
jmespath1.0.11.0.0Outdated
joblib1.1.01.1.0Up to date
jplephem2.172.17Up to date
Js2Py0.710.71Up to date
json50.9.80.9.6Outdated
jsondiff2.0.02.0.0Up to date
json-logging1.3.01.3.0Up to date
jsonpatch1.321.32Up to date
jsonpointer2.32.3Up to date
jsonschema4.6.04.6.0Up to date
json-spec0.10.10.10.1Up to date
junit-xml1.91.9Up to date
jupyter-client7.3.47.2.2Outdated
jupyter-core4.10.04.10.0Up to date
jupyterlab-pygments0.2.20.2.2Up to date
jupyterlab-widgets1.1.11.1.0Outdated
keyring23.6.023.6.0Up to date
kiwisolver1.4.31.4.3Up to date
lark-parser0.12.00.7.8Outdated
latexcodec2.0.12.0.1Up to date
lazy-object-proxy1.7.11.7.1Up to date
libcst0.4.50.4.4Outdated
libsass0.21.00.21.0Up to date
lingua4.15.04.15.0Up to date
linkify-it-py2.0.02.0.0Up to date
livereload2.6.32.6.3Up to date
loca2.0.12.0.1Up to date
locket1.0.01.0.0Up to date
lockfile0.12.20.12.2Up to date
lotide_luna0.7.10.7.1Up to date
lxml4.9.04.9.0Up to date
lz44.0.14.0.1Up to date
Mako1.2.01.2.0Up to date
manhole1.8.01.8.0Up to date
mariadb1.0.111.0.11Up to date
Markdown3.3.73.3.7Up to date
markdownify0.11.20.11.2Up to date
MarkupSafe2.1.12.1.1Up to date
matplotlib3.5.23.5.2Up to date
matplotlib-inline0.1.30.1.3Up to date
mccabe0.7.00.6.1Outdated
mdurl0.1.10.1.1Up to date
mergedeep1.3.41.3.4Up to date
mike1.1.21.1.2Up to date
mistune2.0.22.0.2Up to date
mkdocs1.3.01.3.0Up to date
mkdocs-material8.3.78.3.5Outdated
mkdocs-material-extensions1.0.31.0.3Up to date
mock4.0.34.0.3Up to date
MonkeyType22.2.022.2.0Up to date
more-itertools8.13.08.13.0Up to date
mpmath1.2.11.2.1Up to date
msal1.18.01.18.0Up to date
msal-extensions1.0.01.0.0Up to date
msgpack1.0.41.0.4Up to date
msrest0.7.10.7.1Up to date
multidict6.0.26.0.2Up to date
mutagen1.45.11.45.1Up to date
mypy0.9610.950Outdated
mypy-extensions0.4.30.4.3Up to date
mypytools0.1.150.1.15Up to date
mysqlclient2.1.12.1.0Outdated
nbclient0.6.40.5.9Outdated
nbformat5.4.05.4.0Up to date
nest-asyncio1.5.51.5.5Up to date
nodeenv1.6.01.6.0Up to date
nose1.3.71.3.7Up to date
nox2022.1.72022.1.7Up to date
numcodecs0.10.00.9.1Outdated
numpy1.23.01.21.6Outdated
oauthlib3.2.03.2.0Up to date
objgraph3.5.03.5.0Up to date
orderedmultidict1.0.11.0.1Up to date
outcome1.2.01.2.0Up to date
packaging21.321.3Up to date
pandas1.4.31.3.5Outdated
pandocfilters1.5.01.5.0Up to date
panflute2.1.32.1.3Up to date
paramiko2.11.02.11.0Up to date
parso0.8.30.8.3Up to date
parver0.3.10.3.1Up to date
path16.4.016.4.0Up to date
pathspec0.9.00.9.0Up to date
Paver1.3.41.3.4Up to date
pbr5.9.05.9.0Up to date
pdocs1.1.11.1.1Up to date
pep5170.12.00.12.0Up to date
pep81.7.11.7.1Up to date
pep8-naming0.13.00.13.0Up to date
pexpect4.8.04.8.0Up to date
pg80001.29.11.29.1Up to date
pickleshare0.7.50.7.5Up to date
Pillow9.1.19.1.1Up to date
pip22.1.222.1.2Up to date
pip-api0.0.290.0.29Up to date
pipreqs0.4.110.4.11Up to date
pip-shims0.7.00.7.0Up to date
pkginfo1.8.31.8.3Up to date
platformdirs2.5.22.5.2Up to date
plette0.2.30.2.3Up to date
pluggy1.0.01.0.0Up to date
ply3.113.11Up to date
polib1.1.11.1.1Up to date
pooch1.6.01.5.2Outdated
portalocker2.4.02.4.0Up to date
pre-commit2.19.02.19.0Up to date
pretend1.0.91.0.9Up to date
prettytable3.3.03.3.0Up to date
priority2.0.02.0.0Up to date
process-tests2.1.22.1.2Up to date
progress1.61.6Up to date
prometheus-client0.14.10.14.1Up to date
prompt-toolkit3.0.293.0.29Up to date
proselint0.13.00.13.0Up to date
protobuf4.21.13.20.1Outdated
proto-plus1.20.61.20.6Up to date
psutil5.9.15.9.1Up to date
psycopg22.9.32.9.3Up to date
psycopg2-binary2.9.32.9.3Up to date
ptyprocess0.7.00.7.0Up to date
pure-eval0.2.20.2.2Up to date
py1.11.01.11.0Up to date
py4j0.10.9.50.10.9.3Outdated
pyarrow8.0.08.0.0Up to date
pyasn10.4.80.4.8Up to date
pyasn1-modules0.2.80.2.8Up to date
pybtex0.24.00.24.0Up to date
pybtex-docutils1.0.21.0.2Up to date
pycares4.2.04.1.2Outdated
pycodestyle2.8.02.7.0Outdated
pycparser2.212.21Up to date
pycryptodome3.15.03.14.1Outdated
pydantic1.9.11.9.1Up to date
pydocstyle6.1.16.1.1Up to date
pydot1.4.21.4.2Up to date
pyee9.0.49.0.4Up to date
pyenchant3.2.23.2.2Up to date
pyerfa2.0.0.12.0.0.1Up to date
pyfakefs4.5.64.5.6Up to date
pyflakes2.4.02.3.1Outdated
pygaljs1.0.21.0.2Up to date
pygame2.1.22.1.2Up to date
pyglet1.5.261.5.26Up to date
Pygments2.12.02.12.0Up to date
pygments-github-lexers0.0.50.0.5Up to date
PyHamcrest2.0.32.0.3Up to date
pyinotify0.9.60.9.6Up to date
pyjsparser2.7.12.7.1Up to date
PyJWT2.4.02.4.0Up to date
pylint2.14.32.14.2Outdated
pylsqpack0.3.160.3.16Up to date
py-make0.1.10.1.1Up to date
pymdown-extensions9.59.5Up to date
Pympler1.0.11.0.1Up to date
pymssql2.2.52.2.5Up to date
PyMySQL1.0.21.0.2Up to date
PyNaCl1.5.01.5.0Up to date
pyobjc-core8.58.1Outdated
pyobjc-framework-Cocoa8.58.1Outdated
pyodbc4.0.324.0.32Up to date
pyOpenSSL22.0.022.0.0Up to date
pyparsing3.0.93.0.9Up to date
pyperclip1.8.21.8.2Up to date
pyquery1.4.31.4.3Up to date
pyreadline2.12.1Up to date
pyreadline33.4.13.4.1Up to date
pyre-extensions0.0.290.0.28Outdated
pyroma4.04.0Up to date
pyrsistent0.18.10.18.1Up to date
PySide66.3.16.3.0Outdated
PySide6-Addons6.3.16.3.0Outdated
PySide6-Essentials6.3.16.3.0Outdated
PySocks1.7.11.7.1Up to date
pyspark3.3.03.2.1Outdated
pystache0.6.00.5.4Outdated
pytest7.1.27.1.2Up to date
pytest-arraydiff0.5.00.3Outdated
pytest-astropy-header0.2.10.1.2Outdated
pytest-asyncio0.18.30.18.3Up to date
pytest-checkdocs2.7.12.7.1Up to date
pytest-console-scripts1.3.11.3.1Up to date
pytest-cov3.0.03.0.0Up to date
pytest-datadir1.3.11.3.1Up to date
pytest-dependency0.5.10.5.1Up to date
pytest-doctestplus0.12.00.12.0Up to date
pytest-enabler1.3.01.2.0Outdated
pytest-env0.6.20.6.2Up to date
pytest-filter-subpackage0.1.10.1.1Up to date
pytest-flake81.1.11.1.0Outdated
pytest-forked1.4.01.4.0Up to date
pytest-freezegun0.4.20.4.2Up to date
pytest-httpserver1.0.41.0.4Up to date
pytest-isort3.0.03.0.0Up to date
pytest-lazy-fixture0.6.30.6.3Up to date
pytest-localserver0.6.00.6.0Up to date
pytest-mock3.7.03.7.0Up to date
pytest-mypy0.9.10.9.1Up to date
pytest-openfiles0.5.00.5.0Up to date
pytest-qt4.1.04.0.2Outdated
pytest-randomly3.12.03.12.0Up to date
pytest-regressions2.3.12.3.1Up to date
pytest-remotedata0.3.30.3.3Up to date
pytest-rerunfailures10.210.2Up to date
pytest-subtests0.8.00.8.0Up to date
pytest-timeout2.1.02.1.0Up to date
pytest-tornado0.8.10.8.1Up to date
pytest-tornasync0.6.0.post20.6.0.post2Up to date
pytest-trio0.7.00.7.0Up to date
pytest-xdist2.5.02.5.0Up to date
python-dateutil2.8.22.8.2Up to date
python-debian0.1.440.1.44Up to date
python-dotenv0.20.00.20.0Up to date
python-editor1.0.41.0.4Up to date
python-Levenshtein0.12.20.12.2Up to date
python-multipart0.0.50.0.5Up to date
python-slugify6.1.26.1.2Up to date
python-socks2.0.32.0.3Up to date
python-subunit1.4.01.4.0Up to date
pytz2022.12022.1Up to date
pytz-deprecation-shim0.1.0.post00.1.0.post0Up to date
pyu2f0.1.50.1.5Up to date
PyWavelets1.3.01.3.0Up to date
pywin32304303Outdated
pywin32-ctypes0.2.00.2.0Up to date
pywinpty2.0.52.0.5Up to date
pyxel1.7.11.7.1Up to date
PyYAML6.06.0Up to date
pyyaml-env-tag0.10.1Up to date
pyyaml_env_tag0.10.1Up to date
pyzmq23.2.022.3.0Outdated
QtPy2.1.02.1.0Up to date
Quart0.17.00.17.0Up to date
quart-trio0.9.10.9.1Up to date
railroad-diagrams2.0.31.1.1Outdated
readme-renderer35.035.0Up to date
redis4.3.33.5.3Outdated
regex2022.6.22022.6.2Up to date
repoze.sphinx.autointerface1.0.01.0.0Up to date
requests2.28.02.28.0Up to date
requests-oauthlib1.3.11.3.1Up to date
requests-toolbelt0.9.10.9.1Up to date
requests-unixsocket0.3.00.3.0Up to date
requirementslib1.6.41.6.1Outdated
resolvelib0.8.10.8.1Up to date
responses0.21.00.21.0Up to date
restructuredtext-lint1.4.01.3.2Outdated
rethinkdb2.4.92.4.9Up to date
rfc3339-validator0.1.40.1.4Up to date
rfc39862.0.01.5.0Outdated
rfc3986-validator0.1.10.1.1Up to date
rfc39871.3.81.3.8Up to date
rope1.2.01.1.1Outdated
rsa4.84.8Up to date
rsskey0.1.00.1.0Up to date
rst.linker2.3.02.3.0Up to date
ruamel.appconfig0.5.50.5.5Up to date
ruamel.std.argparse0.8.30.8.3Up to date
ruamel.std.pathlib0.9.20.9.2Up to date
ruamel.yaml0.17.210.17.21Up to date
ruamel.yaml.clib0.2.60.2.6Up to date
ruamel.yaml.jinja20.2.70.2.7Up to date
ryd0.7.10.7.1Up to date
s3transfer0.6.00.6.0Up to date
scipy1.8.11.7.3Outdated
scramp1.4.11.4.1Up to date
seaborn0.11.20.11.2Up to date
SecretStorage3.3.23.3.2Up to date
semantic-version2.10.02.10.0Up to date
Send2Trash1.8.01.8.0Up to date
setproctitle1.2.31.2.3Up to date
setuptools62.6.062.4.0Outdated
setuptools-rust1.3.01.3.0Up to date
sgmllib3k1.0.01.0.0Up to date
sgp42.212.21Up to date
shiboken66.3.16.3.0Outdated
shtab1.5.51.5.4Outdated
simplejson3.17.63.17.6Up to date
six1.16.01.16.0Up to date
skia-pathops0.7.20.7.2Up to date
skyfield1.421.42Up to date
smmap5.0.05.0.0Up to date
sniffio1.2.01.2.0Up to date
snowballstemmer2.2.02.2.0Up to date
sortedcontainers2.4.02.4.0Up to date
soupsieve2.3.2.post12.3.2.post1Up to date
Sphinx5.0.24.5.0Outdated
sphinx-argparse0.3.10.3.1Up to date
sphinx-argparse-cli1.8.31.8.3Up to date
sphinx-autobuild2021.3.142021.3.14Up to date
sphinx-autodoc-typehints1.18.31.12.0Outdated
sphinx-automodapi0.14.10.14.1Up to date
sphinx-bootstrap-theme0.8.10.8.1Up to date
sphinxcontrib-applehelp1.0.21.0.2Up to date
sphinxcontrib-asyncio0.3.00.3.0Up to date
sphinxcontrib-autoprogram0.1.70.1.7Up to date
sphinxcontrib-bibtex2.4.22.4.2Up to date
sphinxcontrib-devhelp1.0.21.0.2Up to date
sphinxcontrib_github_alt1.21.2Up to date
sphinxcontrib-htmlhelp2.0.02.0.0Up to date
sphinxcontrib-httpdomain1.8.01.8.0Up to date
sphinxcontrib-jsmath1.0.11.0.1Up to date
sphinxcontrib-mermaid0.7.10.7.1Up to date
sphinxcontrib.mermaid0.7.10.7.1Up to date
sphinxcontrib-programoutput0.170.17Up to date
sphinxcontrib-qthelp1.0.31.0.3Up to date
sphinxcontrib-serializinghtml1.1.51.1.5Up to date
sphinxcontrib-spelling7.5.17.5.0Outdated
sphinxcontrib-websupport1.2.41.2.4Up to date
sphinxext-opengraph0.6.30.6.3Up to date
sphinxext-rediraffe0.2.70.2.7Up to date
sphinx-gallery0.10.10.10.0Outdated
sphinx-inline-tabs2022.1.2b112022.1.2b11Up to date
sphinx-notfound-page0.80.8Up to date
sphinx-rtd-theme1.0.01.0.0Up to date
sphobjinv2.2.22.2.2Up to date
sqlalchemy2-stubs0.0.2a240.0.2a24Up to date
sqlcipher3-binary0.4.50.4.5Up to date
sqlparse0.4.20.4.2Up to date
stack-data0.3.00.2.0Outdated
starlette0.20.30.19.1Outdated
stevedore3.5.03.5.0Up to date
stone3.3.13.3.1Up to date
strict-rfc33390.70.7Up to date
sympy1.10.11.10.1Up to date
tabulate0.8.100.8.9Outdated
tblib1.7.01.7.0Up to date
tenacity8.0.18.0.1Up to date
termcolor1.1.01.1.0Up to date
terminado0.15.00.15.0Up to date
testpath0.6.00.6.0Up to date
testresources2.0.12.0.1Up to date
testscenarios0.5.00.5.0Up to date
testtools2.5.02.5.0Up to date
text-unidecode1.31.3Up to date
threadpoolctl3.1.03.1.0Up to date
tifffile2022.5.42022.5.4Up to date
tinycss21.1.11.1.1Up to date
tokenize-rt4.2.14.2.1Up to date
toml0.10.20.10.2Up to date
tomli2.0.12.0.1Up to date
tomli-w1.0.01.0.0Up to date
tomlkit0.11.00.11.0Up to date
toolz0.11.20.11.2Up to date
tornado6.16.1Up to date
tox3.25.03.25.0Up to date
traitlets5.3.05.2.2.post1Outdated
trio0.21.00.21.0Up to date
trustme0.9.00.9.0Up to date
typed-ast1.5.41.5.2Outdated
typeguard2.13.32.13.3Up to date
types-colorama0.4.140.4.14Up to date
types-docutils0.18.30.18.3Up to date
types-freezegun1.1.101.1.10Up to date
types-mock4.0.154.0.15Up to date
types-pkg-resources0.1.30.1.3Up to date
types-pytz2022.1.02021.3.8Outdated
types-requests2.27.312.27.30Outdated
types-six1.16.161.16.16Up to date
types-typed-ast1.5.61.5.6Up to date
types-urllib31.26.151.26.15Up to date
typing3.10.0.03.10.0.0Up to date
typing-extensions4.2.04.2.0Up to date
typing-inspect0.7.10.7.1Up to date
tzdata2022.12022.1Up to date
tzlocal4.24.2Up to date
uc-micro-py1.0.11.0.1Up to date
uharfbuzz0.26.00.26.0Up to date
ujson5.3.05.3.0Up to date
ukkonen1.0.11.0.1Up to date
unicodedata214.0.014.0.0Up to date
Unidecode1.3.41.3.4Up to date
uri-template1.2.01.2.0Up to date
uritemplate4.1.14.1.1Up to date
urllib31.26.91.26.9Up to date
uvloop0.16.00.16.0Up to date
validictory1.1.21.1.2Up to date
verspec0.1.00.1.0Up to date
virtualenv20.14.120.14.1Up to date
vistir0.5.20.5.2Up to date
voluptuous0.13.10.13.1Up to date
vulture2.42.4Up to date
watchdog2.1.92.1.7Outdated
wcwidth0.2.50.2.5Up to date
webcolors1.121.12Up to date
webencodings0.5.10.5.1Up to date
websocket-client1.3.31.3.2Outdated
websockets10.310.3Up to date
Werkzeug2.1.22.1.2Up to date
wheel0.37.10.37.1Up to date
Whoosh2.7.42.7.4Up to date
win-inet-pton1.1.01.1.0Up to date
wrapt1.14.11.14.1Up to date
wsaccel0.6.30.6.3Up to date
wsproto1.1.01.1.0Up to date
xattr0.9.90.9.9Up to date
xmltodict0.13.00.13.0Up to date
xxhash3.0.03.0.0Up to date
yaml2xbel0.0.30.0.3Up to date
yapf0.32.00.32.0Up to date
yarg0.1.90.1.9Up to date
yarl1.7.21.7.2Up to date
yaspin2.1.02.1.0Up to date
youtube_dl2021.12.172021.12.17Up to date
zict2.2.02.2.0Up to date
zipp3.8.03.8.0Up to date
zope.event4.5.04.5.0Up to date
zope.exceptions4.54.5Up to date
zope.i18nmessageid5.0.15.0.1Up to date
zope.interface5.4.05.4.0Up to date
zope.schema6.2.06.2.0Up to date
zope.testing4.104.10Up to date
zope.testrunner5.4.05.4.0Up to date
zopfli0.2.10.2.1Up to date
zstandard0.18.00.17.0Outdated
diff --git a/content/misc/_index.md b/content/misc/_index.md index 940b1d3..799dc06 100644 --- a/content/misc/_index.md +++ b/content/misc/_index.md @@ -1,5 +1,5 @@ --- -title: Misc +title: Miscellanea language: en ref: misc translationKey: misc @@ -10,92 +10,3 @@ disable_feed: true Here are some miscellanous things I do. -## Conlangs - -Conlang stands for *constructed language*. Many people created -conlangs for hobby or as linguistic experiments. - -I was inspired by the conlangs in Inheritance Cycle and The Lord of -the Rings, as well as others like Esperanto, Dothraki, Toki Pona, et al and -conlang from time to time as a hobby. None of my conlangs reached its -maturity, though, mainly due to loss of copies and lack of time. - -Some of my conlangs: - -- [Hàäsdáïga](/haasdaiga/) -- [Ravna](/ravna/) -- [Isanercent](/isanercent/) -- [Djanzi](/djanzi/) - -## Books - -I'm not the bookworm I used to be, reading mostly mainstream books. Some books -I read and liked: - -- Dế Mèn phiêu lưu kí, a famous children book in Vietnamese about an - arrogant cricket who learned humility and altruism during his journey. -- The adventures of Valya and Karik, a Russian children book (my copy - was a Vietnamese translation) about the adventures of shrunken children in - which they learn about small animals around them. -- Sans famille, a story about a child who had to leave his family for - poverty, though now that I think about it, it sounds like children - trafficking and child labor. -- Nineteen Eighty-Four, a dystopian tragedy that is often mistaken as - criticism of socialism, while the actual object is authoritanism and mass - surveillance. -- The Hobbit and The Lord of the Rings, the well-known fantasy - franchise -- Inheritance Cycle, often labeled as rip-off Star Wars by haters -- Gulliver's Travels, a book that's supposed to be satire but I didn't - know enough to understand these deep meanings. -- Le petit prince, a novella with a childish theme but discuss many - aspects of life in a lighthearted way. -- [Ellana][ellana] (Le Pacte des MarchOmbres series) (French) - -Books I'm reading: - -- [Ellana: L'envol][ellana-2] (Le Pacte des MarchOmbres series) (French) -- [Tous les hommes sont mortels][hommes-mortels] (French) -- The Necromancer (The Secrets of the Immortal Nicholas Flamel - series) - -Dropped: - -- [XKCD what if](what-if) -- A Storm of Swords(A Song of Ice and Fire series) - -[what-if]: https://store.xkcd.com/pages/if-you-re-looking-for-the-what-if-book -[ellana]: https://openlibrary.org/works/OL24210815W/Le_Pacte_des_MarchOmbres_-_Ellana -[ellana-2]: https://openlibrary.org/works/OL24339191W/Ellana_l%27envol -[hommes-mortels]: https://openlibrary.org/works/OL13053706W/Tous_les_hommes_sont_mortels - -## Project ideas - -Here are some project ideas that I have in mind, yet don't have the time to -implement any of them. You'll probably find some drafts, but practically no -work is done: - -- a small shop management app -- a modern text browser with vim keybinding -- several non-standard libs: - - a rewrite for `time` module in Go - - internalisation modules -- universal internalisation package, which contains common phrases like - "Settings", "Log in", "Account" pre-translated -- redesign this blog -- smaller and more maintainable, more packageable Anki clone - -## Comics - -Reading comics is my pastime. I follow several webcomics, some of which you -may have heard of: - -- [Pepper & Carrot](https://www.peppercarrot.com/) -- [xkcd](https://xkcd.com): nerd stuff -- [SMBC](https://smbc-comics.com): more nerd stuff, and usually less concise -- [Oglaf](https://www.oglaf.com/): silly and occasionally NSFW comics -- [Dinosaur comics](https://qwantz.com/): a 5-panel comics with only dialogues changing - -I also enjoy drawing every now and then, not that I want to be an artist or I -draw well. I just find scribbling something fun. I recently decided to post -[my doodles](/en/doodles/) on this website. diff --git a/content/misc/books.md b/content/misc/books.md new file mode 100644 index 0000000..6a2a284 --- /dev/null +++ b/content/misc/books.md @@ -0,0 +1,49 @@ +--- +title: Reading +language: en +ref: misc-books +translationKey: misc-books +disable_feed: true +--- + +I'm not the bookworm I used to be, reading mostly mainstream books. Some books +I read and liked: + +- Dế Mèn phiêu lưu kí, a famous children book in Vietnamese about an + arrogant cricket who learned humility and altruism during his journey. +- The adventures of Valya and Karik, a Russian children book (my copy + was a Vietnamese translation) about the adventures of shrunken children in + which they learn about small animals around them. +- Sans famille, a story about a child who had to leave his family for + poverty, though now that I think about it, it sounds like children + trafficking and child labor. +- Nineteen Eighty-Four, a dystopian tragedy that is often mistaken as + criticism of socialism, while the actual object is authoritanism and mass + surveillance. +- The Hobbit and The Lord of the Rings, the well-known fantasy + franchise +- Inheritance Cycle, often labeled as rip-off Star Wars by haters +- Gulliver's Travels, a book that's supposed to be satire but I didn't + know enough to understand these deep meanings. +- Le petit prince, a novella with a childish theme but discuss many + aspects of life in a lighthearted way. +- [Ellana][ellana] (Le Pacte des MarchOmbres series) (French) + +Books I'm reading: + +- [Ellana: L'envol][ellana-2] (Le Pacte des MarchOmbres series) (French) +- [Tous les hommes sont mortels][hommes-mortels] (French) +- The Necromancer (The Secrets of the Immortal Nicholas Flamel + series) + +Dropped: + +- [XKCD what if](what-if) +- A Storm of Swords(A Song of Ice and Fire series) + +See also: [book reviews](/en/book-reviews) I wrote on this site. + +[what-if]: https://store.xkcd.com/pages/if-you-re-looking-for-the-what-if-book +[ellana]: https://openlibrary.org/works/OL24210815W/Le_Pacte_des_MarchOmbres_-_Ellana +[ellana-2]: https://openlibrary.org/works/OL24339191W/Ellana_l%27envol +[hommes-mortels]: https://openlibrary.org/works/OL13053706W/Tous_les_hommes_sont_mortels diff --git a/content/misc/comics.md b/content/misc/comics.md new file mode 100644 index 0000000..1b2f610 --- /dev/null +++ b/content/misc/comics.md @@ -0,0 +1,21 @@ +--- +title: Comics +language: en +ref: misc-comics +translationKey: misc-comics +disable_feed: true +--- + +Reading comics is my pastime. I follow several webcomics, some of which you +may have heard of: + +- [Pepper & Carrot](https://www.peppercarrot.com/) +- [xkcd](https://xkcd.com): nerd stuff +- [SMBC](https://smbc-comics.com): more nerd stuff, and usually less concise +- [Oglaf](https://www.oglaf.com/): silly and occasionally NSFW comics +- [Dinosaur comics](https://qwantz.com/): a 5-panel comics with only dialogues changing + +I also enjoy drawing every now and then, not that I want to be an artist or I +draw well. I just find scribbling something fun. ~~I recently decided to post +[my doodles](/en/doodles/) on this website.~~ + diff --git a/content/misc/conlangs.md b/content/misc/conlangs.md new file mode 100644 index 0000000..926c5b0 --- /dev/null +++ b/content/misc/conlangs.md @@ -0,0 +1,22 @@ +--- +title: Conlangs +language: en +ref: conlangs +translationKey: conlangs +disable_feed: true +--- + +Conlang stands for *constructed language*. Many people created +conlangs for hobby or as linguistic experiments. + +I was inspired by the conlangs in Inheritance Cycle and The Lord of +the Rings, as well as others like Esperanto, Dothraki, Toki Pona, et al and +conlang from time to time as a hobby. None of my conlangs reached its +maturity, though, mainly due to loss of copies and lack of time. + +Some of my conlangs: + +- [Hàäsdáïga](/haasdaiga/) +- [Ravna](/ravna/) +- [Isanercent](/isanercent/) +- [Djanzi](/djanzi/) diff --git a/content/misc/projects.md b/content/misc/projects.md new file mode 100644 index 0000000..a0abf72 --- /dev/null +++ b/content/misc/projects.md @@ -0,0 +1,20 @@ +--- +title: Projects +language: en +ref: misc-projects +translationKey: misc-projects +disable_feeds: true +--- + +Here are some project ideas that I have in mind, yet don't have the time to +implement any of them. You'll probably find some drafts, but practically no +work is done: + +- a small shop management app +- a modern text browser with vim keybinding +- several non-standard libs: + - a rewrite for `time` module in Go + - internalisation modules +- universal internalisation package, which contains common phrases like + "Settings", "Log in", "Account" pre-translated +- smaller and more maintainable, more packageable Anki clone diff --git a/content/posts/2024-01-05-mayim-sqlite.md b/content/posts/2024-01-05-mayim-sqlite.md index 3ce666a..a151bfe 100644 --- a/content/posts/2024-01-05-mayim-sqlite.md +++ b/content/posts/2024-01-05-mayim-sqlite.md @@ -182,7 +182,10 @@ GROUP BY product.id; Running that would result in rows with duplicated categories like: ```python -Product(id=1, name='energy drink', prices=[Price(id=1, unit='bottle', price=12000), Price(id=2, unit='packets', price=70000)], categories=['drink', 'drink']), +Product(id=1, name='energy drink', + prices=[Price(id=1, unit='bottle', price=12000), + Price(id=2, unit='packets', price=70000)], + categories=['drink', 'drink']), ``` This is because I joined three tables at once, and the categories are repeated diff --git a/content/posts/_index.fr.md b/content/posts/_index.fr.md index 8eab8a9..4e472e7 100644 --- a/content/posts/_index.fr.md +++ b/content/posts/_index.fr.md @@ -2,7 +2,6 @@ title: Blog lang: fr translationKey: posts -categories: [blog] --- Voici mon blog diff --git a/content/posts/_index.md b/content/posts/_index.md index 7a11ae0..88529cd 100644 --- a/content/posts/_index.md +++ b/content/posts/_index.md @@ -2,7 +2,7 @@ title: Blog lang: en translationKey: posts -categories: [blog] +reversed: true --- Here are my blog posts! diff --git a/content/til/_index.fr.md b/content/til/_index.fr.md index 2e98e4c..c331bf2 100644 --- a/content/til/_index.fr.md +++ b/content/til/_index.fr.md @@ -1,7 +1,6 @@ --- title: AJA translationKey: til -categories: [blog] --- (*Aujourd'hui J'ai Appris...* -- traduit de *Today I learned* en anglais. diff --git a/content/til/_index.md b/content/til/_index.md index f4b57b0..8808ccd 100644 --- a/content/til/_index.md +++ b/content/til/_index.md @@ -2,7 +2,6 @@ title: TIL lang: en translationKey: til -categories: [blog] --- These are lists of small tricks or fun trivia I learned. diff --git a/dark.css b/dark.css deleted file mode 100644 index 4c439ec..0000000 --- a/dark.css +++ /dev/null @@ -1,47 +0,0 @@ -:root { - --font-color: #eee; - --bg-color: #212121; - - --link-color: #0a9dff; - --link-state-color:#ffa724; - --link-state-border-color: rgba(238, 54, 54, 0.5); - - --thead-bg-color: #343a40; - --table-border-color: lightgrey; - - --nav-bg-color: #242424; - --nav-link-color: #b6b6b6; - - --pre-color: #333; - --pre-bg-color: #f1f1f1; - - --bq-color: #ccc; - --hr-color: #333; - - --pagination-bg-color: #373737; - --pagination-link-color: #b6b6b6; - - --post-info-color: #599ada; - - --switcher-color: #333; - --switcher-bg-color: #fff; -} - -html { - font-family: monospace; -} - -h1, h2, h3 { - color: #aeee00; -} - -ul li { - list-style: '* '; /* Remove default bullets */ -} - -ul li::marker { - color: #ffa724; - font-weight: bold; -} - - diff --git a/feeds b/feeds index c1e43ed..3d3bd47 100644 --- a/feeds +++ b/feeds @@ -8,7 +8,6 @@ https://www.matuzo.at/feed.xml https://adol.pw/index.xml https://shivering-isles.com/feed.xml https://blog.libreserver.org/rss.xml -https://unixsheikh.com/feed.rss https://nerdteacher.com/feed/ https://artemis.sh/feed.xml https://labs.tomasino.org/index.xml diff --git a/i18n/de.yaml b/i18n/de.yaml index 2ec1532..9662577 100644 --- a/i18n/de.yaml +++ b/i18n/de.yaml @@ -1,17 +1,20 @@ -book-reviews: - other: "Buchrezension" - -comics: - other: "Comics" - -projects: - other: "Projekten" - -til: - other: "HLI" - -translations: - other: "Diese Artikel ist verfügbar auf:" - -BookShare: - other: "Ich habe die Büche deren Rezension ich schreibe. Wenn du dieses Buch lesen wöllte, schick mir eine E-Mail." +aboutFediring: Über Fediring +book-reviews: Buchrezension +categories: Kategorien +category: Kategorie +comics: Bildergeschichte +conlangs: Kunstsprachen +feadAttribution: 'mit fead gemacht' +next: Nächste +otherSites: Andere Seiten +prev: Vorherige +projects: Projekten +random: zufällig +sections: Abschnitte dieser Seite +skipToContent: Zum Hauptinhalt springen +tag: Thema +tags: Themen +til: HLI +TOC: Inhaltsverzeichnis +translations: "Diese Artikel ist verfügbar auf:" +BookShare: Ich habe die Büche deren Rezension ich schreibe. Wenn du dieses Buch lesen wöllte, schick mir eine E-Mail. diff --git a/i18n/en.yaml b/i18n/en.yaml index 2c89192..859d687 100644 --- a/i18n/en.yaml +++ b/i18n/en.yaml @@ -1,23 +1,20 @@ -book-reviews: - other: "Book Reviews" - -comics: - other: "Comics" - -conlangs: - other: "Conlangs" - -projects: - other: "Free Software projects directory" - -til: - other: "TIL" - -translations: - other: "Available translations" - -BookShare: - other: "If I write a book review, that means I own a copy of that book. Send me an email if you want me to send you the copy." - -WikiContribute: - other: "This post is a part of a wiki. That means, you can contribute to it by sending me an email to" +aboutFediring: About Fediring +book-reviews: Book Reviews +category: category +categories: categories +comics: Comics +conlangs: Conlangs +feadAttribution: 'Generated by fead' +next: next +otherSites: Other sites +prev: previous +projects: Projects +random: random +sections: Site sections +skipToContent: Skip to main content +tag: tag +tags: tags +til: TIL +TOC: Contents +translations: Available translations +BookShare: If I write a book review, that means I own a copy of that book. Send me an email if you want me to send you the copy. diff --git a/i18n/fr.yaml b/i18n/fr.yaml index a2cab7c..236fad2 100644 --- a/i18n/fr.yaml +++ b/i18n/fr.yaml @@ -1,17 +1,20 @@ -book-reviews: - other: "Livres" - -comics: - other: "Bédés" - -projects: - other: "Projets" - -til: - other: "AJA" - -translations: - other: "Des traductions disponibles" - -BookShare: - other: "Quand j'écris un critique d'un livre, ça signifie que j'en ai un copie. Si vous le voulez, envoyez-moi un couriel et je vais vous l'envoyer." +aboutFediring: à propos de Fediring +book-reviews: livres +categories: catégories +category: catégorie +comics: BDs +conlangs: langues construites +feadAttribution: 'créée par fead' +next: suivant +otherSites: autre part +prev: précédent +projects: projets +random: aléatoire +sections: sections du site +skipToContent: aller au contenu +tag: mot clé +tags: mot clés +til: AJA +TOC: Sommaire +translations: Des traductions disponibles +BookShare: Quand j'écris un critique d'un livre, ça signifie que j'en ai un copie. Si vous le voulez, envoyez-moi un couriel et je vais vous l'envoyer. diff --git a/i18n/vi.yaml b/i18n/vi.yaml index 782ef24..7c92a65 100644 --- a/i18n/vi.yaml +++ b/i18n/vi.yaml @@ -1,8 +1,20 @@ -book-reviews: - other: "Review sách" - -translations: - other: "Bài viết này được dịch thành:" - -BookShare: - other: "Tôi viết review về một cuốn sách có nghĩa là tôi có cuốn sách đó. Nếu bạn muốn mượn tôi cuốn sách này, bạn có thể hỏi mượn tôi qua email." +aboutFediring: Fediring là gì +book-reviews: Review sách +categories: phân loại +category: phân loại +comics: Truyện tranh +conlangs: Ngôn ngữ nhân tạo +feadAttribution: 'tạo bởi fead' +next: sau +otherSites: Các trang khác +prev: trước +projects: Dự án +random: ngẫu nhiên +sections: Các mục trong trang +skipToContent: đi đến bài viết +tag: từ khoá +tags: từ khoá +til: Hôm nay tôi biết được +TOC: Mục lục +translations: "Bài viết này được dịch sang:" +BookShare: Tôi viết review về một cuốn sách có nghĩa là tôi có cuốn sách đó. Nếu bạn muốn mượn tôi cuốn sách này, bạn có thể hỏi mượn tôi qua email. diff --git a/layouts/_default/_markup/render-heading.html b/layouts/_default/_markup/render-heading.html new file mode 100644 index 0000000..73f5c26 --- /dev/null +++ b/layouts/_default/_markup/render-heading.html @@ -0,0 +1,7 @@ +{{ $id := .Anchor | safeURL }} + + + + {{ .Text | safeHTML }} + + diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 0000000..f13b730 --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,24 @@ + + + + {{ partial "head.html" . }} + + + {{ i18n "skipToContent" | humanize }} +
+ {{ partial "header.html" . }} +
+
+ +
+ {{ block "main" . }}{{ end }} +
+ +
+ {{ partial "footer.html" . }} + + diff --git a/layouts/_default/books.html b/layouts/_default/books.html index c0a74d0..449b5e0 100644 --- a/layouts/_default/books.html +++ b/layouts/_default/books.html @@ -1,11 +1,4 @@ {{ define "main" }} -{{ if .Menus }} - -{{ end }}
diff --git a/layouts/_default/comic.html b/layouts/_default/comic.html deleted file mode 100644 index 508df3c..0000000 --- a/layouts/_default/comic.html +++ /dev/null @@ -1,45 +0,0 @@ -{{ define "main" }} -{{ if .Menus }} - -{{ end }} - -
-
-
-

{{ trim .Title " " }}

- {{ if in .Params.categories "comics" }} -
- {{ end}} -
-
-
- {{ partial "comicNav.html" . }} - Comic panels. See transcription below. - {{ partial "comicNav.html" . }} -
-
- - Transcription and extras - - {{ .Content }} -
-
- {{ partial "post-info.html" . }} -
- -{{ if and (.Site.Params.paginationSinglePost) (ne .Type "page") }} - {{ partial "paginationPost.html" . }} -{{ end }} - - -{{ partial "custom-webring.html" }} - -{{ end }} diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 0000000..3079687 --- /dev/null +++ b/layouts/_default/list.html @@ -0,0 +1,22 @@ +{{ define "main" }} +
+ {{ .Content }} +
+ + {{ if .Params.reversed }} +
    + {{ else }} +
      + {{ end }} + {{ range .Pages }} +
    • + {{ partial "post-summary.html" . }} +
    • + {{ end }} + {{ if .Params.reversed }} +
+ {{ else }} + + {{ end }} + +{{ end }} diff --git a/layouts/_default/list.old.html b/layouts/_default/list.old.html deleted file mode 100644 index 33bd8b5..0000000 --- a/layouts/_default/list.old.html +++ /dev/null @@ -1,20 +0,0 @@ -{{ define "main" }} -
- {{ .Content }} -
- -
-

{{ i18n .Title }}

- {{ if not .Params.no_feed }} - {{ range .Page.CurrentSection.Pages }} -
-
-

{{ trim .Title " " }}

-
- {{ partial "post-info.html" . }} -
- {{ end }} - {{ end}} -
- -{{ end }} diff --git a/layouts/_default/project.html b/layouts/_default/project.html deleted file mode 100644 index 5bd36e0..0000000 --- a/layouts/_default/project.html +++ /dev/null @@ -1,68 +0,0 @@ -{{ define "main" }} -{{ if .Menus }} - -{{ end }} - -
-
-

{{ trim .Title " " }}

-
-
-

Project info

-
-
Project site
-
- - {{ .Params.name }} - -
- {{ if isSet .Params "author" }} -
Creator
- {{ if isSet .Params "authorurl" }} -
{{ .Params.author }}
- {{ else }} -
{{ .Params.author }}
- {{ end }} - {{ end }} - {{ if isSet .Params "maintainers" }} -
Maintainers
- {{ range $maintainer := .Params.maintainers }} - {{ if isSet $maintainer "URL" }} -
{{ $maintainer.name }}
- {{ else }} -
{{ $maintainer.name }}
- {{ end }} - {{ end }} - {{ end }} -
Status
-
{{ .Params.projectStatus }}
-
- {{ .Content }} -
- {{ if eq .Params.projectStatus "dead" }} -

- The project is currently dead. You can fork it if you find it helpful. -

- {{ else }} -

- The development of project is {{.Params.projectStatus}}. - You can help this project by contributing code, finding new issues, - suggesting new features, or donation. -

- {{ end }} -
- {{ partial "post-info.html" . }} -
- -{{ if and (.Site.Params.paginationSinglePost) (ne .Type "page") }} - {{ partial "paginationPost.html" . }} -{{ end }} - - -{{ partial "custom-webring.html" }} - -{{ end }} diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml new file mode 100644 index 0000000..cb728d9 --- /dev/null +++ b/layouts/_default/rss.xml @@ -0,0 +1,34 @@ +{{- $pctx := . -}} +{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}} +{{- $pages := where $pctx.RegularPages ".Params.disable_feed" "!=" true -}} +{{- $limit := .Site.Config.Services.RSS.Limit -}} +{{- if ge $limit 1 -}} +{{- $pages = $pages | first $limit -}} +{{- end -}} +{{- printf "" | safeHTML }} + + + {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }} + {{ .Permalink }} + {{ .Site.Title }}{{ if ne .Title .Site.Title }}{{ with .Title }} ({{.}}){{ end }}{{ end }} + Hugo -- gohugo.io{{ with .Site.LanguageCode }} + {{.}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} + {{.}}{{end}}{{ if not .Date.IsZero }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} + {{ with .OutputFormats.Get "RSS" }} + {{ printf "" .Permalink .MediaType | safeHTML }} + {{ end }} + {{ range $pages }} + + {{ .Title }} + {{ .Permalink }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} + {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}} + {{ .Permalink }} + {{ .Content | html }} + + {{ end }} + + diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..c94d359 --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,22 @@ +{{ define "main" }} +
+ {{ .Content }} + {{ partial "post-info.html" . }} +
+
+ +
+ Would you like to discuss this post? + Email me! +{{ end }} diff --git a/layouts/_default/taxonomy.html b/layouts/_default/taxonomy.html new file mode 100644 index 0000000..7b3adb9 --- /dev/null +++ b/layouts/_default/taxonomy.html @@ -0,0 +1,12 @@ +{{ define "main" }} +

{{ i18n .Data.Singular | humanize }}: {{ .Title }}

+ +
    + {{ range .Paginator.Pages }} +
  1. {{ partial "post-summary.html" . }}
  2. + {{ end }} +
+ +{{ end }} diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html new file mode 100644 index 0000000..d4e745e --- /dev/null +++ b/layouts/_default/terms.html @@ -0,0 +1,19 @@ +{{ define "main" }} +
+ {{ .Content }} +
+ +

{{ i18n .Title }}

+ +
    + {{ range $key, $value := .Data.Terms }} +
  • + + {{ $key }} + + ({{ len $value }}) +
  • + {{ end }} +
+ +{{ end }} \ No newline at end of file diff --git a/layouts/_default/wiki.html b/layouts/_default/wiki.html deleted file mode 100644 index 0e933b5..0000000 --- a/layouts/_default/wiki.html +++ /dev/null @@ -1,32 +0,0 @@ -{{ define "main" }} -{{ if .Menus }} - -{{ end }} - - - -{{ if and (.Site.Params.paginationSinglePost) (ne .Type "page") }} - {{ partial "paginationPost.html" . }} -{{ end }} - - -{{ partial "custom-webring.html" }} - -{{ end }} diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 0000000..c1da783 --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,14 @@ +{{ define "main" }} +
+ {{ .Content }} +
+ {{ with .Site.GetPage "section" "posts" }} + {{ range first 1 .Pages }} + + {{ end }} + {{ end }} + +{{ end }} diff --git a/layouts/index.old.html b/layouts/index.old.html deleted file mode 100644 index 8367de4..0000000 --- a/layouts/index.old.html +++ /dev/null @@ -1,19 +0,0 @@ -{{ define "main" }} -
- {{ .Content }} - -
- -
- {{ $pages := where site.RegularPages "Type" "in" site.Params.mainSections }} - {{ range (.Paginate $pages).Pages }} - {{ partial "post-summary.html" . }} - {{ end }} - {{ partial "pagination.html" . }} -
- -{{ end }} diff --git a/layouts/partials/custom-webring.html b/layouts/partials/custom-webring.html index 604afc4..3dd9977 100644 --- a/layouts/partials/custom-webring.html +++ b/layouts/partials/custom-webring.html @@ -1,17 +1,16 @@

Fediring

- Look at my fedi fellows' sites: -
    -
  1. Previous site
  2. -
  3. What is Fediring?
  4. -
  5. Next site
  6. -
-

Articles from blogs I read

-
+ +

{{ i18n "otherSites" }}

+
{{ partial "webring-articles.html" }} -
+ - Generated by - fead + {{ i18n "feadAttribution" | safeHTML }}
diff --git a/layouts/partials/fa-icons/email.svg b/layouts/partials/fa-icons/email.svg new file mode 100644 index 0000000..e3d84fe --- /dev/null +++ b/layouts/partials/fa-icons/email.svg @@ -0,0 +1 @@ + diff --git a/layouts/partials/fa-icons/github.svg b/layouts/partials/fa-icons/github.svg new file mode 100644 index 0000000..c80fea7 --- /dev/null +++ b/layouts/partials/fa-icons/github.svg @@ -0,0 +1 @@ + diff --git a/layouts/partials/fa-icons/liberapay.svg b/layouts/partials/fa-icons/liberapay.svg new file mode 100644 index 0000000..19d90a4 --- /dev/null +++ b/layouts/partials/fa-icons/liberapay.svg @@ -0,0 +1,3 @@ + + + diff --git a/layouts/partials/fa-icons/mastodon.svg b/layouts/partials/fa-icons/mastodon.svg new file mode 100644 index 0000000..d9baf27 --- /dev/null +++ b/layouts/partials/fa-icons/mastodon.svg @@ -0,0 +1 @@ + diff --git a/layouts/partials/fa-icons/matrix.svg b/layouts/partials/fa-icons/matrix.svg new file mode 100644 index 0000000..4aefc50 --- /dev/null +++ b/layouts/partials/fa-icons/matrix.svg @@ -0,0 +1,12 @@ + + + + + diff --git a/layouts/partials/fa-icons/patreon.svg b/layouts/partials/fa-icons/patreon.svg new file mode 100644 index 0000000..13df44e --- /dev/null +++ b/layouts/partials/fa-icons/patreon.svg @@ -0,0 +1 @@ + diff --git a/layouts/partials/fa-icons/pleroma.svg b/layouts/partials/fa-icons/pleroma.svg new file mode 100644 index 0000000..ba4bc25 --- /dev/null +++ b/layouts/partials/fa-icons/pleroma.svg @@ -0,0 +1,3 @@ + + + diff --git a/layouts/partials/fa-icons/sourcehut.svg b/layouts/partials/fa-icons/sourcehut.svg new file mode 100644 index 0000000..81621fe --- /dev/null +++ b/layouts/partials/fa-icons/sourcehut.svg @@ -0,0 +1 @@ + diff --git a/layouts/partials/font-awesome.html b/layouts/partials/font-awesome.html new file mode 100644 index 0000000..55bf1b1 --- /dev/null +++ b/layouts/partials/font-awesome.html @@ -0,0 +1,9 @@ + + +{{ $dict := newScratch }} + +{{ $dict.Set "svg" (partial (print "fa-icons/" .iconName ".svg")) }} + +{{ $dict.Get "svg" | safeHTML }} + + diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..a93d3a3 --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,17 @@ +
+ {{ $languagesCount := $.Site.Home.AllTranslations }} + {{ if gt $languagesCount 1 }} + {{ partial "language-switcher.html" . }} + {{ end }} + + +
diff --git a/layouts/partials/head-extra.html b/layouts/partials/head-extra.html deleted file mode 100644 index e3f256f..0000000 --- a/layouts/partials/head-extra.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - -{{ $light := resources.Get "css/highlight.css" }} -{{ $dark := resources.Get "css/highdark.css" }} -{{ $code := slice $light $dark | resources.Concat "css/code.css" | minify | fingerprint }} - diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..be5ae30 --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,31 @@ + + + + + + + + +{{ .Title }} - {{ .Site.Title }} + + +{{ with .OutputFormats.Get "rss" -}} + +{{ end -}} + + + + + + + +{{ $main := resources.Get "css/main.css"}} +{{ $dark := resources.Get "css/dark.css" }} +{{ $light := resources.Get "css/light.css" }} +{{ $syntax_dark := resources.Get "css/syntax-dark.css" }} +{{ $syntax_light := resources.Get "css/syntax-light.css" }} +{{ $style := slice $main $dark $light $syntax_dark $syntax_light | resources.Concat "css/style.css" | minify | fingerprint }} + + +{{ template "_internal/opengraph.html" . }} diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..f9a00a9 --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,13 @@ + +

{{ trim .Title " " }}

+{{ partial "post-language-switcher.html" . }} diff --git a/layouts/partials/language-switcher.html b/layouts/partials/language-switcher.html new file mode 100644 index 0000000..7e2e848 --- /dev/null +++ b/layouts/partials/language-switcher.html @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/layouts/partials/left-sidebar.html b/layouts/partials/left-sidebar.html new file mode 100644 index 0000000..403afc7 --- /dev/null +++ b/layouts/partials/left-sidebar.html @@ -0,0 +1,14 @@ +
+ {{ i18n "sections" }} + +
+{{ if gt (len .TableOfContents) 32 }} +
+ {{ i18n "TOC" }} + {{ .TableOfContents }} +
+{{ end }} diff --git a/layouts/partials/pagination.html b/layouts/partials/pagination.html new file mode 100644 index 0000000..c561c09 --- /dev/null +++ b/layouts/partials/pagination.html @@ -0,0 +1,16 @@ +{{ if or ( .Paginator.HasPrev ) ( .Paginator.HasNext ) }} + {{ $toNewPostsMessage := i18n "toNewPosts" }} + {{ $toOldPostsMessage := i18n "toOldPosts" }} + +{{ end }} diff --git a/layouts/partials/post-info.html b/layouts/partials/post-info.html new file mode 100644 index 0000000..bb6e3c0 --- /dev/null +++ b/layouts/partials/post-info.html @@ -0,0 +1,28 @@ + diff --git a/layouts/partials/post-language-switcher.html b/layouts/partials/post-language-switcher.html new file mode 100644 index 0000000..162cdf3 --- /dev/null +++ b/layouts/partials/post-language-switcher.html @@ -0,0 +1,16 @@ +{{ if .IsTranslated }} + {{ $pageLang := .Page.Lang}} +
    + {{ range .AllTranslations }} + {{ if eq .Lang $pageLang }} +
  • + {{ upper .Lang }} +
  • + {{ else }} +
  • + {{ upper .Lang }} +
  • + {{ end }} + {{ end }} +
+{{ end }} \ No newline at end of file diff --git a/layouts/partials/post-pagination.html b/layouts/partials/post-pagination.html new file mode 100644 index 0000000..2130181 --- /dev/null +++ b/layouts/partials/post-pagination.html @@ -0,0 +1,16 @@ +{{ if or ( .PrevInSection ) ( .NextInSection ) }} + +{{ end }} + +{{ partial "pagination-extra.html" . }} diff --git a/layouts/partials/post-summary.html b/layouts/partials/post-summary.html new file mode 100644 index 0000000..1396d64 --- /dev/null +++ b/layouts/partials/post-summary.html @@ -0,0 +1,6 @@ +{{ with .Params.date }} +: +{{ end }} +{{ trim .Title " " }} +{{ if .Params.draft }}(draft){{end}} +{{ partial "post-language-switcher.html" . }} diff --git a/layouts/partials/right-sidebar.html b/layouts/partials/right-sidebar.html new file mode 100644 index 0000000..0d3b101 --- /dev/null +++ b/layouts/partials/right-sidebar.html @@ -0,0 +1 @@ +{{ partial "custom-webring.html" }} diff --git a/layouts/partials/single-extra.html b/layouts/partials/single-extra.html deleted file mode 100644 index 0d3b101..0000000 --- a/layouts/partials/single-extra.html +++ /dev/null @@ -1 +0,0 @@ -{{ partial "custom-webring.html" }} diff --git a/layouts/partials/social.html b/layouts/partials/social.html new file mode 100644 index 0000000..2a10cb5 --- /dev/null +++ b/layouts/partials/social.html @@ -0,0 +1,17 @@ + + + {{ range $.Site.Params.Social }} + + + + + {{ end }} + diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png index 334222b..927e979 100644 Binary files a/static/android-chrome-192x192.png and b/static/android-chrome-192x192.png differ diff --git a/static/android-chrome-512x512.png b/static/android-chrome-512x512.png index d935e97..457da20 100644 Binary files a/static/android-chrome-512x512.png and b/static/android-chrome-512x512.png differ diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png index 3dcf481..c045efc 100644 Binary files a/static/apple-touch-icon.png and b/static/apple-touch-icon.png differ diff --git a/static/favico_license.txt b/static/favico_license.txt new file mode 100644 index 0000000..e750a75 --- /dev/null +++ b/static/favico_license.txt @@ -0,0 +1,6 @@ +This favicon was generated using the following font: + +- Font Title: Roboto Slab +- Font Author: Copyright 2018 The Roboto Slab Project Authors (https://github.com/googlefonts/robotoslab) +- Font Source: https://fonts.gstatic.com/s/robotoslab/v34/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjojISWaG5iddG-1A.ttf +- Font License: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html)) diff --git a/static/favicon-16x16.png b/static/favicon-16x16.png index 4e2eee7..76c7bb4 100644 Binary files a/static/favicon-16x16.png and b/static/favicon-16x16.png differ diff --git a/static/favicon-32x32.png b/static/favicon-32x32.png index 9ad0725..cd20132 100644 Binary files a/static/favicon-32x32.png and b/static/favicon-32x32.png differ diff --git a/static/favicon.ico b/static/favicon.ico index d9ff90e..7875617 100644 Binary files a/static/favicon.ico and b/static/favicon.ico differ diff --git a/themes/anibus b/themes/anibus deleted file mode 160000 index 4828ecf..0000000 --- a/themes/anibus +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4828ecf70d8e0ce169bbb87d86fc991e881e1dc2 diff --git a/themes/victor b/themes/victor deleted file mode 160000 index 30064d6..0000000 --- a/themes/victor +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 30064d6bbae43546bd4e6d2672df4d60c74c7583 diff --git a/webring.template b/webring.template index ef4dc19..aeec53e 100644 --- a/webring.template +++ b/webring.template @@ -1,12 +1,12 @@ -- cgit 1.4.1