diff --git a/.github/workflows/hugo.yml b/.github/workflows/hugo.yml
new file mode 100644
index 0000000..574df52
--- /dev/null
+++ b/.github/workflows/hugo.yml
@@ -0,0 +1,80 @@
+# Sample workflow for building and deploying a Hugo site to GitHub Pages
+name: Deploy Hugo exampleSite to Pages
+
+on:
+ # Runs on pushes targeting the default branch
+ push:
+ branches:
+ - main
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
+concurrency:
+ group: "pages"
+ cancel-in-progress: false
+
+# Default to bash
+defaults:
+ run:
+ shell: bash
+
+jobs:
+ # Build job
+ build:
+ runs-on: ubuntu-latest
+ env:
+ HUGO_VERSION: 0.142.0
+ steps:
+ - name: Install Hugo CLI
+ run: |
+ wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
+ && sudo dpkg -i ${{ runner.temp }}/hugo.deb
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ submodules: recursive
+ fetch-depth: 0
+ - name: Setup Pages
+ id: pages
+ uses: actions/configure-pages@v3
+ - name: Install Node.js dependencies
+ run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
+ - name: Build with Hugo
+ env:
+ # For maximum backward compatibility with Hugo modules
+ HUGO_ENVIRONMENT: production
+ HUGO_ENV: production
+ run: |
+ hugo \
+ --gc \
+ --minify \
+ --themesDir ../.. \
+ --source exampleSite \
+ --baseURL "${{ steps.pages.outputs.base_url }}/"
+ - name: Index pagefind
+ run: npx pagefind --source "./exampleSite/public"
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v1
+ with:
+ path: ./exampleSite/public
+
+ # Deployment job
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v2
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e7e3002
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.hugo_build.lock
+public
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..a8bddb7
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024 foxihd @ github.com
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..ba679c4
--- /dev/null
+++ b/README.md
@@ -0,0 +1,64 @@
+# Hugo Brewm
+
+> This is a fine-brewed Hugo theme I made for my personal blog.
+> I'm happy to share this theme with the community.
+>
+> With joy xx,
+> — [foxx](https://github.com/foxihd)
+
+Demosite: [https://hugo.brewm.co](https://hugo.brewm.co)
+
+## Feature Highlights
+
+- **Reader-first**: Prioritizes readability and accessibility with personalized settings for colors, fonts, and BionRead mode.
+- **Inclusive**: Graceful degradation design oriented with improved semantic HTML structure & WAI-ARIA attribute.
+- **Scalable**: Support for multiple authors and languages.
+- **Extensible**: Integrated Pagefind search functionality, external feed over RSS and embed decentralized comments through Fediverse.
+- **No-framework**: Lower maintenace & carbon footprint by lesser resource usage.
+
+## Installation
+
+1. Create a new Hugo site (for an existing hugo site, skip to step 2) :
+
+```
+hugo new site mysite
+cd mysite
+git init
+```
+
+2. Add this theme as a Git submodule:
+
+```
+git submodule add https://github.com/foxihd/hugo-brewm themes/hugo-brewm
+```
+
+3. Update your site's configuration in `config.toml`:
+
+```
+theme = "hugo-brewm"
+```
+
+# Special Thanks
+
+This project could not be made, without a lot efforts of — thank to:
+
+- [Aliftype/amiri](https://github.com/aliftype/amiri) - for Amiri.
+- [Alvarotrigo on Codepen](https://codepen.io/alvarotrigo/pen/rNbxNWg) - for Logotype.
+- [Antijingoist/opendyslexic/](https://github.com/antijingoist/opendyslexic/) - for OpenDyslexic typeface.
+- [Datalog/qrcode-svg](https://github.com/datalog/qrcode-svg) - for page QR code generation.
+- [Dpecos/mastodon-comments](https://github.com/dpecos/mastodon-comments) - for Mastodon comments.
+- [Georgd/EB-Garamond](https://github.com/georgd/EB-Garamond), [Imedadel/typeface-eb-garamond-latest/](https://github.com/imedadel/typeface-eb-garamond-latest/) & [Googlefonts/ebgaramond-specimen/](https://github.com/googlefonts/ebgaramond-specimen/) - for serif typeface.
+- [GoogleFonts/Inconsolata](https://github.com/googlefonts/Inconsolata) - for teletype typeface.
+- [IcoMoon](https://icomoon.io) - for icon font.
+- [JulietaUla/Montserrat](https://github.com/JulietaUla/Montserrat) - for sans-serif typeface.
+- [Markmead/JS Bionic Reading](https://github.com/markmead/js-bionic-reading) - for BionRead support.
+- [Msurguy/Flow Lines](https://github.com/msurguy/flow-lines) - for generated feature images.
+- [Omnibus-Type/Rosario](https://github.com/Omnibus-Type/Rosario) - for sans-serif typeface.
+- [Risilab/Cormorant](https://github.com/risilab/cormorant) - for serif typeface.
+- [Rsms/Inter](https://github.com/rsms/inter) - for sans-serif typeface.
+- [Skoch/Crimson](https://github.com/skosch/Crimson) - for serif typeface.
+- [Slashformotion/Hugo Tufte](https://github.com/slashformotion/hugo-tufte) - for figure & marginpar shortcodes.
+
+## License
+
+This theme is released under the MIT License.
diff --git a/archetypes/default.md b/archetypes/default.md
new file mode 100644
index 0000000..c6f3fce
--- /dev/null
+++ b/archetypes/default.md
@@ -0,0 +1,5 @@
++++
+title = '{{ replace .File.ContentBaseName "-" " " | title }}'
+date = {{ .Date }}
+draft = true
++++
diff --git a/assets/css/component/a11y.css b/assets/css/component/a11y.css
new file mode 100644
index 0000000..858558a
--- /dev/null
+++ b/assets/css/component/a11y.css
@@ -0,0 +1,357 @@
+/* a11y button */
+
+#has-a11y {
+ margin-right: auto;
+}
+
+#has-a11y-summary {
+ padding: .6ex 1ex;
+ font-weight: 700;
+}
+
+#has-a11y-summary::before{
+ font-family: 'base-ui';
+ font-weight: 400;
+ content: '\e900';
+}
+
+#has-a11y[open] #a11y {
+ --anm: expand 99ms forwards;
+ --tso: bottom;
+}
+
+/* a11y container */
+#a11y {
+ display: flex;
+ position: fixed;
+ bottom: calc(1rem + var(--vfoot));
+ flex-direction: column;
+ margin: 0;
+ border: var(--border);
+ border-radius: 1ex;
+ background: var(--bg);
+ padding: 1rem;
+ max-height: calc(100vh - var(--vhead) - var(--vfoot) - 2rem );
+ overflow-y: auto;
+ gap: var(--medskip);
+}
+
+/* hide input checkbox */
+#a11y input[type=checkbox],
+#a11y input[type=radio],
+#bionReadSwitch,
+.marginpar-ctrl {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ position: absolute;
+ top: -100vh;
+}
+
+#a11y select,
+#a11y input[type=range],
+#setColorScheme label,
+#setOpenDyslexic,
+button {
+ cursor: pointer;
+}
+
+/* range */
+label.range {
+ display: flex;
+ flex-direction: row-reverse;
+}
+
+label.range > input {
+ flex: 1;
+ accent-color: var(--ac);
+}
+
+label.range > output {
+ width: 4rem;
+ text-align: center;
+ color: var(--ac);
+ font: 700 var(--large) var(--sf), sans-serif;
+}
+
+#setColorScheme {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ margin-bottom: 1ex;
+}
+
+/* lightswitch */
+#lightSwitch + label {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ border-radius: 0.5ex;
+ padding: 1ex;
+ width: 4rem;
+ gap: 1ex;
+}
+
+#lightSwitch:hover + label,
+#lightSwitch:focus + label,
+#setContrast > input:hover + label {
+ background: var(--g18s);
+ color: var(--ac);
+}
+
+/* credit to @mrozilla on codepen https://codepen.io/mrozilla/pen/OJJNjRb */
+#lightSwitchIndicator {
+ --size: 1.414em;
+ display: block;
+ outline: none;
+ border-radius: 999px;
+ box-shadow: inset calc(var(--size) * 0.33) calc(var(--size) * -0.25) 0;
+ width: var(--size);
+ height: var(--size);
+ color: #ffaa00;
+}
+
+input:checked + label > #lightSwitchIndicator {
+ --ray-size: calc(var(--size) * -0.4);
+ --offset-orthogonal: calc(var(--size) * 0.65);
+ --offset-diagonal: calc(var(--size) * 0.45);
+ --tsf: scale(0.75);
+ box-shadow: inset 0 0 0 var(--size),
+ calc(var(--offset-orthogonal) * -1) 0 0 var(--ray-size),
+ var(--offset-orthogonal) 0 0 var(--ray-size),
+ 0 calc(var(--offset-orthogonal) * -1) 0 var(--ray-size),
+ 0 var(--offset-orthogonal) 0 var(--ray-size),
+ calc(var(--offset-diagonal) * -1) calc(var(--offset-diagonal) * -1) 0 var(--ray-size),
+ var(--offset-diagonal) var(--offset-diagonal) 0 var(--ray-size),
+ calc(var(--offset-diagonal) * -1) var(--offset-diagonal) 0 var(--ray-size),
+ var(--offset-diagonal) calc(var(--offset-diagonal) * -1) 0 var(--ray-size);
+}
+
+/* contrast */
+#setContrast {
+ display: flex;
+ position: relative;
+ flex: 1;
+ justify-content: center;
+ margin: 0 0 0 1ex;
+ border: none;
+ border-left: var(--bound);
+ padding: 2.5em 0 0 1ex;
+}
+
+#setContrast legend {
+ position: absolute;
+ top: 0;
+ padding: 1ex;
+}
+
+#setContrast label {
+ -webkit-transition: 99ms;
+ -moz-transition: 99ms;
+ -o-transition: 99ms;
+ transition: 99ms;
+ border-radius: 1rem;
+ padding: 3pt 7pt;
+ font-size: 0.84em !important;
+}
+
+#setContrast > input:checked + label {
+ background: var(--fg);
+ color: var(--bg);
+}
+
+#setContrast > input + label::before {
+ font-family:'base-ui';
+ content: '\e904\a0';
+}
+
+#setContrast > input:checked + label::before {
+ content: '\e903\a0';
+}
+
+/* color palette */
+#setColorPalette {
+ align-items: baseline;
+}
+
+#setColorPalette > *,
+#setOpenDyslexic > * {
+ padding: 1ex 0;
+}
+
+#colorPalette {
+ flex: 1;
+ margin-left: 0.5ex;
+ border: unset;
+ border-radius: 1rem;
+ background: var(--bg);
+ padding: 0.5ex 1.25ex;
+ color: var(--fg);
+ font: inherit !important;
+}
+
+/* font */
+#baselineStretchState::after {
+ font-size: 0.8em;
+ content: '×';
+}
+
+#fontSizeState::after {
+ font-size: 0.8em;
+ content: 'pt';
+}
+
+#setOpenDyslexic > label {
+ display: flex;
+ align-items: center;
+}
+
+#OpenDyslexicState {
+ display: flex;
+ margin-left: auto;
+ border-radius: 1em;
+ background: #80808080;
+ width: 2.4em;
+ height: 0.8em;
+}
+
+#OpenDyslexicIndicator {
+ --tst: 0.5s ease-out;
+ position: relative;
+ align-self: center;
+ border: 1pt solid #80808008;
+ border-radius: 1em;
+ box-shadow: var(--box-shadow-focus);
+ background: #fff;
+ padding: 6pt;
+}
+
+#OpenDyslexic:hover + label #OpenDyslexicIndicator,
+#OpenDyslexic:focus + label #OpenDyslexicIndicator {
+ --anm: grab 3s ease-out 3;
+}
+
+#OpenDyslexic:checked:hover + label #OpenDyslexicIndicator,
+#OpenDyslexic:checked:focus + label #OpenDyslexicIndicator {
+ --anm: unset;
+}
+
+#OpenDyslexic:checked + label #OpenDyslexicIndicator {
+ left: 1.3em;
+}
+
+@keyframes grab {
+ 0%, 10%, 20%, 100% {
+ left: 0;
+ }
+ 5%, 15% {
+ left: 3pt;
+ }
+}
+
+@-webkit-keyframes grab {
+ 0%, 20%, 40%, 100% {
+ left: 0;
+ }
+ 10%, 30% {
+ left: 3pt;
+ }
+}
+
+/* menu */
+#a11y-menu {
+ display: inline-flex;
+ align-items: center;
+ margin: 0;
+ padding: 0;
+ width: 100%;
+ gap: 1ex;
+}
+
+#a11y-menu > button {
+ display: inline-flex;
+ flex-direction: column;
+ align-items: center;
+ border: unset;
+ padding: 1ex;
+}
+
+#a11y-menu > .has-aria-label {
+ background: unset;
+ color: var(--fg);
+}
+
+#a11y-menu > .has-aria-label::before {
+ margin: auto;
+ padding: 0.25rem 0.5rem;
+}
+
+#a11y-menu .has-aria-label:after {
+ font-size: 0.7em;
+}
+
+#resetButton::before {
+ font-family: 'base-ui';
+ content: '\e90f';
+}
+
+#closeButton::before {
+ font-family: 'base-ui';
+ content: '\e913';
+}
+
+#bionReadButton,
+#saveButton {
+ flex: 1;
+ margin-left: auto;
+ cursor: pointer;
+}
+
+/* bionRead */
+b.k {
+ vertical-align: baseline;
+ letter-spacing: var(--bion);
+ color: var(--off);
+ font-weight: 400 !important;
+ -webkit-text-stroke: var(--bion) var(--off);
+ font-synthesis: weight;
+}
+
+#useBionRead {
+ display: none;
+ margin: auto;
+ letter-spacing: 0.1em;
+ font-size: var(--footnotesize);
+}
+
+legend,
+.has-aria-label-top:before,
+#setColorPalette > label,
+input + label > span {
+ font-weight: 700;
+}
+
+#setContrast > input + label > span {
+ font-weight: 400;
+}
+
+#bionReadButton > span {
+ font-weight: 400;
+ text-transform: uppercase;
+}
+
+#noScript,
+#noLocalStorage {
+ margin: auto;
+ border-top: var(--bound);
+ padding-top: 1rem;
+ max-width: 20rem;
+}
+
+@media only screen and (max-width: 640px) {
+
+ #has-a11y > summary > span {
+ display: none;
+ }
+
+}
\ No newline at end of file
diff --git a/assets/css/component/background.css b/assets/css/component/background.css
new file mode 100644
index 0000000..604f7b2
--- /dev/null
+++ b/assets/css/component/background.css
@@ -0,0 +1,98 @@
+#background-footer,
+#background-header,
+#background-body {
+ display: flex;
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: -2;
+ width: 100vw;
+ height: 100vh;
+}
+
+#background-footer,
+#background-header,
+#background-body,
+#a11y,
+#lightSwitchIndicator,
+#setContrast,
+#colorPalette,
+ul.carousel__viewport > li > a > span::before,
+ul.carousel__viewport > li > a > span::after,
+ul.carousel__viewport > li > a > span,
+#list-categories a:hover::after,
+.letterine > i {
+ -webkit-transition: var(--flashGuard);
+ -moz-transition: var(--flashGuard);
+ -o-transition: var(--flashGuard);
+ transition: var(--flashGuard);
+}
+
+#background-body,
+.background {
+ background-color: var(--bg);
+}
+
+#background-header {
+ /* border-bottom: var(--border); */
+ height: var(--vhead);
+}
+
+#background-footer {
+ top: unset;
+ bottom: 0;
+ /* border-top: var(--border); */
+ height: var(--vfoot);
+}
+
+/* grain */
+
+.grain,
+#grain {
+ background-image: url("data:image/svg+xml;utf8, ");
+ mix-blend-mode: difference;
+}
+
+#grain {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+}
+
+/* distraction */
+
+#dwclock {
+ opacity: 0.33;
+ margin: auto;
+ width: 100vmin;
+ height: 100vmin;
+ filter: blur(2vmin) saturate(2);
+}
+
+#hour,
+#min {
+ position: absolute;
+ width: 100vmin;
+ height: 100vmin;
+}
+
+.hand {
+ --min: 40vmin;
+ --hour: 28vmin;
+ --tsf: translateY(calc(50vmin - var(--min)));
+ margin: 0 auto auto ;
+ border-right: 2vmin solid transparent;
+ border-bottom: var(--min) solid #60f;
+ border-left: 2vmin solid transparent;
+ border-radius: 2vmin;
+ background-image: linear-gradient(0deg, var(--bg) 0%, #60f 100%);
+ width: 3vmin;
+ height: var(--min);
+}
+
+#hour .hand {
+ --tsf: translateY(calc(50vmin - var(--hour)));
+ border-bottom: var(--hour) solid #20f;
+ background-image: linear-gradient(0deg, var(--bg) 0%, #20f 100%);
+ height: var(--hour);
+}
\ No newline at end of file
diff --git a/assets/css/component/breadcrumb.css b/assets/css/component/breadcrumb.css
new file mode 100644
index 0000000..c6924c8
--- /dev/null
+++ b/assets/css/component/breadcrumb.css
@@ -0,0 +1,115 @@
+main > header.pagewidth {
+ margin-top: var(--medskip);
+ padding-left: calc(var(--void) - 0.5ex - 4pt);
+ height: 2.5rem;
+}
+
+#back {
+ display: inline-flex;
+ position: relative;
+ top: 2.8pt;
+ float: left;
+ border: none;
+ background: none;
+ padding: 0;
+ color: inherit;
+}
+
+#back::before,
+header > menu a::before {
+ padding: 6pt 9pt;
+ font-size: var(--large);
+}
+
+#rss-button::before {
+ font-family: 'base-ui';
+ content: '\e910';
+}
+
+#print-button::before {
+ font-family: 'base-ui';
+ content: '\e90c';
+}
+
+#navigatorShare::before {
+ font-family: 'base-ui';
+ content: '\e912';
+}
+
+#copyPermalink::before {
+ font-family: base-ui;
+ content: '\e905';
+}
+
+main > header > menu {
+ float: right;
+ visibility: hidden;
+ margin: 0 0 0 auto;
+ padding: 0;
+ list-style: none;
+ font-size: 1.1rem;
+}
+
+main#term > header > menu,
+main#page > header > menu {
+ visibility: visible;
+}
+
+main#term #print-button {
+ visibility: hidden;
+}
+
+main > header > menu > li,
+ul.breadcrumb > li {
+ display: inline;
+}
+
+main > header > menu > li > a {
+ opacity: 0.86;
+ color: var(--fg) !important;
+}
+
+.pagination .rfill a::before,
+.carousel__viewport__slide:last-child > nav a::before,
+#back::before {
+ --tsf: rotate(-90deg) translateX(1pt);
+ font-family: base-ui;
+ content: '\e902';
+}
+
+#has-breadcrumb a {
+ margin: 2pt;
+ padding: 0.5ex;
+ text-transform: uppercase;
+ letter-spacing: 0.1rem;
+ color: var(--fg);
+ font-size: var(--small);
+}
+
+ul.breadcrumb {
+ display: flex;
+ padding: 3pt 0;
+ overflow-y: auto;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+ul.breadcrumb > li > a,
+header > menu a {
+ display: inline-flex;
+ position: relative;
+}
+
+ul.breadcrumb > li:last-child a {
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ -webkit-touch-callout: none;
+}
+
+ul.breadcrumb > li + li:before {
+ color: var(--mid);
+ content: '/';
+}
\ No newline at end of file
diff --git a/assets/css/component/card.css b/assets/css/component/card.css
new file mode 100644
index 0000000..37e6f7e
--- /dev/null
+++ b/assets/css/component/card.css
@@ -0,0 +1,163 @@
+.feed-item {
+ position: relative;
+ transition: 99ms;
+ margin: var(--medskip) auto var(--medskip) 0;
+ padding: 1rem;
+ width: var(--golden-ratio);
+ font-size: var(--small);
+}
+
+.feed-item:hover,
+.feed-item:focus-within {
+ --tsf: scale(1.01);
+}
+
+.feed-item * {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+.feed-item h1 {
+ margin: 8pt 0 0 0;
+ font-size: var(--Large);
+ font-weight: 700;
+}
+
+.feed-item img {
+ width: auto;
+ height: auto;
+ max-height: 38vh;
+ aspect-ratio: 10/8;
+ object-fit: cover;
+}
+
+.feed-item .par {
+ --grd: linear-gradient(var(--off) 50%, transparent 100%);
+ opacity: 0.86;
+ margin-right: auto;
+ -webkit-mask-image: var(--grd);
+ mask-image: var(--grd);
+ clip-path: text;
+}
+
+.feed-item img + .par {
+ width: var(--golden-ratio);
+}
+
+.feed-item > a {
+ position: absolute;
+ top: 2.5rem;
+ right: 0;
+ bottom: 3rem;
+ left: 0;
+ transition: 0.2s;
+ z-index: 1;
+}
+
+.feed-item > a:hover,
+.feed-item > a:focus {
+ top: 0;
+ bottom: 0;
+ background-color: #80808008;
+}
+
+.feed-item > hgroup {
+ display: flex;
+ flex-direction: column;
+}
+
+.feed-item > section {
+ display: flex;
+ flex-direction: row-reverse;
+ margin: 8pt 0;
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ aspect-ratio: 10/3;
+ gap: 1rem;
+}
+
+.feed-item > footer,
+.feed-item > hgroup > div {
+ display: flex;
+ flex-flow: nowrap;
+ align-items: center;
+ white-space: nowrap;
+}
+
+.feed-item > footer > ul,
+.feed-item > hgroup > div > span {
+ display: block;
+ overflow-x: auto;
+ -ms-overflow-style: none;
+ scrollbar-width: none;
+}
+
+.feed-item > hgroup > div > div {
+ margin-left: auto;
+ padding-left: 1rem;
+}
+
+.feed-item > footer > ul {
+ text-align: right;
+ font-size: var(--scriptsize);
+}
+
+.readingTime {
+ margin-right: auto;
+ padding-right: 1rem;
+}
+
+.readingTime + .baselineskip {
+ height: 1em;
+}
+
+.flowlines {
+ border: var(--border);
+ object-fit: none !important;
+}
+
+ul.pagination {
+ display: flex;
+ margin: var(--medskip) 1ex;
+}
+
+.pagination a {
+ display: flex;
+ padding: 1ex 1em;
+ text-transform: uppercase;
+ letter-spacing: 0.2ex;
+ color: var(--ac);
+ gap: 1ex;
+}
+
+@media only screen and (max-width: 960px) {
+
+ .feed-item {
+ width: unset;
+ }
+
+ aside + #list-posts .feed-item {
+ width: var(--golden-ratio);
+ }
+
+ aside + #list-posts .feed-item > section {
+ flex-direction: column;
+ aspect-ratio: unset;
+ }
+
+ aside + #list-posts .feed-item .par {
+ max-height: 25vh;
+ width: unset;
+ }
+
+}
+
+@media only screen and (max-width: 480px) {
+
+ .feed-item > section {
+ flex-direction: column;
+ aspect-ratio: unset;
+ }
+
+}
\ No newline at end of file
diff --git a/assets/css/component/carousel.css b/assets/css/component/carousel.css
new file mode 100644
index 0000000..e0690a1
--- /dev/null
+++ b/assets/css/component/carousel.css
@@ -0,0 +1,293 @@
+/*
+
+
+
+
+
----
----
----
----
----
+ | | | | | | | | | |
+ | | | | | | | | | |
+ | | | | | | | | | |
+ | | | | | | | | | |
+ ---
| | ---
| | ---
+ ---
---
+
+
+*/
+.carousel {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+
+.carousel__nav {
+ display: flex;
+ position: absolute;
+ right: 2rem;
+ bottom: 2rem;
+ justify-content: flex-end;
+ z-index: 1;
+ width: calc(100% - 4rem);
+ font-size: var(--small);
+}
+
+.carousel__nav > ul {
+ overflow-x: auto;
+ white-space: nowrap;
+}
+
+.carousel__viewport nav a {
+ display: flex;
+ z-index: 2;
+ font-size: var(--small);
+}
+
+.carousel__viewport {
+ display: flex;
+ height: 100%;
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ scroll-behavior: smooth;
+ scroll-snap-type: x mandatory;
+ scrollbar-width: none;
+}
+
+ul.carousel__viewport {
+ border: none;
+ padding: 0;
+}
+
+.carousel__viewport > div,
+.carousel__viewport > section,
+ul.carousel__viewport > li,
+.carousel__viewport__slide {
+ display: flex;
+ position: relative;
+ flex-direction: row;
+ flex-shrink: 0;
+ flex-wrap: wrap;
+ align-items: center;
+ width: 100%;
+}
+
+ul.carousel__viewport > li {
+ position: relative;
+ margin: 1ex;
+ border-radius: 1ex;
+ background-size: cover;
+ width: 16rem;
+ height: 12.8rem;
+}
+
+ul.carousel__viewport > li > a {
+ position: absolute;
+ top: -1px;
+ right: 0;
+ bottom: 0;
+ left: -1px;
+ border-radius: 0.82ex;
+ overflow: clip;
+ color: var(--fg);
+ font-size: var(--small);
+ font-weight: bold;
+}
+
+ul.carousel__viewport > li:hover,
+ul.carousel__viewport > li:focus-within {
+ --tsf: scale(0.96);
+ opacity: 0.86;
+}
+
+ul.carousel__viewport > li > a > span {
+ display: inline-block;
+ position: relative;
+ border-radius: 0 0 1ex 0;
+ background-color: var(--bg);
+ padding: 0.7ex 2ex;
+ max-width: 12.8rem;
+}
+
+ul.carousel__viewport > li > a > span::before,
+ul.carousel__viewport > li > a > span::after {
+ position: absolute;
+ border-top-left-radius: 1ex;
+ box-shadow: 0 -1ex 0 0 var(--bg);
+ background-color: transparent;
+ width: 1ex;
+ height: 2ex;
+ content: '';
+}
+
+ul.carousel__viewport > li > a > span::before {
+ bottom: -2ex;
+ left: 0;
+}
+
+ul.carousel__viewport > li > a > span::after {
+ top: 0;
+ right: -1ex;
+}
+
+.carousel__viewport__slide__cover {
+ flex: 1 1 40%;
+ padding: 1.5rem 0 5rem 1.5rem;
+ height: 100%;
+ max-height: 1024px;
+}
+
+.carousel__viewport__slide__content {
+ margin-bottom: auto;
+ padding: 0 2rem;
+ width: 100%;
+ max-height: calc(100% - 5rem);
+ overflow-y: auto;
+}
+
+.carousel__viewport__slide__content h1.section-title {
+ margin: 0 !important;
+ padding: var(--smallskip) 0 1ex;
+ font: italic var(--Large) var(--rm), serif;
+}
+
+.carousel__viewport__slide__content h2 {
+ font-size: var(--large);
+}
+
+.carousel__viewport__slide__content h3 {
+ font-size: var(--normalsize);
+}
+
+.carousel__viewport__slide__content p {
+ max-width: var(--canonic);
+}
+
+.carousel__viewport__slide__content .footnotes p {
+ max-width: unset;
+}
+
+.carousel__viewport__slide__cover + .carousel__viewport__slide__content {
+ flex: 1 1 60%;
+ margin-bottom: 5rem;
+}
+
+.carousel__viewport__slide__cover + .carousel__viewport__slide__content p {
+ width: unset;
+}
+
+.carousel__viewport__slide__cover img {
+ border-radius: 1ex;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+}
+
+/* 2 item */
+
+#list-tags > nav a,
+.carousel__viewport__slide > nav a {
+ display: inline-flex;
+ padding: 1ex;
+ gap: 1ex;
+}
+
+.carousel__viewport__slide > nav a {
+ text-transform: uppercase;
+ letter-spacing: 0.1em;
+ color: var(--fg);
+}
+
+.pagination .lfill a::after,
+#list-tags > nav a::after,
+.carousel__viewport__slide:first-child > nav a::after {
+ /* -> */
+ --tsf: rotate(90deg);
+ font-family: base-ui;
+ content: '\e902';
+}
+
+.carousel__viewport .rfill {
+ display: inline-block !important;
+}
+
+#list-taxonomy > .carousel__viewport {
+ flex-direction: column;
+ height: calc(14.8rem + 2ex);
+ overflow-y: auto;
+ scroll-snap-type: y mandatory;
+}
+
+#list-taxonomy #list-series,
+#list-taxonomy #list-categories {
+ padding: 1rem 0;
+}
+
+#list-series ul.carousel__viewport,
+#list-categories ul.carousel__viewport,
+#list-author ul.carousel__viewport {
+ scrollbar-width: thin;
+}
+
+#list-categories a:hover::after {
+ position: absolute;
+ right: 1ex;
+ bottom: 1ex;
+ border-radius: 0.7ex;
+ background: var(--bg);
+ padding: 0.7ex 0;
+ width: calc(3.2rem - 2ex);
+ text-align: center;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ content: attr(data-post-counter);
+}
+
+@media only screen and (max-width: 960px) {
+
+ aside.carousel {
+ width: unset;
+ }
+
+}
+
+@media only screen and (max-width: 640px) {
+
+ .carousel__nav {
+ right: 0;
+ bottom: 0;
+ background: var(--bg);
+ width: unset;
+ }
+
+ .carousel__viewport__slide > .carousel__nav {
+ position: sticky;
+ position: -webkit-sticky;
+ }
+
+ aside .carousel__viewport > div,
+ aside .carousel__viewport > section,
+ aside .carousel__viewport__slide {
+ display: block;
+ height: 100%;
+ overflow-y: auto;
+ }
+
+ .carousel__viewport__slide__cover {
+ padding: unset;
+ height: unset;
+ }
+
+ .carousel__viewport__slide__cover img {
+ border-radius: 0;
+ padding: 0 1rem;
+ height: unset;
+ }
+
+ .carousel__viewport__slide__content {
+ padding: 0 1rem 5rem;
+ max-height: unset;
+ }
+
+ .carousel__viewport__slide__cover + .carousel__viewport__slide__content {
+ margin-bottom: 1rem;
+ }
+
+}
\ No newline at end of file
diff --git a/assets/css/component/column.css b/assets/css/component/column.css
new file mode 100644
index 0000000..5a54090
--- /dev/null
+++ b/assets/css/component/column.css
@@ -0,0 +1,38 @@
+.column {
+ /* auto column count */
+ --col: 16rem;
+ display: block;
+ -webkit-column-gap: 1.618rem;
+ -moz-column-gap: 1.618rem;
+ column-gap: 1.618rem;
+ column-fill: balance;
+ -webkit-column-width: var(--col);
+ -moz-column-width: var(--col);
+ column-width: var(--col);
+}
+
+.column--multicols {
+ /* modify column count on element inline:
+
*/
+ --col: unset;
+ --multicols: 3;
+ -webkit-column-count: var(--multicols);
+ -moz-column-count: var(--multicols);
+ column-count: var(--multicols);
+}
+
+.column__span {
+ column-span: all;
+}
+
+.column > *,
+.column__item {
+ margin-bottom: 1.618rem;
+ break-after: auto;
+ break-before: auto;
+}
+
+.column img {
+ width: 100%;
+ height: auto;
+}
\ No newline at end of file
diff --git a/assets/css/component/fediverse.css b/assets/css/component/fediverse.css
new file mode 100644
index 0000000..3ed1b8f
--- /dev/null
+++ b/assets/css/component/fediverse.css
@@ -0,0 +1,88 @@
+/* this style is used inline in fediverse.js */
+
+#comments > * {
+ width: var(--golden-ratio);
+}
+
+#comments noscript {
+ margin: var(--medskip) 0;
+}
+
+#discussion-starter {
+ margin-bottom: var(--medskip);
+}
+
+#discussion-starter > footer {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.mastodon-comment {
+ margin: 1rem 0 1rem calc(var(--mul) * var(--indent));
+ border: 1pt solid #fff4;
+ border-left: 2pt solid var(--ac);
+ box-shadow: 0 0.5pt 1pt 0 var(--g18s);
+ background: #80808008;
+ padding: 1rem 1rem 1ex;
+ overflow: auto;
+}
+
+.mastodon-comment .content {
+ margin-left: 4rem;
+ line-height: calc(var(--baselineStretch) * 1.272);
+}
+
+.mastodon-comment .par a {
+ max-width: 100%;
+ vertical-align: bottom;
+ white-space: break-spaces;
+}
+
+.mastodon-comment .attachments * {
+ width: 100%;
+ height: auto;
+}
+
+.mastodon-comment > footer {
+ margin-top: 1rem;
+ margin-left: 3.5rem;
+}
+
+.mastodon-comment > footer .stat {
+ display: inline-flex;
+ flex-shrink: 0;
+ gap: 5pt;
+}
+
+.stat a {
+ display: inline-flex;
+ align-items: center;
+ padding: 2pt;
+ color: var(--mid);
+ gap: 2pt;
+}
+
+.stat a::before {
+ vertical-align: text-top;
+}
+
+a.favourites.active {
+ color: var(--i3i);
+}
+
+.mastodon-comment .date {
+ margin-left: auto;
+ padding-left: 1rem;
+ color: var(--mid);
+ font-size: calc(10pt * var(--fonttScale));;
+}
+
+@media only screen and (max-width: 960px) {
+
+ .mastodon-comment .content,
+ .mastodon-comment > footer {
+ margin-left: 0;
+ }
+
+}
diff --git a/assets/css/component/hero.css b/assets/css/component/hero.css
new file mode 100644
index 0000000..7519763
--- /dev/null
+++ b/assets/css/component/hero.css
@@ -0,0 +1,92 @@
+/*
+
+
+
+
+
----
----
----
----
----
+ | | | | | | | | | |
+ | | | | | | | | | |
+ | | | | | | | | | |
+ | | | | | | | | | |
+ ---
| | ---
| | ---
+ ---
---
+
+
+*/
+.hero {
+ display: flex;
+ position: relative;
+}
+
+.hero__image {
+ display: flex;
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ float: left;
+ height: calc(var(--vbody) - 14.8rem - 1rem - 2ex);
+ max-height: 1024px;
+}
+
+.hero > * {
+ width: 50%;
+}
+
+.hero img {
+ margin-left: auto;
+ padding: 2rem;
+ max-width: 100%;
+ max-height: calc(var(--vbody) - 14.8rem - 1rem - 2ex);
+ object-fit: cover;
+}
+
+.hero__content {
+ --col: 27rem;
+ padding: 2rem 0;
+ max-width: var(--col);
+ font-size: var(--small);
+}
+
+.hero__content h1,
+.hero__content h2,
+.hero__content h3 {
+ margin: 4pt 0;
+ font: italic var(--Large) var(--rm), serif;
+ line-height: 1.618;
+}
+
+@media only screen and (max-width: 960px) {
+
+ .hero {
+ width: 100%;
+ }
+
+}
+
+@media only screen and (max-width: 640px) {
+
+ .hero {
+ display: flex;
+ flex-direction: column;
+ }
+
+ .hero > * {
+ align-self: center;
+ width: 86%;
+ }
+
+ .hero__image {
+ position: inherit;
+ width: unset;
+ height: unset;
+ }
+
+}
+
+@media only screen and (max-width: 480px) {
+
+ .hero img {
+ padding: 1rem;
+ }
+
+}
\ No newline at end of file
diff --git a/assets/css/component/keyframe.css b/assets/css/component/keyframe.css
new file mode 100644
index 0000000..7a9309d
--- /dev/null
+++ b/assets/css/component/keyframe.css
@@ -0,0 +1,85 @@
+@keyframes ellipsis {
+ 0% {content: '...';}
+ 25% {content: '';}
+ 50% {content: '.';}
+ 100% {content: '..';}
+}
+
+@-webkit-keyframes ellipsis {
+ 0% {content: '...';}
+ 25% {content: '';}
+ 50% {content: '.';}
+ 100% {content: '..';}
+}
+
+@-webkit-keyframes idle {
+ from, to {border-color: var(--paper);}
+ 50% {border-color: transparent;}
+}
+
+@keyframes idle {
+ from, to {border-color: var(--paper);}
+ 50% {border-color: transparent;}
+}
+
+@-webkit-keyframes blinking {
+ from, to {visibility: visible;}
+ 50% {visibility: hidden;}
+}
+
+@keyframes blinking {
+ from, to {visibility: visible;}
+ 50% {visibility: hidden;}
+}
+
+@keyframes expand {
+ from {
+ -webkit-transform: scale(1 , 0);
+ -moz-transform: scale(1 , 0);
+ -ms-transform: scale(1 , 0);
+ -o-transform: scale(1 , 0);
+ transform: scale(1 , 0);
+ }
+ to {
+ -webkit-transform: scale(1 , 1);
+ -moz-transform: scale(1 , 1);
+ -ms-transform: scale(1 , 1);
+ -o-transform: scale(1 , 1);
+ transform: scale(1 , 1);
+ }
+}
+
+@-webkit-keyframes expand {
+ from {
+ -webkit-transform: scale(1 , 0);
+ transform: scale(1 , 0);
+ }
+ to {
+ -webkit-transform: scale(1 , 1);
+ transform: scale(1 , 1);
+ }
+}
+
+@media (prefers-reduced-motion) {
+
+ @keyframes expand {
+ from {
+ -webkit-transform: unset;
+ -moz-transform: unset;
+ -ms-transform: unset;
+ -o-transform: unset;
+ transform: unset;
+ }
+ }
+
+ @-webkit-keyframes expand {
+ from {
+ -webkit-transform: unset;
+ -moz-transform: unset;
+ -ms-transform: unset;
+ -o-transform: unset;
+ transform: unset;
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/assets/css/component/link.css b/assets/css/component/link.css
new file mode 100644
index 0000000..1595610
--- /dev/null
+++ b/assets/css/component/link.css
@@ -0,0 +1,81 @@
+a {
+ text-decoration: none;
+ color: var(--ac);
+}
+
+#bionReadSwitch + label,
+#join-discussion,
+#saveButton,
+#share,
+a.cta {
+ border-radius: 2em;
+ background: var(--fg);
+ padding: 6pt 12pt;
+ color: var(--bg);
+ font-weight: 700;
+ text-align: center;
+}
+
+#has-a11y-summary,
+a.underline {
+ border: 2pt solid transparent;
+ border-width: 0 0 2pt 0;
+}
+
+#to-top:focus,
+#has-a11y-summary:hover,
+#has-a11y-summary:focus,
+#has-a11y[open] #has-a11y-summary,
+a.underline:hover,
+a.underline:focus {
+ --anm: underline 127ms ease-in;
+ border-color: var(--ac);
+ -webkit-animation: var(--anm);
+ -moz-animation: var(--anm);
+ -o-animation: var(--anm);
+ animation: var(--anm);
+}
+
+ul.rounded li {
+ margin: 3pt 1pt;
+ display: inline-block;
+}
+
+ul.rounded a {
+ display: inline-flex;
+ opacity: 0.86;
+ border: var(--border);
+ border-radius: 2rem;
+ background: #80808008;
+ padding: 0.5ex 1em;
+ color: var(--fg);
+ gap: 1pt;
+}
+
+ul.rounded a:hover {
+ border-color: #80808022;
+ box-shadow: var(--box-shadow-active);
+ background: #80808016;
+}
+
+ul.invert a {
+ opacity: 0.86;
+ border: unset;
+ background: var(--fg) !important;
+ color: var(--bg) !important;
+}
+
+ul.invert a:visited {
+ color: var(--bg);
+}
+
+ul.has-hash a {
+ text-transform: uppercase;
+ letter-spacing: 0.1rem;
+ font-size: 0.9em;
+}
+
+#term .section-title > .tag::before,
+ul.has-hash a::before {
+ content: '#';
+}
\ No newline at end of file
diff --git a/assets/css/component/logotype.css b/assets/css/component/logotype.css
new file mode 100644
index 0000000..150f2bb
--- /dev/null
+++ b/assets/css/component/logotype.css
@@ -0,0 +1,105 @@
+/* _____ _ _ _ ____ __ __
+ | ___| / \ | \ | | / ___| \ \ / /
+ | |_ / _ \ | \| | | | \ V /
+ | _| / ___ \ | |\ | | |___ | |
+ |_| /_/ \_\ |_| \_| \____| |_|
+
+
+
+ FANCY LOGOTYPE
+
+
+
+ simplified from :
+ https://codepen.io/alvarotrigo/pen/rNbxNWg */
+
+#logo {
+ --h: calc(3.33rem - 10pt);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin: 5pt 0;
+ height: var(--h);
+}
+
+#logo > * {
+ height: var(--h);
+}
+
+#logo #logotype__text {
+ --anm: dash 30s infinite alternate;
+ text-transform: uppercase;
+ letter-spacing: 0.2ex;
+ font-family: var(--sf), sans-serif;
+ font-size: calc(27pt * var(--fontScale));
+ font-weight: 700;
+ stroke: var(--off);
+ stroke-width: 1px;
+}
+
+#logo:focus #logotype__text {
+ --anm: unset;
+ outline-color: var(--off);
+ stroke: none;
+}
+
+@-webkit-keyframes dash {
+ 0% {
+ fill:var(--off);
+ stroke-dasharray: 0 50%;
+ stroke-dashoffset: 20%;
+ }
+
+ 100% {
+ fill: #0000;
+ stroke-dasharray: 50% 0;
+ stroke-dashoffset: -20%;
+ }
+}
+
+@keyframes dash {
+ 0% {
+ fill: var(--off);
+ stroke-dasharray: 0 50%;
+ stroke-dashoffset: 20%;
+ }
+
+ 100% {
+ fill: #0000;
+ stroke-dasharray: 50% 0;
+ stroke-dashoffset: -20%;
+ }
+}
+
+/* logomark default */
+
+#logomark--dark + #logomark {
+ display: inline-block;
+}
+
+@media (prefers-color-scheme: light) {
+
+ #logomark--dark {
+ display: none;
+ }
+
+ #logomark--dark + #logomark {
+ display: inline-block;
+ }
+
+}
+
+@media (prefers-color-scheme: dark) {
+
+ #logomark--dark {
+ display: inline-block;
+ }
+
+ #logomark--dark + #logomark {
+ display: none;
+ }
+
+}
\ No newline at end of file
diff --git a/assets/css/component/marginpar.css b/assets/css/component/marginpar.css
new file mode 100644
index 0000000..d6bdd08
--- /dev/null
+++ b/assets/css/component/marginpar.css
@@ -0,0 +1,44 @@
+.marginpar {
+ left: var(--golden-ratio);
+ margin-right: 0;
+ margin-left: calc(var(--marginparwidth) * -1);
+ font-size: var(--small);
+ font-style: italic;
+}
+
+.marginpar.abs {
+ /* will ignore clear attribute */
+ position: absolute;
+ right: var(--void);
+ left: unset;
+}
+
+@media screen and (max-width: 640px) {
+
+ .marginpar-ctrl + label {
+ display: inline-flex;
+ padding: 2pt;
+ }
+
+ .marginpar-ctrl + label::before {
+ display: block !important;
+ left: 0;
+ }
+
+ .marginpar-ctrl:checked + label::before {
+ --anm: unset;
+ color: var(--ac);
+ }
+
+ .marginpar {
+ display: none;
+ float: unset;
+ }
+
+ .marginpar-ctrl:checked + label + .marginpar {
+ display: block;
+ position: unset;
+ margin: 1ex 0;
+ }
+
+}
\ No newline at end of file
diff --git a/assets/css/component/menu.css b/assets/css/component/menu.css
new file mode 100644
index 0000000..015482b
--- /dev/null
+++ b/assets/css/component/menu.css
@@ -0,0 +1,558 @@
+ul.delimiter,
+ul.breadcrumb,
+nav > ul,
+ul[role=presentation] {
+ margin: 0;
+ list-style: none;
+ font-size: inherit;
+}
+
+ul.delimiter,
+ul.delimiter li,
+ul.inline,
+ul.inline li,
+nav > ul,
+nav > ul > li {
+ display: inline-block;
+ padding: 0;
+}
+
+/* container */
+
+body > header,
+body > header > nav {
+ display: flex;
+ z-index: 2;
+}
+
+#top-nav {
+ margin-left: auto;
+ font-weight: bold;
+}
+
+#top-nav[open],
+#has-main-menu {
+ flex: 1;
+}
+
+#top-nav > nav {
+ display: flex;
+ justify-content: flex-end;
+ gap: 1ex;
+}
+
+#logo + #top-nav #main-menu,
+#logo + #top-nav #main-menu .l1 {
+ /* flush item to right-end when logotype on the left */
+ justify-content: flex-end;
+}
+
+#main-menu .l1 {
+ display: flex;
+ gap: 1ex;
+}
+
+/* menu icon */
+
+.menu-icon::before {
+ content: '\e90b';
+ font-family: 'base-ui';
+}
+
+.keydown .menu-icon::before {
+ border: var(--border);
+}
+
+#has-more-menu > summary {
+ width: 43pt;
+}
+
+#has-a11y[open] > summary .icon::before,
+#has-search[open] .icon::before,
+details[open] > summary > .menu-icon::before {
+ --anm: blinking 2s step-end infinite;
+ color: var(--ac);
+}
+
+/* on 'hull' viewport */
+
+#i18n-menu,
+#more-menu,
+.on-hull,
+.screening {
+ /* 'hull' --vbody container */
+ position: fixed;
+ top: var(--vhead);
+ left: 0;
+ width: 100vw;
+ height: var(--vbody);
+}
+
+.screening {
+ /* obscure main body */
+ --blur: blur(0.2vmin);
+ --dim: brightness(0.96);
+ z-index: -1;
+ background-color: #80808008;
+ -webkit-backdrop-filter: var(--blur) var(--dim);
+ backdrop-filter: var(--blur) var(--dim);
+}
+
+/* item on 'deck' */
+
+.on-deck,
+a#has-i18n {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin: auto 0;
+ padding: unset;
+ min-width: var(--vhead);
+ height: calc(var(--vhead) - 12pt);
+ max-height: 4.2rem;
+}
+
+#has-i18n > .on-deck {
+ padding: 0 1ex;
+ width: unset;
+}
+
+/* item on 'plank' */
+
+.pagefind-ui,
+.on-plank {
+ /* add on-plank */
+ display: flex;
+ flex-direction: column;
+ border: var(--border);
+ border-radius: 1ex;
+ background: var(--bg);
+ padding: 1.414ex;
+ width: fit-content;
+ max-height: calc(var(--vbody) - 2rem);
+ overflow-y: auto;
+ gap: 1ex;
+}
+
+.on-plank ul {
+ display: flex;
+ flex-direction: column;
+ margin: 0 1ex;
+ border-right: var(--bound);
+ padding: 1ex;
+ gap: 1ex;
+}
+
+details[open] .on-plank,
+.l1 details[open] > ul,
+.marginpar-ctrl:checked + label + .marginpar {
+ --anm: expand 99ms forwards;
+ --tso: top;
+}
+
+#main-menu .on-plank {
+ position: fixed;
+ top: calc(var(--vhead) + 1rem);
+ max-width: 20rem;
+ translate: -1.414ex;
+}
+
+#i18n-menu > .on-plank,
+#more-menu > .on-plank {
+ /* .on-hull > .on-plank */
+ margin: 1rem var(--void) 1rem auto;
+ max-width: var(--max-width);
+}
+
+/* visible menu item */
+
+#has-l10n a,
+#top-nav a,
+.anchor {
+ display: flex;
+ align-items: baseline;
+ border: 2pt solid transparent;
+ border-width: 0 0 2pt 0;
+ padding: 1ex;
+ width: 100%;
+ color: var(--fg);
+}
+
+#top-nav a > .icon::after {
+ content: '\a0';
+}
+
+#top-nav a.has-desc {
+ flex-direction: column;
+}
+
+.anchor {
+ align-items: center;
+}
+
+#has-l10n a:hover,
+#has-l10n a:focus,
+#top-nav a:hover,
+#top-nav a:focus,
+.anchor:hover,
+.anchor:focus {
+ --anm: underline 127ms ease-in;
+ color: var(--ac);
+ border-color: var(--ac);
+}
+
+@-webkit-keyframes underline {
+ from {
+ border-image: linear-gradient(to right, var(--ac), transparent 100%) 1;
+ }
+
+ 50% {
+ border-image: linear-gradient(to right, var(--ac), transparent 50%) 1;
+ }
+
+ to {
+ border-image: linear-gradient(to right, var(--ac), transparent 0%) 1;
+ }
+}
+
+@keyframes underline {
+ from {
+ border-image: linear-gradient(to right, transparent, transparent) 1;
+ }
+
+ 50% {
+ border-image: linear-gradient(to right, var(--ac), transparent) 1;
+ }
+
+ to {
+ border-image: linear-gradient(to right, var(--ac), var(--ac)) 1;
+ }
+}
+
+.marginpar-ctrl + label::before,
+.anchor:after {
+ /* add indicator [v] */
+ --tst: 200ms ease-out;
+ position: relative;
+ top: 0.23em;
+ left: 0.43em;
+ margin-left: auto;
+ background: linear-gradient(to top, transparent 49%, var(--g18) 51%);
+ -webkit-background-clip: text;
+ background-clip: text;
+ color: transparent;
+ font: 8pt 'base-ui';
+ content: '\e913';
+}
+
+.anchor:hover::after {
+ background: linear-gradient(to top, transparent 49%, var(--ac) 51%);
+ -webkit-background-clip: text;
+ background-clip: text;
+ color: transparent;
+}
+
+#has-i18n .anchor::after {
+ left: unset;
+}
+
+.marginpar-ctrl:checked + label::before,
+details[open] > .anchor:after {
+ /* change indicator state [x] */
+ --anm: blinking 3s step-end infinite;
+ background: unset;
+ top: 0;
+ color: var(--g18);
+}
+
+details[open] > .anchor.on-deck:after {
+ /* make opened
element more prominent */
+ color: red;
+}
+
+/* bilingual */
+
+a#has-i18n {
+ width: auto;
+ font-weight: 700;
+ font-size: 0.9em;
+ gap: 3pt;
+}
+
+a#has-i18n > .alt,
+a#has-i18n:hover > .act,
+a#has-i18n:focus > .act,
+a#has-i18n:active > .act {
+ /* active/current language */
+ color: var(--g18);
+}
+
+a#has-i18n:hover > .alt,
+a#has-i18n:focus > .alt,
+a#has-i18n:active > .alt {
+ /* alternate language */
+ color: var(--fg);
+}
+
+/* multilingual */
+
+#has-i18n .on-deck {
+ gap: 3pt;
+}
+
+#has-l10n {
+ display: inline-block;
+}
+
+#has-l10n summary {
+ display: block !important;
+ padding: 3.5pt 1.4ex 3.5pt 3.5pt;
+}
+
+#has-l10n > summary::before {
+ font-family: 'base-ui';
+ content: '\e90a\a0';
+}
+
+#has-l10n a,
+#i18n-menu a {
+ align-items: center;
+ gap: 1ex;
+}
+
+#has-l10n img,
+#has-i18n img {
+ border-radius: 2pt;
+ width: auto;
+ height: 8pt;
+ object-fit: cover;
+}
+
+#has-l10n .on-plank {
+ position: absolute;
+ border: var(--border);
+ background: var(--bg);
+ width: auto;
+ z-index: 1;
+}
+
+.parent-anchor a::after,
+#i18n-menu a::after,
+#content a::after {
+ --tsf: rotate(45deg);
+ display: inline-block;
+ margin-top: 0.3em;
+ margin-left: auto;
+ font: 0.7em 'base-ui';
+ content: '\e902';
+}
+
+.parent-anchor a::after,
+#i18n-menu a::after {
+ color: var(--g18);
+}
+
+.hero nav a {
+ color: var(--fg);
+ position: relative;
+}
+
+.hero nav .t {
+ top: 150%;
+}
+
+.hero nav a .icon {
+ display: inline-flex;
+ margin: 2pt;
+ padding: 6pt;
+ font-size: var(--large);
+}
+
+@media only screen and (max-width: 640px) {
+
+ /* container behaviour */
+
+ #top-nav * {
+ outline: none !important;
+ }
+
+ #top-nav[open] > nav {
+ --anm: expand 99ms forwards;
+ --tso: top;
+ }
+
+ #main-menu {
+ display: unset;
+ }
+
+ #main-menu .l1 {
+ flex-direction: column;
+ }
+
+ /* swap menu-icon */
+
+ #top-nav > summary,
+ #top-nav[open] > summary {
+ display: flex !important;
+ margin-left: auto;
+ width: 43pt;
+ }
+
+ #has-more-menu > summary {
+ width: 100%;
+ }
+
+ #has-more-menu .t,
+ #has-search .t {
+ display: initial;
+ position: unset;
+ visibility: unset;
+ background: unset;
+ width: 100%;
+ color: inherit;
+ font: inherit;
+ }
+
+ /* swap screen element */
+
+ #top-nav-screen.screening {
+ display: block;
+ background-color: var(--bg);
+ backdrop-filter: blur(5vmin);
+ }
+
+ /* swap hull element */
+
+ #top-nav > nav {
+ position: fixed;
+ top: var(--vhead);
+ left: 0;
+ flex-direction: column;
+ justify-content: unset;
+ z-index: 3;
+ padding: 1.414ex;
+ width: 100vw;
+ height: var(--vbody);
+ overflow-y: auto;
+ }
+
+ #i18n-menu,
+ #more-menu,
+ #hasDuckDuckGo,
+ #main-menu .on-plank {
+ /* also unset main menu plank */
+ position: unset;
+ width: unset;
+ max-width: unset;
+ height: unset;
+ }
+
+ /* reorder hull item */
+
+ #has-search {
+ order: 1;
+ }
+
+ #has-main-menu {
+ flex: unset;
+ order: 2;
+ }
+
+ #has-more-menu {
+ order: 3;
+ }
+
+ #has-i18n {
+ order: 4;
+ margin: auto 1ex 2rem;
+ }
+
+ /* redefine deck element */
+
+ #top-nav > nav .on-deck {
+ justify-content: unset;
+ height: unset;
+ }
+
+ #top-nav > nav #has-i18n .on-deck {
+ padding: 1ex;
+ }
+
+ /* swap plank element */
+
+ .on-plank {
+ border: unset;
+ background: unset;
+ min-width: unset;
+ max-height: unset;
+ }
+
+ #main-menu .on-plank {
+ margin: 0 1ex;
+ border-right: var(--bound);
+ border-radius: 0;
+ padding: 1ex;
+ translate: unset;
+ }
+
+ #i18n-menu > .on-plank ,
+ #more-menu > .on-plank {
+ /* .on-hull > .on-plank */
+ margin: unset;
+ padding: 0;
+ width: 100%;
+ }
+
+ #has-main-menu,
+ #has-more-menu,
+ #has-search {
+ /* make as plank */
+ margin: 1ex;
+ border: var(--border);
+ border-radius: 1ex;
+ background: var(--bg);
+ padding: 1ex;
+ }
+
+ details[open] > .anchor.on-deck:after {
+ color: var(--g18);
+ }
+
+ /* bilingual */
+
+ a#has-i18n::after {
+ margin: 0 auto 0 1.5ex;
+ content: attr(aria-label);
+ }
+
+ a#has-i18n > img {
+ display: initial;
+ }
+
+ /* multilingual */
+
+ #has-i18n img {
+ height: 12pt;
+ }
+
+ #i18n-menu {
+ margin-top: 1ex;
+ }
+
+ .languangeName {
+ display: block !important;
+ margin-left: 0.5ex;
+ }
+
+ /* hide desktop element */
+
+ #top-nav > nav .screening,
+ #has-search[open] > summary,
+ #has-more-menu[open] > summary,
+ #has-more-menu .menu-icon,
+ #has-search .icon,
+ .iso639 {
+ display: none;
+ }
+
+}
\ No newline at end of file
diff --git a/assets/css/component/search.css b/assets/css/component/search.css
new file mode 100644
index 0000000..839d25f
--- /dev/null
+++ b/assets/css/component/search.css
@@ -0,0 +1,167 @@
+#has-search > summary::before {
+ padding: 0 1ex;
+ font-family: 'base-ui';
+ font-weight: 400;
+ content: '\e911';
+}
+
+#duckduckgo,
+.pagefind-ui {
+ margin: 1rem var(--void) 1rem auto;
+ width: calc(var(--marginparwidth) - 1rem);
+ min-width: 17rem;
+ max-height: calc(var(--vbody) - 2rem);
+ font-weight: normal;
+}
+
+#duckduckgo {
+ flex-direction: row;
+}
+
+.form {
+ align-items: center;
+}
+
+/* the search box */
+
+.form__input {
+ flex: 1;
+ border: none;
+ border-radius: 2rem 0 0 2rem;
+ background: none;
+ padding: 0;
+ padding-left: 1em;
+ color: var(--fg);
+ font-family: var(--sf), sans-serif;
+}
+
+#duckduckgo .form__input {
+ --ac: #de5833;
+ flex: 1;
+ border-bottom: 2pt solid var(--g18s);
+ border-radius: 0.25ex;
+ padding: 1ex;
+}
+
+.pagefind-ui__search-input:hover,
+.pagefind-ui__search-input:focus,
+#duckduckgo .form__input:hover,
+#duckduckgo .form__input:focus {
+ --anm: underline 127ms ease-in;
+ outline: none !important;
+ border-color: var(--ac);
+ -webkit-animation: var(--anm);
+ -moz-animation: var(--anm);
+ -o-animation: var(--anm);
+ animation: var(--anm);
+}
+
+/* the search button */
+
+.pagefind-ui__button,
+.form__reset,
+.form__button {
+ display: inline-flex;
+ position: relative;
+ border: none;
+ border-radius: 0 50% 50% 0;
+ background: none;
+ padding: 0;
+}
+
+#duckduckgo .form__button,
+#duckduckgo .form__button > img {
+ width: 2rem;
+ height: 2rem;
+}
+
+#duckduckgo .form__input:hover + .form__button,
+#duckduckgo .form__input:focus + .form__button {
+ --tsf: scaleX(-1);
+}
+
+#duckduckgo .form__button:hover,
+#duckduckgo .form__button:focus {
+ --tsf: scale(1.1);
+}
+
+.form:invalid .form__reset {
+ opacity: 0;
+ pointer-events: none;
+}
+
+.form:valid .form__reset {
+ opacity: 1;
+ pointer-events: all;
+}
+
+/* additional pagefind styles */
+
+.pagefind-ui__form {
+ display: flex;
+ flex-direction: column;
+ gap: 1ex;
+}
+
+.pagefind-ui__search-input {
+ margin: 1ex 1ex 0.5ex;
+ border: 0;
+ border-bottom: 2pt solid var(--g18s);
+ background: none;
+ padding: 1ex !important;
+ color: var(--fg);
+}
+
+.pagefind-ui__drawer {
+ margin: 0 1ex;
+ padding: 0 1ex;
+}
+
+p.pagefind-ui__message {
+ margin: 1ex 0;
+}
+
+.pagefind-ui__result-excerpt {
+ color: var(--mid);
+ font-size: var(--small);
+}
+
+ol.pagefind-ui__results {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+
+.pagefind-ui__result {
+ margin-bottom: 1rem;
+}
+
+a.pagefind-ui__result-link {
+ border-bottom: 0 !important;
+ padding: 1ex 1ex 0.5ex !important;
+ font-weight: 700;
+}
+
+.pagefind-ui__result-excerpt {
+ padding: 0 1ex;
+ font-size: 0.9em;
+}
+
+@media only screen and (max-width: 640px) {
+
+ #search,
+ #hasDuckDuckGo {
+ position: unset;
+ padding: 0;
+ width: unset;
+ height: unset;
+ }
+
+ .pagefind-ui,
+ #duckduckgo {
+ margin: 1ex;
+ padding: 0;
+ border: unset;
+ }
+
+}
\ No newline at end of file
diff --git a/assets/css/component/share.css b/assets/css/component/share.css
new file mode 100644
index 0000000..7132357
--- /dev/null
+++ b/assets/css/component/share.css
@@ -0,0 +1,150 @@
+.form#mastodon {
+ display: inline-flex;
+ width: 100%;
+}
+
+#mastodonInstance {
+ /* passive mode; display as button */
+ display: none;
+ height: 2.654rem;
+}
+
+#has-mastodon.active {
+ /* active mode display as form */
+ flex: 1;
+}
+
+#has-mastodon.active #mastodonInstance {
+ display: initial !important;
+}
+
+#has-mastodon.active #mastodon {
+ border: 3pt solid #563acc02;
+ border-radius: 2rem;
+ background: #563acc22;
+}
+
+#mastodonInstance ~ button:focus .mastodon,
+#mastodonInstance:focus ~ button .mastodon {
+ background: #4f36b5;
+ color: #fff;
+}
+
+#has-share {
+ margin:var(--vskip);
+ padding-bottom: 2pt;
+}
+
+#has-share[open] {
+ padding-bottom: 0;
+}
+
+#share {
+ float: left;
+ margin: 1pt 0;
+}
+
+#has-share[open] #share {
+ background: unset;
+ padding-left: 0;
+ color: unset;
+}
+
+#has-share[open] #share::after {
+ content: ':';
+}
+
+#has-share ul {
+ display: flex;
+ position: relative;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+}
+
+#has-share a {
+ display: inline-flex;
+ position: relative;
+}
+
+#has-share i {
+ border-radius: 2rem;
+ padding: 0.62rem;
+ font-size: var(--Large);
+}
+
+#has-share i:hover {
+ --tst: 200ms ease-in;
+ opacity: 1;
+}
+
+#has-share a:focus i,
+#has-share i:hover {
+ color: #fff !important;
+}
+
+/* Social sharing button */
+#has-share .email {color: var(--mid)}
+#has-share a:focus .email,
+#has-share .email:hover {background: var(--mid)}
+#has-share .bluesky {color: #1185fe}
+#has-share a:focus .bluesky,
+#has-share .bluesky:hover {background: #0072ce};
+#has-share .facebook {color: #3b5998}
+#has-share a:focus .facebook,
+#has-share .facebook:hover {background: #2d4373}
+#has-share .hackernews {color: #FF6600;}
+#has-share a:focus .hackernews,
+#has-share .hackernews:hover {background: #FB6200}
+#has-share .linkedin {color: #0077b5}
+#has-share a:focus .linkedin,
+#has-share .linkedin:hover {background: #046293}
+#has-share .mastodon {color: #563acc}
+#has-share a:focus .mastodon,
+#has-share .mastodon:hover {background: #4f36b5}
+#has-share .pinterest {color: #bd081c}
+#has-share a:focus .pinterest,
+#has-share .pinterest:hover {background: #8c0615}
+#has-share .reddit {color: #5f99cf}
+#has-share a:focus .reddit,
+#has-share .reddit:hover {background: #3a80c1}
+#has-share .telegram {color: #54A9EB}
+#has-share a:focus .telegram,
+#has-share .telegram:hover {background: #4B97D1}
+#has-share .tumblr {color: #35465C}
+#has-share a:focus .tumblr,
+#has-share .tumblr:hover {background: #222d3c}
+#has-share .twitter {color: #55acee}
+#has-share a:focus .twitter,
+#has-share .twitter:hover {background: #2795e9}
+#has-share .vk {color: #507299}
+#has-share a:focus .vk,
+#has-share .vk:hover {background: #43648c}
+#has-share .whatsapp {color: #25D366}
+#has-share a:focus .whatsapp,
+#has-share .whatsapp:hover {background: #1DA851}
+#has-share .xing {color: #1a7576}
+#has-share a:focus .xing,
+#has-share .xing:hover {background: #114C4C}
+
+@media only screen and (max-width: 844px) {
+
+ #share {
+ float: unset;
+ }
+
+ #has-share[open] #share {
+ padding-left: 16.18pt;
+ }
+
+ #has-mastodon.active {
+ flex: 0 0 100%;
+ }
+
+ #has-mastodon.active #mastodon {
+ margin-bottom: 1ex;
+ max-width: 27em;
+ }
+
+}
\ No newline at end of file
diff --git a/assets/css/component/skipper.css b/assets/css/component/skipper.css
new file mode 100644
index 0000000..da37fd9
--- /dev/null
+++ b/assets/css/component/skipper.css
@@ -0,0 +1,44 @@
+#to-content {
+ /* displayed to screen reader,
+ but visually removed to oustide canvas */
+ --tsf: translateY(-100vmax);
+ display: flex;
+ position: fixed;
+ top: 0;
+ left: 0;
+ align-items: center;
+ justify-content: center;
+ z-index: 3;
+ outline: none !important;
+ background: var(--bg) !important;
+ width: 100vw;
+ height: var(--vhead);
+ }
+
+#to-content:focus {
+ /* replace top nav on focus */
+ --tsf: translate(0);
+}
+
+body > footer > nav {
+ margin-left: auto;
+}
+
+#to-top {
+ padding: 1ex;
+ color: var(--fg);
+ overflow: hidden;
+}
+
+#to-top::before {
+ --tsf: rotate(-45deg);
+ display: inline-flex;
+ transition: 0.2s;
+ font-family: 'base-ui';
+ content: '\e902';
+}
+
+#to-top:hover::before,
+#to-top:focus::before {
+ --tsf: unset;
+}
\ No newline at end of file
diff --git a/assets/css/layout/_default/baseof.css b/assets/css/layout/_default/baseof.css
new file mode 100644
index 0000000..bbac05d
--- /dev/null
+++ b/assets/css/layout/_default/baseof.css
@@ -0,0 +1,315 @@
+/*
+
+
+
+
+
+
+
+*/
+
+:root {
+ --golden-ratio: 61.803398%;
+ --canonic: 70.710678%;
+ --max-width: 1024px;
+ --void: calc((100vw - var(--canonic) - 1rem) / 2);
+ --vhead: 4.2rem;
+ --vfoot: 3.33rem;
+ --vbody: calc(100vh - var(--vhead) - var(--vfoot));
+ --marginparwidth: 27vw; /* --canonic - ( --canonic * --golden-ratio) */
+ --g18: #80808080;
+ --g18s: #80808022;
+ --bound: 1pt dotted var(--g18);
+ --border: 1pt solid var(--g18s);
+ --box-shadow-hover: 0 1px 0.5px var(--g18);
+ --box-shadow-focus: 0 0.5px 1px var(--g18);
+ --box-shadow-active: 0 0.5px 0.5px var(--mid);
+ font-size: calc(var(--fontScale) * 10pt);
+}
+
+::-webkit-scrollbar {
+ /* width: 8pt;
+ height: 8pt; */
+ scroll-behavior: smooth;
+}
+
+::-webkit-scrollbar-track {
+ background: transparent;
+ border-radius: 9pt !important;
+}
+
+::-webkit-scrollbar-thumb {
+ background: var(--g18);
+ opacity: 0.86;
+ border-radius: 9pt !important;
+}
+
+* {
+ box-sizing: border-box;
+ scroll-margin-top: calc(var(--vhead) + 4.118rem);
+ scroll-behavior: smooth;
+ scrollbar-color: var(--g18) transparent;
+ scrollbar-width: thin;
+ text-rendering: optimizeLegibility;
+ kerning: auto;
+ font-kerning: auto;
+ -webkit-font-feature-settings: 'kern' 1;
+ -moz-font-feature-settings: 'kern' 1;
+ font-feature-settings: 'kern' 1;
+ -webkit-hyphens: auto;
+ -moz-hyphens: auto;
+ hyphens: auto;
+ -webkit-hyphenate-after: 3;
+ hyphenate-after: 3;
+ -webkit-hyphenate-before: 3;
+ hyphenate-before: 3;
+ -webkit-hyphenate-lines: 2;
+ hyphenate-lines: 2;
+ orphans: 2;
+ widows: 2;
+}
+
+body {
+ margin: 0 !important;
+ padding: unset !important;
+ line-height: calc(var(--baselineStretch) * 1.414);
+ color: var(--fg);
+ font-family: var(--sf), sans-serif;
+ font-size: var(--normalsize);
+ --y6a: #af7c9d; --w8u: #628618; --s8i: #ed7495; --n8e: #6c80b3;
+ --m4i: #355240; --y4i: #921823; --f8a: #7972b6; --s4n: #018ace;
+ --d3u: #654b3c; --r6a: #534b1a; --y4a: #13355b; --k8i: #ee850f;
+ --y6i: #00728c; --o5a: #8d2f4a; --c3u: #5b516a; --s5o: #365b75;
+ --s5e: #493280; --y7i: #00b1dd; --i3i: #e9142a; --t9u: #014d1f;
+}
+
+body {
+ max-width: unset !important;
+ padding: unset !important;
+}
+
+body > header {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ align-items: center;
+ justify-content: space-between;
+ height: var(--vhead);
+}
+
+body > main#home {
+ height: var(--vbody);
+ overflow-y: auto;
+}
+
+.marginpar,
+body > main > aside {
+ position: relative;
+ float: right;
+ clear: right;
+ padding-left: var(--indent);
+ width: var(--marginparwidth);
+}
+
+body > main > #main-footer {
+ position: relative;
+ margin: var(--bigskip) 1ex 1rem;
+ border: var(--border);
+ border-radius: 1ex;
+ background: #000;
+ width: calc(100% - 2ex);
+ color: #fff;
+}
+
+body > footer {
+ display: flex !important;
+ position: -webkit-sticky;
+ position: sticky;
+ bottom: 0;
+ align-items: center;
+ justify-content: space-between;
+ z-index: 2;
+ height: var(--vfoot);
+ font-size: var(--small);
+}
+
+#top,
+.pagewidth {
+ padding-right: var(--void);
+ padding-left: var(--void);
+ /* width: var(--canonic);
+ max-width: var(--max-width); */
+}
+
+.textwidth {
+ width: var(--golden-ratio);
+}
+
+#main-footer .pagewidth {
+ padding: 0 calc(var(--void) - 1ex - 1rem);
+ margin: 1ex 1ex 2ex;
+}
+
+#main-footer .column > *,
+#main-footer .column__item {
+ /* margin: 1ex 0; */
+ border: 0.1pt solid transparent;
+}
+
+#main-footer .section-title,
+#menu-footer::before {
+ display: block;
+ margin: 1ex 0 0;
+ font-size: var(--small);
+}
+
+#main-footer-primary,
+#main-footer-secondary > * {
+ break-inside: avoid-column;
+}
+
+#main-footer p {
+ margin: 0;
+ font-size: var(--small);
+}
+
+#menu-footer a {
+ display: inline-flex;
+ position: relative;
+ padding: 0.62rem;
+ color: #fff;
+ font-size: var(--large);
+}
+
+#menu-footer a .t{
+ --tsf: translate(-3em);
+}
+
+hr {
+ border-top: var(--border);
+ border-width: 1pt 0 0 0;
+}
+
+@media only screen and (min-width: 1440px) {
+
+ :root {
+ --void: calc((100vw - var(--max-width) - 1rem) / 2) !important;
+ --marginparwidth: 391.13320448px !important;
+ /* --max-width - (100% - --golden-ratio) */
+ }
+
+}
+
+@media only screen and (max-width: 960px) {
+
+ :root {
+ --void: calc((100vw - var(--canonic) - var(--vfoot) - var(--vhead)) / 2);
+ }
+
+}
+
+@media only screen and (max-width: 640px) {
+
+ :root {
+ --void: var(--vfoot) !important;
+ --marginparwidth: 100% !important;
+ --canonic: 86%;
+ --golden-ratio: 100%;
+ }
+
+ #main-footer .pagewidth {
+ padding-right: calc(var(--void) / 2);
+ padding-left: calc(var(--void) / 2);
+ }
+
+}
+
+@media only screen and (max-width: 540px) {
+
+ :root {
+ --void: calc(var(--vfoot) / 1.414) !important;
+ }
+
+ #main-footer-primary,
+ #main-footer-secondary {
+ column-span: all;
+ }
+
+}
+
+@media only screen and (max-width: 480px) {
+
+ :root {
+ --void: calc(var(--vfoot) / 2) !important;
+ }
+
+}
+
+@media (prefers-color-scheme: light) {
+
+ body {
+ --bg: #f9f9fb;
+ --mid: gray;
+ --fg: #111;
+ --off: #000;
+ --ac: #36c;
+ }
+
+ @media (prefers-contrast: more),
+ (-ms-high-contrast: active) {
+
+ body {
+ --bg: #fff;
+ --mid: gray;
+ --fg: #000;
+ }
+
+ }
+
+ @media (prefers-contrast: less) {
+
+ body {
+ --bg: #e7e2e2;
+ --mid: #7d8490;
+ --fg: #13253d;
+ }
+
+ }
+
+}
+
+@media (prefers-color-scheme: dark) {
+
+ body {
+ --bg: #111;
+ --mid: gray;
+ --fg: #f9f9fb;
+ --off: #fff;
+ --ac: #fa0;
+ }
+
+ @media (prefers-contrast: more),
+ (-ms-high-contrast: active) {
+
+ body {
+ --bg: #000;
+ --mid: gray;
+ --fg: #fff;
+ }
+
+ }
+
+ @media (prefers-contrast: less) {
+
+ body {
+ --bg: #13253d;
+ --mid: #7d8490;
+ --fg: #e7e2e2;
+ }
+
+ }
+
+}
\ No newline at end of file
diff --git a/assets/css/layout/_default/home.css b/assets/css/layout/_default/home.css
new file mode 100644
index 0000000..2a7447d
--- /dev/null
+++ b/assets/css/layout/_default/home.css
@@ -0,0 +1,136 @@
+/* this style is used inline in list.html */
+
+body {
+ margin: auto;
+ max-width: 2560px;
+}
+
+body > footer.pagewidth,
+body > header.pagewidth {
+ padding: 0 calc(1.5rem + 1ex);
+}
+
+body > aside.carousel {
+ position: sticky;
+ position: -webkit-sticky;
+ left: 0;
+ float: left;
+ /* border: var(--border);
+ border-radius: 1ex; */
+ padding: 1rem;
+ width: 38vw;
+ height: var(--vbody);
+}
+
+body > main#home > aside#list-tags {
+ top: 0;
+ right: 0;
+ margin: 1rem auto;
+ width: calc(100% - var(--golden-ratio))
+}
+
+#home #top {
+ padding: 1rem;
+}
+
+#home #list-posts {
+ padding: 1rem;
+ width: var(--golden-ratio);
+}
+
+div[role='feed'] {
+ padding: 1ex;
+}
+
+.carousel .feed-item,
+#home .feed-item,
+#home hr.ldots {
+ width: unset;
+}
+
+#main-footer > .pagewidth {
+ padding: 0 1ex;
+}
+
+#duckduckgo,
+#i18n-menu > .on-plank,
+#more-menu > .on-plank,
+.pagefind-ui {
+ margin-right: 1rem;
+}
+
+#hasDuckDuckGo.pagewidth {
+ padding-right: 1rem;
+}
+
+#grain {
+ display: none;
+}
+
+@media only screen and (max-width: 960px) {
+
+ body > footer,
+ body > header {
+ background: var(--bg);
+ }
+
+ body > aside.carousel {
+ float: unset;
+ margin: 0 1rem;
+ padding: 1rem 0;
+ width: unset;
+ }
+
+ body > main#home {
+ height: unset;
+ overflow-y: unset;
+ }
+
+ body > main#home > aside#list-tags {
+ top: var(--vhead);
+ }
+
+}
+
+@media only screen and (max-width: 640px) {
+
+ #main-footer > .pagewidth {
+ padding: 0 calc(var(--void) / 2);
+ }
+
+ body > main#home > aside#list-tags {
+ padding: unset;
+ width: var(--canonic);
+ }
+
+ aside + #list-posts .feed-item > section {
+ flex-direction: row-reverse;
+ aspect-ratio: 10/3;
+ }
+
+ #home #list-posts {
+ margin: var(--bigskip) auto;
+ padding: unset;
+ width: var(--canonic);
+ }
+
+ #list-posts .section-title {
+ padding-left: unset;
+ }
+
+ #duckduckgo,
+ .pagefind-ui {
+ margin-right: 1ex;
+ }
+
+}
+
+@media only screen and (max-width: 480px) {
+
+ aside + #list-posts .feed-item > section {
+ flex-direction: column;
+ aspect-ratio: unset;
+ }
+
+}
+
diff --git a/assets/css/layout/_default/list.css b/assets/css/layout/_default/list.css
new file mode 100644
index 0000000..5c0c404
--- /dev/null
+++ b/assets/css/layout/_default/list.css
@@ -0,0 +1,145 @@
+hr.ldots {
+ margin-left: 0;
+ border: none;
+ width: var(--golden-ratio);
+}
+
+hr.ldots::after {
+ --tsf: translateY(-2.3rem);
+ display: block;
+ width: 100%;
+ height: 1rem;
+ text-align: center;
+ color: var(--g18s);
+ font-size: 3rem;
+ content: '…';
+}
+
+#list-subsection {
+ padding: 0 calc(1rem - 1ex);
+}
+
+#list-subsection .carousel__viewport,
+#taxonomy .carousel__viewport,
+#taxonomy #list-tags ul {
+ padding: 0 1rem;
+}
+
+#list-series,
+#list-categories {
+ display: flex;
+ flex-direction: row-reverse;
+ flex-wrap: nowrap;
+ align-items: flex-start;
+}
+
+#list-series .section-title,
+#list-categories .section-title {
+ margin: var(--smallskip);
+ writing-mode: tb;
+}
+
+#list-tags {
+ position: sticky;
+ position: -webkit-sticky;
+ top: var(--vhead);
+ right: var(--void);
+}
+
+.section-title,
+#list-tags > ul {
+ margin: var(--medskip) 0 1ex;
+}
+
+#term section.pagewidth,
+#taxonomy section.pagewidth,
+#list-posts {
+ min-height: calc(var(--vbody) - 7.258rem);
+}
+
+#taxonomy #list-tags {
+ position: unset;
+ float: unset;
+ margin: unset;
+ padding: 0 var(--void);
+ width: unset;
+}
+
+#taxonomy #list-series,
+#taxonomy #list-categories {
+ display: unset;
+}
+
+#taxonomy #list-tags .section-title,
+#taxonomy #list-series .section-title,
+#taxonomy #list-categories .section-title {
+ margin: var(--bigskip) 0 var(--smallskip);
+ writing-mode: unset;
+}
+
+#has-pagination {
+ margin-top: 1in;
+}
+
+.section-title#series {
+ margin-left: auto;
+ width: var(--golden-ratio);
+}
+
+.list-year.textwidth {
+ display: flex;
+ position: relative;
+ align-items: baseline;
+ margin-left: auto;
+}
+
+.list-year > .section-title {
+ padding: 8pt;
+ width: 5rem;
+ text-align: right;
+}
+
+.list-year > div {
+ flex: 1;
+}
+
+.list-month > summary {
+ padding-left: 1rem;
+ list-style: none;
+}
+
+.list-day a {
+ display: block;
+ margin: 1ex 1rem;
+ padding: 1ex 0;
+ width: 100%;
+ font-size: var(--normalsize);
+}
+
+.list-day a.has-pre::before {
+ position: absolute;
+ left: -9pt;
+ padding: 0.25rem 0;
+ width: 5rem;
+ text-align: right;
+ text-transform: uppercase;
+ letter-spacing: .1em;
+ font-size: var(--footnotesize);
+}
+
+#feed ul.rounded.invert a {
+ font-size: var(--footnotesize);
+}
+
+@media only screen and (max-width: 640px) {
+
+ body > main > aside#list-tags {
+ position: unset;
+ position: unset;
+ float: unset;
+ margin: var(--bigskip) auto;
+ padding: 1rem;
+ width: var(--canonic);
+ }
+
+}
\ No newline at end of file
diff --git a/assets/css/layout/_default/single.css b/assets/css/layout/_default/single.css
new file mode 100644
index 0000000..67e1799
--- /dev/null
+++ b/assets/css/layout/_default/single.css
@@ -0,0 +1,341 @@
+#main-article {
+ margin-top: 1in;
+ line-height: calc(var(--baselineStretch) * 1.618);
+ font-family: var(--rm), serif;
+}
+
+/* article frontmatter */
+
+#main-article > header {
+ display: flex;
+ flex-direction: column;
+ margin:var(--vskip);
+ gap: 1rem;
+}
+
+.subtitle {
+ opacity: 0.86;
+ margin: 0;
+ font-style: italic;
+}
+
+#main-article [role=doc-credit],
+#main-article [role=doc-colophon] {
+ font-size: var(--small);
+}
+
+#doc-cover > img {
+ margin: 2rem 0;
+ aspect-ratio: 10 / 8;
+}
+
+figure img,
+figure svg {
+ width: 100%;
+ height: auto;
+ object-fit: cover;
+}
+
+#doc-author,
+#doc-author a {
+ color: var(--fg);
+ font-style: italic;
+}
+
+/* with avatar */
+#avatar,
+.author,
+.mastodon-comment > footer {
+ display: flex;
+ align-items: center;
+ line-height: 1.272;
+}
+
+#doc-author .has-aria-label::after {
+ font: 1rem var(--sf);
+}
+
+.author .has-aria-label {
+ margin-left: 12pt;
+}
+
+.author img {
+ border-radius: 50%;
+ width: 3rem;
+ height: 3rem;
+}
+
+.author > a::after {
+ color: var(--mid);
+}
+
+.author > a > span {
+ color: var(--fg);
+ font-weight: bold;
+}
+
+.author > a > span img {
+ width: 1em;
+ height: 1em;
+ vertical-align: text-top;
+}
+
+header time {
+ font-style: italic;
+ -webkit-font-feature-settings:'onum' 1;
+ -moz-font-feature-settings:'onum' 1;
+ font-feature-settings:'onum' 1;
+ font-variant-numeric: oldstyle-nums;
+}
+
+#page .date-has-label > time:before {
+ content: attr(data-time-label)' ';
+}
+
+#page .date-has-label > time,
+#keywords li {
+ text-transform: lowercase;
+}
+
+.doc-publish-date::before {
+ text-transform: initial;
+}
+
+#has-TableOfContents,
+#comments-error {
+ margin: var(--medskip) 0;
+}
+
+#has-TableOfContents ul {
+ list-style: none;
+ font-style: italic;
+}
+
+#main-article audio {
+ border-radius: 2rem;
+}
+
+#main-article audio,
+#main-article section > p {
+ margin: 0.618pc 0;
+ width: var(--golden-ratio);
+}
+
+/* article mainmatter */
+
+#content hr {
+ display: block;
+ margin: 0.618pc 0;
+ border: 0;
+ border-bottom: var(--bound);
+}
+
+#content table {
+ margin: 0.618pc 0;
+ width: 100%;
+ overflow-x: auto;
+}
+
+#content figure {
+ clear: both;
+ max-width: var(--golden-ratio);
+ overflow: auto;
+}
+
+#content figure.fullwidth {
+ max-width: none;
+}
+
+#content p:not(:first-of-type) {
+ text-indent: var(--indent);
+}
+
+#content p img {
+ width: calc(100% - var(--indent));
+}
+
+/* article backmatter */
+
+#main-article > footer {
+ margin:var(--vskip);
+ border-bottom: var(--bound) ;
+}
+
+.footnote-ref {
+ padding: 0 0.5ex;
+ font-size: var(--footnotesize);
+}
+
+.footnotes {
+ font-size: var(--footnotesize);
+}
+
+.footnotes hr {
+ margin: 3rem 0 0;
+ border-bottom: 1px solid;
+ width: 16.18rem;
+}
+
+#has-timeline > p,
+.footnotes ol {
+ margin-top: 0;
+ padding: 0;
+}
+
+.footnotes li::marker {
+ font-feature-settings: 'sups' 1;
+ font-variant-position: super;
+}
+
+#content,
+#keywords,
+#contentinfo {
+ margin: var(--vskip);
+}
+
+.verbose {
+ font: 1rem/2rem monospace;
+ overflow-wrap: anywhere;
+}
+
+#colophon{
+ grid-column: 1;
+}
+
+#colophon > div {
+ display: flex;
+ margin-top: 1ex;
+ gap: 1rem;
+}
+
+#qr {
+ padding-top: 4pt;
+}
+
+#contribute {
+ grid-column: 2;
+ border-radius: 1ex;
+ background-color: var(--g18s);
+ padding: 1.4rem 1.4rem 1rem;
+ height: fit-content;
+ line-height: 1.618;
+ font-family: var(--sf);
+ font-size: var(--small);
+}
+
+#contrib-menu li {
+ margin: 1ex 1ex 1ex 0;
+}
+
+#contrib-menu a {
+ display: inline-block;
+ border-radius: 1ex;
+ background: var(--ac);
+ padding: 4pt 9pt 3pt 7pt;
+ color: var(--bg);
+}
+
+#contentinfo ol {
+ position: relative;
+ margin-bottom: 0;
+ padding-left: 2.5rem;
+ list-style: none;
+ counter-reset: li;
+}
+
+#contentinfo ol li {
+ margin-bottom: 1ex;
+ padding-bottom: 1ex;
+}
+
+#contentinfo ol li::before {
+ display: inline-block;
+ position: absolute;
+ left: 0;
+ border-radius: 2rem;
+ background: var(--g18s);
+ padding: 4pt 7pt;
+ color: var(--mid);
+ font: 0.7em monospace;
+ content: counter(li);
+ counter-increment: li;
+}
+
+#contentinfo ol li.see-more::before {
+ content: '>';
+}
+
+#has-timeline ol {
+ margin: 1ex 0 0 1rem;
+ border-left: 2.5pt solid var(--g18s);
+ padding: 1ex 0 0 1rem;
+}
+
+#has-timeline ol li::before {
+ left: -1rem;
+ border: 4pt solid var(--bg);
+ background: var(--mid);
+ padding: 0 3pt;
+ font-size: 0.6em;
+ content: '\a0';
+}
+
+#TableOfContents,
+.letterine {
+ text-transform: lowercase;
+ letter-spacing: 0.1em;
+ font-variant: small-caps;
+ -webkit-font-feature-settings: 'smcp' 1;
+ -moz-font-feature-settings: 'smcp' 1;
+ font-feature-settings: 'smcp' 1;
+}
+
+.letterine::before {
+ display: block;
+ border-bottom: 2pt solid var(--ac);
+ content: '';
+}
+
+.letterine > i {
+ /* e xample
+ inconsistence result across browsers
+ */
+ position: relative;
+ top: -0.2rem;
+ float: left;
+ background: var(--bg);
+ padding-right: .1em;
+ line-height: 0.5;
+ color: var(--ac);
+ font-size: 6em;
+}
+
+#has-timeline .has-aria-label-top {
+ margin: 5pt 0;
+}
+
+#contentinfo {
+ display: grid;
+ grid-template-columns: 6fr 4fr;
+ gap: var(--medskip);
+}
+
+#has-share,
+#comments {
+ grid-column: 1 / 3;
+}
+
+@media screen and (max-width: 640px) {
+
+ #contentinfo {
+ display: block;
+ }
+
+ #contentinfo > * {
+ margin-bottom: var(--bigskip) ;
+ }
+ .katex-display {
+ overflow-x: auto;
+ }
+
+}
\ No newline at end of file
diff --git a/assets/css/media/print.css b/assets/css/media/print.css
new file mode 100644
index 0000000..f06f298
--- /dev/null
+++ b/assets/css/media/print.css
@@ -0,0 +1,199 @@
+@media print {
+
+ :root {
+ font-size: 10pt;
+ }
+
+ @page {
+ margin: 10vmin;
+ }
+
+ body {
+ background: none;
+ padding-left: 0;
+ max-width: 100vw;
+ }
+
+ body > header,
+ body > footer,
+ body > footer *,
+ body > div,
+ body > aside,
+ body > main > header,
+ audio,
+ #has-share,
+ #background-body,
+ #contribute,
+ #coffee-counter,
+ #menu-footer
+ {
+ display: none !important;
+ }
+
+ body > main {
+ height: unset;
+ }
+
+ body > main > #main-footer {
+ border: unset;
+ margin:var(--vskip);
+ padding: unset;
+ }
+
+ .pagewidth,
+ #main-footer .pagewidth {
+ padding: 0;
+ }
+
+ body > main > #main-footer {
+ background: none;
+ color: var(--fg);
+ }
+
+ body h1:first-of-type {
+ margin-top: 0;
+ }
+
+ h1,
+ section > h1,
+ .section-title {
+ /* page-break-before: always; */
+ break-before: always;
+ }
+
+ header > h1 {
+ page-break-before: avoid !important;
+ break-before: avoid !important;
+ }
+
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6,
+ .section-title {
+ page-break-after: avoid;
+ break-after: avoid;
+ }
+
+ table,
+ img,
+ svg,
+ figure,
+ .sidenote,
+ .marginnote,
+ #comments article,
+ article#feed-item {
+ page-break-inside: avoid;
+ break-inside: avoid;
+ }
+
+ pre > code {
+ margin-left: 0;
+ min-width: 62%;
+ max-width: 100%;
+ white-space: pre-wrap;
+ word-break: break-all;
+ word-wrap: break-word;
+ }
+
+ article #content a::after {
+ --tsf: unset;
+ -webkit-transform: var(--tsf);
+ -moz-transform: var(--tsf);
+ -ms-transform: var(--tsf);
+ -o-transform: var(--tsf);
+ transform: var(--tsf);
+ font: unset;
+ content: '\a0('attr(href)')';
+ }
+
+ #keywords a::after {
+ content: unset;
+ }
+
+ .marginpar {
+ right: 0 !important;
+ width: 38%;
+ }
+
+ .marginpar.rel {
+ left: 62% !important;
+ margin-left: -62% !important;
+ width: 62%;
+ }
+}
+
+/* font-size scaling = 1/sqrt(640/device-width)
+@media (max-width: 640px) {
+ :root {
+ font-size: calc(var(--fontScale)*100%);
+ }
+}
+
+@media (max-width: 601px) {
+ :root {
+ font-size: calc(var(--fontScale)*96.9%);
+ }
+}
+
+@media (max-width: 576px) {
+ :root {
+ font-size: calc(var(--fontScale)*94.8%);
+ }
+}
+
+@media (max-width: 540px) {
+ :root {
+ font-size: calc(var(--fontScale)*91.8%);
+ }
+}
+
+@media (max-width: 512px) {
+ :root {
+ font-size: calc(var(--fontScale)*89.4%);
+ }
+}
+
+@media (max-width: 480px) {
+ :root {
+ font-size: calc(var(--fontScale)*86.6%);
+ }
+}
+
+@media (max-width: 428px) {
+ :root {
+ font-size: calc(var(--fontScale)*81.7%);
+ }
+}
+
+@media (max-width: 414px) {
+ :root {
+ font-size: calc(var(--fontScale)*80.4%);
+ }
+}
+
+@media (max-width: 390px) {
+ :root {
+ font-size: calc(var(--fontScale)*78%);
+ }
+}
+
+@media (max-width: 375px) {
+ :root {
+ font-size: calc(var(--fontScale)*76.5%);
+ }
+}
+
+@media (max-width: 360px) {
+ :root {
+ font-size: calc(var(--fontScale)*75%);
+ }
+}
+
+@media (max-width: 320px) {
+ :root {
+ font-size: calc(var(--fontScale)*70.7%);
+ }
+} */
\ No newline at end of file
diff --git a/assets/css/optimize.css b/assets/css/optimize.css
new file mode 100644
index 0000000..1f528f2
--- /dev/null
+++ b/assets/css/optimize.css
@@ -0,0 +1,196 @@
+#setContrast > input:checked:focus + label,
+#OpenDyslexic:checked + label #OpenDyslexicState,
+#saveButton:hover,
+#saveButton:focus,
+#bionReadSwitch:hover + label,
+#bionReadSwitch:focus + label,
+#bionReadSwitch:active + label,
+#bionReadSwitch:checked + label,
+#join-discussion:hover,
+#join-discussion:focus,
+a.cta:hover,
+a.cta:focus {
+ background: var(--ac);
+}
+
+#has-a11y[open] > #has-a11y-summary,
+#lightSwitch:hover + label span::after,
+#lightSwitch:focus + label span::after,
+#a11y-menu > .has-aria-label:focus,
+#a11y-menu > .has-aria-label:hover,
+#menu-footer a:hover,
+#menu-footer a:focus,
+a.replies.active,
+a.reblogs.active,
+#has-author-name-menu a:hover,
+#has-author-name-menu a:focus,
+#related a:hover,
+#related a:focus {
+ color: var(--ac);
+}
+
+.feed-item > hgroup > div a,
+#related a {
+ color: var(--fg);
+}
+
+.readingTime,
+.feed-item > section > div,
+.feed-item > hgroup > div,
+.feed-item:hover img,
+#contrib-menu a:hover,
+#contrib-menu a:focus {
+ opacity: 0.86;
+}
+
+main > header > menu > li > a:hover,
+main > header > menu > li > a:focus,
+.feed-item:hover .par,
+.feed-item:focus .par,
+ul.invert a:hover,
+::-webkit-scrollbar-thumb:hover {
+ opacity: 1;
+}
+
+main#page + footer #setBaselineStretch,
+main#page + footer #useBionRead,
+input[type=checkbox] + label .off,
+input[type=checkbox]:checked + label .on,
+#TableOfContents + nav > ul,
+#TableOfContents + nav > ul > li,
+.has-desc:after {
+ display: block;
+}
+
+input[type=checkbox]:checked + label .off,
+input[type=checkbox] + label .on,
+#setBaselineStretch,
+#has-breadcrumb summary,
+#has-pagination summary,
+#page #back,
+.feed-item > footer > ul::-webkit-scrollbar,
+.feed-item > hgroup > div > span::-webkit-scrollbar,
+.feed-item .doc-publish-date,
+.carousel__viewport::-webkit-scrollbar,
+#logomark--dark,
+.marginpar-ctrl,
+.marginpar-ctrl + label::before,
+#top-nav[open] > summary,
+#top-nav-screen,
+#has-more-menu[open] > summary > .t,
+#has-search[open] > summary > .t,
+.languangeName,
+a#has-i18n > img,
+.pagefind-ui__search-clear,
+.list-month > summary::marker,
+.list-month > summary::-webkit-details-marker,
+#series ~ .list-year .has-post::after,
+#content a.footnote-ref::after,
+#content a.footnote-backref::after,
+details.presentation > summary::-webkit-details-marker,
+details.presentation > summary::marker,
+td.lntd:first-child code.hljs {
+ display: none;
+}
+
+#has-a11y[open] #a11y,
+#OpenDyslexic:hover + label #OpenDyslexicIndicator,
+#OpenDyslexic:focus + label #OpenDyslexicIndicator,
+#logo #logotype__text,
+.marginpar-ctrl:checked + label::before,
+details[open] > .anchor:after,
+details[open] .on-plank,
+.l1 details[open] > ul,
+.marginpar-ctrl:checked + label + .marginpar,
+#has-l10n a:hover,
+#has-l10n a:focus,
+#top-nav a:hover,
+#top-nav a:focus,
+.anchor:hover,
+.anchor:focus,
+#has-a11y[open] > summary .icon::before,
+#has-search[open] .icon::before,
+details[open] > summary > .menu-icon::before,
+.loading:after,
+#top-nav[open] > nav {
+ -webkit-animation: var(--anm);
+ -moz-animation: var(--anm);
+ -o-animation: var(--anm);
+ animation: var(--anm);
+}
+
+hr.ldots::after,
+#to-top::before,
+input:checked + label > #lightSwitchIndicator,
+.hand,
+.pagination .rfill a::before,
+.carousel__viewport__slide:last-child > nav a::before,
+#back::before,
+.feed-item:hover,
+.feed-item:focus-within,
+ul.carousel__viewport > li:hover,
+ul.carousel__viewport > li:focus-within,
+.pagination .lfill a::after,
+#list-tags > nav a::after,
+.carousel__viewport__slide:first-child > nav a::after,
+.parent-anchor a::after,
+#i18n-menu a::after,
+#content a::after,
+#duckduckgo .form__button,
+#to-content,
+.t {
+ -webkit-transform: var(--tsf);
+ -moz-transform: var(--tsf);
+ -ms-transform: var(--tsf);
+ -o-transform: var(--tsf);
+ transform: var(--tsf);
+}
+
+#OpenDyslexicIndicator,
+.marginpar-ctrl + label::before,
+.anchor:after,
+#has-share i:hover {
+ -webkit-transition: var(--tst);
+ -moz-transition: var(--tst);
+ -o-transition: var(--tst);
+ transition: var(--tst);
+}
+
+#has-a11y[open] #a11y,
+details[open] .on-plank,
+.l1 details[open] > ul,
+.marginpar-ctrl:checked + label + .marginpar,
+#top-nav[open] > nav {
+ -webkit-transform-origin: var(--tso);
+ -moz-transform-origin: var(--tso);
+ -ms-transform-origin: var(--tso);
+ -o-transform-origin: var(--tso);
+ transform-origin: var(--tso);
+}
+
+#has-share a:focus,
+.form > *:focus {
+ outline: none !important;
+}
+
+hgroup,
+hgroup > h1,
+figure,
+.pagefind-ui__drawer p,
+#setOpenDyslexic > label::before,
+#main-footer-secondary,
+#menu-footer {
+ margin: 0;
+}
+
+ul.rounded,
+.list-day {
+ padding: 0;
+}
+
+ul.delimiter:first-child li:first-child:before,
+.feed-item > hgroup ul.delimiter:first-child li:last-child::after,
+#content a.has-img::after,
+#doc-author .delimiter li:last-child::after {
+ content: '';
+}
diff --git a/assets/css/typeface-local/Cormorant.css b/assets/css/typeface-local/Cormorant.css
new file mode 100644
index 0000000..3d7a013
--- /dev/null
+++ b/assets/css/typeface-local/Cormorant.css
@@ -0,0 +1,47 @@
+@font-face {
+ font-family: 'Cormorant';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(/css/fonts/Cormorant-Regular.woff2) format('woff2');
+ size-adjust: 110%;
+ ascent-override: 80%;
+ descent-override: 28%;
+}
+
+@font-face {
+ font-family: 'Cormorant';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: url(/css/fonts/Cormorant-Italic.woff2) format('woff2');
+ size-adjust: 110%;
+ ascent-override: 80%;
+ descent-override: 28%;
+}
+
+@font-face {
+ font-family: 'Cormorant';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(/css/fonts/Cormorant-Bold.woff2) format('woff2');
+ size-adjust: 110%;
+ ascent-override: 80%;
+ descent-override: 28%;
+}
+
+@font-face {
+ font-family: 'Cormorant';
+ font-style: italic;
+ font-weight: 700;
+ font-display: swap;
+ src: url(/css/fonts/Cormorant-BoldItalic.woff2) format('woff2');
+ size-adjust: 110%;
+ ascent-override: 80%;
+ descent-override: 28%;
+}
+
+:root {
+ --rm: 'Cormorant';
+}
\ No newline at end of file
diff --git a/assets/css/typeface-local/Crimson.css b/assets/css/typeface-local/Crimson.css
new file mode 100644
index 0000000..48f92d3
--- /dev/null
+++ b/assets/css/typeface-local/Crimson.css
@@ -0,0 +1,43 @@
+@font-face {
+ font-family: 'crimson';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: local('Crimson Roman'),
+ url(/css/fonts/crimson-roman-webfont.woff2) format('woff2');
+ size-adjust: 95%;
+}
+
+@font-face {
+ font-family: 'crimson';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: local('Crimson Italic'),
+ url(/css/fonts/crimson-italic-webfont.woff2) format('woff2');
+ size-adjust: 95%;
+}
+
+@font-face {
+ font-family: 'crimson';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: local('Crimson Bold'),
+ url(/css/fonts/crimson-bold-webfont.woff2) format('woff2');
+ size-adjust: 95%;
+}
+
+@font-face {
+ font-family: 'crimson';
+ font-style: italic;
+ font-weight: 700;
+ font-display: swap;
+ src: local('Crimson BoldItalic'),
+ url(/css/fonts/crimson-bolditalic-webfont.woff2) format('woff2');
+ size-adjust: 95%;
+}
+
+:root {
+ --rm: 'crimson';
+}
\ No newline at end of file
diff --git a/assets/css/typeface-local/EBGaramond.css b/assets/css/typeface-local/EBGaramond.css
new file mode 100644
index 0000000..3184416
--- /dev/null
+++ b/assets/css/typeface-local/EBGaramond.css
@@ -0,0 +1,47 @@
+@font-face {
+ font-family: 'EB Garamond';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(/css/fonts/EBGaramond12-Regular.woff2) format('woff2');
+ size-adjust: 102%;
+ ascent-override: 87%;
+ descent-override: 30%;
+}
+
+@font-face {
+ font-family: 'EB Garamond';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: url(/css/fonts/EBGaramond12-Italic.woff2) format('woff2');
+ size-adjust: 102%;
+ ascent-override: 87%;
+ descent-override: 30%;
+}
+
+@font-face {
+ font-family: 'EB Garamond';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(/css/fonts/EBGaramond12-Bold.woff) format('woff');
+ size-adjust: 102%;
+ ascent-override: 87%;
+ descent-override: 30%;
+}
+
+@font-face {
+ font-family: 'EB Garamond';
+ font-style: italic;
+ font-weight: 700;
+ font-display: swap;
+ src: url(/css/fonts/EBGaramond12-BoldItalic.woff) format('woff');
+ size-adjust: 102%;
+ ascent-override: 87%;
+ descent-override: 30%;
+}
+
+:root {
+ --rm: 'EB Garamond';
+}
\ No newline at end of file
diff --git a/assets/css/typeface-local/Inconsolata.css b/assets/css/typeface-local/Inconsolata.css
new file mode 100644
index 0000000..cceb149
--- /dev/null
+++ b/assets/css/typeface-local/Inconsolata.css
@@ -0,0 +1,25 @@
+@font-face {
+ font-family: 'Inconsolata';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: local('Inconsolata'),
+ url(/css/fonts/Inconsolata-Regular.woff2) format('woff2');
+ ascent-override: 88%;
+ descent-override: 30%;
+}
+
+@font-face {
+ font-family: 'Inconsolata';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: local('Inconsolata Bold'),
+ url(/css/fonts/Inconsolata-Bold.woff2) format('woff2');
+ ascent-override: 88%;
+ descent-override: 30%;
+}
+
+:root {
+ --tt: 'Inconsolata';
+}
\ No newline at end of file
diff --git a/assets/css/typeface-local/Inter.css b/assets/css/typeface-local/Inter.css
new file mode 100644
index 0000000..8ff0a9f
--- /dev/null
+++ b/assets/css/typeface-local/Inter.css
@@ -0,0 +1,51 @@
+@font-face {
+ font-family: 'Inter';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: local('Inter'),
+ url(/css/fonts/Inter-Regular.woff2) format('woff2');
+ size-adjust: 84%;
+ ascent-override: 104%;
+ descent-override: 36%;
+}
+
+@font-face {
+ font-family: 'Inter';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: local('Inter Italic'),
+ url(/css/fonts/Inter-Italic.woff2) format('woff2');
+ size-adjust: 84%;
+ ascent-override: 104%;
+ descent-override: 36%;
+}
+
+@font-face {
+ font-family: 'Inter';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: local('Inter Bold'),
+ url(/css/fonts/Inter-Bold.woff2) format('woff2');
+ size-adjust: 84%;
+ ascent-override: 104%;
+ descent-override: 36%;
+}
+
+@font-face {
+ font-family: 'Inter';
+ font-style: italic;
+ font-weight: 700;
+ font-display: swap;
+ src: local('Inter Bold Italic'),
+ url(/css/fonts/Inter-BoldItalic.woff2) format('woff2');
+ size-adjust: 84%;
+ ascent-override: 104%;
+ descent-override: 36%;
+}
+
+:root {
+ --sf: 'Inter';
+}
\ No newline at end of file
diff --git a/assets/css/typeface-local/Montserrat.css b/assets/css/typeface-local/Montserrat.css
new file mode 100644
index 0000000..3ce580e
--- /dev/null
+++ b/assets/css/typeface-local/Montserrat.css
@@ -0,0 +1,51 @@
+@font-face {
+ font-family: 'Montserrat';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(/css/fonts/Montserrat-Regular.woff2) format('woff2');
+ size-adjust: 85%;
+ ascent-override: 104%;
+ descent-override: 36%;
+ line-gap-override: 50%;
+}
+
+@font-face {
+ font-family: 'Montserrat';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: url(/css/fonts/Montserrat-Italic.woff2) format('woff2');
+ size-adjust: 85%;
+ ascent-override: 104%;
+ descent-override: 36%;
+ line-gap-override: 50%;
+}
+
+@font-face {
+ font-family: 'Montserrat';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(/css/fonts/Montserrat-Bold.woff2) format('woff2');
+ size-adjust: 85%;
+ ascent-override: 104%;
+ descent-override: 36%;
+ line-gap-override: 50%;
+}
+
+@font-face {
+ font-family: 'Montserrat';
+ font-style: italic;
+ font-weight: 700;
+ font-display: swap;
+ src: url(/css/fonts/Montserrat-BoldItalic.woff2) format('woff2');
+ size-adjust: 85%;
+ ascent-override: 104%;
+ descent-override: 36%;
+ line-gap-override: 50%;
+}
+
+:root {
+ --sf: 'Montserrat';
+}
\ No newline at end of file
diff --git a/assets/css/typeface-local/OpenDyslexic.css b/assets/css/typeface-local/OpenDyslexic.css
new file mode 100644
index 0000000..9d87f34
--- /dev/null
+++ b/assets/css/typeface-local/OpenDyslexic.css
@@ -0,0 +1,51 @@
+@font-face {
+ font-family: 'OpenDyslexic';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: local('OpenDyslexic'),
+ url(/css/fonts/OpenDyslexic-Regular.woff2) format('woff2');
+ size-adjust: 83%;
+ ascent-override: 106%;
+ descent-override: 36%;
+}
+
+@font-face {
+ font-family: 'OpenDyslexic';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: local('OpenDyslexic Italic'),
+ url(/css/fonts/OpenDyslexic-Italic.woff2) format('woff2');
+ size-adjust: 83%;
+ ascent-override: 106%;
+ descent-override: 36%;
+}
+
+@font-face {
+ font-family: 'OpenDyslexic';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: local('OpenDyslexic Bold'),
+ url(/css/fonts/OpenDyslexic-Bold.woff2) format('woff2');
+ size-adjust: 83%;
+ ascent-override: 106%;
+ descent-override: 36%;
+}
+
+@font-face {
+ font-family: 'OpenDyslexic';
+ font-style: italic;
+ font-weight: 700;
+ font-display: swap;
+ src: local('OpenDyslexic Bold Italic'),
+ url(/css/fonts/OpenDyslexic-Bold-Italic.woff2) format('woff2');
+ size-adjust: 83%;
+ ascent-override: 106%;
+ descent-override: 36%;
+}
+
+:root {
+ --od: 'OpenDyslexic';
+}
\ No newline at end of file
diff --git a/assets/css/typeface-local/Rosario.css b/assets/css/typeface-local/Rosario.css
new file mode 100644
index 0000000..8cd791d
--- /dev/null
+++ b/assets/css/typeface-local/Rosario.css
@@ -0,0 +1,43 @@
+@font-face {
+ font-family: 'Rosario';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(/css/fonts/Rosario-Regular.woff2) format('woff2');
+ size-adjust: 90%;
+ descent-override: 33%;
+}
+
+@font-face {
+ font-family: 'Rosario';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: url(/css/fonts/Rosario-Italic.woff2) format('woff2');
+ size-adjust: 90%;
+ descent-override: 33%;
+}
+
+@font-face {
+ font-family: 'Rosario';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(/css/fonts/Rosario-Bold.woff2) format('woff2');
+ size-adjust: 90%;
+ descent-override: 33%;
+}
+
+@font-face {
+ font-family: 'Rosario';
+ font-style: italic;
+ font-weight: 700;
+ font-display: swap;
+ src: url(/css/fonts/Rosario-BoldItalic.woff2) format('woff2');
+ size-adjust: 90%;
+ descent-override: 33%;
+}
+
+:root {
+ --sf: 'Rosario';
+}
\ No newline at end of file
diff --git a/assets/css/typeface-local/icon.css b/assets/css/typeface-local/icon.css
new file mode 100644
index 0000000..b93f649
--- /dev/null
+++ b/assets/css/typeface-local/icon.css
@@ -0,0 +1,188 @@
+/* Icon Fonts */
+@font-face {
+ font-family: 'base-ui';
+ font-weight: normal;
+ font-style: normal;
+ font-display: block;
+ src: url('/css/fonts/base-ui.woff2') format('woff2');
+}
+
+/* fallback setting for websafefonts */
+
+@font-face {
+ font-family: 'Times New Roman';
+ src: local('Times New Roman');
+ size-adjust: 102%;
+ ascent-override: 87%;
+ descent-override: 30%;
+}
+
+@font-face {
+ font-family: 'Arial';
+ src: local('Arial');
+ size-adjust: 87%;
+ ascent-override: 101%;
+ descent-override: 34%;
+}
+
+@font-face {
+ font-family: 'Courier New';
+ src: local('Courier New');
+ size-adjust: 107%;
+ ascent-override: 83%;
+ descent-override: 28%;
+}
+
+#mastodonInstance::before,
+#has-share i,
+.stat a::before,
+.icon {
+ font-family: 'base-ui' !important;
+ speak: never;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ line-height: 1;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-feature-settings: 'liga';
+ -moz-font-feature-settings: 'liga=1';
+ -moz-font-feature-settings: 'liga';
+ -ms-font-feature-settings: 'liga' 1;
+ font-feature-settings: 'liga';
+ -webkit-font-variant-ligatures: discretionary-ligatures;
+ font-variant-ligatures: discretionary-ligatures;
+}
+
+.icon.accessibility:before {content: '\e900';}
+.icon.arrow:before {content: '\e902';}
+.icon.circle-checked:before {content: '\e903';}
+.icon.circle-unchecked:before {content: '\e904';}
+.icon.copyleft:before {content: '\e906';}
+#has-share .email:before,
+.icon.email:before {content: '\e907';}
+a.favourites::before,
+.icon.heart:before {content: '\e908';}
+.icon.internationalization:before {content: '\e909';}
+.icon.localization:before {content: '\e90a';}
+.icon.menu:before {content: '\e90b';}
+#has-share .print:before,
+.icon.print:before {content: '\e90c';}
+.reblogs::before,
+.icon.reblog:before {content: '\e90d';}
+a.replies::before,
+.icon.reply:before {content: '\e90e';}
+.icon.reset:before {content: '\e90f';}
+.icon.rss:before {content: '\e910';}
+.icon.search:before {content: '\e911';}
+.icon.share:before {content: '\e912';}
+.icon.xmark:before {content: '\e913';}
+.icon.behance:before {content: '\e914';}
+.icon.bigcartel:before {content: '\e915';}
+.icon.bitbucket:before {content: '\e916';}
+.icon.blogger:before {content: '\e917';}
+#has-share .bluesky:before,
+.icon.bluesky:before {content: '\e918';}
+.icon.bukalapak:before {content: '\e919';}
+.icon.buymeacoffee:before {content: '\e91a';}
+.icon.clubhouse:before {content: '\e91b';}
+.icon.codepen:before {content: '\e91c';}
+.icon.creativefabrica:before {content: '\e91d';}
+.icon.dailymotion:before {content: '\e91e';}
+.icon.dev:before {content: '\e91f';}
+.icon.deviantart:before {content: '\e920';}
+.icon.digg:before {content: '\e921';}
+.icon.dribbble:before {content: '\e923';}
+.icon.ebay:before {content: '\e924';}
+.icon.ello:before {content: '\e925';}
+.icon.etsy:before {content: '\e926';}
+#has-share .facebook:before,
+.icon.facebook:before {content: '\e927';}
+.icon.figma:before {content: '\e928';}
+.icon.flattr:before {content: '\e929';}
+.icon.flickr:before {content: '\e92a';}
+.icon.flipkart:before {content: '\e92b';}
+.icon.github:before {content: '\e92c';}
+.icon.githubsponsors:before {content: '\e92d';}
+.icon.gitlab:before {content: '\e92e';}
+.icon.gnusocial:before {content: '\e92f';}
+.icon.goodreads:before {content: '\e930';}
+.icon.googlescholar:before {content: '\e931';}
+.icon.gumroad:before {content: '\e932';}
+#has-share .hackernews:before,
+.icon.hackernews:before {content: '\e933';}
+.icon.hashnode:before {content: '\e934';}
+.icon.icon--500px:before {content: '\e935';}
+.icon.instagram:before {content: '\e936';}
+.icon.jsfiddle:before {content: '\e937';}
+.icon.karyakarsa:before {content: '\e938';}
+.icon.keybase:before {content: '\e939';}
+.icon.keycdn:before {content: '\e93a';}
+.icon.kickstarter:before {content: '\e93b';}
+.icon.kofi:before {content: '\e93c';}
+.icon.lazada:before {content: '\e93d';}
+.icon.liberapay:before {content: '\e93e';}
+#has-share .linkedin:before,
+.icon.linkedin:before {content: '\e93f';}
+.icon.mastodon:before {content: '\e940';}
+.icon.medium:before {content: '\e941';}
+.icon.olx:before {content: '\e942';}
+.icon.opencollective:before {content: '\e943';}
+.icon.openid:before {content: '\e944';}
+.icon.orcid:before {content: '\e945';}
+.icon.otechie:before {content: '\e946';}
+.icon.patreon:before {content: '\e947';}
+.icon.paypal:before {content: '\e948';}
+.icon.peertube:before {content: '\e949';}
+#has-share .pinterest:before,
+.icon.pinterest:before {content: '\e94a';}
+.icon.pleroma:before {content: '\e94b';}
+.icon.publons:before {content: '\e94c';}
+.icon.quora:before {content: '\e94d';}
+#has-share .reddit:before,
+.icon.reddit:before {content: '\e94e';}
+.icon.researchgate:before {content: '\e94f';}
+.icon.saweria:before {content: '\e950';}
+.icon.sellfy:before {content: '\e951';}
+.icon.shopee:before {content: '\e952';}
+.icon.shopify:before {content: '\e953';}
+.icon.signal:before {content: '\e954';}
+.icon.slack:before {content: '\e955';}
+.icon.snapchat:before {content: '\e956';}
+.icon.soundcloud:before {content: '\e957';}
+.icon.stackexchange:before {content: '\e958';}
+.icon.stackoverflow:before {content: '\e959';}
+.icon.stripe:before {content: '\e95a';}
+.icon.substack:before {content: '\e95b';}
+#has-share .telegram:before,
+.icon.telegram:before {content: '\e95c';}
+.icon.threads:before {content: '\e95d';}
+.icon.tidelift:before {content: '\e95e';}
+.icon.tiktok:before {content: '\e95f';}
+.icon.tokopedia:before {content: '\e960';}
+#has-share .tumblr:before,
+.icon.tumblr:before {content: '\e961';}
+.icon.twitch:before {content: '\e962';}
+#has-share .twitter:before,
+.icon.twitter:before {content: '\e963';}
+.icon.vimeo:before {content: '\e964';}
+.icon.vine:before {content: '\e965';}
+#has-share .vk:before,
+.icon.vk:before {content: '\e966';}
+.icon.wattpad:before {content: '\e967';}
+.icon.weibo:before {content: '\e968';}
+#has-share .whatsapp:before,
+.icon.whatsapp:before {content: '\e969';}
+.icon.wikipedia:before {content: '\e96a';}
+.icon.wordpress:before {content: '\e96b';}
+.icon.write-dot-as:before {content: '\e96c';}
+.icon.x:before {content: '\e96d';}
+#has-share .xing:before,
+.icon.xing:before {content: '\e96e';}
+.icon.xmpp:before {content: '\e96f';}
+.icon.youtube:before {content: '\e970';}
+
+.emoji {
+ font-family: 'Apple Color Emoji', 'Segoe UI Emoji', NotoColorEmoji, 'Segoe UI Symbol', 'Android Emoji', EmojiSymbols;
+}
\ No newline at end of file
diff --git a/assets/css/typeface/Cormorant.css b/assets/css/typeface/Cormorant.css
new file mode 100644
index 0000000..c5cf9c3
--- /dev/null
+++ b/assets/css/typeface/Cormorant.css
@@ -0,0 +1,47 @@
+@font-face {
+ font-family: 'Cormorant';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/CatharsisFonts/Cormorant/master/fonts/webfonts/Cormorant-Regular.woff2) format('woff2');
+ size-adjust: 110%;
+ ascent-override: 80%;
+ descent-override: 28%;
+}
+
+@font-face {
+ font-family: 'Cormorant';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/CatharsisFonts/Cormorant/master/fonts/webfonts/Cormorant-Italic.woff2) format('woff2');
+ size-adjust: 110%;
+ ascent-override: 80%;
+ descent-override: 28%;
+}
+
+@font-face {
+ font-family: 'Cormorant';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/CatharsisFonts/Cormorant/master/fonts/webfonts/Cormorant-Bold.woff2) format('woff2');
+ size-adjust: 110%;
+ ascent-override: 80%;
+ descent-override: 28%;
+}
+
+@font-face {
+ font-family: 'Cormorant';
+ font-style: italic;
+ font-weight: 700;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/CatharsisFonts/Cormorant/master/fonts/webfonts/Cormorant-BoldItalic.woff2) format('woff2');
+ size-adjust: 110%;
+ ascent-override: 80%;
+ descent-override: 28%;
+}
+
+:root {
+ --rm: 'Cormorant';
+}
\ No newline at end of file
diff --git a/assets/css/typeface/Crimson.css b/assets/css/typeface/Crimson.css
new file mode 100644
index 0000000..e199a45
--- /dev/null
+++ b/assets/css/typeface/Crimson.css
@@ -0,0 +1,43 @@
+@font-face {
+ font-family: 'crimson';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: local('Crimson Roman'),
+ url(https://raw.githubusercontent.com/skosch/Crimson/master/Web%20Fonts/crimson-roman-webfont.woff2) format('woff2');
+ size-adjust: 95%;
+}
+
+@font-face {
+ font-family: 'crimson';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: local('Crimson Italic'),
+ url(https://raw.githubusercontent.com/skosch/Crimson/master/Web%20Fonts/crimson-italic-webfont.woff2) format('woff2');
+ size-adjust: 95%;
+}
+
+@font-face {
+ font-family: 'crimson';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: local('Crimson Bold'),
+ url(https://raw.githubusercontent.com/skosch/Crimson/master/Web%20Fonts/crimson-bold-webfont.woff2) format('woff2');
+ size-adjust: 95%;
+}
+
+@font-face {
+ font-family: 'crimson';
+ font-style: italic;
+ font-weight: 700;
+ font-display: swap;
+ src: local('Crimson BoldItalic'),
+ url(https://raw.githubusercontent.com/skosch/Crimson/master/Web%20Fonts/crimson-bolditalic-webfont.woff2) format('woff2');
+ size-adjust: 95%;
+}
+
+:root {
+ --rm: 'crimson';
+}
\ No newline at end of file
diff --git a/assets/css/typeface/EBGaramond.css b/assets/css/typeface/EBGaramond.css
new file mode 100644
index 0000000..d009022
--- /dev/null
+++ b/assets/css/typeface/EBGaramond.css
@@ -0,0 +1,47 @@
+@font-face {
+ font-family: 'EB Garamond';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/imedadel/typeface-eb-garamond-latest/master/files/EBGaramond12-Regular.woff2) format('woff2');
+ size-adjust: 102%;
+ ascent-override: 87%;
+ descent-override: 30%;
+}
+
+@font-face {
+ font-family: 'EB Garamond';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/imedadel/typeface-eb-garamond-latest/master/files/EBGaramond12-Italic.woff2) format('woff2');
+ size-adjust: 102%;
+ ascent-override: 87%;
+ descent-override: 30%;
+}
+
+@font-face {
+ font-family: 'EB Garamond';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/googlefonts/ebgaramond-specimen/main/docs/fonts/EBGaramond12-Bold.woff) format('woff');
+ size-adjust: 102%;
+ ascent-override: 87%;
+ descent-override: 30%;
+}
+
+@font-face {
+ font-family: 'EB Garamond';
+ font-style: italic;
+ font-weight: 700;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/googlefonts/ebgaramond-specimen/main/docs/fonts/EBGaramond12-BoldItalic.woff) format('woff');
+ size-adjust: 102%;
+ ascent-override: 87%;
+ descent-override: 30%;
+}
+
+:root {
+ --rm: 'EB Garamond';
+}
\ No newline at end of file
diff --git a/assets/css/typeface/Inconsolata.css b/assets/css/typeface/Inconsolata.css
new file mode 100644
index 0000000..4fcd61e
--- /dev/null
+++ b/assets/css/typeface/Inconsolata.css
@@ -0,0 +1,25 @@
+@font-face {
+ font-family: 'Inconsolata';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: local('Inconsolata'),
+ url(https://raw.githubusercontent.com/googlefonts/Inconsolata/main/fonts/webfonts/Inconsolata-Regular.woff2) format('woff2');
+ ascent-override: 88%;
+ descent-override: 30%;
+}
+
+@font-face {
+ font-family: 'Inconsolata';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: local('Inconsolata Bold'),
+ url(https://raw.githubusercontent.com/googlefonts/Inconsolata/main/fonts/webfonts/Inconsolata-Bold.woff2) format('woff2');
+ ascent-override: 88%;
+ descent-override: 30%;
+}
+
+:root {
+ --tt: 'Inconsolata';
+}
\ No newline at end of file
diff --git a/assets/css/typeface/Inter.css b/assets/css/typeface/Inter.css
new file mode 100644
index 0000000..04b84d8
--- /dev/null
+++ b/assets/css/typeface/Inter.css
@@ -0,0 +1,51 @@
+@font-face {
+ font-family: 'Inter';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: local('Inter'),
+ url(https://raw.githubusercontent.com/rsms/inter/master/docs/font-files/Inter-Regular.woff2) format('woff2');
+ size-adjust: 84%;
+ ascent-override: 104%;
+ descent-override: 36%;
+}
+
+@font-face {
+ font-family: 'Inter';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: local('Inter Italic'),
+ url(https://raw.githubusercontent.com/rsms/inter/master/docs/font-files/Inter-Italic.woff2) format('woff2');
+ size-adjust: 84%;
+ ascent-override: 104%;
+ descent-override: 36%;
+}
+
+@font-face {
+ font-family: 'Inter';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: local('Inter Bold'),
+ url(https://raw.githubusercontent.com/rsms/inter/master/docs/font-files/Inter-Bold.woff2) format('woff2');
+ size-adjust: 84%;
+ ascent-override: 104%;
+ descent-override: 36%;
+}
+
+@font-face {
+ font-family: 'Inter';
+ font-style: italic;
+ font-weight: 700;
+ font-display: swap;
+ src: local('Inter Bold Italic'),
+ url(https://raw.githubusercontent.com/rsms/inter/master/docs/font-files/Inter-BoldItalic.woff2) format('woff2');
+ size-adjust: 84%;
+ ascent-override: 104%;
+ descent-override: 36%;
+}
+
+:root {
+ --sf: 'Inter';
+}
\ No newline at end of file
diff --git a/assets/css/typeface/Montserrat.css b/assets/css/typeface/Montserrat.css
new file mode 100644
index 0000000..33f0a76
--- /dev/null
+++ b/assets/css/typeface/Montserrat.css
@@ -0,0 +1,51 @@
+@font-face {
+ font-family: 'Montserrat';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/JulietaUla/Montserrat/master/fonts/webfonts/Montserrat-Regular.woff2) format('woff2');
+ size-adjust: 85%;
+ ascent-override: 104%;
+ descent-override: 36%;
+ line-gap-override: 50%;
+}
+
+@font-face {
+ font-family: 'Montserrat';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/JulietaUla/Montserrat/master/fonts/webfonts/Montserrat-Italic.woff2) format('woff2');
+ size-adjust: 85%;
+ ascent-override: 104%;
+ descent-override: 36%;
+ line-gap-override: 50%;
+}
+
+@font-face {
+ font-family: 'Montserrat';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/JulietaUla/Montserrat/master/fonts/webfonts/Montserrat-Bold.woff2) format('woff2');
+ size-adjust: 85%;
+ ascent-override: 104%;
+ descent-override: 36%;
+ line-gap-override: 50%;
+}
+
+@font-face {
+ font-family: 'Montserrat';
+ font-style: italic;
+ font-weight: 700;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/JulietaUla/Montserrat/master/fonts/webfonts/Montserrat-BoldItalic.woff2) format('woff2');
+ size-adjust: 85%;
+ ascent-override: 104%;
+ descent-override: 36%;
+ line-gap-override: 50%;
+}
+
+:root {
+ --sf: 'Montserrat';
+}
\ No newline at end of file
diff --git a/assets/css/typeface/OpenDyslexic.css b/assets/css/typeface/OpenDyslexic.css
new file mode 100644
index 0000000..7715f69
--- /dev/null
+++ b/assets/css/typeface/OpenDyslexic.css
@@ -0,0 +1,51 @@
+@font-face {
+ font-family: 'OpenDyslexic';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: local('OpenDyslexic'),
+ url(https://raw.githubusercontent.com/antijingoist/OpenDyslexic/master/compiled/OpenDyslexic-Regular.woff2) format('woff2');
+ size-adjust: 83%;
+ ascent-override: 106%;
+ descent-override: 36%;
+}
+
+@font-face {
+ font-family: 'OpenDyslexic';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: local('OpenDyslexic Italic'),
+ url(https://raw.githubusercontent.com/antijingoist/OpenDyslexic/master/compiled/OpenDyslexic-Italic.woff2) format('woff2');
+ size-adjust: 83%;
+ ascent-override: 106%;
+ descent-override: 36%;
+}
+
+@font-face {
+ font-family: 'OpenDyslexic';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: local('OpenDyslexic Bold'),
+ url(https://raw.githubusercontent.com/antijingoist/OpenDyslexic/master/compiled/OpenDyslexic-Bold.woff2) format('woff2');
+ size-adjust: 83%;
+ ascent-override: 106%;
+ descent-override: 36%;
+}
+
+@font-face {
+ font-family: 'OpenDyslexic';
+ font-style: italic;
+ font-weight: 700;
+ font-display: swap;
+ src: local('OpenDyslexic Bold Italic'),
+ url(https://raw.githubusercontent.com/antijingoist/OpenDyslexic/master/compiled/OpenDyslexic-Bold-Italic.woff2) format('woff2');
+ size-adjust: 83%;
+ ascent-override: 106%;
+ descent-override: 36%;
+}
+
+:root {
+ --od: 'OpenDyslexic';
+}
\ No newline at end of file
diff --git a/assets/css/typeface/Rosario.css b/assets/css/typeface/Rosario.css
new file mode 100644
index 0000000..748249d
--- /dev/null
+++ b/assets/css/typeface/Rosario.css
@@ -0,0 +1,43 @@
+@font-face {
+ font-family: 'Rosario';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/Omnibus-Type/Rosario/master/fonts/webfonts/Rosario-Regular.woff2) format('woff2');
+ size-adjust: 90%;
+ descent-override: 33%;
+}
+
+@font-face {
+ font-family: 'Rosario';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/Omnibus-Type/Rosario/master/fonts/webfonts/Rosario-Italic.woff2) format('woff2');
+ size-adjust: 90%;
+ descent-override: 33%;
+}
+
+@font-face {
+ font-family: 'Rosario';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/Omnibus-Type/Rosario/master/fonts/webfonts/Rosario-Bold.woff2) format('woff2');
+ size-adjust: 90%;
+ descent-override: 33%;
+}
+
+@font-face {
+ font-family: 'Rosario';
+ font-style: italic;
+ font-weight: 700;
+ font-display: swap;
+ src: url(https://raw.githubusercontent.com/Omnibus-Type/Rosario/master/fonts/webfonts/Rosario-BoldItalic.woff2) format('woff2');
+ size-adjust: 90%;
+ descent-override: 33%;
+}
+
+:root {
+ --sf: 'Rosario';
+}
\ No newline at end of file
diff --git a/assets/css/typeface/icon.css b/assets/css/typeface/icon.css
new file mode 100644
index 0000000..7739868
--- /dev/null
+++ b/assets/css/typeface/icon.css
@@ -0,0 +1,188 @@
+/* Icon Fonts */
+@font-face {
+ font-family: 'base-ui';
+ font-weight: normal;
+ font-style: normal;
+ font-display: block;
+ src: url(https://raw.githubusercontent.com/foxihd/hugo-brewm/main/static/css/fonts/base-ui.woff2) format('woff2');
+}
+
+/* fallback setting for websafefonts */
+
+@font-face {
+ font-family: 'Times New Roman';
+ src: local('Times New Roman');
+ size-adjust: 102%;
+ ascent-override: 87%;
+ descent-override: 30%;
+}
+
+@font-face {
+ font-family: 'Arial';
+ src: local('Arial');
+ size-adjust: 87%;
+ ascent-override: 101%;
+ descent-override: 34%;
+}
+
+@font-face {
+ font-family: 'Courier New';
+ src: local('Courier New');
+ size-adjust: 107%;
+ ascent-override: 83%;
+ descent-override: 28%;
+}
+
+#mastodonInstance::before,
+#has-share i,
+.stat a::before,
+.icon {
+ font-family: 'base-ui' !important;
+ speak: never;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ line-height: 1;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-feature-settings: 'liga';
+ -moz-font-feature-settings: 'liga=1';
+ -moz-font-feature-settings: 'liga';
+ -ms-font-feature-settings: 'liga' 1;
+ font-feature-settings: 'liga';
+ -webkit-font-variant-ligatures: discretionary-ligatures;
+ font-variant-ligatures: discretionary-ligatures;
+}
+
+.icon.accessibility:before {content: '\e900';}
+.icon.arrow:before {content: '\e902';}
+.icon.circle-checked:before {content: '\e903';}
+.icon.circle-unchecked:before {content: '\e904';}
+.icon.copyleft:before {content: '\e906';}
+#has-share .email:before,
+.icon.email:before {content: '\e907';}
+a.favourites::before,
+.icon.heart:before {content: '\e908';}
+.icon.internationalization:before {content: '\e909';}
+.icon.localization:before {content: '\e90a';}
+.icon.menu:before {content: '\e90b';}
+#has-share .print:before,
+.icon.print:before {content: '\e90c';}
+.reblogs::before,
+.icon.reblog:before {content: '\e90d';}
+a.replies::before,
+.icon.reply:before {content: '\e90e';}
+.icon.reset:before {content: '\e90f';}
+.icon.rss:before {content: '\e910';}
+.icon.search:before {content: '\e911';}
+.icon.share:before {content: '\e912';}
+.icon.xmark:before {content: '\e913';}
+.icon.behance:before {content: '\e914';}
+.icon.bigcartel:before {content: '\e915';}
+.icon.bitbucket:before {content: '\e916';}
+.icon.blogger:before {content: '\e917';}
+#has-share .bluesky:before,
+.icon.bluesky:before {content: '\e918';}
+.icon.bukalapak:before {content: '\e919';}
+.icon.buymeacoffee:before {content: '\e91a';}
+.icon.clubhouse:before {content: '\e91b';}
+.icon.codepen:before {content: '\e91c';}
+.icon.creativefabrica:before {content: '\e91d';}
+.icon.dailymotion:before {content: '\e91e';}
+.icon.dev:before {content: '\e91f';}
+.icon.deviantart:before {content: '\e920';}
+.icon.digg:before {content: '\e921';}
+.icon.dribbble:before {content: '\e923';}
+.icon.ebay:before {content: '\e924';}
+.icon.ello:before {content: '\e925';}
+.icon.etsy:before {content: '\e926';}
+#has-share .facebook:before,
+.icon.facebook:before {content: '\e927';}
+.icon.figma:before {content: '\e928';}
+.icon.flattr:before {content: '\e929';}
+.icon.flickr:before {content: '\e92a';}
+.icon.flipkart:before {content: '\e92b';}
+.icon.github:before {content: '\e92c';}
+.icon.githubsponsors:before {content: '\e92d';}
+.icon.gitlab:before {content: '\e92e';}
+.icon.gnusocial:before {content: '\e92f';}
+.icon.goodreads:before {content: '\e930';}
+.icon.googlescholar:before {content: '\e931';}
+.icon.gumroad:before {content: '\e932';}
+#has-share .hackernews:before,
+.icon.hackernews:before {content: '\e933';}
+.icon.hashnode:before {content: '\e934';}
+.icon.icon--500px:before {content: '\e935';}
+.icon.instagram:before {content: '\e936';}
+.icon.jsfiddle:before {content: '\e937';}
+.icon.karyakarsa:before {content: '\e938';}
+.icon.keybase:before {content: '\e939';}
+.icon.keycdn:before {content: '\e93a';}
+.icon.kickstarter:before {content: '\e93b';}
+.icon.kofi:before {content: '\e93c';}
+.icon.lazada:before {content: '\e93d';}
+.icon.liberapay:before {content: '\e93e';}
+#has-share .linkedin:before,
+.icon.linkedin:before {content: '\e93f';}
+.icon.mastodon:before {content: '\e940';}
+.icon.medium:before {content: '\e941';}
+.icon.olx:before {content: '\e942';}
+.icon.opencollective:before {content: '\e943';}
+.icon.openid:before {content: '\e944';}
+.icon.orcid:before {content: '\e945';}
+.icon.otechie:before {content: '\e946';}
+.icon.patreon:before {content: '\e947';}
+.icon.paypal:before {content: '\e948';}
+.icon.peertube:before {content: '\e949';}
+#has-share .pinterest:before,
+.icon.pinterest:before {content: '\e94a';}
+.icon.pleroma:before {content: '\e94b';}
+.icon.publons:before {content: '\e94c';}
+.icon.quora:before {content: '\e94d';}
+#has-share .reddit:before,
+.icon.reddit:before {content: '\e94e';}
+.icon.researchgate:before {content: '\e94f';}
+.icon.saweria:before {content: '\e950';}
+.icon.sellfy:before {content: '\e951';}
+.icon.shopee:before {content: '\e952';}
+.icon.shopify:before {content: '\e953';}
+.icon.signal:before {content: '\e954';}
+.icon.slack:before {content: '\e955';}
+.icon.snapchat:before {content: '\e956';}
+.icon.soundcloud:before {content: '\e957';}
+.icon.stackexchange:before {content: '\e958';}
+.icon.stackoverflow:before {content: '\e959';}
+.icon.stripe:before {content: '\e95a';}
+.icon.substack:before {content: '\e95b';}
+#has-share .telegram:before,
+.icon.telegram:before {content: '\e95c';}
+.icon.threads:before {content: '\e95d';}
+.icon.tidelift:before {content: '\e95e';}
+.icon.tiktok:before {content: '\e95f';}
+.icon.tokopedia:before {content: '\e960';}
+#has-share .tumblr:before,
+.icon.tumblr:before {content: '\e961';}
+.icon.twitch:before {content: '\e962';}
+#has-share .twitter:before,
+.icon.twitter:before {content: '\e963';}
+.icon.vimeo:before {content: '\e964';}
+.icon.vine:before {content: '\e965';}
+#has-share .vk:before,
+.icon.vk:before {content: '\e966';}
+.icon.wattpad:before {content: '\e967';}
+.icon.weibo:before {content: '\e968';}
+#has-share .whatsapp:before,
+.icon.whatsapp:before {content: '\e969';}
+.icon.wikipedia:before {content: '\e96a';}
+.icon.wordpress:before {content: '\e96b';}
+.icon.write-dot-as:before {content: '\e96c';}
+.icon.x:before {content: '\e96d';}
+#has-share .xing:before,
+.icon.xing:before {content: '\e96e';}
+.icon.xmpp:before {content: '\e96f';}
+.icon.youtube:before {content: '\e970';}
+
+.emoji {
+ font-family: 'Apple Color Emoji', 'Segoe UI Emoji', NotoColorEmoji, 'Segoe UI Symbol', 'Android Emoji', EmojiSymbols;
+}
\ No newline at end of file
diff --git a/assets/css/typeface/websafe.css b/assets/css/typeface/websafe.css
new file mode 100644
index 0000000..d7538f3
--- /dev/null
+++ b/assets/css/typeface/websafe.css
@@ -0,0 +1,13 @@
+:root {
+ --rm: 'Times New Roman';
+ --rmosf: 'Palatino';
+ --sf: Arial;
+ --tt: 'Courier New';
+}
+
+/* :root {
+ --rm: Garamond, Palatino, 'Times New Roman';
+ --rmosf: 'Palatino';
+ --sf: Helvetica, Verdana, Arial;
+ --tt: Courier, Consolas, 'Courier New';
+} */
\ No newline at end of file
diff --git a/assets/css/typesetting/_template.css b/assets/css/typesetting/_template.css
new file mode 100644
index 0000000..5b3e730
--- /dev/null
+++ b/assets/css/typesetting/_template.css
@@ -0,0 +1,306 @@
+/* font-style */
+ .normalfont {
+ font-style: normal;
+ font-weight: normal;
+ }
+
+ .md
+ .textmd,
+ .mdseries {
+ font-weight: normal;
+ }
+
+ .bf,
+ .textbf,
+ .bfseries {
+ font-weight: bold;
+ }
+
+ .up,
+ .textup,
+ .upshape {
+ font-style: normal;
+ }
+
+ .it,
+ .textit,
+ .itshape {
+ font-style: italic;
+ }
+
+ .sl,
+ .textsl,
+ .slshape {
+ --tsf: skew(-7deg, 0deg);
+ -webkit-transform: var(--tsf);
+ -moz-transform: var(--tsf);
+ -ms-transform: var(--tsf);
+ -o-transform: var(--tsf);
+ transform: var(--tsf);
+ font-style: oblique;
+ }
+
+ .sw,
+ .textsw,
+ .swshape {
+ font-variant-alternates: swash(swsh);
+ font-feature-settings: 'swsh' 1;
+ -moz-font-feature-settings: 'swsh' 1;
+ -webkit-font-feature-settings: 'swsh' 1;
+ }
+
+ .sc,
+ .ssc,
+ .textsc,
+ .scshape {
+ font-variant: small-caps;
+ font-feature-settings: 'smcp' 1;
+ -moz-font-feature-settings: 'smcp' 1;
+ -webkit-font-feature-settings: 'smcp' 1;
+ }
+
+ .allsmallcaps,
+ .ssc {
+ font-variant-caps: all-small-caps;
+ font-feature-settings: 'c2sc' 1;
+ -moz-font-feature-settings: 'c2sc' 1;
+ -webkit-font-feature-settings: 'c2sc' 1;
+ letter-spacing: 0.16em;
+ word-spacing: 16%;
+ }
+
+/* font-family */
+ .rm,
+ .textrm {
+ font-family: var(--rm), serif;
+ }
+
+ .tt,
+ .texttt {
+ font-family: var(--tt), monospace;
+ }
+
+ .sf,
+ .textsf {
+ font-family: var(--sf), sans-serif;
+ }
+
+ .od,
+ .textod {
+ font-family: var(--od), sans-serif;
+ }
+
+/* numeral */
+ .pnum,
+ .pl,
+ .po,
+ .textpl,
+ .textpo {
+ font-variant-numeric: proportional-nums;
+ font-feature-settings: 'pnum' 1;
+ -moz-font-feature-settings: 'pnum' 1;
+ -webkit-font-feature-settings: 'pnum' 1;
+ }
+
+ .onum,
+ .po,
+ .to,
+ .textpo,
+ .textto {
+ font-variant-numeric: oldstyle-nums;
+ font-feature-settings:'onum' 1;
+ -moz-font-feature-settings:'onum' 1;
+ -webkit-font-feature-settings:'onum' 1;
+ }
+
+ .lnum,
+ .tl,
+ .pl
+ .texttl,
+ .textpl {
+ font-variant-numeric: lining-nums;
+ font-feature-settings: 'lnum' 1;
+ -moz-font-feature-settings: 'lnum' 1;
+ -webkit-font-feature-settings: 'lnum' 1;
+ }
+
+ .tnum,
+ .to,
+ .po,
+ .textto,
+ .textpo {
+ font-variant-numeric: tabular-nums;
+ font-feature-settings: 'tnum' 1, 'kern' 0;
+ -moz-font-feature-settings: 'tnum' 1, 'kern' 0;
+ -webkit-font-feature-settings: 'tnum' 1, 'kern' 0;
+ }
+
+ .sz0 {
+ font-variant-numeric: slashed-zero;
+ font-feature-settings: 'zero' 1;
+ -moz-font-feature-settings: 'zero' 1;
+ -webkit-font-feature-settings: 'zero' 1;
+ }
+
+ .sub,
+ .textsub {
+ font-variant-position: sub;
+ font-feature-settings: 'subs' 1;
+ }
+
+ .sup,
+ .textsup {
+ font-variant-position: super;
+ font-feature-settings: 'sups' 1;
+ }
+
+ .ldots {
+ text-overflow: ellipsis;
+ overflow-x: clip;
+ white-space: nowrap;
+ }
+
+/* presentation */
+ .smallskip {
+ margin: var(--smallskip) 0;
+ }
+
+ .medskip {
+ margin: var(--medskip) 0;
+ }
+
+ .bigskip {
+ margin:var(--vskip);
+ }
+
+ .hfill,
+ .lfill {
+ margin-left: auto;
+ }
+
+ .hfill,
+ .rfill {
+ margin-right: auto;
+ }
+
+ .vfill,
+ .tfill {
+ margin-top: auto;
+ }
+
+ .vfill,
+ .bfill {
+ margin-bottom: auto;
+ }
+
+ .center {
+ margin: auto;
+ align-self: center;
+ }
+
+ .center,
+ .centering {
+ text-align: center;
+ }
+
+ .justifying {
+ text-align: justify;
+ }
+
+ .flushleft,
+ .raggedright {
+ text-align: left;
+ }
+
+ .flushright,
+ .raggedleft {
+ text-align: right;
+ }
+
+ .nomargin {
+ margin: 0;
+ }
+
+ .nopadding {
+ padding: 0;
+ }
+
+ .noindent {
+ text-indent: 0 !important;
+ }
+
+ .parindent {
+ text-indent: var(--indent);
+ }
+
+/* break */
+ .nobreak {
+ break-inside: avoid;
+ }
+
+ .nopagebreak {
+ break-after: avoid-page;
+ page-break-after: avoid;
+ }
+
+ .break {
+ break-after: always;
+ }
+
+ .columnbreak {
+ break-after: column;
+ }
+
+ .pagebreak {
+ break-after: page;
+ page-break-after: always;
+ }
+
+ .newpage {
+ break-before: always;
+ page-break-before: always;
+ }
+
+ .clearpage {
+ break-after: verso;
+ }
+
+ .creardoublepage {
+ break-after: recto;
+ }
+
+/* quotation */
+ q {
+ font-style: italic;
+ }
+
+ /* enquote */
+ q {
+ quotes: '“' '”' '‘' '’';
+ }
+
+ q.alt {
+ quotes: '”' '”' '’' '’';
+ }
+
+ /* guillemet */
+ q.gm,
+ q.guillemet {
+ quotes: '«' '»' '‹' '›';
+ }
+
+ q.gm.alt,
+ q.guillemet.alt {
+ quotes: '»' '«' '›' '‹';
+ }
+
+ /* goosefeet */
+ q.gf,
+ q.goosefeet {
+ quotes: '„' '“' '‚' '‘';
+ }
+
+ q.gf.alt,
+ q.goosefeet.alt {
+ quotes: '„' '”' '‚' '’';
+ }
diff --git a/assets/css/typesetting/default.css b/assets/css/typesetting/default.css
new file mode 100644
index 0000000..6ac81c5
--- /dev/null
+++ b/assets/css/typesetting/default.css
@@ -0,0 +1,290 @@
+:root {
+ --tiny: 0.618rem;
+ --scriptsize: 0.786rem;
+ --footnotesize: 1rem;
+ --small: 1.144rem;
+ --normalsize: 1.272rem;
+ --large: 1.414rem;
+ --Large: 1.618rem;
+ --LARGE: 2.058rem;
+ --huge: 2.618rem;
+ --Huge: 3.33rem;
+ --fontScale: 1;
+ --baselineStretch: 1;
+ --indent: 1.618pc;
+ --smallskip: 1rem;
+ --medskip: 1.618rem;
+ --bigskip: 3.14rem;
+ --vskip:var(--bigskip) 0;
+}
+
+h1 + p,
+h2 + p,
+h3 + p,
+h4 + p,
+h5 + p,
+h6 + p,
+p * {
+ margin-top: 0;
+ padding-top: 0;
+ text-indent: 0 !important;
+}
+
+blockquote {
+ margin: 0;
+ background: #ffe8aa22;
+ padding: 1pt var(--indent);
+ width: var(--golden-ratio);
+ font-style: italic;
+}
+
+blockquote blockquote {
+ margin-bottom: var(--indent);
+ border-left: var(--bound);
+ background: none;
+ width: unset;
+}
+
+blockquote cite {
+ font-style: italic;
+}
+
+kbd {
+ /* border: 1pt solid var(--mid); */
+ -webkit-transition: 0.2s;
+ -moz-transition: 0.2s;
+ -o-transition: 0.2s;
+ transition: 0.2s;
+ margin: 0 2pt;
+ border-radius: 0.7ex;
+ padding: 0.3ex 1ex;
+ font-size: var(--footnotesize);
+ box-shadow: var(--box-shadow-focus);
+}
+
+kbd:hover {
+ box-shadow: var(--box-shadow-hover);
+}
+
+kbd:has(kbd) {
+ border-radius: 1ex;
+ padding: 1ex 0.7ex;
+}
+
+.key {
+ display: none;
+ text-transform: uppercase;
+}
+
+.keydown .key {
+ display: initial !important;
+ font-family: var(--sf), sans-serif;
+ font-weight: unset;
+}
+
+code {
+ border-radius: 0.25em;
+ background: var(--g18s);
+}
+
+pre > code {
+ display: block;
+ border-radius: 1ex;
+ background: unset;
+ width: fit-content;
+ max-width: 100%;
+ overflow-x: auto;
+}
+
+code,
+pre > code {
+ line-height: 1.618;
+ letter-spacing: 0.05em;
+ font-family: var(--tt), monospace;
+ font-kerning: none;
+ font-size: 0.8em;
+ -webkit-font-feature-settings: 'kern' 0;
+ -moz-font-feature-settings: 'kern' 0;
+ font-feature-settings: 'kern' 0;
+}
+
+pre > code table {
+ border: unset;
+}
+
+dl,
+ol,
+ul {
+ padding-left: var(--indent);
+}
+
+.ldots {
+ text-overflow: ellipsis;
+ overflow-x: clip;
+ white-space: nowrap;
+}
+
+.lfill {
+ margin-left: auto;
+}
+
+.rfill {
+ margin-right: auto;
+}
+
+.sw,
+.textsw,
+.swshape {
+ font-variant-alternates: swash(swsh);
+ -webkit-font-feature-settings: 'swsh' 1;
+ -moz-font-feature-settings: 'swsh' 1;
+ font-feature-settings: 'swsh' 1;
+}
+
+.up,
+.textup,
+.upshape {
+ font-style: normal;
+}
+
+table,
+thead {
+ border-collapse: collapse;
+ border: solid var(--off);
+ border-width: 1pt 0;
+}
+
+thead {
+ background: var(--g18s);
+}
+
+th {
+ padding: 2pt 0;
+}
+
+td {
+ padding: 1pt 0;
+}
+
+th + th {
+ border-left: 1pt dotted var(--g18s);
+}
+
+tbody tr:nth-child(2n) {
+ background-color: #80808008;
+}
+
+.hero__content h1,
+.hero__content h2,
+.hero__content h3,
+#share > span,
+#menu-footer::before,
+.section-title {
+ vertical-align: middle;
+ text-transform: uppercase;
+ letter-spacing: 2pt;
+ font-weight: 700;
+ font-variant: small-caps;
+ /* font-variant-caps: all-small-caps; */
+}
+
+details.presentation > summary {
+ cursor: pointer;
+ list-style: none;
+}
+
+.has-aria-label-top:before,
+.has-aria-label:after {
+ display: block;
+ margin: auto;
+ content: attr(aria-label);
+}
+
+.has-pre::before,
+.has-post:after,
+.has-desc:after {
+ display: inline-block;
+ color: var(--mid);
+ font-size: 0.9em;
+ font-weight: normal;
+ content: attr(aria-description);
+}
+
+.t {
+ --tsf: translate(-2em);
+ display: inline-flex;
+ position: absolute;
+ top: 125%;
+ justify-content: center;
+ visibility: hidden;
+ z-index: 1;
+ border-radius: 1em;
+ background: var(--fg);
+ padding: 0.25em;
+ width: 7.5em;
+ text-align: center;
+ color: var(--bg);
+ font: var(--scriptsize) var(--sf), sans-serif;
+}
+
+.t.t2 {
+ --tsf: unset;
+ display: block;
+ top: var(--vhead);
+}
+
+.t::after {
+ position: absolute;
+ bottom: 100%;
+ left: 47.5%;
+ border-style: solid;
+ border-color: transparent transparent var(--fg) transparent;
+ content: '';
+}
+
+button:focus > .t,
+.icon:hover + .t,
+a:hover .t,
+a:focus .t,
+summary:hover > .t,
+summary:focus > .t {
+ visibility: visible;
+}
+
+.loading:after {
+ --anm: ellipsis steps(4,end) 2s infinite;
+ display: inline-block;
+ overflow: hidden;
+ vertical-align: bottom;
+ content: '';
+}
+
+.letterine > i {
+ font-style: normal;
+}
+
+.hide {
+ display: none !important;
+}
+
+ul.inline::before,
+ul.delimiter::after,
+ul.delimiter li:first-child:before,
+ul.delimiter li:nth-last-child(2)::after {
+ content: '\a0';
+}
+
+#page .date-has-label > .doc-publish-date::after,
+ul.delimiter li:after {
+ content: ',\a0';
+}
+
+ul.delimiter li:last-child:before {
+ content: '&\a0';
+}
+
+#page .doc-lastmod-date::after,
+#keywords .inline li::after,
+ul.delimiter li:last-child:after {
+ content: '.';
+}
\ No newline at end of file
diff --git a/assets/css/typesetting/sectioning.css b/assets/css/typesetting/sectioning.css
new file mode 100644
index 0000000..d77bb8c
--- /dev/null
+++ b/assets/css/typesetting/sectioning.css
@@ -0,0 +1,118 @@
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ line-height: calc(var(--baselineStretch) * 1);
+ font-weight: 400;
+ clear: both;
+}
+
+h2,
+h3,
+h4 {
+ margin: var(--bigskip) 0 var(--smallskip);
+ font-style: italic;
+}
+
+h1 {
+ margin: var(--bigskip) 0 var(--smallskip);
+ text-transform: capitalize;
+ font-size: var(--huge);
+ counter-reset: section;
+}
+
+article > section {
+ counter-reset: section;
+}
+
+h2 {
+ font-size: var(--LARGE);
+ counter-reset: subsection;
+}
+
+h3 {
+ font-size: var(--Large);
+ counter-reset: subsubsection;
+}
+
+h4 {
+ font-size: var(--large);
+ counter-reset: paragraph;
+}
+
+h5 {
+ counter-reset: subparagraph;
+ margin: var(--smallskip) 0 0;
+}
+
+h5,
+h6 {
+ word-spacing: 16%;
+ letter-spacing: 0.16em;
+ font: var(--normalsize) var(--sf), sans-serif;
+ -webkit-font-feature-settings: 'c2sc' 1;
+ -moz-font-feature-settings: 'c2sc' 1;
+ font-feature-settings: 'c2sc' 1;
+ font-variant-caps: all-small-caps;
+}
+
+h6 {
+ float: left;
+ margin: 0.2em 0.2em 0 0;
+}
+
+/* section labeling */
+
+/* h1::before {
+ counter-increment: chapter;
+}
+
+h2::before {
+ counter-increment: section;
+}
+
+h3::before {
+ counter-increment: subsection;
+}
+
+h4::before {
+ counter-increment: subsubsection;
+}
+
+h5::before {
+ counter-increment: paragraph;
+}
+
+h6::before {
+ counter-increment: subparagraph;
+}
+
+#content.secnum {
+ counter-reset: chapter;
+}
+
+#content.secnum h1::before {
+ content: counter(chapter);
+}
+
+#content.secnum h2::before {
+ content: counter(section) '. ';
+}
+
+#content.secnum h3::before {
+ content: counter(subsection)'. ';
+}
+
+#content.secnum h4::before {
+ content: counter(subsubsection)'. ';
+}
+
+#content.secnum h5::before {
+ content: counter(paragraph);
+}
+
+#content.secnum h6::before {
+ content: counter(subparagraph);
+} */
\ No newline at end of file
diff --git a/assets/css/typesetting/verbatim.css b/assets/css/typesetting/verbatim.css
new file mode 100644
index 0000000..1296708
--- /dev/null
+++ b/assets/css/typesetting/verbatim.css
@@ -0,0 +1,307 @@
+body.deuteranopia {
+ --y6a: #d17991; --w8u: #3e8620; --s8i: #ff727b; --n8e: #6f7eb5;
+ --m4i: #265245; --y4i: #d61906; --f8a: #8671b2; --s4n: #008ae7;
+ --d3u: #6d4835; --r6a: #4d4a17; --y4a: #0b3460; --k8i: #fe8500;
+ --y6i: #0070a0; --o5a: #bf2d37; --c3u: #635169; --s5o: #2d5a7b;
+ --s5e: #61317b; --y7i: #00b0fb; --i3i: #ff1202; --t9u: #014c2d;
+}
+
+body.protanopia {
+ --y6a: #b095c0; --w8u: #616f00; --s8i: #eeb0df; --n8e: #6d78ae;
+ --m4i: #35432c; --y4i: #9a596f; --f8a: #7777bd; --s4n: #024b82;
+ --d3u: #645649; --r6a: #524c18; --y4a: #122448; --k8i: #efb440;
+ --y6i: #013c4c; --o5a: #8d5d85; --c3u: #5a5774; --s5o: #364a63;
+ --s5e: #494093; --y7i: #086078; --i3i: #e87aab; --t9u: #012500;
+}
+
+body.tritanopia {
+ --y6a: #b98a9c; --w8u: #235e1a; --s8i: #e58795; --n8e: #958fb3;
+ --m4i: #304a3f; --y4i: #7e2521; --f8a: #a288b5; --s4n: #5196cd;
+ --d3u: #54463b; --r6a: #303b19; --y4a: #343d5a; --k8i: #83630c;
+ --y6i: #30728c; --o5a: #873d4a; --c3u: #695b6c; --s5o: #506175;
+ --s5e: #764e82; --y7i: #4bb0dc; --i3i: #c02a2b; --t9u: #00361e;
+}
+
+body.monochrome {
+ --y6a: var(--fg); --w8u: var(--fg); --s8i: var(--fg); --n8e: var(--fg);
+ --m4i: var(--fg); --y4i: var(--fg); --f8a: var(--fg); --s4n: var(--fg);
+ --d3u: var(--fg); --r6a: var(--fg); --y4a: var(--fg); --k8i: var(--fg);
+ --y6i: var(--fg); --o5a: var(--fg); --c3u: var(--fg); --s5o: var(--fg);
+ --s5e: var(--fg); --y7i: var(--fg); --i3i: var(--fg); --t9u: var(--fg);
+}
+
+@media (prefers-contrast: less) {
+ body.monochrome {
+ --y6a: #8f8f8f; --w8u: #6f6f6f; --s8i: #9c9c9c; --n8e: #808080;
+ --m4i: #474747; --y4i: #3e3e3e; --f8a: #7c7c7c; --s4n: #686868;
+ --d3u: #515151; --r6a: #484848; --y4a: #2f2f2f; --k8i: #989898;
+ --y6i: #535353; --o5a: #4e4e4e; --c3u: #575757; --s5o: #535353;
+ --s5e: #414141; --y7i: #818181; --i3i: #565656; --t9u: #313131;
+ }
+}
+
+.lntable {
+ display: block;
+}
+
+.highlight > pre:not(.chroma) {
+ background: unset !important;
+ color: inherit !important;
+}
+
+.highlight > pre.chroma {
+ margin-left: 2rem;
+}
+
+pre > code {
+ padding: 1ex 0;
+ /* background: var(--g18s); */
+}
+
+.lntd > .chroma{
+ margin: 0;
+}
+
+.lntd:first-child * {
+ background: unset !important;
+}
+
+.lntd:first-child .hl {
+ font-weight: bold;
+}
+
+.hljs-ln-numbers,
+.lntd:first-child pre > code,
+.chroma .lnt {/* LineNumbersTable */
+ min-width: 2rem;
+ max-width: 2rem;
+ overflow: hidden;
+ vertical-align: top;
+ color: var(--n8e);
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ -webkit-touch-callout: none;
+}
+
+.chroma .lntd { /* LineTableTD */
+ vertical-align: top;
+}
+
+.chroma .lntable {/* LineTable */
+ border: unset;
+ border-spacing: 0;
+}
+
+.chroma .hl { /* LineHighlight */
+ display: block;
+ background: var(--g18s);
+ width: auto;
+}
+
+.chroma .c, /* Comment */
+.chroma .ch, /* CommentHashbang */
+.chroma .cm, /* CommentMultiline */
+.chroma .c1, /* CommentSingle */
+.chroma .cs, /* CommentSpecial */
+.chroma .cp, /* CommentPreproc */
+.chroma .cpf, /* CommentPreprocFile */
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.chroma .m, /* LiteralNumber */
+.chroma .mb, /* LiteralNumberBin */
+.chroma .mf, /* LiteralNumberFloat */
+.chroma .mh, /* LiteralNumberHex */
+.chroma .mi, /* LiteralNumberInteger */
+.chroma .il, /* LiteralNumberIntegerLong */
+.chroma .mo, /* LiteralNumberOct */
+.chroma .kc, /* KeywordConstant */
+.chroma .kt, /* KeywordType */
+.chroma .nt, /* NameTag */
+.hljs-strong {
+ /* font-weight: bold; */
+}
+
+.chroma .x, /* Other */
+.chroma .err, /* Error */
+.chroma .ln,/* LineNumbers */
+.chroma .o, /* Operator */
+.chroma .p, /* Punctuation */
+.chroma .w { /* TextWhitespace */
+}
+
+.chroma .kn {/* KeywordNamespace */
+ color: var(--y4i);
+ font-weight: bold;
+}
+
+.chroma .ow { /* OperatorWord */
+ color: var(--y4a);
+}
+
+.chroma .c, /* Comment */
+.chroma .ch, /* CommentHashbang */
+.chroma .cm, /* CommentMultiline */
+.chroma .c1, /* CommentSingle */
+.chroma .cs, /* CommentSpecial */
+.chroma .cp, /* CommentPreproc */
+.chroma .cpf, /* CommentPreprocFile */
+.hljs-comment,
+.hljs-quote {
+ color: var(--i3i);
+}
+
+.chroma .n, /* Name */
+.chroma .nc, /* NameClass */
+.chroma .nd, /* NameDecorator*/
+.chroma .ne, /* NameException */
+.chroma .fm, /* NameFunctionMagic */
+.chroma .nl, /* NameLabel */
+.chroma .nn, /* NameNamespace */
+.chroma .nx, /* NameOther */
+.chroma .py, /* NameProperty ---*/
+.chroma .nt, /* NameTag */
+.chroma .nv, /* NameVariable */
+.chroma .vc, /* NameVariableClass */
+.chroma .vg, /* NameVariableGlobal */
+.chroma .vi, /* NameVariableInstance */
+.chroma .vm, /* NameVariableMagic */
+.hljs-deletion,
+.hljs-name,
+.hljs-regexp,
+.hljs-selector-class,
+.hljs-selector-id,
+.hljs-tag,
+.hljs-template-variable,
+.hljs-variable {
+ color: var(--k8i);
+}
+
+.chroma .nb, /* NameBuiltin */
+.chroma .bp, /* NameBuiltinPseudo */
+.chroma .l, /* Literal */
+.chroma .ld, /* LiteralDate */
+.chroma .m, /* LiteralNumber */
+.chroma .mb, /* LiteralNumberBin */
+.chroma .mf, /* LiteralNumberFloat */
+.chroma .mh, /* LiteralNumberHex */
+.chroma .mi, /* LiteralNumberInteger */
+.chroma .il, /* LiteralNumberIntegerLong */
+.chroma .mo, /* LiteralNumberOct */
+.hljs-built_in,
+.hljs-lfg,
+.hljs-literal,
+.hljs-meta,
+.hljs-number,
+.hljs-params,
+.hljs-type {
+ color: var(--s8i);
+}
+
+.chroma .na, /* NameAttribute */
+.hljs-attribute {
+ color: var(--y6a);
+}
+
+.chroma .s, /* LiteralString */
+.chroma .sa, /* LiteralStringAffix */
+.chroma .sb, /* LiteralStringBacktick */
+.chroma .sc, /* LiteralStringChar */
+.chroma .dl, /* LiteralStringDelimiter */
+.chroma .sd, /* LiteralStringDoc */
+.chroma .s2, /* LiteralStringDouble */
+.chroma .se, /* LiteralStringEscape */
+.chroma .sh, /* LiteralStringHeredoc */
+.chroma .si, /* LiteralStringInterpol */
+.chroma .sx, /* LiteralStringOther */
+.chroma .sr, /* LiteralStringRegex */
+.chroma .s1, /* LiteralStringSingle */
+.chroma .ss, /* LiteralStringSymbol */
+.hljs-addition,
+.hljs-bullet,
+.hljs-string,
+.hljs-symbol {
+ color: var(--y7i);
+}
+
+.chroma .no, /* NameConstant */
+.chroma .nf, /* NameFunction */
+.chroma .ni, /* NameEntity */
+.chroma .g, /* Generic */
+.chroma .gd, /* GenericDeleted */
+.chroma .ge, /* GenericEmph */
+.chroma .gr, /* GenericError */
+.chroma .gh, /* GenericHeading */
+.chroma .gi, /* GenericInserted */
+.chroma .go, /* GenericOutput */
+.chroma .gp, /* GenericPrompt */
+.chroma .gs, /* GenericStrong */
+.chroma .gu, /* GenericSubheading */
+.chroma .gt, /* GenericTraceback */
+.chroma .gl, /* GenericUnderline */
+.hljs-section,
+.hljs-title {
+ color: var(--w8u);
+}
+
+.chroma .k, /* Keyword */
+.chroma .kc, /* KeywordConstant */
+.chroma .kt, /* KeywordType */
+.chroma .kd, /* KeywordDeclaration */
+.chroma .kp, /* KeywordPseudo */
+.chroma .kr, /* KeywordReserved */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: var(--s4n);
+}
+
+@media screen and (-ms-high-contrast: active),
+screen and (prefers-contrast: more) {
+ :root {
+ --y6a: var(--fg);
+ --w8u: var(--fg);
+ --s8i: var(--fg);
+ --n8e: var(--fg);
+ --m4i: var(--fg);
+ --y4i: var(--fg);
+ --f8a: var(--fg);
+ --s4n: var(--fg);
+ --d3u: var(--fg);
+ --r6a: var(--fg);
+ --y4a: var(--fg);
+ --k8i: var(--fg);
+ --y6i: var(--fg);
+ --o5a: var(--fg);
+ --c3u: var(--fg);
+ --s5o: var(--fg);
+ --s5e: var(--fg);
+ --y7i: var(--fg);
+ --i3i: var(--fg);
+ --t9u: var(--fg);
+ }
+
+ .hljs *,
+ .chroma * {
+ background: var(--bg) !important;
+ color: var(--fg) !important;
+ }
+
+ .hljs-keyword,
+ .hljs-selector-tag {
+ font-weight: 700;
+ }
+
+}
+
+@media print {
+
+ .lntd:first-child * {
+ /* hide line numbering; not coupled when code break into new line */
+ /* display: none; */
+ }
+
+}
\ No newline at end of file
diff --git a/assets/js/accessibility.js b/assets/js/accessibility.js
new file mode 100644
index 0000000..e927ebb
--- /dev/null
+++ b/assets/js/accessibility.js
@@ -0,0 +1,174 @@
+const bodySty = document.body;
+const htmlSty = document.documentElement.style;
+
+// Enable accessibility settings when JavaScript is permitted
+getElement('a11y').disabled = false;
+
+// Close console
+const closeA11yConsole = () => getElement('has-a11y').removeAttribute('open');
+
+// Color scheme and contrast functions
+const matchMediaColor = () => {
+ lightSwitch.checked = !window.matchMedia('(prefers-color-scheme: dark)').matches;
+
+ if (window.matchMedia('(prefers-contrast: more)').matches) {
+ moreContrast.checked = true;
+ } else if (window.matchMedia('(prefers-contrast: less)').matches) {
+ lessContrast.checked = true;
+ } else {
+ defaultContrast.checked = true;
+ }
+};
+
+function setColor() {
+ const styles = {
+ light: {
+ less: '--off: #000; --fg: #13253d; --mid: #7d8490; --ac: #36c; --bg: #e7e2e2;',
+ more: '--off: #000; --fg: #000; --mid: gray;; --ac: #36c; --bg: #fff; --border: 1pt solid var(--fg); --bound: var(--border);',
+ default: '--off: #000; --fg: #111; --mid: gray; --ac: #36c; --bg: #f9f9fb;'
+ },
+ dark: {
+ less: '--off: #fff; --fg: #e7e2e2; --mid: #7d8490; --ac: #fa0; --bg: #13253d;',
+ more: '--off: #fff; --fg: #fff; --mid: gray; --ac: #fa0; --bg: #000; --border: 1pt solid var(--fg); --bound: var(--border);',
+ default: '--off: #fff; --fg: #f9f9fb; --mid: gray; --ac: #fa0; --bg: #111;'
+ }
+ };
+ const scheme = lightSwitch.checked ? 'light' : 'dark';
+ const logomarkDark = getElement('logomark--dark');
+ if (logomarkDark) {
+ const logomark = getElement('logomark');
+ logomark.style.display = lightSwitch.checked ? 'inline-block' : 'none';
+ logomarkDark.style.display = lightSwitch.checked ? 'none' : 'inline-block';
+ }
+ const contrast = lessContrast.checked ? 'less' : (moreContrast.checked ? 'more' : 'default');
+ bodySty.setAttribute('style', styles[scheme][contrast]);
+};
+
+// Flash guard
+addEvent(document, 'DOMContentLoaded', () => {
+ setTimeout(() => htmlSty.setProperty('--flashGuard', '1s ease-in 0.1s'), 99);
+});
+
+// Switch to keyboard-friendly mode
+addEvent(document, 'keydown', (element) => {
+ if (element.key === 'Tab') {
+ document.body.classList.add('keydown');
+ }
+ if (element.key === 'Escape') {
+ document.body.classList.remove('keydown');
+ }
+});
+
+// Color palette functions
+function setColorPalette() {
+ document.body.className = colorPalette.value;
+};
+
+// OpenDyslexic functions
+function useOpenDyslexic() {
+ if (OpenDyslexic.checked) {
+ htmlSty.setProperty('--rm', 'OpenDyslexic');
+ htmlSty.setProperty('--sf', 'OpenDyslexic');
+ } else {
+ htmlSty.removeProperty('--rm');
+ htmlSty.removeProperty('--sf');
+ }
+ recalcLogotypeWidth();
+};
+
+// Font size functions
+function setFontSize() {
+ fontSizeState.value = fontSize.value;
+ htmlSty.setProperty('--fontScale', fontSize.value / 10);
+};
+
+// Baseline stretch functions
+function setStretch() {
+ baselineStretchState.value = baselineStretch.value;
+ htmlSty.setProperty('--baselineStretch', baselineStretch.value);
+};
+
+// Initialize localStorage
+function hasLocalStorage() {
+ try {
+ localStorage.is = 'enable';
+ localStorage.removeItem('is');
+ return true;
+ } catch(e) {
+ defaultContrast.checked = true;
+ getElement('noLocalStorage').className = '';
+ return false;
+ };
+};
+
+if (hasLocalStorage()) {
+ getElement('a11y-menu').className = '';
+ saveButton.disabled = false;
+ resetButton.disabled = false;
+
+ // Reset function
+ function resetA11y() {
+ localStorage.clear();
+ matchMediaColor();
+ colorPalette.reset;
+ fontSize.value = '';
+ baselineStretch.value = '';
+ OpenDyslexic.checked = false;
+ setTimeout(() => window.location.reload(), 100);
+ };
+
+ // Save function
+ function saveA11y() {
+ setTimeout(() => closeA11yConsole(), 618);
+
+ localStorage.scheme = lightSwitch.checked ? 'light' : 'dark';
+
+ if (defaultContrast.checked) localStorage.contrast = 'default';
+ if (lessContrast.checked) localStorage.contrast = 'less';
+ if (moreContrast.checked) localStorage.contrast = 'more';
+
+ localStorage.colorPalette = colorPalette.value;
+ localStorage.font = OpenDyslexic.checked ? 'OpenDyslexic' : '';
+ localStorage.fontSize = fontSize.value;
+ localStorage.stretchSize = baselineStretch.value;
+ };
+
+ // Read settings from localStorage
+
+ if (!localStorage.getItem('scheme') && !localStorage.getItem('contrast')) {
+ matchMediaColor();
+ } else {
+ lightSwitch.checked = localStorage.scheme !== 'dark';
+
+ if (localStorage.contrast === 'more') {
+ moreContrast.checked = true;
+ } else if (localStorage.contrast === 'less') {
+ lessContrast.checked = true;
+ } else {
+ defaultContrast.checked = true;
+ }
+
+ setColor();
+ }
+
+ if (localStorage.getItem('colorPalette')) {
+ colorPalette.value = localStorage.colorPalette;
+ setColorPalette();
+ }
+
+ if (localStorage.font === 'OpenDyslexic') {
+ OpenDyslexic.setAttribute('checked', 'checked');
+ useOpenDyslexic();
+ }
+
+ if (localStorage.getItem('fontSize')) {
+ fontSize.value = localStorage.fontSize;
+ setFontSize();
+ }
+
+ if (localStorage.getItem('stretchSize')) {
+ baselineStretch.value = localStorage.stretchSize;
+ setStretch();
+ }
+
+}
\ No newline at end of file
diff --git a/assets/js/bionread.js b/assets/js/bionread.js
new file mode 100644
index 0000000..b898dc8
--- /dev/null
+++ b/assets/js/bionread.js
@@ -0,0 +1,58 @@
+// make sure the switch unchecked on reload
+getElement('useBionRead').className = '';
+bionReadSwitch.checked = false;
+// define the function
+function bionRead() {
+ // define capture and restore environment variable
+ const bionReadMainContent = getElement('content');
+ const bionReadSnapshot = getElement('bionReadSnapshot');
+
+ if (!bionReadMainContent || !bionReadSnapshot) {
+ console.error('Required elements not found');
+ return;
+ }
+
+ // switch conditioning
+ if (bionReadSwitch.checked) {
+ // capture snapshot
+ bionReadSnapshot.innerHTML = bionReadMainContent.innerHTML;
+
+ // split words into 'anchored' and 'floated' part
+ const safeElements = getElements('[data-bionRead-safe]');
+ safeElements.forEach(element => {
+ const targetElements = element.querySelectorAll('h1, h2, h3, h4, h5, p, a, li, blockquote');
+ targetElements.forEach(el => {
+ const words = el.innerText.split(' ');
+ const processedWords = words.map(word => {
+ const length = word.length;
+ if (length === 1) return `${word} `;
+ const midPoint = Math.ceil(length / 2);
+ return word
+ .split('')
+ .map((char, index) => index < midPoint ? `${char} ` : char)
+ .join('');
+ });
+ el.innerHTML = processedWords.join(' ');
+ });
+ });
+
+ // make 'floated' text slices less contrast
+ htmlSty.setProperty('--fg', lightSwitch.checked ? '#333' : '#ccc');
+
+ // make 'anchored' text slices a bit weighted
+ htmlSty.setProperty('--bion', '0.028em');
+ } else {
+ // restore snapshot
+ bionReadMainContent.innerHTML = bionReadSnapshot.innerHTML;
+
+ // purge snapshot
+ bionReadSnapshot.innerHTML = '';
+
+ // restore style
+ htmlSty.removeProperty('--fg');
+ htmlSty.removeProperty('--bion');
+
+ // reset color settings
+ setColor();
+ }
+}
\ No newline at end of file
diff --git a/assets/js/default.js b/assets/js/default.js
new file mode 100644
index 0000000..58cfcc5
--- /dev/null
+++ b/assets/js/default.js
@@ -0,0 +1,171 @@
+// Event listener helper function
+function addEvent(element, event, handler) {
+ if (element?.attachEvent) {
+ return element.attachEvent('on' + event, handler);
+ }
+ return element?.addEventListener(event, handler, false);
+}
+
+// DOM element getters
+const getElement = id => document.getElementById(id);
+const getElements = selector => document.querySelectorAll(selector);
+
+// Logotype width calculation
+function recalcLogotypeWidth() {
+ const logotype = getElement('logotype');
+ const logotypeText = getElement('logotype__text');
+ logotype?.setAttribute('width', `${logotypeText.getBoundingClientRect().width}px`);
+}
+
+// Viewport adaptation
+function adaptViewport() {
+ recalcLogotypeWidth();
+ if (window.innerWidth < 640) {
+ getElement('has-more-menu')?.setAttribute('open', 'open');
+ getElement('has-search')?.setAttribute('open', 'open');
+ } else {
+ getElement('top-nav')?.setAttribute('open', 'open')
+ addEvent(visualViewport, 'resize', adaptViewport);
+ }
+}
+addEvent(window, 'DOMContentLoaded', adaptViewport);
+
+// Node collapse handlers
+const collapseParentNode = getElements('.js-cpn');
+const collapseGrandParentNode = getElements('.js-cgpn');
+const detailsElements = getElements('details.js-details');
+
+collapseParentNode.forEach(element => {
+ const handler = () => element.parentNode?.removeAttribute('open');
+ addEvent(element, 'click', handler);
+});
+
+collapseGrandParentNode.forEach(element => {
+ const handler = () => element.parentNode?.parentNode?.removeAttribute('open');
+ addEvent(element, 'click', handler);
+});
+
+if (window.innerWidth > 640) {
+ // Details element handler for firefox based browsers which do not respect the same name attribute
+ detailsElements.forEach(detail => {
+ const handler = (e) => {
+ const name = detail.getAttribute('name');
+ if (name) {
+ getElements(`details.js-details[name="${name}"]`).forEach(otherDetail => {
+ if (otherDetail !== detail && otherDetail.hasAttribute('open')) {
+ otherDetail.removeAttribute('open');
+ }
+ });
+ }
+ };
+ addEvent(detail, 'click', handler);
+ });
+}
+
+// Share functionality
+if (typeof navigatorShare !== 'undefined') {
+ getElement('navigatorShare')?.setAttribute(
+ 'href',
+ 'javascript:navigator.share({title: document.title, url: window.location.href})'
+ );
+
+ if (location.protocol === 'https:') {
+ getElement('copyPermalink')?.removeAttribute('class');
+ }
+}
+
+getElement('print-button')?.removeAttribute('class');
+getElement('back')?.removeAttribute('class');
+
+// Date handling
+const date = new Date();
+
+// Mastodon and QR code functionality
+if (typeof mastodonInstance !== 'undefined') {
+ getElement('has-mastodon').className = 'active';
+
+ const mastodonHandler = () => {
+ mastodonTitle.disabled = true;
+ mastodonPermalink.disabled = true;
+ mastodonText.disabled = false;
+ mastodon?.setAttribute('action', `${mastodonInstance.value}/share`);
+ };
+
+ addEvent(mastodonInstance, 'input', mastodonHandler);
+
+ if (typeof QRCode !== 'undefined') {
+ getElement('colophon').removeAttribute('style');
+
+ qr?.appendChild(
+ QRCode({
+ msg: window.location.href,
+ ecl: 'M',
+ pal: ['#000', '#fff'],
+ pad: 2,
+ dim: 96,
+ })
+ );
+
+ const isoTime = date.toISOString();
+ const timeStamp = getElement('time-stamp');
+ timeStamp.innerHTML = isoTime;
+ timeStamp?.setAttribute('datetime', isoTime);
+ }
+}
+
+// Digital well-being clock
+const hour = date.getHours();
+const isDaytime = hour > 6 && hour < 21;
+
+function toggleNightElements(hidden) {
+ const elements = ['grain', 'dwclock'];
+ elements.forEach(id => {
+ const element = getElement(id);
+ element?.[hidden ? 'setAttribute' : 'removeAttribute']('hidden', 'hidden');
+ });
+}
+
+if (isDaytime) {
+ toggleNightElements(true);
+} else {
+ toggleNightElements(false);
+
+ let clockInterval;
+ function updateClock() {
+ const minutes = date.getMinutes();
+ const seconds = date.getSeconds();
+ const minutesDegrees = ((minutes / 60) * 360) + ((seconds/60)*6);
+ const hourDegrees = ((hour / 12) * 360) + ((minutes/60)*30);
+
+ const transforms = ['transform', 'webkitTransform', 'mozTransform', 'msTransform', 'oTransform'];
+ const hands = {
+ '#min': minutesDegrees,
+ '#hour': hourDegrees
+ };
+
+ Object.entries(hands).forEach(([selector, degrees]) => {
+ const hand = document.querySelector(selector);
+ transforms.forEach(transform => {
+ hand.style[transform] = `rotate(${degrees}deg)`;
+ });
+ });
+ }
+
+ updateClock();
+ clockInterval = setInterval(updateClock, 10000);
+}
+
+addEvent(document, 'keydown', function(e) {
+ if (e.ctrlKey && e.key === 'k') {
+ e.preventDefault();
+ getElement('has-search')?.setAttribute('open', 'open');
+ const searchInput = document.querySelector('.pagefind-ui__search-input');
+ searchInput?.focus();
+ }
+});
+
+// addEvent(getElement('qrButton'), 'click', function() {
+// const script = document.createElement('script');
+// script.src = '/assets/js/qrcode.js';
+// document.head.appendChild(script);
+// });
diff --git a/assets/js/fediverse.js b/assets/js/fediverse.js
new file mode 100644
index 0000000..9cfdd1c
--- /dev/null
+++ b/assets/js/fediverse.js
@@ -0,0 +1,184 @@
+const id = getElement('metadata-post').innerText;
+
+if (id) {
+ const host = getElement('metadata-instance').innerText;
+ const user = getElement('metadata-user').innerText;
+ const style = document.createElement('style');
+ style.textContent = `
+ #comments > * {width: var(--golden-ratio)}
+ #comments noscript {margin: var(--medskip) 0}
+ #discussion-starter {margin-bottom: var(--medskip)}
+ #discussion-starter > footer {display: flex; align-items: center; justify-content: space-between}
+ .mastodon-comment {margin: 1rem 0 1rem calc(var(--mul) * var(--indent)); border: 1pt solid #fff4; border-left: 2pt solid var(--ac); background: #80808008; padding: 1rem 1rem 1ex; box-shadow: 0 .5pt 1pt 0 var(--g18s); overflow: auto}
+ .mastodon-comment .content {margin-left: 4rem; line-height: calc(var(--baselineStretch) * 1.272)}
+ .mastodon-comment .par a {max-width: 100%; vertical-align: bottom; white-space: break-spaces}
+ .mastodon-comment .attachments * {width: 100%; height: auto}
+ .mastodon-comment > footer {margin-top: 1rem; margin-left: 3.5rem}
+ .mastodon-comment > footer .stat {display: inline-flex; flex-shrink: 0; gap: 5pt}
+ .stat a {display: inline-flex; align-items: center; padding: 2pt; color: var(--mid); gap: 2pt}
+ .stat a::before {vertical-align: text-top}
+ a.replies.active, a.reblogs.active {color: var(--ac)}
+ a.favourites.active {color: var(--i3i)}
+ .mastodon-comment .date {margin-left: auto; padding-left: 1rem; color: var(--mid); font-size: calc(10pt * var(--fonttScale))}
+ @media only screen and (max-width: 960px) {
+ .mastodon-comment .content, .mastodon-comment > footer {margin-left: 0}
+ }
+ `;
+ document.head.appendChild(style);
+
+ function escapeHtml(unsafe) {
+ return unsafe
+ .replace(/&/g, "&")
+ .replace(//g, ">")
+ .replace(/"/g, """)
+ .replace(/'/g, "'");
+ }
+
+ let commentsLoaded = false;
+
+ const toot_active = (toot, what) => {
+ const count = toot[`${what}_count`];
+ return count > 0 ? 'active' : '';
+ };
+
+ const toot_count = (toot, what) => {
+ const count = toot[`${what}_count`];
+ return count > 0 ? count : '';
+ };
+
+ const user_account = (account) => {
+ let result = `@${account.acct}`;
+ if (!account.acct.includes('@')) {
+ const domain = new URL(account.url);
+ result += `@${domain.hostname}`;
+ }
+ return result;
+ };
+
+ const render_toots = (toots, in_reply_to, depth) => {
+ const tootsToRender = toots
+ .filter(toot => toot.in_reply_to_id === in_reply_to)
+ .sort((a, b) => a.created_at.localeCompare(b.created_at));
+ tootsToRender.forEach(toot => render_toot(toots, toot, depth));
+ };
+
+ const render_toot = (toots, toot, depth) => {
+ toot.account.display_name = escapeHtml(toot.account.display_name);
+ toot.account.emojis.forEach(emoji => {
+ toot.account.display_name = toot.account.display_name.replace(
+ `:${emoji.shortcode}:`,
+ ` `
+ );
+ });
+
+ const renderAttachment = attachment => {
+ const attachmentTypes = {
+ image: () => ` `,
+ video: () => ` `,
+ gifv: () => ` `,
+ audio: () => ` `,
+ default: () => `${attachment.type} `
+ };
+
+ return (attachmentTypes[attachment.type] || attachmentTypes.default)();
+ };
+
+ const mastodonComment = `
+ `;
+
+ getElement('mastodon-comments-list')
+ .appendChild(DOMPurify.sanitize(mastodonComment, {'RETURN_DOM_FRAGMENT': true}));
+
+ render_toots(toots, toot.id, depth + 1);
+ };
+
+ const toot_stats = toot => `
+
+ ${toot_count(toot, 'replies')}
+
+
+ ${toot_count(toot, 'reblogs')}
+
+
+ ${toot_count(toot, 'favourites')}
+ `;
+
+ const loadComments = async () => {
+ if (commentsLoaded) return;
+
+ const commentsList = getElement('mastodon-comments-list');
+ commentsList.innerHTML = getElement('i18n--is-loading').innerHTML;
+
+ try {
+ const [tootResponse, contextResponse] = await Promise.all([
+ fetch(`https://${host}/api/v1/statuses/${id}`),
+ fetch(`https://${host}/api/v1/statuses/${id}/context`)
+ ]);
+
+ const [toot, data] = await Promise.all([
+ tootResponse.json(),
+ contextResponse.json()
+ ]);
+
+ getElement("mastodon-stats").innerHTML = toot_stats(toot);
+
+ if (data.descendants?.length > 0) {
+ commentsList.innerHTML = "";
+ render_toots(data.descendants, id, 0);
+ } else {
+ commentsList.innerHTML = getElement('i18n--no-comment').innerHTML;
+ }
+
+ commentsLoaded = true;
+ commentsList.setAttribute('aria-busy', 'false');
+ } catch (error) {
+ console.error('Error loading comments:', error);
+ commentsList.innerHTML = 'Error loading comments';
+ }
+ };
+
+ const respondToVisibility = (element, callback) => {
+ const observer = new IntersectionObserver((entries) => {
+ entries.forEach(entry => {
+ if (entry.intersectionRatio > 0) {
+ callback();
+ }
+ });
+ }, { root: null });
+
+ observer.observe(element);
+ };
+
+ const comments = getElement("mastodon-comments-list");
+ respondToVisibility(comments, loadComments);
+}
\ No newline at end of file
diff --git a/assets/js/qrcode.js b/assets/js/qrcode.js
new file mode 100644
index 0000000..aace576
--- /dev/null
+++ b/assets/js/qrcode.js
@@ -0,0 +1,314 @@
+/** https://github.com/datalog/qrcode-svg under MIT license */
+'use strict';
+
+function QRCode(r) {
+ var n, t, o, e, a = [],
+ f = [],
+ i = Math.max,
+ u = Math.min,
+ h = Math.abs,
+ v = Math.ceil,
+ c = /^[0-9]*$/,
+ s = /^[A-Z0-9 $%*+.\/:-]*$/,
+ l = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:",
+ g = [
+ [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
+ [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28],
+ [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
+ [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]
+ ],
+ d = [
+ [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25],
+ [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49],
+ [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68],
+ [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81]
+ ],
+ m = {
+ L: [0, 1],
+ M: [1, 0],
+ Q: [2, 3],
+ H: [3, 2]
+ },
+ p = function(r, n) {
+ for (var t = 0, o = 8; o--;) t = t << 1 ^ 285 * (t >>> 7) ^ (n >>> o & 1) * r;
+ return t
+ },
+ C = function(r, n) {
+ for (var t = [], o = r.length, e = o; e;)
+ for (var a = r[o - e--] ^ t.shift(), f = n.length; f--;) t[f] ^= p(n[f], a);
+ return t
+ },
+ w = function(r) {
+ for (var n = [function() {
+ return 0 == (t + o) % 2
+ }, function() {
+ return 0 == t % 2
+ }, function() {
+ return 0 == o % 3
+ }, function() {
+ return 0 == (t + o) % 3
+ }, function() {
+ return 0 == ((t / 2 | 0) + (o / 3 | 0)) % 2
+ }, function() {
+ return 0 == t * o % 2 + t * o % 3
+ }, function() {
+ return 0 == (t * o % 2 + t * o % 3) % 2
+ }, function() {
+ return 0 == ((t + o) % 2 + t * o % 3) % 2
+ }][r], t = e; t--;)
+ for (var o = e; o--;) f[t][o] || (a[t][o] ^= n())
+ },
+ b = function() {
+ for (var r = function(r, n) {
+ n[6] || (r += e), n.shift(), n.push(r)
+ }, n = function(n, o, a) {
+ return n && (r(o, a), o = 0), r(o += e, a), t(a)
+ }, t = function(r) {
+ var n = r[5],
+ t = n > 0 && r[4] == n && r[3] == 3 * n && r[2] == n && r[1] == n;
+ return (t && r[6] >= 4 * n && r[0] >= n ? 1 : 0) + (t && r[0] >= 4 * n && r[6] >= n ? 1 : 0)
+ }, o = 0, f = e * e, i = 0, u = e; u--;) {
+ for (var c = [0, 0, 0, 0, 0, 0, 0], s = [0, 0, 0, 0, 0, 0, 0], l = !1, g = !1, d = 0, m = 0, p = e; p--;) {
+ a[u][p] == l ? 5 == ++d ? o += 3 : d > 5 && o++ : (r(d, c), o += 40 * t(c), d = 1, l = a[u][p]), a[p][u] == g ? 5 == ++m ? o += 3 : m > 5 && o++ : (r(m, s), o += 40 * t(s), m = 1, g = a[p][u]);
+ var C = a[u][p];
+ C && i++, p && u && C == a[u][p - 1] && C == a[u - 1][p] && C == a[u - 1][p - 1] && (o += 3)
+ }
+ o += 40 * n(l, d, c) + 40 * n(g, m, s)
+ }
+ return o += 10 * (v(h(20 * i - 10 * f) / f) - 1)
+ },
+ A = function(r, n, t) {
+ for (; n--;) t.push(r >>> n & 1)
+ },
+ M = function(r, n) {
+ return r.numBitsCharCount[(n + 7) / 17 | 0]
+ },
+ B = function(r, n) {
+ return 0 != (r >>> n & 1)
+ },
+ x = function(r, n) {
+ for (var t = 0, o = r.length; o--;) {
+ var e = r[o],
+ a = M(e, n);
+ if (1 << a <= e.numChars) return 1 / 0;
+ t += 4 + a + e.bitData.length
+ }
+ return t
+ },
+ D = function(r) {
+ if (r < 1 || r > 40) throw "Version number out of range";
+ var n = (16 * r + 128) * r + 64;
+ if (r >= 2) {
+ var t = r / 7 | 2;
+ n -= (25 * t - 10) * t - 55, r >= 7 && (n -= 36)
+ }
+ return n
+ },
+ I = function(r, n) {
+ for (var t = 2; - 2 <= t; t--)
+ for (var o = 2; - 2 <= o; o--) E(r + o, n + t, 1 != i(h(o), h(t)))
+ },
+ H = function(r, n) {
+ for (var t = 4; - 4 <= t; t--)
+ for (var o = 4; - 4 <= o; o--) {
+ var a = i(h(o), h(t)),
+ f = r + o,
+ u = n + t;
+ 0 <= f && f < e && 0 <= u && u < e && E(f, u, 2 != a && 4 != a)
+ }
+ },
+ $ = function(r) {
+ for (var n = t[1] << 3 | r, o = n, a = 10; a--;) o = o << 1 ^ 1335 * (o >>> 9);
+ var f = 21522 ^ (n << 10 | o);
+ if (f >>> 15 != 0) throw "Assertion error";
+ for (a = 0; a <= 5; a++) E(8, a, B(f, a));
+ E(8, 7, B(f, 6)), E(8, 8, B(f, 7)), E(7, 8, B(f, 8));
+ for (a = 9; a < 15; a++) E(14 - a, 8, B(f, a));
+ for (a = 0; a < 8; a++) E(e - 1 - a, 8, B(f, a));
+ for (a = 8; a < 15; a++) E(8, e - 15 + a, B(f, a));
+ E(8, e - 8, 1)
+ },
+ O = function() {
+ for (var r = e; r--;) E(6, r, 0 == r % 2), E(r, 6, 0 == r % 2);
+ for (var t = function() {
+ var r = [];
+ if (n > 1)
+ for (var t = 2 + (n / 7 | 0), o = 32 == n ? 26 : 2 * v((e - 13) / (2 * t - 2)); t--;) r[t] = t * o + 6;
+ return r
+ }(), o = r = t.length; o--;)
+ for (var a = r; a--;) 0 == a && 0 == o || 0 == a && o == r - 1 || a == r - 1 && 0 == o || I(t[a], t[o]);
+ H(3, 3), H(e - 4, 3), H(3, e - 4), $(0),
+ function() {
+ if (!(7 > n)) {
+ for (var r = n, t = 12; t--;) r = r << 1 ^ 7973 * (r >>> 11);
+ var o = n << 12 | r;
+ if (t = 18, o >>> 18 != 0) throw "Assertion error";
+ for (; t--;) {
+ var a = e - 11 + t % 3,
+ f = t / 3 | 0,
+ i = B(o, t);
+ E(a, f, i), E(f, a, i)
+ }
+ }
+ }()
+ },
+ Q = function(r) {
+ if (r.length != V(n, t)) throw "Invalid argument";
+ for (var o = d[t[0]][n], e = g[t[0]][n], a = D(n) / 8 | 0, f = o - a % o, i = a / o | 0, u = [], h = function(r) {
+ var n = 1,
+ t = [];
+ t[r - 1] = 1;
+ for (var o = 0; o < r; o++) {
+ for (var e = 0; e < r; e++) t[e] = p(t[e], n) ^ t[e + 1];
+ n = p(n, 2)
+ }
+ return t
+ }(e), v = 0, c = 0; v < o; v++) {
+ var s = r.slice(c, c + i - e + (v < f ? 0 : 1));
+ c += s.length;
+ var l = C(s, h);
+ v < f && s.push(0), u.push(s.concat(l))
+ }
+ var m = [];
+ for (v = 0; v < u[0].length; v++)
+ for (var w = 0; w < u.length; w++)(v != i - e || w >= f) && m.push(u[w][v]);
+ return m
+ },
+ S = function(r) {
+ for (var n = [], t = (r = encodeURI(r), 0); t < r.length; t++) "%" != r.charAt(t) ? n.push(r.charCodeAt(t)) : (n.push(parseInt(r.substr(t + 1, 2), 16)), t += 2);
+ return n
+ },
+ V = function(r, n) {
+ return (D(r) / 8 | 0) - g[n[0]][r] * d[n[0]][r]
+ },
+ E = function(r, n, t) {
+ a[n][r] = t ? 1 : 0, f[n][r] = 1
+ },
+ R = function(r) {
+ for (var n = [], t = 0, o = r; t < o.length; t++) {
+ var e = o[t];
+ A(e, 8, n)
+ }
+ return {
+ modeBits: 4,
+ numBitsCharCount: [8, 16, 16],
+ numChars: r.length,
+ bitData: n
+ }
+ },
+ Z = function(r) {
+ if (!c.test(r)) throw "String contains non-numeric characters";
+ for (var n = [], t = 0; t < r.length;) {
+ var o = u(r.length - t, 3);
+ A(parseInt(r.substr(t, o), 10), 3 * o + 1, n), t += o
+ }
+ return {
+ modeBits: 1,
+ numBitsCharCount: [10, 12, 14],
+ numChars: r.length,
+ bitData: n
+ }
+ },
+ z = function(r) {
+ if (!s.test(r)) throw "String contains unencodable characters in alphanumeric mode";
+ var n, t = [];
+ for (n = 0; n + 2 <= r.length; n += 2) {
+ var o = 45 * l.indexOf(r.charAt(n));
+ o += l.indexOf(r.charAt(n + 1)), A(o, 11, t)
+ }
+ return n < r.length && A(l.indexOf(r.charAt(n)), 6, t), {
+ modeBits: 2,
+ numBitsCharCount: [9, 11, 13],
+ numChars: r.length,
+ bitData: t
+ }
+ },
+ L = function(r, n, t, o) {
+ var e = function(r) {
+ return "" == r ? [] : c.test(r) ? [Z(r)] : s.test(r) ? [z(r)] : [R(S(r))]
+ }(r);
+ return U(e, n, t, o)
+ },
+ N = function(r, i, u, h) {
+ t = i, o = h;
+ for (var v = e = 4 * (n = r) + 17; v--;) a[v] = [], f[v] = [];
+ if (O(), function(r) {
+ for (var n = 0, t = 1, o = e - 1, i = o; i > 0; i -= 2) {
+ 6 == i && --i;
+ for (var u = 0 > (t = -t) ? o : 0, h = 0; h < e; ++h) {
+ for (var v = i; v > i - 2; --v) f[u][v] || (a[u][v] = B(r[n >>> 3], 7 - (7 & n)), ++n);
+ u += t
+ }
+ }
+ }(Q(u)), 0 > o) {
+ var c = 1e9;
+ for (v = 8; v--;) {
+ w(v), $(v);
+ var s = b();
+ c > s && (c = s, o = v), w(v)
+ }
+ }
+ w(o), $(o), f = []
+ },
+ U = function(r, n, t, o, e, a) {
+ if (void 0 === e && (e = 1), void 0 === a && (a = 40), void 0 === o && (o = -1), void 0 === t && (t = !0), !(1 <= e && e <= a && a <= 40) || o < -1 || o > 7) throw "Invalid value";
+ for (var f = [], i = 236, h = [], v = e;;) {
+ var c = x(r, v);
+ if (c <= 8 * V(v, n)) break;
+ if (v >= a) throw "Data too long";
+ v++
+ }
+ if (t)
+ for (var s = (l = [m.H, m.Q, m.M]).length; s--;) c <= 8 * V(v, l[s]) && (n = l[s]);
+ for (var l = 0; l < r.length; l++) {
+ var g = r[l];
+ A(g.modeBits, 4, f), A(g.numChars, M(g, v), f);
+ for (var d = 0, p = g.bitData; d < p.length; d++) f.push(p[d])
+ }
+ if (f.length != c) throw "Assertion error";
+ var C = 8 * V(v, n);
+ if (f.length > C) throw "Assertion error";
+ if (A(0, u(4, C - f.length), f), A(0, (8 - f.length % 8) % 8, f), f.length % 8 != 0) throw "Assertion error";
+ for (; f.length < C;) A(i, 8, f), i ^= 253;
+ for (s = f.length; s--;) h[s >>> 3] |= f[s] << 7 - (7 & s);
+ return N(v, n, h, o)
+ };
+ return function() {
+ function n(r) {
+ return /^#[0-9a-f]{3}(?:[0-9a-f]{3})?$/i.test(r)
+ }
+
+ function t(r, n) {
+ for (var t in r = document.createElementNS(s, r), n || {}) r.setAttribute(t, n[t]);
+ return r
+ }
+ var o, f, i, u, v, c, s = "http://www.w3.org/2000/svg",
+ l = "",
+ g = "string" == typeof r ? {
+ msg: r
+ } : r || {},
+ d = g.pal || ["#000"],
+ p = h(g.dim) || 256,
+ C = [1, 0, 0, 1, c = (c = h(g.pad)) > -1 ? c : 4, c],
+ w = n(w = d[0]) ? w : "#000",
+ b = n(b = d[1]) ? b : 0,
+ A = g.vrb ? 0 : 1;
+ for (L(g.msg || "", m[g.ecl] || m.M, 0 == g.ecb ? 0 : 1, g.mtx), v = e + 2 * c, i = e; i--;)
+ for (u = 0, f = e; f--;) a[i][f] && (A ? (u++, a[i][f - 1] || (l += "M" + f + "," + i + "h" + u + "v1h-" + u + "v-1z", u = 0)) : l += "M" + f + "," + i + "h1v1h-1v-1z");
+ return o = t("svg", {
+ viewBox: [0, 0, v, v].join(" "),
+ width: p,
+ height: p,
+ fill: w,
+ "shape-rendering": "crispEdges",
+ xmlns: s,
+ version: "1.1"
+ }), b && o.appendChild(t("path", {
+ fill: b,
+ d: "M0,0V" + v + "H" + v + "V0H0Z"
+ })), o.appendChild(t("path", {
+ transform: "matrix(" + C + ")",
+ d: l
+ })), o
+ }()
+}
\ No newline at end of file
diff --git a/config.toml b/config.toml
new file mode 100644
index 0000000..516d4f4
--- /dev/null
+++ b/config.toml
@@ -0,0 +1,4 @@
+[module]
+ [module.hugoVersion]
+ extended = false
+ min = "0.116.0"
\ No newline at end of file
diff --git a/exampleSite/config/_default/hugo.toml b/exampleSite/config/_default/hugo.toml
new file mode 100644
index 0000000..9f50045
--- /dev/null
+++ b/exampleSite/config/_default/hugo.toml
@@ -0,0 +1,31 @@
+baseURL = 'https://foxihd.github.io/hugo-brewm/'
+title = 'Example'
+theme = 'hugo-brewm'
+# enableGitInfo = true
+canonifyURLs = true
+defaultContentLanguage = 'en'
+defaultContentLanguageInSubdir = true
+enableMissingTranslationPlaceholders = true
+# sectionPagesMenu = 'main'
+ignoreFiles = ['\.bak$', '\.redacted$']
+ignoreLogs = ['err-youtube-remote']
+copyright = 'Copyright (c) Foxxi'
+
+[markup]
+ [markup.highlight]
+ codeFences = true
+ hl_Lines = ""
+ lineNoStart = 1
+ lineNos = false
+ lineNumbersInTable = true
+ noClasses = false
+ tabWidth = 4
+
+ [markup.goldmark]
+ [markup.goldmark.renderer]
+ unsafe = true # NOT-RECOMMENDED! FOR DEMO PURPOSE ONLY!
+
+[frontmatter]
+ date = ['tanggal', ':default']
+ expiryDate = ['redacted', 'kadaluwarsa', 'ditarik', ':default']
+ lastmod = ['errata', 'addendum', "lastmod", 'disunting', 'diubah', ':default'] # ":fileModTime"
\ No newline at end of file
diff --git a/exampleSite/config/_default/languages.toml b/exampleSite/config/_default/languages.toml
new file mode 100644
index 0000000..e0a4623
--- /dev/null
+++ b/exampleSite/config/_default/languages.toml
@@ -0,0 +1,33 @@
+[en]
+ contentDir = 'content/en'
+ disabled = false
+ languageCode = 'en-GB'
+ languageDirection = 'ltr'
+ languageName = 'English'
+ [en.pagination]
+ disableAliases = false
+ pagerSize = 12
+ path = 'page'
+ [en.taxonomies]
+ author = 'author'
+ category = 'categories'
+ series = 'series'
+ tag = 'tags'
+
+[id]
+ contentDir = 'content/id'
+ disabled = false
+ languageCode = 'id-ID'
+ languageDirection = 'ltr'
+ languageName = 'Bahasa Indonesia'
+ [id.pagination]
+ disableAliases = false
+ pagerSize = 12
+ path = 'laman'
+
+[it]
+ contentDir = 'content/it'
+ disabled = false
+ languageCode = 'it-IT'
+ languageDirection = 'ltr'
+ languageName = 'Italian'
\ No newline at end of file
diff --git a/exampleSite/config/_default/menus.en.toml b/exampleSite/config/_default/menus.en.toml
new file mode 100644
index 0000000..19f20af
--- /dev/null
+++ b/exampleSite/config/_default/menus.en.toml
@@ -0,0 +1,276 @@
+[[main]]
+ name = 'Fork!'
+ identifier = 'fork'
+ weight = 3
+ url = 'https://github.com/foxihd/hugo-brewm'
+ pre = 'github'
+
+[[main]]
+ name = 'Series'
+ identifier = 'series'
+ pageRef = '/series'
+ weight = 1
+
+ [[main]]
+ name = 'The Second Glass of Brew'
+ identifier = 'series.brewm'
+ pageRef = '/'
+ parent = 'series'
+ Post = "Stuff that's at the very heart of things"
+
+ [[main]]
+ name = 'Press Outta Foxx'
+ identifier = 'series.foxx'
+ pageRef = '/'
+ parent = 'series'
+ Post = "Digital Humanities and Accessibility"
+
+ [[main]]
+ name = 'Sustainable Development'
+ identifier = 'series.sdg'
+ pageRef = '/'
+ parent = 'series'
+ Post = 'The 17 Goals'
+
+ [[main]]
+ name = 'No Poverty'
+ identifier = 'series.sdg.1'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Zero Hunger'
+ identifier = 'series.sdg.2'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Good Health and Well-being'
+ identifier = 'series.sdg.3'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Quality Education'
+ identifier = 'series.sdg.4'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Gender Equality'
+ identifier = 'series.sdg.5'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Clean Water and Sanitation'
+ identifier = 'series.sdg.6'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Affordable and Clean Energy'
+ identifier = 'series.sdg.7'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Decent Work and Economic Growth'
+ identifier = 'series.sdg.8'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Industry, Innovation and Infrastructure'
+ identifier = 'series.sdg.9'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Reduced Inequalities'
+ identifier = 'series.sdg.10'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Sustainable Cities and Communities'
+ identifier = 'series.sdg.11'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Responsible Consumption and Production'
+ identifier = 'series.sdg.12'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Climate Action'
+ identifier = 'series.sdg.13'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Life Below Water'
+ identifier = 'series.sdg.14'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Life on Land'
+ identifier = 'series.sdg.15'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Peace, Justice and Strong Institutions'
+ identifier = 'series.sdg.16'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+ [[main]]
+ name = 'Partnerships for the Goals'
+ identifier = 'series.sdg.17'
+ pageRef = '/'
+ parent = 'series.sdg'
+
+[[main]]
+ name = 'Works'
+ identifier = 'works'
+ pageRef = '/'
+ weight = 2
+
+ [[main]]
+ name = 'Commission'
+ identifier = 'commission'
+ pageRef = '/'
+ parent = 'works'
+ Post = 'Example Menu'
+ weight = 1
+
+ [[main]]
+ name = 'Project'
+ identifier = 'project'
+ pageRef = '/'
+ parent = 'works'
+ Post = 'My current projects'
+ weight = 2
+
+ [[main]]
+ name = 'Gallery'
+ identifier = 'gallery'
+ pageRef = '/'
+ parent = 'works'
+ Post = 'Well, actually, silly stuff'
+ weight = 3
+
+[[more]]
+ name = 'Resources'
+ identifier = 'resources'
+ pageRef = '/'
+ weight = 3
+
+[[more]]
+ name = 'About'
+ identifier = 'about'
+ pageRef = '/'
+ weight = 5
+
+ [[more]]
+ name = 'Sustainability'
+ identifier = 'sustainability'
+ pageRef = '/'
+ parent = 'about'
+ weight = 1
+
+ [[more]]
+ name = 'Author'
+ identifier = 'author'
+ pageRef = '/author'
+ parent = 'about'
+ weight = 2
+
+[[author-name]]
+ name = '@user-name'
+ identifier = 'bluesky'
+ pageRef = '/'
+ weight = 1
+ pre = 'bluesky'
+
+[[author-name]]
+ identifier = 'discord'
+ pageRef = '/'
+ weight = 2
+ pre = 'discord'
+
+[[author-name]]
+ name = ''
+ identifier = 'mastodon'
+ pageRef = '/'
+ weight = 3
+ pre = 'mastodon'
+
+[[more]]
+ name = 'More Menu'
+ identifier = 'more.menu'
+ pageRef = '/'
+ weight = 99
+
+ [[more]]
+ name = 'That'
+ identifier = 'more.menu.that'
+ parent = 'more.menu'
+ pageRef = '/'
+
+ [[more]]
+ name = 'Never'
+ identifier = 'more.menu.that.never'
+ parent = 'more.menu.that'
+ pageRef = '/'
+
+ [[more]]
+ name = 'Too'
+ identifier = 'more.menu.that.never.too'
+ parent = 'more.menu.that.never'
+ pageRef = '/'
+
+ [[more]]
+ name = 'Deep'
+ identifier = 'more.menu.that.never.too.deep'
+ parent = 'more.menu.that.never.too'
+ pageRef = '/'
+
+[[footer]]
+ identifier = 'figma'
+ pageRef = '/'
+ weight = 1
+ name = 'figma'
+ pre = 'figma'
+
+[[footer]]
+ identifier = 'hashnode'
+ pageRef = '/'
+ weight = 2
+ name = 'hashnode'
+ pre = 'hashnode'
+
+[[footer]]
+ identifier = 'email'
+ pageRef = '/'
+ weight = 3
+ name = 'email'
+ pre = 'email'
+
+[[footer]]
+ identifier = 'linkedin'
+ pageRef = '/'
+ weight = 4
+ name = 'linkedin'
+ pre = 'linkedin'
+
+[[footer]]
+ identifier = 'karyakarsa'
+ pageRef = '/'
+ weight = 5
+ name = 'karya karsa'
+ pre = 'karyakarsa'
\ No newline at end of file
diff --git a/exampleSite/config/_default/menus.id.toml b/exampleSite/config/_default/menus.id.toml
new file mode 100644
index 0000000..e69de29
diff --git a/exampleSite/config/_default/params.toml b/exampleSite/config/_default/params.toml
new file mode 100644
index 0000000..36dcf77
--- /dev/null
+++ b/exampleSite/config/_default/params.toml
@@ -0,0 +1,19 @@
+# WebSafeFonts = true
+searchBar = true
+pageFind = true
+# logoMark = 'https://example.com/logoMark.svg'
+# logoMarkDark = 'https://example.com/logoMarkDark.svg'
+logoType = true
+extMeta = true
+coffeeStat = true
+
+[typeface] # webSafeFonts must be disabled
+ roman = 'crimson' # available option: 'Crimson' 'Cormorant', default: 'EB Garamond'
+ sans = 'inter' # available option: 'Inter', 'Monserrat', default: 'Rosario'
+
+[author]
+ name = 'Author Name'
+ email = 'email@example.com'
+ coauthor = [ # other method to add co-authors's bio
+ {name = "A.N. Other", bio = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."}
+ ]
\ No newline at end of file
diff --git a/exampleSite/content/en/_index.md b/exampleSite/content/en/_index.md
new file mode 100644
index 0000000..bd875a4
--- /dev/null
+++ b/exampleSite/content/en/_index.md
@@ -0,0 +1,11 @@
+---
+cover: 'https://raw.githubusercontent.com/foxihd/hugo-et-hd/master/static/svg/flowlines/22.svg'
+---
+
+## Hero Section / Greeter
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+Integer nec posuere quam. Mauris et rhoncus lacus. Pellentesque non sem cursus, interdum nunc ut, efficitur magna. Maecenas consectetur ornare enim, nec tempus tellus vestibulum in. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum venenatis ex non auctor malesuada. Curabitur semper elit sit amet orci facilisis fermentum. Nullam consectetur risus eget leo rhoncus egestas. Suspendisse at diam congue, venenatis augue et, ornare lectus. Curabitur ac lorem ullamcorper, consequat justo at, scelerisque lacus. Vivamus ac erat mauris. Nullam ut nibh tincidunt, placerat magna nec, fermentum tortor. Fusce ut orci sed neque sagittis rhoncus. Morbi eleifend, mauris sit amet dignissim dignissim, mauris nisi tempus orci, a congue elit ex quis ex.
+
+--- Lorem Ipsum
\ No newline at end of file
diff --git a/exampleSite/content/en/footer.md b/exampleSite/content/en/footer.md
new file mode 100644
index 0000000..1fcf709
--- /dev/null
+++ b/exampleSite/content/en/footer.md
@@ -0,0 +1,15 @@
+---
+type: 'footer'
+weight: 1
+target: 'https://example.com'
+coffee: 2
+---
+
+Foxx Edelweiss 2025
+
+Some rights reserved.
+
+
+Impressum
+
+Lorem ipsum dolor sit amet.
\ No newline at end of file
diff --git a/exampleSite/content/en/post/_index.md b/exampleSite/content/en/post/_index.md
new file mode 100644
index 0000000..bc7c556
--- /dev/null
+++ b/exampleSite/content/en/post/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Post"
+translationKey: post
+---
\ No newline at end of file
diff --git a/exampleSite/content/en/post/configure-discussion.md b/exampleSite/content/en/post/configure-discussion.md
new file mode 100644
index 0000000..3f56bcb
--- /dev/null
+++ b/exampleSite/content/en/post/configure-discussion.md
@@ -0,0 +1,26 @@
+---
+title: "Configure Discussion"
+description: "How to configure post discussion in Hugo Brewm theme"
+date: 2025-01-26
+type: post
+draft: false
+translationKey: discussion
+coffee: 1
+tags: ['configuration', 'discussion']
+categories: ['configuration']
+---
+
+You can integrate discussions from you Fediverse instance to you article. To enable this feature, add the `fediverse` section to your front matter with the required `host`, `user`, and `post` parameters:
+
+```yaml
+---
+title: "Example"
+type: "post"
+fediverse:
+ host: fediverse.instance
+ user: user-name
+ post: 123456789012345678
+---
+```
+
+You might need to preview the article's permalink before sharing it on the Fediverse network, or perform CI/CD twice.
\ No newline at end of file
diff --git a/exampleSite/content/en/post/configure-logo.md b/exampleSite/content/en/post/configure-logo.md
new file mode 100644
index 0000000..dd29f63
--- /dev/null
+++ b/exampleSite/content/en/post/configure-logo.md
@@ -0,0 +1,41 @@
+---
+title: "Configure Logo"
+description: "How to configure the Logo in Hugo Brewm theme"
+date: 2025-01-26
+type: post
+draft: false
+translationKey: logo
+coffee: 1
+tags: ['configuration', 'logo']
+categories: ['configuration']
+---
+
+The Hugo Brewm theme allows you to easily configure your site's logo. Follow these steps to set up your logo:
+
+## Adding Logo Image / Logomark Icon
+
+> Prepare your logo image
+>
+> - Create or prepare your logo image file (recommended formats: PNG or SVG)
+> - For best results, use an image with a transparent background
+> - Recommended dimensions: height of 50px to 70px
+> - You can also add dark mode version of your logo
+
+Configure the logo in your site configuration:
+
+```toml
+[params]
+ logoMark = 'https://example.com/logoMark.svg'
+ logoMarkDark = 'https://example.com/logoMarkDark.svg' #optional
+```
+
+## Using Logo Type Preset
+
+If you prefer not to use an image logo, you can enable the built-in text-based logo by adding this setting:
+
+```toml
+[params]
+ logoType = true
+```
+
+After making these changes, rebuild your site to see the updated logo. The logo will automatically appear in the site's header and will be responsive across different device sizes.
diff --git a/exampleSite/content/en/post/configure-main-footer.md b/exampleSite/content/en/post/configure-main-footer.md
new file mode 100644
index 0000000..6891067
--- /dev/null
+++ b/exampleSite/content/en/post/configure-main-footer.md
@@ -0,0 +1,51 @@
+---
+title: "Configure Main Footer"
+description: "How to configure the main footer in Hugo Brewm theme"
+date: 2025-01-26
+type: post
+draft: false
+translationKey: mainfooter
+coffee: 1
+tags: ['configuration', 'footer']
+categories: ['configuration']
+---
+
+The main footer in Hugo Brewm theme can be customized through several configuration options. Here's how to set up different components of the footer.
+
+## Configure Footer Title and Content
+
+To set up the main footer content, create a markdown file in your content directory with the following front matter:
+
+```yaml
+---
+type: footer
+title: "Your Main Footer Title"
+weight: 1
+---
+```
+
+You can then add your footer content below the front matter using markdown.
+Multiple footer sections can be created using different markdown files.
+
+## Configure Footer Menu Items
+
+Footer menu items can be configured in your site's config.toml file. Here's how to add menu items:
+
+```toml
+[[menu.footer]]
+ identifier = "github" # Unique identifier for the menu item
+ name = "GitHub" # Display name/tooltip
+ url = "https://github.com/" # Link URL
+ pre = "github" # Icon
+```
+
+## Enable Coffee Stats
+
+If you want to display coffee statistics in your footer, enable it in your config.toml:
+
+```toml
+[params]
+ coffeeStat = true # Set to false to disable
+```
+
+Every `coffee` parameter in your content frontmatter will be counted and displayed in the footer.
diff --git a/exampleSite/content/en/post/configure-menu.md b/exampleSite/content/en/post/configure-menu.md
new file mode 100644
index 0000000..8afbd3a
--- /dev/null
+++ b/exampleSite/content/en/post/configure-menu.md
@@ -0,0 +1,151 @@
+---
+title: "Configure Menu"
+description: "How to configure the menu in Hugo Brewm theme"
+date: 2025-01-26
+type: post
+draft: false
+translationKey: menus
+coffee: 1
+tags: ['configuration', 'menu']
+categories: ['configuration']
+---
+
+Learn how to configure menus in the Hugo Brewm theme using either `config.toml` or `menus[.lang].toml` files.
+
+## Menu Parameters
+
+- `identifier`: Unique identifier for each menu item
+- `name`: Text shown in the menu
+- `url`: External link destination
+- `pageRef`: Link to internal pages
+- `weight`: Menu item ordering (smaller numbers first)
+- `pre`: Icon placement
+- `post`: Description for the link
+- `parent`: Parent menu item reference
+
+## Adding Icons
+
+Add icons to your menu items with the `pre` parameter. Currently, only preset font icons are supported:
+
+```toml
+[[menu.main]]
+ identifier = "github"
+ name = "GitHub"
+ url = "https://github.com/"
+ pre = "github"
+```
+
+## Creating Nested Menus
+
+Create dropdown menus by using the `parent` parameter:
+
+```toml
+[[menu.main]]
+ identifier = "about"
+ name = "About"
+ pageRef = "/about"
+
+ [[menu.main]]
+ identifier = "about-author"
+ name = "Author"
+ pageRef = "/about/author"
+ parent = "about"
+```
+
+## Language Support
+
+There are four ways to add multi-language support to your menus:
+
+### 1. Using `menu.[menuID].params.lang`
+
+In `config.toml`:
+
+```toml
+[[menu.main]]
+ identifier = "about"
+ name = "About"
+ url = "/about/"
+ [menu.main.params]
+ lang = "en"
+
+[[menu.id.main]]
+ identifier = "about"
+ name = "Tentang"
+ url = "/tentang/"
+ [menu.main.params]
+ lang = "id"
+```
+
+### 2. Using `menu.[lang].[menuID]`
+
+In `config.toml`:
+
+```toml
+[[menu.en.main]]
+ identifier = "about"
+ name = "About"
+ url = "/about/"
+
+ [[menu.en.main]]
+ identifier = "about-author"
+ name = "Author"
+ pageRef = "/about/author"
+ parent = "about"
+
+[[menu.id.main]]
+ identifier = "about"
+ name = "Tentang"
+ url = "/tentang/"
+
+ [[menu.id.main]]
+ identifier = "about-author"
+ name = "Tentang Penyusun"
+ pageRef = "/tentang/penyusun"
+ parent = "about"
+```
+
+### 3. Using Separate Menu Files
+
+In `menus.en.toml`:
+
+```toml
+[[main]]
+ identifier = "about"
+ name = "About"
+ url = "/about/"
+
+ [[main]]
+ identifier = "about-author"
+ name = "Author"
+ pageRef = "/about/author"
+ parent = "about"
+```
+
+In `menus.id.toml`:
+
+```toml
+[[main]]
+ identifier = "about"
+ name = "Tentang"
+ url = "/tentang/"
+
+ [[menu.id.main]]
+ identifier = "about-author"
+ name = "Tentang Penyusun"
+ pageRef = "/tentang/penyusun"
+ parent = "about"
+```
+
+### 4. Using Front Matter in Markdown Files
+
+in `index[.lang].md` `_index[.lang].md` or `filename[.lang].md`
+
+```toml
+---
+title: "About Author"
+menus:
+ main:
+ indetifier: about-author
+ parent: about
+---
+```
diff --git a/exampleSite/content/en/post/configure-pagefind.md b/exampleSite/content/en/post/configure-pagefind.md
new file mode 100644
index 0000000..d36d683
--- /dev/null
+++ b/exampleSite/content/en/post/configure-pagefind.md
@@ -0,0 +1,41 @@
+---
+title: "Configure Pagefind"
+description: "How to configure Pagefind in Hugo Brewm theme"
+date: 2025-01-26
+type: post
+draft: false
+translationKey: pagefind
+coffee: 1
+tags: ['configuration', 'pagefind']
+categories: ['configuration']
+---
+
+## Setting up search in Hugo configuration
+
+To enable search functionality, you'll need to modify your `config.toml` file. First, enable the search button using `.params.search`. Then activate `.params.pagefind`, if you skip this step, the theme will default to using DuckDuckGo instead.
+
+```toml
+[params]
+ search = true
+ pagefind = true
+```
+
+## Setting up post frontmatter
+
+To make post indexed, you'll need to set `type` to `post` to the frontmatter of each post.
+
+```yaml
+---
+title: "Post"
+type: post
+---
+```
+
+## Setting up your CI/CD pipeline
+
+To create the search index, add this command to your CI/CD pipeline's build step:
+
+```yaml
+- name: Index pagefind
+ run: npx pagefind --source "public"
+```
\ No newline at end of file
diff --git a/exampleSite/content/en/post/configure-slides.md b/exampleSite/content/en/post/configure-slides.md
new file mode 100644
index 0000000..9fc3aa7
--- /dev/null
+++ b/exampleSite/content/en/post/configure-slides.md
@@ -0,0 +1,54 @@
+---
+title: "Configure Homepage Slides"
+description: "How to configure Homepage Slides section in Hugo Brewm theme"
+date: 2025-01-26
+type: post
+draft: false
+translationKey: slide
+coffee: 1
+tags: ['configuration', 'slide']
+categories: ['homepage']
+---
+
+## Setting up slide content
+
+The Hugo Brewm theme features a homepage slides section that showcases important content through an interactive carousel.
+{{< marginpar >}}You can add a `cover` parameter to add a slide cover; this parameter also changes the slide layout.{{< /marginpar >}}
+To create multiple slides, you'll need to make separate files containing this front matter structure:
+
+```yaml
+---
+type: slide
+title: "Slide Title"
+---
+```
+
+## Dedicated Shortcode for Slide Content
+
+### External RSS feeds
+
+The slides section can integrate content from external sources using the RSS shortcode.
+
+```yaml
+---
+type: slide
+title: "My post on example.com"
+---
+
+{{* rss "https://example.com/feed.xml" */>}}
+```
+
+### Gallery with Masonry layout
+
+For a Pinterest-style layout, you can implement the pin shortcode as follows:
+
+```toml
+{{* pin "begin" */>}}
+{{* pin img="https://example.com/item1.jpg" url="https://example.com/item1" label="Item 1" */>}}
+{{* pin img="https://example.com/item2.jpg" url="https://example.com/item2" label="Item 2" */>}}
+{{* pin img="https://example.com/item3.jpg" url="https://example.com/item3" label="Item 3" */>}}
+{{* pin img="https://example.com/item4.jpg" url="https://example.com/item4" label="Item 4" */>}}
+{{* pin img="https://example.com/item5.jpg" url="https://example.com/item5" label="Item 5" */>}}
+{{* pin img="https://example.com/item6.jpg" url="https://example.com/item6" label="Item 6" */>}}
+{{* pin "end" */>}}
+```
\ No newline at end of file
diff --git a/exampleSite/content/en/post/markdown-test.md b/exampleSite/content/en/post/markdown-test.md
new file mode 100644
index 0000000..a79f784
--- /dev/null
+++ b/exampleSite/content/en/post/markdown-test.md
@@ -0,0 +1,83 @@
+---
+title: "Markdown Test"
+description: "Various sample Markdown test"
+date: 2025-01-26
+type: post
+draft: false
+translationKey: markdown
+coffee: 1
+tags: ['markdown']
+categories: ['test']
+---
+
+T his is example of span with letterine class.
+You need set the `markup.goldmark.unsafe` and `markup.goldmark.renderer.unsafe` parameter in `config.toml` to write html directly, but this is not recommended.
+{{< marginpar >}}
+And this is marginpar.
+**Bold text**,
+*Italic text*,
+***Bold and italic text***,
+~~Strikethrough text~~
+[Link text](https://example.com)
+---also works.
+{{< /marginpar >}}
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+
+## Heading 2
+
+First paragraph will not indent.
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+
+Second paragraph and after will indent.
+Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+> This is a blockquote
+>> Nested blockquote
+
+### Heading 3
+
+1. Ordered list item 1
+2. Ordered list item 2
+ - Nested unordered item
+ - Another nested item
+3. Ordered list item 3
+
+- Unordered list item
+- Another item
+ - Nested item
+ - Another nested item
+
+#### Heading 4
+
+![Image alt text](https://upload.wikimedia.org/wikipedia/commons/thumb/6/65/Domestic_cat_sitting_by_door.jpg/640px-Domestic_cat_sitting_by_door.jpg)
+
+| Header 1 | Header 2 |
+|----------|----------|
+| Cell 1 | Cell 2 |
+| Cell 3 | Cell 4 |
+
+Task list:
+- [x] Completed task
+- [ ] Incomplete task
+
+##### Heading 5
+
+Here's some `inline code` and some ***combined*** formatting.
+
+Here's some block code:
+
+ // code block with four space
+ def hello_world():
+ print("Hello, World!")
+
+```js
+// Code block with syntax highlighting
+function greeting(name) {
+ return `Hello, ${name}!`;
+}
+```
+
+###### Heading 6
+
+Heading level 6 will show as inline paragraph.
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
\ No newline at end of file
diff --git a/exampleSite/content/en/rss.md b/exampleSite/content/en/rss.md
new file mode 100644
index 0000000..f7a4e3d
--- /dev/null
+++ b/exampleSite/content/en/rss.md
@@ -0,0 +1,8 @@
+---
+type: 'slide'
+title: 'Hugo Release News'
+---
+
+This is a slide with RSS feed.
+
+{{< rss url="https://gohugo.io/news/index.xml" >}}
\ No newline at end of file
diff --git a/exampleSite/content/en/slide.md b/exampleSite/content/en/slide.md
new file mode 100644
index 0000000..ebf3b72
--- /dev/null
+++ b/exampleSite/content/en/slide.md
@@ -0,0 +1,10 @@
+---
+type: 'slide'
+title: 'This is slide'
+cover: 'https://raw.githubusercontent.com/foxihd/hugo-et-hd/master/static/svg/flowlines/28.svg'
+weight: 1
+---
+
+This demonstrates an example of two slide item. The navigation will change when there are three or more slides.
+
+This is slide layout with cover image in frontmatter.
\ No newline at end of file
diff --git a/exampleSite/content/id/pos/_index.md b/exampleSite/content/id/pos/_index.md
new file mode 100644
index 0000000..5b26e69
--- /dev/null
+++ b/exampleSite/content/id/pos/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Pos"
+translationKey: post
+---
\ No newline at end of file
diff --git a/exampleSite/content/id/pos/mengatur-diskusi.md b/exampleSite/content/id/pos/mengatur-diskusi.md
new file mode 100644
index 0000000..9c57a64
--- /dev/null
+++ b/exampleSite/content/id/pos/mengatur-diskusi.md
@@ -0,0 +1,24 @@
+---
+title: "Menambahkan Diskusi"
+description: "Cara menambahkan diskusi postingan di tema Hugo Brewm"
+date: 2025-01-26
+type: 'post'
+draft: false
+translationKey: discussion
+coffee: 1
+---
+
+Anda dapat mengintergasikan diskusi dari postingan Fediverse anda dengan artikel. Untuk mengaktifkan fitur ini, tambahkan bagian `fediverse` ke front matter Anda dengan parameter `host`, `user`, dan `post` yang diperlukan:
+
+```yaml
+---
+title: "Contoh"
+type: "post"
+fediverse:
+ host: fediverse.instance
+ user: user-name
+ post: 123456789012345678
+---
+```
+
+Anda mungkin perlu melihat pratinjau permalink artikel sebelum membagikannya di jaringan Fediverse, atau melakukan CI/CD dua kali.
\ No newline at end of file
diff --git a/exampleSite/content/id/pos/mengatur-footer-situs.md b/exampleSite/content/id/pos/mengatur-footer-situs.md
new file mode 100644
index 0000000..ac750a8
--- /dev/null
+++ b/exampleSite/content/id/pos/mengatur-footer-situs.md
@@ -0,0 +1,48 @@
+---
+title: "Mengatur Footer Utama"
+description: "Cara mengatur footer utama di tema Hugo Brewm"
+date: 2025-01-26
+draft: false
+translationKey: mainfooter
+coffee: 1
+---
+
+Footer utama di tema Hugo Brewm dapat disesuaikan melalui beberapa opsi konfigurasi. Berikut cara mengatur berbagai komponen footer.
+
+## Mengatur Judul dan Konten Footer
+
+Untuk mengatur konten footer utama, buat file markdown di direktori konten Anda dengan front matter berikut:
+
+
+---
+type: footer
+title: "Judul Footer Utama Anda"
+weight: 1
+---
+
+
+Anda kemudian dapat menambahkan konten footer di bawah front matter menggunakan markdown.
+Beberapa bagian footer dapat dibuat menggunakan file markdown yang berbeda.
+
+## Mengatur Item Menu Footer
+
+Item menu footer dapat dikonfigurasi di file config.toml situs Anda. Berikut cara menambahkan item menu:
+
+```toml
+[[menu.footer]]
+ identifier = "github" # Pengenal unik untuk item menu
+ name = "GitHub" # Nama tampilan/tooltip
+ url = "https://github.com/" # URL tautan
+ pre = "github" # Ikon
+```
+
+## Mengaktifkan Statistik Kopi
+
+Jika Anda ingin menampilkan statistik kopi di footer Anda, aktifkan di config.toml:
+
+```toml
+[params]
+ coffeeStat = true # Atur ke false untuk menonaktifkan
+```
+
+Setiap parameter `coffee` di frontmatter konten Anda akan dihitung dan ditampilkan di footer.
\ No newline at end of file
diff --git a/exampleSite/content/id/pos/mengatur-logo.md b/exampleSite/content/id/pos/mengatur-logo.md
new file mode 100644
index 0000000..40732c1
--- /dev/null
+++ b/exampleSite/content/id/pos/mengatur-logo.md
@@ -0,0 +1,39 @@
+---
+title: "Mengatur Logo"
+description: "Cara mengatur Logo di tema Hugo Brewm"
+date: 2025-01-26
+type: 'post'
+draft: false
+translationKey: logo
+coffee: 1
+---
+
+Tema Hugo Brewm memungkinkan Anda untuk dengan mudah mengatur logo situs Anda. Ikuti langkah-langkah berikut untuk mengatur logo Anda:
+
+## Menambahkan Gambar Logo / Ikon LogoMark
+
+> Siapkan gambar logo Anda
+>
+> - Buat atau siapkan file gambar logo Anda (format yang disarankan: PNG atau SVG)
+> - Untuk hasil terbaik, gunakan gambar dengan latar belakang transparan
+> - Dimensi yang disarankan: tinggi 50px hingga 70px
+> - Anda juga dapat menambahkan versi mode gelap dari logo Anda
+
+Atur logo(mark) di konfigurasi situs Anda:
+
+```toml
+[params]
+ logoMark = 'https://example.com/logoMark.svg'
+ logoMarkDark = 'https://example.com/logoMarkDark.svg' #opsional
+```
+
+## Menggunakan Preset Logo Type
+
+Jika Anda lebih suka tidak menggunakan logo gambar, Anda dapat mengaktifkan logo berbasis teks bawaan dengan menambahkan pengaturan ini:
+
+```toml
+[params]
+ logoType = true
+```
+
+Setelah membuat perubahan ini, bangun ulang situs Anda untuk melihat logo yang diperbarui. Logo akan secara otomatis muncul di header situs dan akan responsif di berbagai ukuran perangkat.
\ No newline at end of file
diff --git a/exampleSite/content/id/pos/mengatur-menu.md b/exampleSite/content/id/pos/mengatur-menu.md
new file mode 100644
index 0000000..b330425
--- /dev/null
+++ b/exampleSite/content/id/pos/mengatur-menu.md
@@ -0,0 +1,149 @@
+---
+title: "Mengatur Menu"
+description: "Cara mengatur menu di tema Hugo Brewm"
+date: 2025-01-26
+type: 'post'
+draft: false
+translationKey: menus
+coffee: 1
+---
+
+Pelajari cara mengatur menu di tema Hugo Brewm menggunakan file `config.toml` atau `menus[.lang].toml`.
+
+## Parameter Menu
+
+- `identifier`: Pengenal unik untuk setiap item menu
+- `name`: Teks yang ditampilkan di menu
+- `url`: Tujuan tautan eksternal
+- `pageRef`: Tautan ke halaman internal
+- `weight`: Pengurutan item menu (angka lebih kecil lebih dulu)
+- `pre`: Setel ikon
+- `post`: Deskripsi untuk tautan
+- `parent`: Referensi item menu induk
+
+## Menambahkan Ikon
+
+Tambahkan ikon ke item menu Anda dengan parameter `pre`. Saat ini, hanya ikon yang tedapat pada font yang didukung:
+
+```toml
+[[menu.main]]
+ identifier = "github"
+ name = "GitHub"
+ url = "https://github.com/"
+ pre = "github"
+```
+
+## Membuat Menu Bertingkat
+
+Buat menu dropdown dengan menggunakan parameter `parent`:
+
+```toml
+[[menu.main]]
+ identifier = "about"
+ name = "Tentang"
+ pageRef = "/about"
+
+ [[menu.main]]
+ identifier = "about-author"
+ name = "Penulis"
+ pageRef = "/about/author"
+ parent = "about"
+```
+
+## Dukungan Bahasa
+
+Ada empat cara untuk menambahkan dukungan multi-bahasa ke menu Anda:
+
+### 1. Menggunakan `menu.[menuID].params.lang`
+
+Di `config.toml`:
+
+```toml
+[[menu.main]]
+ identifier = "about"
+ name = "About"
+ url = "/about/"
+ [menu.main.params]
+ lang = "en"
+
+[[menu.id.main]]
+ identifier = "about"
+ name = "Tentang"
+ url = "/tentang/"
+ [menu.main.params]
+ lang = "id"
+```
+
+### 2. Menggunakan `menu.[lang].[menuID]`
+
+Di `config.toml`:
+
+```toml
+[[menu.en.main]]
+ identifier = "about"
+ name = "About"
+ url = "/about/"
+
+ [[menu.en.main]]
+ identifier = "about-author"
+ name = "Author"
+ pageRef = "/about/author"
+ parent = "about"
+
+[[menu.id.main]]
+ identifier = "about"
+ name = "Tentang"
+ url = "/tentang/"
+
+ [[menu.id.main]]
+ identifier = "about-author"
+ name = "Tentang Penyusun"
+ pageRef = "/tentang/penyusun"
+ parent = "about"
+```
+
+### 3. Menggunakan File Menu Terpisah
+
+Di `menus.en.toml`:
+
+```toml
+[[main]]
+ identifier = "about"
+ name = "About"
+ url = "/about/"
+
+ [[main]]
+ identifier = "about-author"
+ name = "Author"
+ pageRef = "/about/author"
+ parent = "about"
+```
+
+Di `menus.id.toml`:
+
+```toml
+[[main]]
+ identifier = "about"
+ name = "Tentang"
+ url = "/tentang/"
+
+ [[menu.id.main]]
+ identifier = "about-author"
+ name = "Tentang Penyusun"
+ pageRef = "/tentang/penyusun"
+ parent = "about"
+```
+
+### 4. Menggunakan Front Matter di File Markdown
+
+di `index[.lang].md` `_index[.lang].md` atau `filename[.lang].md`
+
+```toml
+---
+title: "Tentang Penulis"
+menus:
+ main:
+ indetifier: about-author
+ parent: about
+---
+```
diff --git a/exampleSite/content/id/pos/mengatur-pagefind.md b/exampleSite/content/id/pos/mengatur-pagefind.md
new file mode 100644
index 0000000..e70aa9f
--- /dev/null
+++ b/exampleSite/content/id/pos/mengatur-pagefind.md
@@ -0,0 +1,39 @@
+---
+title: "Mengatur Pagefind"
+description: "Panduan untuk mengatur pencarian Pagefind di tema Hugo Brewm"
+date: 2025-01-26
+type: 'post'
+draft: false
+translationKey: pagefind
+coffee: 1
+---
+
+## Mengatur pencarian di konfigurasi Hugo
+
+Untuk mengaktifkan fungsi pencarian, Anda perlu memodifikasi file `config.toml`. Pertama, aktifkan tombol pencarian menggunakan `.params.search`. Kemudian aktifkan `.params.pagefind`, jika Anda melewatkan langkah ini, tema akan menggunakan DuckDuckGo sebagai default.
+
+```toml
+[params]
+ search = true
+ pagefind = true
+```
+
+## Mengatur frontmatter pos
+
+Untuk membuat pos terindeks, Anda perlu mengatur `type` menjadi `post` pada frontmatter setiap pos.
+
+```yaml
+---
+title: "Pos"
+type: post
+---
+```
+
+## Mengatur pipeline CI/CD
+
+Untuk membuat indeks pencarian, tambahkan perintah ini ke langkah build pipeline CI/CD Anda:
+
+```yaml
+- name: Index pagefind
+ run: npx pagefind --source "public"
+```
\ No newline at end of file
diff --git a/exampleSite/content/id/pos/mengatur-slide.md b/exampleSite/content/id/pos/mengatur-slide.md
new file mode 100644
index 0000000..b0ef32f
--- /dev/null
+++ b/exampleSite/content/id/pos/mengatur-slide.md
@@ -0,0 +1,52 @@
+---
+title: "Mengatur Slide Beranda"
+description: "Cara mengatur Bagian Slide Beranda di tema Hugo Brewm"
+date: 2025-01-26
+type: 'post'
+draft: false
+translationKey: slide
+coffee: 1
+---
+
+## Menyiapkan konten slide
+
+Tema Hugo Brewm memiliki bagian slide beranda yang menampilkan konten penting melalui carousel interaktif.
+{{< marginpar >}}Anda dapat menambahkan parameter `cover` untuk menambahkan sampul slide; parameter ini juga mengubah tata letak slide.{{< /marginpar >}}
+Untuk membuat beberapa slide, Anda perlu membuat file terpisah yang berisi struktur front matter seperti ini:
+
+```yaml
+---
+type: slide
+title: "Judul Slide"
+---
+```
+
+## Shortcode Khusus untuk Konten Slide
+
+### Feed RSS eksternal
+
+Bagian slide dapat mengintegrasikan konten dari sumber eksternal menggunakan shortcode RSS.
+
+```yaml
+---
+type: slide
+title: "Postingan saya di example.com"
+---
+
+{{* rss "https://example.com/feed.xml" */>}}
+```
+
+### Galeri dengan tata letak Masonry
+
+Untuk gallery dengan tata letak gaya Pinterest, Anda dapat mengimplementasikan shortcode pin seperti berikut:
+
+```toml
+{{* pin "begin" */>}}
+{{* pin img="https://example.com/item1.jpg" url="https://example.com/item1" label="Item 1" */>}}
+{{* pin img="https://example.com/item2.jpg" url="https://example.com/item2" label="Item 2" */>}}
+{{* pin img="https://example.com/item3.jpg" url="https://example.com/item3" label="Item 3" */>}}
+{{* pin img="https://example.com/item4.jpg" url="https://example.com/item4" label="Item 4" */>}}
+{{* pin img="https://example.com/item5.jpg" url="https://example.com/item5" label="Item 5" */>}}
+{{* pin img="https://example.com/item6.jpg" url="https://example.com/item6" label="Item 6" */>}}
+{{* pin "end" */>}}
+```
\ No newline at end of file
diff --git a/exampleSite/content/id/pos/tes-markdown.md b/exampleSite/content/id/pos/tes-markdown.md
new file mode 100644
index 0000000..66c8373
--- /dev/null
+++ b/exampleSite/content/id/pos/tes-markdown.md
@@ -0,0 +1,81 @@
+---
+title: "Tes Markdown"
+description: "Berbagai contoh tes Markdown"
+date: 2025-01-26
+type: 'post'
+draft: false
+translationKey: markdown
+coffee: 1
+---
+
+I ni adalah contoh span dengan kelas letterine.
+Anda perlu mengatur parameter `markup.goldmark.unsafe` dan `markup.goldmark.renderer.unsafe` di `config.toml` untuk menulis html secara langsung, tetapi ini tidak direkomendasikan.
+{{< marginpar >}}
+Dan ini adalah marginpar.
+**Teks tebal**,
+*Teks miring*,
+***Teks tebal dan miring***,
+~~Teks dicoret~~
+[Teks tautan](https://example.com)
+---juga berfungsi.
+{{< /marginpar >}}
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+
+## Judul 2
+
+Paragraf pertama tidak akan menjorok.
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+
+Paragraf kedua dan setelahnya akan menjorok.
+Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+> Ini adalah kutipan
+>> Kutipan bertumpuk
+
+### Judul 3
+
+1. Item daftar terurut 1
+2. Item daftar terurut 2
+ - Item tidak terurut bersarang
+ - Item bersarang lainnya
+3. Item daftar terurut 3
+
+- Item daftar tidak terurut
+- Item lainnya
+ - Item bersarang
+ - Item bersarang lainnya
+
+#### Judul 4
+
+![Teks alternatif gambar](https://upload.wikimedia.org/wikipedia/commons/thumb/6/65/Domestic_cat_sitting_by_door.jpg/640px-Domestic_cat_sitting_by_door.jpg)
+
+| Header 1 | Header 2 |
+|----------|----------|
+| Sel 1 | Sel 2 |
+| Sel 3 | Sel 4 |
+
+Daftar tugas:
+- [x] Tugas selesai
+- [ ] Tugas belum selesai
+
+##### Judul 5
+
+Ini adalah `kode dalam baris` dan beberapa pemformatan ***gabungan***.
+
+Ini adalah blok kode:
+
+ // blok kode dengan empat spasi
+ def hello_world():
+ print("Halo, Dunia!")
+
+```js
+// Blok kode dengan penyorotan sintaks
+function salam(nama) {
+ return `Halo, ${nama}!`;
+}
+```
+
+###### Judul 6
+
+Tingkat judul 6 akan ditampilkan sebagai paragraf dalam baris.
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
\ No newline at end of file
diff --git a/i18n/en.toml b/i18n/en.toml
new file mode 100644
index 0000000..413ade7
--- /dev/null
+++ b/i18n/en.toml
@@ -0,0 +1,203 @@
+[accessibility]
+ other = "Accessibility"
+[accessTime]
+ other = "This page is accessed on"
+[allPosts]
+ other = "All posts"
+[appearance]
+ other = "Appearance"
+[articles]
+ one = "Article"
+ other = "Articles"
+[author]
+ one = "Author"
+ other = "Authors"
+[back]
+ other = "Go Back"
+[baselineStretch]
+ other = "Baseline Stretch"
+[bionRead]
+ other = "BionRead Mode"
+[breadcrumb]
+ other = "Breadcrumb"
+[buildTime]
+ other = "This page is built on"
+[bypass]
+ other = "Bypass Navigation"
+[categories]
+ one = "Category"
+ other = "Categories"
+[close]
+ other = "Close"
+[coffeeStat]
+ other = "Coffee Stat"
+[coffeeCount]
+ other = "Making this website has taken at least "
+[coffeeCountPost]
+ other = ", if not more."
+[colophon]
+ other = "Colophon"
+[colorPalette]
+ other = "Color Palette"
+[colorSettings]
+ other = "Color Settings"
+[comments]
+ other = "Discussion"
+[contrast]
+ other = "Contrast"
+[contrib]
+ other = "Contribute"
+[contribAskReader]
+ other = "Enjoy this article?"
+[contribAskReaderResponse]
+ other = "Awesome!"
+[contribAskReaderToContribute]
+ other = "You can also support me by making the following contributions:"
+[contribCoffeeStat]
+ other = "Did you know that"
+[contribCoffeeStatPost]
+ other = "helped me write this article?"
+[copy]
+ other = "Copy Url"
+[ctaComments]
+ other = "Join Discussion"
+[cup]
+ one = "Cup of coffee"
+ other = "Cups of coffee"
+[dark]
+ other = "Dark"
+[darkMode]
+ other = "Dark Mode"
+[date_long]
+ other = "January 2, 2006"
+[defaultColor]
+ other = "Default"
+[defaultContrast]
+ other = "Default"
+[deuteranopia]
+ other = "Deuteranopia"
+[discover]
+ other = "Discover Topics"
+[editedBy]
+ other = "Edited By"
+[email]
+ other = "Email"
+[featuredImg]
+ other = "Featured image"
+[fediverseIsLoading]
+ other = "Loading comments on Fediverse"
+[followRSS]
+ other = "Follow with RSS"
+[fontSize]
+ other = "Font Size"
+[home]
+ other = "home"
+[in]
+ other = "in"
+[inNewTab]
+ other = "in new tab"
+[keepInTouch]
+ other = "Let's keep in touch!"
+[lessContrast]
+ other = "Low"
+[light]
+ other = "Light"
+[main]
+ other = "Main Menu"
+[menuControls]
+ other = "Accessibility Menu Controls"
+[modified]
+ other = "Modified"
+[monochrome]
+ other = "Monochrome"
+[more]
+ other = "More Menu"
+[moreContrast]
+ other = "High"
+[next]
+ other = "Next"
+[nav]
+ other = "Navigation"
+[noArticle]
+ other = "No articles to show."
+[noArticlePost]
+ other = "It appears that our author ran out of coffee... Keep calm, we'll brew one shortly!"
+[noComment]
+ other = "No comments to display."
+[noScript]
+ other = "Uh-oh... Javascript is disabled!"
+[noLocalStorage]
+ other = "LocalStorage is not available in your browser. Settings won't be saved."
+[note]
+ other = "Note"
+[on]
+ other = "On"
+[OpenDyslexic]
+ other = "Use OpenDyslexic Font"
+[pages]
+ one = "Page"
+ other = "Pages"
+[pagination]
+ other = "Pagination"
+[posts]
+ one = "Post"
+ other = "Posts"
+[postsBy]
+ other = "Post by"
+[postsOn]
+ other = "Posts on"
+[prev]
+ other = "Previous"
+[print]
+ other = "Print"
+[protanopia]
+ other = "Protanopia"
+[published]
+ other = "Published"
+[readingTime]
+ other = "Min read"
+[recent]
+ other = "Recent Posts"
+[redactionHistory]
+ other = "Redaction History"
+[redactionNotes]
+ other = "Some information might changes over time, we keep redaction up to date."
+[related]
+ other = "You might also like"
+[reset]
+ other = "Reset"
+[reviewedBy]
+ other = "Reviewed By"
+[save]
+ other = "Save"
+[search]
+ other = "Search"
+[seeAll]
+ other = "See all"
+[seeMore]
+ other = "Explore more topics"
+[section]
+ other = "Section"
+[selectLang]
+ other = "Language Selections"
+[series]
+ other = "Series"
+[share]
+ other = "Share"
+[shareOn]
+ other = "Share on"
+[switchLangTo]
+ other = "Switch Language to"
+[TableOfContents]
+ other = "Table of Contents"
+[tags]
+ one = "Tag"
+ other = "Tags"
+[toContent]
+ other = "Skip to Main Content"
+[toTop]
+ other = "To Content Top"
+[top-nav]
+ other = "Top Nav"
+[tritanopia]
+ other = "Tritanopia"
\ No newline at end of file
diff --git a/i18n/id.toml b/i18n/id.toml
new file mode 100644
index 0000000..c1a5b9b
--- /dev/null
+++ b/i18n/id.toml
@@ -0,0 +1,199 @@
+[accessibility]
+ other = "Aksesibilitas"
+[accessTime]
+ other = "Halaman ini diakses pada"
+[allPosts]
+ other = "Semua artikel"
+[appearance]
+ other = "Tampilan"
+[articles]
+ one = "Artikel"
+ other = "Artikel"
+[author]
+ one = "Penulis"
+ other = "Penulis"
+[back]
+ other = "Kembali"
+[baselineStretch]
+ other = "Jarak Baris"
+[bionRead]
+ other = "Mode BionRead"
+[breadcrumb]
+ other = "Jejak Navigasi"
+[buildTime]
+ other = "Halaman ini dibuat pada"
+[bypass]
+ other = "Lewati Navigasi"
+[categories]
+ one = "Kategori"
+ other = "Kategori"
+[close]
+ other = "Tutup"
+[coffeeStat]
+ other = "Statistik Kopi"
+[coffeeCount]
+ other = "Membuat situs web ini telah menghabiskan setidaknya "
+[coffeeCountPost]
+ other = ", jika tidak lebih."
+[colophon]
+ other = "Kolofon"
+[colorPalette]
+ other = "Palet Warna"
+[colorSettings]
+ other = "Pengaturan Warna"
+[comments]
+ other = "Diskusi"
+[contrib]
+ other = "Kontribusi"
+[contrast]
+ other = "Kontras"
+[contribAskReader]
+ other = "Suka dengan artikel ini?"
+[contribAskReaderResponse]
+ other = "Terima kasih!"
+[contribAskReaderToContribute]
+ other = "Anda juga dapat mendukung saya dengan memberikan kontribusi berikut:"
+[contribCoffeeStat]
+ other = "Tahukah Anda bahwa"
+[contribCoffeeStatPost]
+ other = "telah membantu saya menulis artikel ini?"
+[copy]
+ other = "Salin Tautan"
+[ctaComments]
+ other = "Bergabung dalam Diskusi"
+[cup]
+ other = "Cangkir kopi"
+[dark]
+ other = "Gelap"
+[darkMode]
+ other = "Mode Gelap"
+[date_long]
+ other = "2 January 2006"
+[defaultColor]
+ other = "Bawaan"
+[defaultContrast]
+ other = "Bawaan"
+[deuteranopia]
+ other = "Deuteranopia"
+[discover]
+ other = "Jelajahi Topik"
+[editedBy]
+ other = "Disunting Oleh"
+[email]
+ other = "Surel"
+[featuredImg]
+ other = "Gambar Unggulan"
+[fediverseIsLoading]
+ other = "Memuat komentar di Fediverse"
+[followRSS]
+ other = "Ikuti dengan RSS"
+[fontSize]
+ other = "Ukuran Font"
+[home]
+ other = "Beranda"
+[in]
+ other = "Dalam"
+[inNewTab]
+ other = "Di tab baru"
+[keepInTouch]
+ other = "Mari tetap terhubung!"
+[lessContrast]
+ other = "Rendah"
+[light]
+ other = "Terang"
+[main]
+ other = "Menu Utama"
+[menuControls]
+ other = "Kontrol Menu Aksesibilitas"
+[modified]
+ other = "Diubah"
+[monochrome]
+ other = "Monokrom"
+[more]
+ other = "Menu Lainnya"
+[moreContrast]
+ other = "Tinggi"
+[nav]
+ other = "Navigasi"
+[next]
+ other = "Selanjutnya"
+[noArticle]
+ other = "Tidak ada artikel untuk ditampilkan."
+[noArticlePost]
+ other = "Sepertinya penulis kami kehabisan kopi... Tetap santai, kami akan membuatnya segera!"
+[noComment]
+ other = "Tidak ada komentar untuk ditampilkan."
+[noScript]
+ other = "Ups... Javascript dinonaktifkan!"
+[noLocalStorage]
+ other = "LocalStorage tidak tersedia di browser Anda. Pengaturan tidak akan disimpan."
+[note]
+ other = "Catatan"
+[on]
+ other = "Pada"
+[OpenDyslexic]
+ other = "Gunakan Font OpenDyslexic"
+[pages]
+ one = "Halaman"
+ other = "Halaman"
+[pagination]
+ other = "Paginasi"
+[posts]
+ one = "Artikel"
+ other = "Artikel"
+[postsBy]
+ other = "Artikel oleh"
+[postsOn]
+ other = "Artikel pada"
+[prev]
+ other = "Sebelumnya"
+[print]
+ other = "Cetak"
+[protanopia]
+ other = "Protanopia"
+[published]
+ other = "Diterbitkan"
+[readingTime]
+ other = "Menit untuk baca"
+[recent]
+ other = "Artikel Terbaru"
+[redactionHistory]
+ other = "Riwayat Redaksi"
+[redactionNotes]
+ other = "Beberapa informasi mungkin berubah, kami menjaga redaksi tetap sejalan dengan perkembangan."
+[reset]
+ other = "Atur Ulang"
+[reviewedBy]
+ other = "Ditinjau Oleh"
+[save]
+ other = "Simpan"
+[search]
+ other = "Cari"
+[seeAll]
+ other = "Lihat semua"
+[seeMore]
+ other = "Jelajahi"
+[section]
+ other = "Bagian"
+[selectLang]
+ other = "Pilihan Bahasa"
+[series]
+ other = "Seri"
+[share]
+ other = "Bagikan"
+[shareOn]
+ other = "Bagikan di"
+[switchLangTo]
+ other = "Ganti Bahasa ke"
+[TableOfContents]
+ other = "Daftar Isi"
+[tags]
+ other = "Tag"
+[toContent]
+ other = "Langsung ke Konten Utama"
+[toTop]
+ other = "Ke Atas Konten"
+[top-nav]
+ other = "Navigasi Atas"
+[tritanopia]
+ other = "Tritanopia"
\ No newline at end of file
diff --git a/images/screenshot.png b/images/screenshot.png
new file mode 100644
index 0000000..a50523f
Binary files /dev/null and b/images/screenshot.png differ
diff --git a/images/tn.png b/images/tn.png
new file mode 100644
index 0000000..002eb6c
Binary files /dev/null and b/images/tn.png differ
diff --git a/layouts/404.html b/layouts/404.html
new file mode 100644
index 0000000..e69de29
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
new file mode 100644
index 0000000..b873451
--- /dev/null
+++ b/layouts/_default/baseof.html
@@ -0,0 +1,44 @@
+
+{{- $lang := or site.Language.LanguageCode site.Language.Lang }}
+{{- $dir := or site.Language.LanguageDirection "ltr" }}
+
+
+ {{ partial "head.html" . }}
+ {{ block "head" . }}{{ end }}
+
+{{- if not .Params.Headless }}
+
+ {{ partial "header.html" . }}
+ {{ block "aside" . }}{{ end }}
+ {{ "" | safeHTML }}
+
+ {{ partial "main/header.html" . }}
+
+ {{ block "top" . }}{{ end }}
+
+ {{ block "main" . }}{{ end }}
+ {{ partialCached "main/footer.html" . }}
+
+ {{ partialCached "footer.html" . }}
+
+ {{ block "post" . }}{{ end }}
+ {{ "" | safeHTML }}
+ {{ partialCached "background.html" . }}
+
+{{- end }}
+
+
+{{- define "partials/background.html" -}}
+
+{{- end }}
\ No newline at end of file
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
new file mode 100644
index 0000000..418895a
--- /dev/null
+++ b/layouts/_default/list.html
@@ -0,0 +1,295 @@
+{{- define "head" -}}
+ {{ "" | safeHTML }}
+ {{- $paginator := partial "partials/paginator.html" . }}
+ {{- $slides := where .Site.RegularPages "Type" "slide" }}
+ {{- if and .IsHome (not $paginator.HasPrev) $slides }}
+
+ {{- end }}
+{{- end -}}
+
+{{- define "aside" -}}
+ {{- $paginator := partial "partials/paginator.html" . }}
+ {{- if and .IsHome (not $paginator.HasPrev) }}
+ {{ partialCached "carousel.html" . }}
+ {{- end }}
+{{- end -}}
+
+{{- define "top" -}}
+ {{- $paginator := partial "partials/paginator.html" . }}
+ {{- if not $paginator.HasPrev }}
+ {{- if .IsHome }}
+ {{- if and site.Taxonomies.series site.Taxonomies.categories }}
+
+
+ {{ partial "listing.html" (dict "entry" "series") }}
+ {{ partial "listing.html" (dict "entry" "categories") }}
+
+
+ {{- else }}
+ {{ partial "listing.html" (dict "entry" "series") }}
+ {{ partial "listing.html" (dict "entry" "categories") }}
+ {{- end }}
+ {{- with .Content }}
+ {{ partial "hero.html" $ }}
+ {{- end }}
+ {{- else }}
+ {{- if .IsSection }}
+
+ {{ partial "list/sections.html" (dict "class" "carousel__viewport" "cover" true "page" .) }}
+
+ {{- end }}
+ {{- with .Content }}
+ {{ partial "hero.html" $ }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{- end -}}
+
+{{- define "main" -}}
+ {{- $paginator := partial "partials/paginator.html" . }}
+ {{- $firstPage := not $paginator.HasPrev }}
+ {{- /*
+
+ frequency for content view style */}}
+ {{- $changeFreq := or .Params.Sitemap.ChangeFreq .Sitemap.ChangeFreq | lower }}
+ {{- $active := eq $changeFreq (or "always" "hourly" "daily" "weekly") }}
+ {{- $passive := ne $changeFreq (or "always" "hourly" "daily" "weekly") }}
+ {{- /*
+
+ main aside */}}
+ {{- if and site.Taxonomies.tags $firstPage (ne .Kind "term") }}
+ {{- if .IsHome }}
+
+ {{- else if or (eq .Data.Singular "tag") .IsSection }}
+
+ {{- end }}
+ {{- end }}
+ {{/*
+
+ feed */}}
+ {{- if ne .Kind "taxonomy" }}
+ {{/*
+
+ if page don't have article */}}
+ {{- if eq (len $paginator.Pages) 0 }}
+ {{ template "no-content"}}
+ {{- else }}
+
+
+
+ {{- if .IsHome }}
+ {{- if $firstPage }}
+ {{ i18n "recent" $paginator.NumberOfElements }}
+ {{- else }}
+ {{ i18n "postsOn" $paginator.NumberOfElements }} {{ .Site.Title }}
+ {{ printf "- %s %d" (i18n "pages" 1) $paginator.PageNumber }}
+ {{- end }}
+ {{- else }}
+ {{- $title := .LinkTitle }}
+ {{- if eq (lower $title) (lower (i18n "posts" 1)) }}
+ {{- i18n "allPosts" }}
+ {{- if not $firstPage }}
+ {{- printf "- %s %d" (i18n "pages" 1) $paginator.PageNumber }}
+ {{- end }}
+ {{- else if eq (lower $title) (lower (i18n "articles" 1)) }}
+ {{- i18n "articles" }}
+ {{- else if eq .Data.Singular "author" }}
+ {{- i18n "postsBy" }}: {{- $title }}
+ {{- else }}
+ {{- i18n "postsOn" }}: {{ $title }}
+ {{- end }}
+ {{- end }}
+
+
+ {{- /*
+
+ list post */}}
+ {{- $liViewCondition := or (and $active (not .IsHome)) (and (eq .Kind "term") (eq .Data.Plural "series") ) }}
+ {{- if $liViewCondition }}
+ {{ template "li" . }}
+ {{- else }}
+
+ {{- range $index, $page := $paginator.Pages }}
+ {{- $counter := add $index 1 }}
+ {{- $author := default site.Params.Author.name .Params.author }}
+ {{- $authors := .GetTerms "author" }}
+ {{- $categories := .GetTerms "categories" }}
+ {{- $desc := or .Params.Subtitle .Params.Description .Description .Summary }}
+ {{- $images := or .Params.cover .Params.images }}
+ {{- $hasCover := or $images (.Resources.GetMatch "cover.*") }}
+ {{- if $index }}
{{- end }}
+ {{ template "card" (dict "page" $page "paginator" $paginator "counter" $counter "desc" $desc "hasCover" $hasCover "author" $author "authors" $authors) }}
+ {{- end }}
+
+ {{/*
+
+ paginator navigation */}}
+ {{- if or .Paginator.HasPrev .Paginator.HasNext }}
+
+ {{- partial "nav.html" (dict "navID" "pagination" "page" .) }}
+ {{- end }}
+ {{- end }}
+
+ {{- end }}
+ {{- else }}
+ {{- if eq (index site.Taxonomies .Data.Plural | len) 0 }}
+ {{ template "no-content"}}
+ {{- else }}
+ {{- /*
+
+ taxonomy listing */}}
+
+ {{- if eq .Data.Singular "tag" }}
+ {{ partial "listing.html" (dict "entry" "series") }}
+ {{ partial "listing.html" (dict "entry" "categories") }}
+ {{- else if eq .Data.Singular "category" }}
+ {{ partial "listing.html" (dict "entry" "categories") }}
+ {{- else if eq .Data.Singular "series" }}
+ {{ partial "listing.html" (dict "entry" "series") }}
+ {{- else if eq .Data.Singular "author" }}
+ {{ partial "listing.html" (dict "entry" "author") }}
+ {{- end }}
+
+ {{- end }}
+ {{- end }}
+{{- end -}}
+
+{{- define "li" -}}
+ {{- $descending := and (eq $.Kind "term") (eq $.Data.Plural "series")}}
+ {{- $yearGroup := .Data.Pages.GroupByDate "2006" }}
+ {{- if $descending }}
+ {{- $yearGroup = $yearGroup.Reverse }}
+ {{- end }}
+ {{- range $yearGroup }}
+ {{- $year := .Key }}
+
+
{{ $year }}
+
+ {{- $monthGroup := .Pages.GroupByDate "January" }}
+ {{- if $descending }}
+ {{ $monthGroup = $monthGroup.Reverse }}
+ {{ end }}
+ {{- range $monthGroup }}
+ {{- $month := .Key }}
+ {{- $postCounter := printf "(%d %s)" (len .Pages) (i18n "posts" (len .Pages)) }}
+
+
+
+ {{- $month }}
+
+ {{- $pageGroup := .Pages }}
+ {{- if $descending }}
+ {{- $pageGroup = $pageGroup.Reverse }}
+ {{- end }}
+ {{- with $pageGroup }}
+
+ {{- range . }}
+ {{- $date := .Date.Format "2 Jan " }}
+
+
+ {{.Title}}
+
+
+ {{- end }}
+
+ {{- end }}
+
+
+ {{- end }}
+
+
+ {{- end }}
+{{- end -}}
+
+{{- define "card" -}}
+
+
+
+
+ {{- if .authors }}
+ {{- if eq (len .authors) 1 }}
+ {{- range .authors }}
+ {{ .LinkTitle }}
+ {{- end }}
+ {{- else }}
+ {{ partial "terms.html" (dict "taxonomy" "author" "class" "delimiter" "page" .page) }}
+ {{- end }}
+ {{- else }}
+ {{- with .author }}{{ . }} {{ end }}
+ {{- end }}
+ {{- if .page.Params.categories }}
+ {{ i18n "in" | lower }}
+ {{- if eq (len .page.Params.categories) 1 }}
+ {{ partial "terms.html" (dict "taxonomy" "categories" "class" "inline" "page" .page ) }}
+ {{ else }}
+ {{ partial "terms.html" (dict "taxonomy" "categories" "class" "delimiter" "page" .page ) }}
+ {{- end }}
+ {{- end }}
+
+
+ {{ partial "page/timestamp.html" .page }}
+
+ {{ .page.Title }}
+
+
+
+ {{- if .hasCover }}
+ {{ partial "page/cover.html" .page }}
+ {{- else }}
+ {{- $flowlinesCount := site.Params.Feed.FlowlinesLimit | default 42 }}
+ {{- $flowlinesSrc := "https://raw.githubusercontent.com/foxihd/hugo-et-hd/master/static/svg/flowlines/" }}
+ {{- $src := printf "%s%d.svg" $flowlinesSrc (index (seq $flowlinesCount | shuffle) 1) }}
+ {{- $pseudoRandomPos := printf "object-position: %d%% %d%%" (index (seq 81 | shuffle) 11) (index (seq 80 | shuffle) 12) }}
+
+ {{- end }}
+
+ {{- plainify .desc }}
+
+
+
+
+ {{- printf "%d %s" .page.ReadingTime (i18n "readingTime" .page.ReadingTime | lower ) }}
+
+
+ {{- if .page.Params.tags }}
+ {{ partial "terms.html" (dict "taxonomy" "tags" "class" "rounded invert ldots" "page" .page) }}
+ {{- else }}
+
+ {{- end }}
+
+
+{{- end -}}
+
+{{- define "no-content" -}}
+
+
+
+
+
+
+
{{ i18n "noArticle" }}
+
{{ i18n "noArticlePost" }}
+
+
+
+{{- end -}}
\ No newline at end of file
diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml
new file mode 100644
index 0000000..ea8e0e1
--- /dev/null
+++ b/layouts/_default/rss.xml
@@ -0,0 +1,92 @@
+
+{{- /* Deprecate site.Author.email in favor of site.Params.author.email */}}
+{{- $authorEmail := "" }}
+{{- with site.Params.author }}
+ {{- if reflect.IsMap . }}
+ {{- with .email }}
+ {{- $authorEmail = . }}
+ {{- end }}
+ {{- end }}
+{{- else }}
+ {{- with site.Author.email }}
+ {{- $authorEmail = . }}
+ {{- warnf "The author key in site configuration is deprecated. Use params.author.email instead." }}
+ {{- end }}
+{{- end }}
+
+{{- /* Deprecate site.Author.name in favor of site.Params.author.name */}}
+{{- $authorName := "" }}
+{{- with site.Params.author }}
+ {{- if reflect.IsMap . }}
+ {{- with .name }}
+ {{- $authorName = . }}
+ {{- end }}
+ {{- else }}
+ {{- $authorName = . }}
+ {{- end }}
+{{- else }}
+ {{- with site.Author.name }}
+ {{- $authorName = . }}
+ {{- warnf "The author key in site configuration is deprecated. Use params.author.name instead." }}
+ {{- end }}
+{{- end }}
+
+{{- $desc := or .Params.Subtitle .Params.Description .Description .Summary }}
+
+{{- $pctx := . }}
+{{- if .IsHome }}{{ $pctx = site }}{{ end }}
+{{- $pages := slice }}
+{{- if or $.IsHome $.IsSection }}
+{{- $pages = where $pctx.RegularPages "Type" (or "post" "articles") }}
+{{- else }}
+{{- $pages = $pctx.Pages }}
+{{- end }}
+{{- $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 }}
+ {{ i18n "recent"}} {{ if ne .Title site.Title }}{{ with .Title }}{{ i18n "in" | lower}} {{ . }} {{ end }}{{ end }}{{ i18n "on" | lower }} {{ site.Title }}
+ Hugo {{ hugo.Version }}
+ {{ site.Language.LanguageCode }}
+ {{ with $authorEmail -}}
+ {{.}}{{ with $authorName }} ({{ . }}){{ end }}
+ {{ end -}}
+ {{ with $authorEmail -}}
+ {{ . }}{{ with $authorName }} ({{ . }}){{ end }}
+ {{ end -}}
+ {{ with site.Copyright -}}
+ {{ . }}
+ {{ end -}}
+ {{ now.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}
+ {{ with .OutputFormats.Get "RSS" -}}
+ {{ printf " " .Permalink .MediaType | safeHTML -}}
+ {{ end -}}
+ {{- range $pages }}
+ -
+
{{ .Title }}
+ {{ .Permalink }}
+ {{ .PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}
+ {{ with $authorEmail -}}
+ {{ . }}{{ with $authorName }} ({{ . }}){{ end }}
+ {{ end -}}
+ {{ .Permalink }}
+ {{ $desc | transform.XMLEscape | safeHTML }}
+ {{- $cover := or .Params.cover .Params.image }}
+ {{- $getCover := .Resources.GetMatch "cover.*" }}
+ {{ if or $cover $getCover -}}
+ {{- if $getCover }}
+ {{- $cover = $getCover.Permalink }}
+ {{- end }}
+ {{ with $cover -}}
+
+ {{ end -}}
+ {{- end }}
+
+ {{- end }}
+
+
\ No newline at end of file
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
new file mode 100644
index 0000000..efc58ec
--- /dev/null
+++ b/layouts/_default/single.html
@@ -0,0 +1,132 @@
+{{- define "head" }}
+ {{- /*
+
+ MathML render engine */}}
+ {{- if or .Params.Math site.Params.Math }}
+ {{ partialCached "head/js/katex.html" . }}
+ {{- else if or .Params.MathJax site.Params.MathJax }}
+ {{ partialCached "head/js/mathjax.html" . }}
+ {{- end }}
+ {{- /*
+
+ Verbatim Style */}}
+ {{- with findRE `class="chroma"` .Content 1 }}
+ {{ partialCached "head/css/verbatim.html" $ }}
+ {{- end }}
+ {{- /*
+
+ use Highlight.js */}}
+ {{- if .Params.Hljs -}}
+ {{ partialCached "head/css/verbatim.html" . }}
+ {{ partialCached "head/js/hljs.html" . }}
+ {{- end }}
+ {{- /*
+
+ Commenting System over Fediverse */}}
+ {{ partial "head/js/fediverse.html" . }}
+ {{- /*
+
+ QRCode */}}
+ {{/* {{ partialCached "head/js/qrcode.html" . }} */}}
+{{- end }}
+
+{{- define "main" }}
+
+ {{/*
+
+ frontmatter */}}
+
+ {{ partial "page/title.html" . }}
+
+ {{- $author := cond .Params.author .Params.author site.Params.Author.name }}
+ {{- $authors := .GetTerms "author" }}
+ {{- $instance := or .Params.Fediverse.Host .Params.Fediverse.Instance }}
+ {{- $user := or .Params.Fediverse.User .Params.Fediverse.Username }}
+ {{- $post := or .Params.Fediverse.post .Params.Fediverse.link }}
+ {{- /*
+
+ Fediverse avatar */}}
+ {{- if and $instance $user $post (not (gt (len $authors) 1)) }}
+ {{- $api := print "https://" $instance "/api/v1/statuses/" $post }}
+ {{- $data := "" }}
+ {{- with resources.GetRemote $api }}
+ {{- $data = transform.Unmarshal . }}
+
+
+
+ {{- end }}
+ {{- end }}
+ {{/*
+
+ name of author(s) */}}
+ {{- if $authors }}
+ {{- if eq (len $authors) 1 }}
+ {{- range $authors }}
+
+ {{- .LinkTitle -}}
+
+ {{- end }}
+ {{- else }}
+ {{ partial "terms.html" (dict "taxonomy" "author" "class" "delimiter" "page" .) }}
+ {{- end }}
+ {{- else if $author -}}
+ {{- if and $instance $user }}
+
+ {{- $author -}}
+
+ {{- else }}
+
{{ $author }}
+ {{- end }}
+ {{- end }}
+
+ {{ partial "page/timestamp.html" . }}
+
+ {{- with .Params.toc }}
+ {{ partial "nav.html" (dict "navID" "TableOfContents" "page" $) }}
+ {{- end }}
+ {{ partial "page/audio.html" . }}
+
+ {{- if or .Params.task site.Params.Post.enableCheckbox }}
+ {{ replace .Content "disabled=" "" | safeHTML }}
+ {{- else }}
+ {{ .Content }}
+ {{- end }}
+
+
+ {{ partial "post/tagged.html" . }}
+
+
+
+
+ {{ partial "post/related.html" . }}
+ {{ partial "post/history.html" . }}
+ {{ partial "post/colophon.html" . }}
+ {{ partial "post/contribute.html" . }}
+ {{ partial "nav.html" (dict "navID" "share" "page" .) }}
+ {{ partial "fediverse.html" . }}
+
+{{- end }}
+
+{{- define "post" }}
+ {{ "" | safeHTML }}
+ {{- /* display color palette for pages with code blocks */}}
+ {{- with findRE `class="chroma"` .Content 1 -}}
+
+ {{- end }}
+ {{- /*
+
+ bionRead Snapshot */}}
+
+{{- end }}
\ No newline at end of file
diff --git a/layouts/_default/sitemap.xml b/layouts/_default/sitemap.xml
new file mode 100644
index 0000000..41d3b70
--- /dev/null
+++ b/layouts/_default/sitemap.xml
@@ -0,0 +1,29 @@
+
+{{ printf "" | safeHTML }}
+
+{{- range where (where .Pages ".Params.Headless" "ne" true ) "Sitemap.Disable" "ne" true -}}
+{{- if .Permalink }}
+
+ {{ .Permalink }}
+ {{ if not .Lastmod.IsZero -}}
+ {{- $ISO8601 := "2006-01-02T15:04:05-07:00" -}}
+
+ {{- .Lastmod.Format $ISO8601 | safeHTML -}}
+
+ {{- end }}
+ {{ with .Sitemap.ChangeFreq -}}
+ {{ . }}
+ {{ end -}}
+ {{ if ge .Sitemap.Priority 0.0 -}}
+ {{ .Sitemap.Priority }}
+ {{ end -}}
+ {{ if .IsTranslated -}}
+ {{- range .Translations -}}
+
+ {{- end }}
+
+ {{ end -}}
+
+{{- end }}
+{{- end }}
+
\ No newline at end of file
diff --git a/layouts/partials/_funcs/get-page-images.html b/layouts/partials/_funcs/get-page-images.html
new file mode 100644
index 0000000..979fc09
--- /dev/null
+++ b/layouts/partials/_funcs/get-page-images.html
@@ -0,0 +1,47 @@
+{{- $imgs := slice }}
+{{- $imgParams := .Params.images }}
+{{- $resources := .Resources.ByType "image" -}}
+{{/* Find featured image resources if the images parameter is empty. */}}
+{{- if not $imgParams }}
+ {{- $featured := $resources.GetMatch "*feature*" -}}
+ {{- if not $featured }}{{ $featured = $resources.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}}
+ {{- with $featured }}
+ {{- $imgs = $imgs | append (dict
+ "Image" .
+ "RelPermalink" .RelPermalink
+ "Permalink" .Permalink) }}
+ {{- end }}
+{{- end }}
+{{/* Use the first one of site images as the fallback. */}}
+{{- if and (not $imgParams) (not $imgs) }}
+ {{- with site.Params.images }}
+ {{- $imgParams = first 1 . }}
+ {{- end }}
+{{- end }}
+{{/* Parse page's images parameter. */}}
+{{- range $imgParams }}
+ {{- $img := . }}
+ {{- $url := urls.Parse $img }}
+ {{- if eq $url.Scheme "" }}
+ {{/* Internal image. */}}
+ {{- with $resources.GetMatch $img -}}
+ {{/* Image resource. */}}
+ {{- $imgs = $imgs | append (dict
+ "Image" .
+ "RelPermalink" .RelPermalink
+ "Permalink" .Permalink) }}
+ {{- else }}
+ {{- $imgs = $imgs | append (dict
+ "RelPermalink" (relURL $img)
+ "Permalink" (absURL $img)
+ ) }}
+ {{- end }}
+ {{- else }}
+ {{/* External image */}}
+ {{- $imgs = $imgs | append (dict
+ "RelPermalink" $img
+ "Permalink" $img
+ ) }}
+ {{- end }}
+{{- end }}
+{{- return $imgs }}
\ No newline at end of file
diff --git a/layouts/partials/a11y.html b/layouts/partials/a11y.html
new file mode 100644
index 0000000..301e90b
--- /dev/null
+++ b/layouts/partials/a11y.html
@@ -0,0 +1,189 @@
+{{ "" | safeHTML -}}
+
+
+ {{ i18n "accessibility" }}
+ a
+
+ {{ "" | safeHTML }}
+
+ {{ "" | safeHTML }}
+
+ {{ partialCached "a11y/darkMode.html" . }}
+ {{ partialCached "a11y/contrast.html" . }}
+
+ {{ partialCached "a11y/colorPalette.html" . }}
+ {{ partialCached "a11y/fontsize.html" . }}
+ {{ partialCached "a11y/baselineStretch.html" . }}
+ {{ partialCached "a11y/OpenDyslexic.html" . }}
+ {{ partialCached "a11y/menu.html" . }}
+
+ {{ i18n "noScript" }}
+
+ {{ i18n "noLocalStorage" }}
+
+
+
+
+{{/*----------------------- end of a11y.html ------------------------*/}}
+
+{{- define "partials/a11y/darkMode.html" -}}
+ {{ "" | safeHTML }}
+
+
+
+
+
+
+{{- end }}
+
+{{- define "partials/a11y/contrast.html" -}}
+ {{ "" | safeHTML }}
+
+ {{ i18n "contrast" }}
+
+
+ {{ i18n "lessContrast" }}
+
+
+
+ {{ i18n "defaultContrast" }}
+
+
+
+ {{ i18n "moreContrast" }}
+
+
+{{- end }}
+
+{{- define "partials/a11y/colorPalette.html" -}}
+ {{ "" | safeHTML }}
+
+ {{ i18n "colorPalette" }}
+
+ {{ i18n "defaultColor" }}
+ {{ i18n "deuteranopia" }}
+ {{ i18n "protanopia" }}
+ {{ i18n "tritanopia" }}
+ {{ i18n "monochrome" }}
+
+
+{{- end }}
+
+{{- define "partials/a11y/fontsize.html" -}}
+ {{ "" | safeHTML }}
+
+
+
+ 10
+
+
+{{- end }}
+
+{{- define "partials/a11y/baselineStretch.html" -}}
+ {{ "" | safeHTML }}
+
+
+
+ 1
+
+
+{{- end }}
+
+{{- define "partials/a11y/OpenDyslexic.html" -}}
+ {{ "" | safeHTML }}
+
+
+
+
+
+
+
+
+{{- end }}
+
+{{- define "partials/a11y/menu.html" -}}
+ {{ "" | safeHTML }}
+
+{{- end }}
+
+{{- define "partials/a11y/bionread.html" -}}
+ {{ "" | safeHTML }}
+
+
+
+ Bion Read
+ b
+
+
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/bundles/branch.html b/layouts/partials/bundles/branch.html
new file mode 100644
index 0000000..05c47f5
--- /dev/null
+++ b/layouts/partials/bundles/branch.html
@@ -0,0 +1,227 @@
+{{- define "partials/taxonomies.html" -}}
+ {{ "" | safeHTML }}
+ {{- $taxonomy := .taxonomy }}
+ {{- $tags := eq $taxonomy "tags"}}
+ {{- $class := .class }}
+ {{- $cover := .cover }}
+ {{- $limit := .limit }}
+ {{- with index site.Taxonomies $taxonomy }}
+
+ {{- $index := 0 }}
+ {{ range . -}}
+ {{- $index = add $index 1 }}
+ {{- if or (le $index $limit) (not $limit) -}}
+ {{- $images := or .Page.Params.cover .Page.Params.images }}
+ {{- $flowlinesCount := or 42 site.Params.Feed.FlowlinesLimit }}
+ {{- $flowlinesSrc := "https://raw.githubusercontent.com/foxihd/hugo-et-hd/master/static/svg/flowlines/" }}
+ {{- $src := cond $images $images (printf "%s%d.svg" $flowlinesSrc ( index (seq $flowlinesCount | shuffle) 1 )) }}
+
+
+ {{ humanize .Page.Title | title }}
+
+ {{- /* workaround needed */}}
+ {{- /* {{- if eq $taxonomy "categories" }}
+
+ {{ $postWithin := where site.RegularPages "Params.categories" "intersect" .Page.Title }}
+ {{- range first 5 $postWithin }}
+ {{ .Title }}
+ {{- end }}
+
+ {{- end }} */}}
+
+ {{- end }}
+ {{- end }}
+
+ {{- end }}
+{{- end }}
+
+{{- define "partials/terms.html" -}}
+ {{ "" | safeHTML }}
+ {{- $page := .page }}
+ {{- $taxonomy := .taxonomy }}
+ {{- $class := .class }}
+ {{- with $page.GetTerms $taxonomy }}
+
+ {{- end }}
+{{- end }}
+
+{{- define "partials/paginator.html" -}}
+ {{ "" | safeHTML }}
+ {{- $pagerSize := .Params.Paginate }}
+ {{- $pages := .RegularPagesRecursive }}
+ {{- if .IsHome }}
+ {{- $pages = where site.RegularPages "Type" (or "post" "articles") }}
+ {{- end }}
+ {{- $paginator := .Paginate $pages }}
+ {{- if $pagerSize }}
+ {{- $paginator = .Paginate $pages $pagerSize }}
+ {{- end }}
+ {{- return $paginator }}
+{{- end }}
+
+{{- define "partials/coffeeStat.html" }}
+ {{- $cups := 0 }}
+ {{- range site.RegularPages }}
+ {{- range .AllTranslations }}
+ {{- with .Params.Coffee }}
+ {{- $cups = add $cups . }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- return $cups }}
+{{- end }}
+
+{{- define "partials/hero.html" }}
+ {{ "" | safeHTML }}
+
+
+ {{- $cover := or .Page.Params.cover .Page.Params.images }}
+ {{- $getCover := .Resources.GetMatch "cover.*" }}
+ {{- if or $getCover $cover }}
+
+ {{- end }}
+
+
+ {{- .Content }}
+ {{- /*
+
+ author page hero extras */}}
+ {{- if and (eq .Kind "term") (eq .Data.Singular "author") }}
+ {{- $authorName := .Title }}
+ {{- $co := or site.Params.Author.coauthor site.Params.Author.collabolator }}
+ {{- range $co }}
+ {{- if eq $authorName .name }}
+
{{ or .bio .about }}
+ {{- end }}
+ {{- end }}
+ {{- $author := urlize .Title }}
+ {{/*
+
+ author's social links */}}
+ {{ partial "menu.html" (dict "menuID" $author "open" "open" "page" .)}}
+ {{- end }}
+
+
+{{ end }}
+
+{{- define "partials/list/sections.html" -}}
+ {{ "" | safeHTML }}
+ {{- $page := .page }}
+ {{- $class := .class }}
+ {{- $limit := .limit }}
+ {{- $cover := .cover }}
+ {{- $getCover := .Resources.GetMatch "cover.*" }}
+ {{- with $page.Sections }}
+
+ {{- $index := 0 }}
+ {{- range . }}
+ {{- $index = add $index 1 }}
+ {{- if or (le $index $limit) (not $limit) }}
+ {{- $src := false }}
+ {{- $images := or .Page.Params.cover .Page.Params.images }}
+ {{- if $images }}
+ {{- $src = $images }}
+ {{- else if $getCover }}
+ {{- $src = $getCover.Permalink }}
+ {{- else }}
+ {{- $src = partial "flowlines.html" . }}
+ {{- end }}
+
+
+ {{ .Page.Title }}
+
+
+ {{- end }}
+ {{- end }}
+
+ {{- end }}
+{{ end }}
+
+{{- define "partials/listing.html" -}}
+ {{ "" | safeHTML }}
+ {{- $entry := .entry }}
+ {{- if index site.Taxonomies $entry }}
+
+
+ {{ partial "taxonomies.html" (dict "taxonomy" $entry "class" "carousel__viewport" "cover" true) }}
+
+ {{- end }}
+{{- end }}
+
+{{- define "partials/carousel.html" -}}
+ {{ "" | safeHTML }}
+ {{- $slides := where .Site.RegularPages "Type" "slide" }}
+ {{- with $slides }}
+
+ {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/bundles/leaf.html b/layouts/partials/bundles/leaf.html
new file mode 100644
index 0000000..71a1629
--- /dev/null
+++ b/layouts/partials/bundles/leaf.html
@@ -0,0 +1,276 @@
+{{- define "partials/page/title.html" -}}
+ {{- "" | safeHTML }}
+ {{- $subtitle := .Params.Subtitle | default .Description }}
+ {{- $isPost := eq (lower .Params.type) (or "post" "articles") }}
+ {{- if $subtitle }}
+
+ {{ .Title }}
+ {{ $subtitle }}
+
+ {{- else }}
+ {{ .Title }}
+ {{- end }}
+{{- end }}
+
+{{- define "partials/page/timestamp.html" -}}
+ {{- "" | safeHTML }}
+ {{- $dateMachine := "2006-01-02T15:04:05-07:00" }}
+ {{- $minVersion := index ( split hugo.Version "." ) 1 }}
+ {{- $datePublished := cond (lt $minVersion 87) (.PublishDate.Format ( i18n "date_long" )) (.PublishDate | time.Format ":date_long") }}
+ {{- $dateModified := cond (lt $minVersion 87) (.Lastmod.Format ( i18n "date_long" )) (.Lastmod | time.Format ":date_long") }}
+ {{- $dateOnly := "2006-01-02" }}
+ {{- $hasMod := ne (.PublishDate.Format $dateOnly) (.Lastmod.Format $dateOnly) }}
+
+
+ {{- $datePublished -}}
+
+ {{- if $hasMod }}
+
+ {{- $dateModified -}}
+
+ {{- end }}
+
+{{- end }}
+
+{{- define "partials/page/cover.html" -}}
+ {{- "" | safeHTML }}
+ {{- $cover := or .Params.cover .Params.image }}
+ {{- $getCover := .Resources.GetMatch "cover.*" }}
+ {{- if or $cover $getCover }}
+ {{- if $getCover }}
+ {{- $cover = $getCover.Permalink }}
+ {{- end }}
+ {{- with $cover }}
+
+ {{- end }}
+ {{- end }}
+{{- end }}
+
+{{- define "partials/flowlines.html" -}}
+ {{ "" | safeHTML }}
+ {{- $flowlinesCount := site.Params.Feed.FlowlinesLimit | default 42 }}
+ {{- $flowlinesDir := "https://raw.githubusercontent.com/foxihd/hugo-et-hd/master/static/svg/flowlines/" }}
+ {{- $src := printf "%s%d.svg" $flowlinesDir (index (seq $flowlinesCount | shuffle) 1) }}
+ {{- return $src }}
+{{- end }}
+
+{{- define "partials/page/audio.html" -}}
+ {{- "" | safeHTML }}
+ {{- $audioFormats := dict
+ "aac" "audio/aac"
+ "flac" "audio/flac"
+ "mp3" "audio/mpeg"
+ "oga" "audio/ogg"
+ "ogg" "audio/ogg"
+ "opus" "audio/opus"
+ "wav" "audio/wav"
+ "weba" "audio/webm"
+ "webm" "audio/webm"
+ }}
+ {{- $audioFiles := dict }}
+ {{- range $format, $type := $audioFormats }}
+ {{- $file := $.Resources.GetMatch (printf "audio.%s" $format) }}
+ {{- if $file }}
+ {{- $audioFiles = merge $audioFiles (dict $format $file) }}
+ {{- end }}
+ {{- end }}
+ {{- $audio := .Params.Audio }}
+ {{- if or $audio $audioFiles }}
+
+ {{- $ext := index ( split $audio "." ) ( sub ( len ( split $audio "." ) ) 1 ) }}
+ {{- with $audio }}
+
+ {{- end }}
+ {{ with $audioFiles }}
+ {{ range $fileExt, $file := $audioFiles }}
+
+ {{ end }}
+ {{ end }}
+ {{- "" | safeHTML }}
+
+ {{ i18n "ifNoAudioSupport" }}
+
+ {{- $fileName := print site.Title " - " .Title }}
+ {{- with $audio }}
+
+
+ {{ $ext }}
+
+
+ {{- end }}
+ {{ with $audioFiles }}
+ {{ range $fileExt, $file := $audioFiles }}
+
+
+ {{ $fileExt }}
+
+
+ {{ end }}
+ {{ end }}
+
+
+
+ {{- end }}
+{{- end }}
+
+{{- define "partials/post/tagged.html" -}}
+ {{- with .Params.tags }}
+
+ {{ printf "%s:" (i18n "tags" (len . ))}}
+ {{ $class := cond (eq (len .) 1) "inline" "delimiter" }}
+ {{ partial "terms.html" (dict "taxonomy" "tags" "class" $class "page" $) }}
+
+ {{- end }}
+{{- end }}
+
+{{- define "partials/post/colophon.html" -}}
+ {{ "" | safeHTML }}
+
+
{{ i18n "colophon" }}
+
+
+
+
{{- .Permalink }}
+
{{ i18n "accessTime" }}:
+ {{- $buildTime := now.Format "2006-01-02T15:04:05-07:00" }}
+ {{- with $buildTime }}
+
{{ i18n "buildTime" }}: {{ . }}
+ {{- end }}
+ {{/*
*/}}
+
+
+
+{{- end }}
+
+{{- define "partials/post/history.html" -}}
+ {{- "" | safeHTML }}
+ {{- $dateMachine := "2006-01-02T15:04:05-07:00" }}
+ {{- $minVersion := index ( split hugo.Version "." ) 1 }}
+ {{- $datePublished := cond (lt $minVersion 87) (.PublishDate.Format ( i18n "date_long" )) (.PublishDate | time.Format ":date_long") }}
+ {{- $dateModified := cond (lt $minVersion 87) (.Lastmod.Format ( i18n "date_long" )) (.Lastmod | time.Format ":date_long") }}
+ {{- $dateOnly := "2006-01-02" }}
+ {{- $hasMod := ne (.PublishDate.Format $dateOnly) (.Lastmod.Format $dateOnly) }}
+ {{- if or .Params.History $hasMod }}
+ {{- $author := .Params.author | default site.Params.Author.Name }}
+
+
{{ i18n "redactionHistory" }}
+
+ {{- if .Params.History }}
+ {{- range sort .Params.History "date" "asc" }}
+
+
+
+
+ {{- .date | time.Format "2006-01-02" -}}
+
+
+ {{- $writtenAuthor := .author | default $author }}
+ {{- with $writtenAuthor }}
+ {{ . }}
+ {{- end }}
+ {{- with .editor }}
+ {{ . }}
+ {{- end }}
+ {{- with .reviewer }}
+ {{ . }}
+ {{- end }}
+ {{- with .note }}
+ {{ . }}
+ {{- end }}
+
+
+ {{- end }}
+ {{- else }}
+
+ {{- $datePublished -}}
+ {{ printf "(%s)" (i18n "published") }}
+
+
+ {{- $dateModified -}}
+ {{ printf "(%s)" (i18n "modified") }}
+
+ {{- end }}
+
+
{{ i18n "redactionNotes" }}
+
+ {{- end }}
+{{- end }}
+
+{{- define "partials/post/contribute.html" -}}
+ {{- if index site.Menus "contrib" }}
+
+ {{ i18n "contribAskReader" }}
+
+
+ {{ i18n "contribAskReaderResponse" }}
+ {{- with .Params.Coffee }}
+ {{ i18n "contribCoffeeStat" }} {{ printf "%d %s" . (i18n "cup" . | lower) }} {{ i18n "contribCoffeeStatPost" }}
+ {{- end }}
+ {{ i18n "contribAskReaderToContribute" }}
+
+ {{ partial "menu.html" (dict "menuID" "contrib" "open" "open" "page" .)}}
+
+ {{- end }}
+{{- end }}
+
+{{- define "partials/post/related.html" -}}
+ {{- "" | safeHTML }}
+ {{- $related := .Site.RegularPages.Related . | first 5 }}
+ {{- $series := .GetTerms "series" }}
+ {{- if or $related $series }}
+
+ {{ i18n "related" }}
+ {{- if $series }}
+ {{- range $series | first 1 -}}
+
+ {{- range .Pages | first 5 }}
+ {{ if ne $ . -}}
+ {{ .Title }}
+ {{- end }}
+ {{- end }}
+ {{- if gt (len .Pages) 5 }}
+ {{ i18n "series" }}: {{ .Title }}
+ {{- end }}
+
+ {{- end }}
+ {{- else if $related }}
+ {{- with $related -}}
+
+ {{- range . }}
+ {{ .Title }}
+ {{- end }}
+
+ {{- end }}
+ {{- end }}
+
+ {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/fediverse.html b/layouts/partials/fediverse.html
new file mode 100644
index 0000000..bbd627c
--- /dev/null
+++ b/layouts/partials/fediverse.html
@@ -0,0 +1,42 @@
+{{ "" | safeHTML }}
+{{- $instance := or .Params.Fediverse.Host .Params.Fediverse.Instance }}
+{{- $user := or .Params.Fediverse.User .Params.Fediverse.Username }}
+{{- $post := or .Params.Fediverse.post .Params.Fediverse.link }}
+{{- $commentsSrc := print "https://" $instance "/@" $user "/" $post }}
+{{- $api := print "https://" $instance "/api/v1/statuses/" $post }}
+{{- if and $instance $user $post }}
+
+{{ end }}
\ No newline at end of file
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
new file mode 100644
index 0000000..b51067e
--- /dev/null
+++ b/layouts/partials/footer.html
@@ -0,0 +1,59 @@
+{{ "" | safeHTML }}
+
+
+ {{ partialCached "a11y.html" . }}
+ {{ partialCached "a11y/bionread.html" . }}
+ {{ "" | safeHTML }}
+
+
+ c
+
+
+
+
+{{- define "partials/main/footer.html" -}}
+ {{ "" | safeHTML }}
+ {{- $page := . }}
+ {{- $iterateEntry := where .Site.RegularPages "Type" "footer" }}
+ {{ with $iterateEntry -}}
+
+
+ {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
new file mode 100644
index 0000000..89dc271
--- /dev/null
+++ b/layouts/partials/head.html
@@ -0,0 +1,71 @@
+{{ "" | safeHTML -}}
+{{ if .Params.Headless -}}
+ {{- $url := "/404.html" }}
+ {{- with or .Params.Target .Params.Alias }}
+ {{- $url = . }}
+ {{- end }}
+ {{ $url }}
+
+
+
+
+{{- else -}}
+ {{ partial "head/meta.html" . -}}
+ {{- if site.Params.extMeta }}
+ {{ partial "head/_meta.html" . -}}
+ {{- end }}
+ {{ with .OutputFormats.Get "rss" -}}
+ {{ printf ` ` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
+ {{ end -}}
+ {{ partialCached "head/js.html" . -}}
+ {{ partialCached "head/css.html" . -}}
+{{ end }}
+{{- /*---------------------- end of head.html ----------------------*/}}
+
+{{- define "partials/head/meta.html" }}
+ {{ "" | safeHTML }}
+ {{- $siteTitle := or site.Title site.Params.title }}
+ {{- $title := cond .IsHome $siteTitle (printf "%s | %s" .Title $siteTitle) }}
+ {{- $author := cond (and .IsPage .Params.author) .Params.author site.Params.Author.Name }}
+ {{- $cover := partial "_funcs/get-page-images.html" . }}
+ {{- /*
+
+ Set description */}}
+ {{- $desc := or .Params.Subtitle .Params.Description .Description .Summary }}
+ {{- if and .IsHome site.Params.Description }}
+ {{- $desc = site.Params.Description }}
+ {{- else if and (not .IsPage) site.Params.Description }}
+ {{- $desc = site.Params.Description .Kind }}
+ {{- end }}
+ {{- /*
+
+ Set keywords */}}
+ {{- $keywords := dict }}
+ {{- if .IsHome }}
+ {{- $keywords = slice (i18n "home") }}
+ {{- else if not .IsPage }}
+ {{- $keywords = slice (.Page.Title) }}
+ {{- else }}
+ {{- $keywords = or .Params.keywords .Params.tags }}
+ {{- end }}
+
+
+
+ {{ $title }}
+
+ {{ with $desc -}}
+
+ {{ end -}}
+ {{ with $keywords -}}
+
+ {{ end -}}
+
+ {{ with .Translations -}}
+ {{- range . -}}
+
+ {{- end }}
+ {{- end }}
+ {{ with .Site.Params.favicon }}
+
+ {{ end }}
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/head/_meta.html b/layouts/partials/head/_meta.html
new file mode 100644
index 0000000..667fafb
--- /dev/null
+++ b/layouts/partials/head/_meta.html
@@ -0,0 +1,151 @@
+{{ "" | safeHTML -}}
+{{- $ISO8601 := "2006-01-02T15:04:05-07:00" }}
+{{- $siteTitle := or site.Title site.Params.title }}
+{{- $title := cond .IsHome $siteTitle (printf "%s | %s" .Title $siteTitle) }}
+{{- $author := cond (and .IsPage .Params.author) .Params.author site.Params.Author.Name }}
+{{- $cover := partial "_funcs/get-page-images.html" . }}
+{{- /*
+
+ Set description */}}
+{{- $desc := or .Params.Subtitle .Params.Description .Description .Summary }}
+{{- if and .IsHome site.Params.Description }}
+ {{- $desc = site.Params.Description }}
+{{- else if and (not .IsPage) site.Params.Description }}
+ {{- $desc = site.Params.Description .Kind }}
+{{- end }}
+{{- /*
+
+ Set keywords */}}
+{{- $keywords := dict }}
+{{- if .IsHome }}
+ {{- $keywords = slice (i18n "home") }}
+{{- else if not .IsPage }}
+ {{- $keywords = slice (.Page.Title) }}
+{{- else }}
+ {{- $keywords = or .Params.keywords .Params.tags }}
+{{- end }}
+
+
+
+{{- with $siteTitle | plainify }}
+
+{{- end }}
+
+{{- with $title | plainify }}
+
+
+{{- end }}
+
+{{- with $desc | plainify | htmlUnescape }}
+
+
+{{- end }}
+
+{{- with or .Params.locale site.Language.LanguageCode }}
+
+{{- end }}
+
+{{- if .IsPage }}
+
+ {{ with .Section -}}
+
+ {{- end }}
+ {{ with .PublishDate -}}
+
+ {{- end }}
+ {{ with .Lastmod -}}
+
+ {{- end }}
+ {{ with $keywords -}}
+
+ {{- end }}
+{{- else }}
+
+{{- end }}
+
+{{- $cover := or .Params.cover .Params.image }}
+{{- $getCover := .Resources.GetMatch "cover.*" }}
+{{- if or $cover $getCover }}
+ {{- if $getCover }}
+ {{- $cover = $getCover.Permalink }}
+ {{- end }}
+ {{ with $cover -}}
+
+
+
+ {{- end }}
+{{- else }}
+
+{{- end }}
+
+{{- /* return error; workaround needed */}}
+{{- /* {{- $images := partial "_funcs/get-page-images.html" . }}
+{{- with $images }}
+ {{- range . | first 6 }}
+
+ {{- end }}
+ {{- with index . 0 }}
+
+
+ {{- else }}
+
+ {{- end }}
+{{- end }} */}}
+
+{{- $audioFormats := dict
+ "aac" "audio/aac"
+ "flac" "audio/flac"
+ "mp3" "audio/mpeg"
+ "oga" "audio/ogg"
+ "ogg" "audio/ogg"
+ "opus" "audio/opus"
+ "wav" "audio/wav"
+ "weba" "audio/webm"
+ "webm" "audio/webm"
+}}
+{{- $audioFiles := dict }}
+{{- range $format, $type := $audioFormats }}
+ {{- $file := $.Resources.GetMatch (printf "audio.%s" $format) }}
+ {{- if $file }}
+ {{- $audioFiles = merge $audioFiles (dict $format $file) }}
+ {{- end }}
+{{- end }}
+{{ with $audioFiles -}}
+ {{- range . }}
+
+ {{- end }}
+{{- end }}
+{{ with .Params.Audio -}}
+
+{{- end }}
+
+{{ with .Params.videos -}}
+
+{{- end }}
+
+{{- range .GetTerms "series" }}
+ {{- range .Pages | first 6 }}
+ {{- if ne $ . }}
+
+ {{- end }}
+ {{- end }}
+{{- end }}
+
+{{- with site.Params.social }}
+ {{- if reflect.IsMap . }}
+ {{- with .facebook_app_id }}
+
+ {{- else }}
+ {{- with .facebook_admin }}
+
+ {{- end }}
+ {{- end }}
+ {{- with .twitter }}
+ {{- $content := . }}
+ {{- if not (strings.HasPrefix . "@") }}
+ {{- $content = printf "@%v" . }}
+ {{- end }}
+
+ {{- end }}
+ {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/head/css.html b/layouts/partials/head/css.html
new file mode 100644
index 0000000..ec95f8f
--- /dev/null
+++ b/layouts/partials/head/css.html
@@ -0,0 +1,114 @@
+{{ "" | safeHTML }}
+{{- /*------------------- x-height matched type --------------------*/}}
+{{- /* serif */}}
+{{- $cormorant := resources.Get "css/typeface/Cormorant.css" }}
+{{- $crimson := resources.Get "css/typeface/Crimson.css" }}
+{{- $EBGaramond := resources.Get "css/typeface/EBGaramond.css" }}
+{{- /* sans-serif */}}
+{{- $inter := resources.Get "css/typeface/Inter.css" }}
+{{- $montserrat := resources.Get "css/typeface/Montserrat.css" }}
+{{- $rosario := resources.Get "css/typeface/Rosario.css" }}
+{{- /* teletype & other */}}
+{{- $inconsolata := resources.Get "css/typeface/Inconsolata.css" }}
+{{- $openDyslexic := resources.Get "css/typeface/OpenDyslexic.css" }}
+{{- $icon := resources.Get "css/typeface/icon.css" }}
+{{- $websafe := resources.Get "css/typeface/websafe.css" }}
+
+{{- if site.Params.Typeface.localHost }}
+ {{- $cormorant = resources.Get "css/typeface-local/Cormorant.css" }}
+ {{- $crimson = resources.Get "css/typeface-local/Crimson.css" }}
+ {{- $EBGaramond = resources.Get "css/typeface-local/EBGaramond.css" }}
+ {{- $inter = resources.Get "css/typeface-local/Inter.css" }}
+ {{- $montserrat = resources.Get "css/typeface-local/Montserrat.css" }}
+ {{- $rosario = resources.Get "css/typeface-local/Rosario.css" }}
+ {{- $inconsolata = resources.Get "css/typeface-local/Inconsolata.css" }}
+ {{- $openDyslexic = resources.Get "css/typeface-local/OpenDyslexic.css" }}
+{{- end }}
+
+{{- $teletype := $inconsolata }}
+
+{{- /* configure typeface */}}
+{{- $roman := $EBGaramond }}
+{{- $uRoman := lower (or site.Params.Typeface.Roman site.Params.Typeface.serif) }}
+{{- if eq $uRoman "cormorant" }}
+ {{- $roman = $cormorant }}
+{{- else if eq $uRoman "crimson" }}
+ {{- $roman = $crimson }}
+{{- end }}
+
+{{- $sans := $rosario }}
+{{- $uSans := lower (or site.Params.Typeface.Sans site.Params.Typeface.SansSerif) }}
+{{- if eq $uSans "montserrat" }}
+ {{- $sans = $montserrat }}
+{{- else if eq $uSans "inter" }}
+ {{- $sans = $inter }}
+{{- end }}
+
+{{- /*--------------------------- layout ---------------------------*/}}
+{{- $baseSty:= slice
+ (resources.Get "css/layout/_default/baseof.css")
+ (resources.Get "css/typesetting/default.css")
+ (resources.Get "css/typesetting/sectioning.css")
+ (resources.Get "css/component/background.css")
+ (resources.Get "css/component/breadcrumb.css")
+ (resources.Get "css/component/column.css")
+ (resources.Get "css/component/a11y.css")
+ (resources.Get "css/component/keyframe.css")
+ (resources.Get "css/component/logotype.css")
+ (resources.Get "css/component/link.css")
+ (resources.Get "css/component/menu.css")
+ (resources.Get "css/component/search.css")
+ (resources.Get "css/component/skipper.css")
+ (resources.Get "css/media/print.css")
+ (resources.Get "css/layout/_default/list.css")
+ (resources.Get "css/component/card.css")
+ (resources.Get "css/component/carousel.css")
+ (resources.Get "css/component/hero.css")
+ (resources.Get "css/layout/_default/single.css")
+ (resources.Get "css/component/marginpar.css")
+ (resources.Get "css/component/share.css")
+ (resources.Get "css/optimize.css")
+}}
+
+{{- $baseFonts := slice $icon $openDyslexic }}
+{{- if site.Params.WebSafeFonts }}
+ {{- $baseFonts = $baseFonts | append $websafe }}
+{{- else }}
+ {{- $baseFonts = $baseFonts | append $roman $sans $teletype }}
+{{- end }}
+
+{{- $hugo_brewm := ($baseFonts | append $baseSty) | resources.Concat "css/hugo-brewm.css" | minify }}
+
+{{- if eq hugo.Environment "development" }}
+
+{{- else }}
+ {{- with $hugo_brewm | fingerprint "sha256" }}
+
+ {{- end }}
+{{- end }}
+
+{{- /*----------- graceful degradation, no css fallback ------------*/}}
+
+
+{{- /*--------------------- custom formatting ----------------------*/}}
+{{- if or site.Params.Post.NoIndent .Params.NoIndent }}
+
+{{- end }}
+
+{{- if or site.Params.Post.Justifying .Params.Justifying }}
+
+
+{{- end }}
+
+{{- /*---------------------- end of css.html -----------------------*/}}
+
+{{- define "partials/head/css/verbatim.html" }}
+ {{- $verbatimSty := resources.Get "css/typesetting/verbatim.css" | minify }}
+ {{- if eq hugo.Environment "development" }}
+
+ {{- else }}
+ {{- with $verbatimSty | fingerprint }}
+
+ {{- end }}
+ {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/head/js.html b/layouts/partials/head/js.html
new file mode 100644
index 0000000..6b52e20
--- /dev/null
+++ b/layouts/partials/head/js.html
@@ -0,0 +1,96 @@
+{{ "" | safeHTML }}
+{{- $js_files := slice
+ (resources.Get "js/default.js")
+ (resources.Get "js/accessibility.js")
+ (resources.Get "js/bionread.js")
+ (resources.Get "js/qrcode.js")
+}}
+{{- $hugo_brewm := $js_files | resources.Concat "js/hugo-brewm.js" | minify }}
+{{- if eq hugo.Environment "development" }}
+
+{{- else }}
+ {{- with $hugo_brewm | fingerprint "sha384" -}}
+
+ {{- end }}
+{{- end }}
+
+{{- /*----------------------- end of js.html -----------------------*/}}
+
+{{- define "partials/head/js/hljs.html" -}}
+
+
+ {{- if .Params.Hljslang }}
+
+ {{- end }}
+{{- end }}
+
+{{- define "partials/head/js/katex.html" -}}
+
+
+
+
+{{- end }}
+
+{{- define "partials/head/js/mathjax.html" -}}
+
+
+
+{{- end }}
+
+{{- define "partials/head/js/qrcode.html" -}}
+ {{ $qrcode := resources.Get "js/qrcode.js" | minify }}
+ {{ if eq hugo.Environment "development" }}
+
+ {{- else }}
+ {{- with $qrcode | fingerprint "sha384" -}}
+
+ {{- end }}
+ {{- end }}
+{{- end }}
+
+{{- define "partials/head/js/fediverse.html" -}}
+ {{- $instance := .Site.Params.comment.Fediverse.Instance }}
+ {{- if or .Params.Fediverse.Instance .Params.Fediverse.Host }}
+ {{- $instance = or .Params.Fediverse.Instance .Params.Fediverse.Host }}
+ {{- end }}
+ {{- $user := .Site.Params.Comment.Fediverse.User }}
+ {{- if or .Params.Fediverse.User .Params.Fediverse.Username }}
+ {{- $user = or .Params.Fediverse.User .Params.Fediverse.Username }}
+ {{- end }}
+ {{- $post := .Params.Fediverse.post }}
+ {{- if and $instance $user }}
+
+ {{- $fediverse := resources.Get "js/fediverse.js" | minify }}
+ {{- if eq hugo.Environment "development" }}
+
+ {{- else }}
+ {{- with $fediverse | fingerprint "sha384" }}
+
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
new file mode 100644
index 0000000..56d1416
--- /dev/null
+++ b/layouts/partials/header.html
@@ -0,0 +1,82 @@
+{{ "" | safeHTML }}
+
+
+ {{/*
+
+ skipper/bypass block [KB] */}}
+
+ {{- $content := "content" }}
+ {{- if not .IsPage }}
+ {{- $content = "list-posts" }}
+ {{- end }}
+
+ {{ i18n "toContent" }}
+ c
+
+
+
+ {{/*
+
+ site banner */}}
+ {{- if or site.Params.logoType site.Params.logoMark }}
+
+ {{- with site.Params.logoMarkDark }}
+
+ {{- end }}
+ {{- with site.Params.logoMark }}
+
+ {{- end }}
+ {{- if or site.Params.logoType (not site.Params.logoMark) }}
+ {{ partialCached "header/logotype.html" . }}
+ {{- end }}
+
+ {{- end }}
+ {{/*
+
+ top nav */}}
+
+
+ {{ i18n "nav" }}
+
+
+
+ {{ partial "menu.html" (dict "menuID" "main" "open" "open" "page" .) }}
+ {{ if site.Params.searchBar }}{{ partialCached "search.html" . }}{{ end }}
+ {{ partial "menu.html" (dict "menuID" "more" "page" .) }}
+ {{ partialCached "i18n.html" . }}
+
+
+
+
+{{- /*--------------------- end of header.html ---------------------*/}}
+
+{{- define "partials/main/header.html" -}}
+ {{ "" | safeHTML }}
+ {{- if not .IsHome }}
+
+ {{/*
+
+ action menu */}}
+ {{ partial "nav/menu.html" . }}
+ {{/*
+
+ breadcrumb */}}
+ {{- $minVersion := index ( split hugo.Version "." ) 1 }}
+ {{- if lt $minVersion 109 }}
+ {{ partial "legacy/breadcrumb.html" . }}
+ {{- else }}
+ {{ partial "nav.html" ( dict "navID" "breadcrumb" "page" . )}}
+ {{- end }}
+
+ {{- end }}
+{{- end }}
+
+{{- define "partials/header/logotype.html" -}}
+ {{ "" | safeHTML }}
+ {{- with site.Title -}}
+ {{- $estimatedWidth := printf "%dpt" (mul (len . ) 28) -}}
+
+ {{ . }}
+
+ {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/i18n.html b/layouts/partials/i18n.html
new file mode 100644
index 0000000..1dd7607
--- /dev/null
+++ b/layouts/partials/i18n.html
@@ -0,0 +1,95 @@
+{{ "" | safeHTML }}
+{{- $IsMultilingual := hugo.IsMultilingual }}
+{{- $minVersion := index ( split hugo.Version "." ) 1 }}
+{{- if lt $minVersion 124 }}
+ {{- $IsMultilingual = site.IsMultiLingual }}
+{{- end }}
+{{ $flagSrc := "https://raw.githubusercontent.com/lipis/flag-icons/c95b262e5ee2366cad4c5aecc4a5ad86220c9ab9/flags/4x3/" }}
+{{- if $IsMultilingual }}
+ {{- $bilingual := eq (where $.Site.Home.AllTranslations ".Language.disabled" "ne" true | len ) 2 }}
+ {{- if $bilingual }}
+ {{- range where $.Site.Home.AllTranslations "Lang" "ne" $.Lang }}
+ {{- $act639 := index (split $.Language.LanguageCode "-") 0 | upper }}
+ {{- $alt639 := index (split .Language.LanguageCode "-") 0 | upper }}
+ {{- $alt3166 := index (split .Language.LanguageCode "-") 1 | lower }}
+ {{- $name := .Language.LanguageName }}
+
+
+ {{ $act639 }}
+ {{ $alt639 }}
+ {{ $name }}
+
+ {{- end }}
+ {{- else }}
+
+
+ {{ with $.Language }}
+ {{- $iso639 := index (split .LanguageCode "-") 0 | upper }}
+ {{- $iso3166 := index (split .LanguageCode "-") 1 | lower }}
+
+ {{ $iso639 }}
+ {{ .LanguageName }}
+ {{ end }}
+
+
+ {{ "" | safeHTML }}
+
+
+ {{- end }}
+{{- end }}
+{{/*----------------------- end of i18n.html -----------------------*/}}
+
+{{- define "partials/l10n.html" }}
+ {{ "" | safeHTML }}
+ {{- $page := .page }}
+
+
+ {{ $page.Lang | upper }}
+
+
+ {{- range $page.Translations }}
+ {{- $iso3166 := index (split .Language.LanguageCode "-") 1 | lower }}
+
+
+
+ {{ .LinkTitle }}
+
+
+ {{- end }}
+
+
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/menu.html b/layouts/partials/menu.html
new file mode 100644
index 0000000..65f7ba4
--- /dev/null
+++ b/layouts/partials/menu.html
@@ -0,0 +1,134 @@
+{{ "" | safeHTML }}
+{{- $menuID := .menuID }}
+{{- $page := .page }}
+{{- $open := .open }}
+{{- $more := eq $menuID "more" }}
+{{- if eq $menuID "footer" }}
+ {{- with index site.Menus "footer" }}
+
+ {{- end }}
+{{- else if index site.Menus $menuID }}
+
+
+ {{ if $more -}}
+ {{ i18n $menuID }}
+
+ {{- else -}}
+ {{ i18n $menuID }}
+ {{- end }}
+
+ {{- with index site.Menus $menuID }}
+ {{ if $more }}{{ "" | safeHTML }}{{ end }}
+
+ {{- $n := 1 }}
+ {{- $no := printf "l%d" $n }}
+
+ {{ partial "inline/menu/walk.html" (dict "page" $page "menuID" $menuID "n" $n "menuEntries" .) }}
+
+ {{- if $more }}
+
+ {{- end }}
+
+ {{- end }}
+
+{{- end }}
+
+{{- /*---------------------- end of menu.html ----------------------*/}}
+
+{{- define "partials/inline/menu/walk.html" -}}
+ {{- $page := .page }}
+ {{- $menuID := .menuID }}
+ {{- $open := .open }}
+ {{- $main := eq $menuID "main" }}
+ {{- $n := .n }}
+ {{- $n = add $n 1 }}
+ {{- $l := printf "l%d" $n }}
+ {{- $deck := and $main (eq $n 2) }}
+ {{ range .menuEntries -}}
+ {{- $name := .Name }}
+ {{- $attrs := dict "href" .URL }}
+ {{- if $page.IsMenuCurrent .Menu . }}
+ {{- $attrs = merge $attrs (dict "aria-current" "page") }}
+ {{- else if $page.HasMenuCurrent .Menu . }}
+ {{- $attrs = merge $attrs (dict "aria-current" "true") }}
+ {{- end }}
+ {{- $desc := .Post }}
+ {{- if $deck }}
+ {{- $attrs = merge $attrs (dict "class" "on-deck") }}
+ {{- else if $desc }}
+ {{- $attrs = merge $attrs (dict "class" "has-desc") }}
+ {{- end }}
+ {{- $icon := .Pre }}
+ {{- with $icon }}
+ {{- $attrs = merge $attrs (dict "title" . "aria-label" .) }}
+ {{- end }}
+
+ {{- if .Children }}
+ {{- template "menuItemWithChildren" dict "item" . "attrs" $attrs "icon" $icon "name" $name "desc" $desc "deck" $deck "menuID" $menuID "open" $open "l" $l "n" $n "page" $page }}
+ {{- else }}
+ {{- template "menuItem" dict "attrs" $attrs "name" $name "desc" $desc "icon" $icon }}
+ {{- end }}
+
+ {{- end }}
+{{- end }}
+
+{{- define "menuItem" }}
+
+ {{ if not .name }}
+ {{ title .icon }}
+ {{ end }}
+ {{- with .icon -}}
+
+ {{- end }}
+ {{- with .name }}
+ {{ . }}
+ {{- end }}
+
+{{- end }}
+
+{{- define "menuItemWithChildren" }}
+
+
+ {{ with .icon }} {{ end }}
+
+ {{- .name -}}
+
+
+
+ {{ partial "inline/menu/walk.html" (dict "page" .page "n" .n "menuEntries" .item.Children) }}
+ {{- range $key, $val := .attrs }}
+ {{- if eq $key "href" }}
+
+
+ {{ with $.icon }} {{ end }}
+ {{ $.name }}
+
+
+ {{- end }}
+ {{- end }}
+
+ {{- if .deck -}}
+
+ {{- end }}
+
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/nav.html b/layouts/partials/nav.html
new file mode 100644
index 0000000..20f43b7
--- /dev/null
+++ b/layouts/partials/nav.html
@@ -0,0 +1,202 @@
+{{ "" | safeHTML }}
+{{- $navID := .navID }}
+{{- $page := .page }}
+{{- $toc := eq $navID "TableOfContents" }}
+
+
+ {{ i18n $navID }}
+
+ {{- if $toc }}
+ {{- replace
+ (replace $page.TableOfContents
+ "TableOfContents" "doc-toc")
+ "id" "data-pagefind-body role"
+ | safeHTML }}
+ {{- else }}
+
+
+ {{- if eq $navID "breadcrumb" }}
+ {{ partial "nav/breadcrumb.html" ( dict "page" $page ) }}
+ {{- else if eq $navID "pagination"}}
+ {{ partial "nav/paginator.html" ( dict "page" $page ) }}
+ {{- else if eq $navID "share" }}
+ {{ partial "nav/share.html" ( dict "page" $page ) }}
+ {{- end }}
+
+
+ {{- end }}
+
+{{- /*---------------------- end of nav.html -----------------------*/}}
+
+{{- define "partials/nav/breadcrumb.html" -}}
+ {{ "" | safeHTML }}
+ {{- $page := .page }}
+ {{- if $page.IsTranslated }}
+
+ {{ partial "l10n.html" ( dict "page" $page ) }}
+
+ {{- end }}
+ {{- range $page.Ancestors.Reverse }}
+ {{- if not .IsHome }}
+
+
+ {{- .Title }}
+
+
+ {{- end }}
+ {{- end }}
+
+
+ {{- $page.Title }}
+
+
+{{- end }}
+
+{{- define "partials/legacy/breadcrumb.html" -}}
+ {{ "" | safeHTML }}
+
+
+ {{- i18n "breadcrumb"}}
+
+ {{ partial "breadcrumb/menu.html" . }}
+
+
+ {{- if .IsTranslated -}}
+
+ {{ partial "l10n.html" ( dict "page" . ) }}
+
+ {{- end }}
+ {{ partial "legacy/breadcrumb/loop.html" . }}
+
+
+ {- .Title }}
+
+
+
+
+
+{{- end }}
+
+{{- define "partials/legacy/breadcrumb/loop.html" -}}
+ {{ "" | safeHTML }}
+ {{- with .Parent }}
+ {{ partial "legacy/breadcrumb/loop.html" . }}
+ {{- if not .IsHome }}
+
+
+ {{ .Title }}
+
+
+ {{- end }}
+ {{- end }}
+{{- end }}
+
+{{- define "partials/nav/menu.html" -}}
+ {{ "" | safeHTML }}
+
+
+
+ {{ i18n "print" }}
+
+
+
+
+ {{ i18n "share" }}
+
+
+
+
+ {{ i18n "copy" }}
+
+
+ {{- if and (eq .Kind "term" ) (eq .Data.Plural "series") -}}
+ {{- with .OutputFormats.Get "rss" }}
+
+
+
+ {{- end }}
+ {{- end }}
+
+
+ {{ i18n "back" }}
+
+{{- end }}
+
+{{- define "partials/nav/paginator.html" -}}
+ {{ "" | safeHTML }}
+ {{- $page := .page }}
+ {{- if $page.Paginator.HasPrev }}
+
+
+ {{- i18n "prev" }}
+
+
+ {{- end }}
+ {{- if $page.Paginator.HasNext }}
+
+
+ {{- i18n "next" }}
+
+
+ {{- end }}
+{{- end }}
+
+{{- define "partials/nav/share/mastodon.html" -}}
+ {{ "" | safeHTML }}
+ {{- $page := .page }}
+
+{{- end }}
+
+{{- define "partials/nav/share.html" -}}
+ {{ "" | safeHTML }}
+ {{- $page := .page }}
+ {{- $shareAttr := `rel="noopener noreferrer" target="_blank"` | safeHTMLAttr }}
+
+ {{ partial "nav/share/mastodon.html" (dict "page" $page ) }}
+
+
+
+
+ {{ i18n "shareOn" }} {{ i18n "email" }}
+
+
+
+
+
+ {{ i18n "shareOn" }} Whatsapp
+
+
+ {{- $socialLinks := slice
+ (dict "platform" "telegram" "url" (printf "https://telegram.me/share/url?text=%s&url=%s" ($page.Title | htmlEscape) $page.Permalink))
+ (dict "platform" "facebook" "url" (printf "https://facebook.com/sharer/sharer.php?u=%s" $page.Permalink))
+ (dict "platform" "bluesky" "url" (printf "https://bsky.app/intent/compose?text=%s&url=%s" ($page.Title | htmlEscape) $page.Permalink))
+ (dict "platform" "twitter" "url" (printf "https://twitter.com/intent/tweet/?text=%s&url=%s" ($page.Title | htmlEscape) $page.Permalink))
+ (dict "platform" "linkedin" "url" (printf "https://www.linkedin.com/shareArticle?mini=true&url=%s&title=%s&summary=%s&source=%s" $page.Permalink ($page.Title | htmlEscape) ($page.Title | htmlEscape) $page.Permalink))
+ (dict "platform" "reddit" "url" (printf "https://reddit.com/submit/?url=%s&resubmit=true&title=%s" $page.Permalink ($page.Title | htmlEscape)))
+ (dict "platform" "tumblr" "url" (printf "https://www.tumblr.com/widgets/share/tool?posttype=link&title=%s&caption=%s&content=%s&canonicalUrl=%s" ($page.Title | htmlEscape) ($page.Title | htmlEscape) $page.Permalink $page.Permalink))
+ (dict "platform" "pinterest" "url" (printf "https://pinterest.com/pin/create/button/?url=%s&media=%s&description=%s" $page.Permalink $page.Permalink ($page.Title | htmlEscape)))
+ (dict "platform" "xing" "url" (printf "https://www.xing.com/app/user?op=share;url=%s;title=%s" $page.Permalink ($page.Title | htmlEscape)))
+ (dict "platform" "hackernews" "url" (printf "https://news.ycombinator.com/submitlink?u=%s&t=%s" $page.Permalink ($page.Title | htmlEscape)))
+ (dict "platform" "vk" "url" (printf "http://vk.com/share.php?title=%s&url=%s" ($page.Title | htmlEscape) $page.Permalink))
+ }}
+ {{- range $socialLinks }}
+
+
+
+ {{ i18n "shareOn" }} {{ title .platform }}
+
+
+ {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/search.html b/layouts/partials/search.html
new file mode 100644
index 0000000..7360452
--- /dev/null
+++ b/layouts/partials/search.html
@@ -0,0 +1,61 @@
+{{ "" | safeHTML }}
+
+
+ {{ i18n "search" }}
+ q
+
+ {{ if site.Params.pagefind }}
+ {{ partialCached "search/pagefind.html" . }}
+
+ {{ partialCached "search/duckduckgo.html" . }}
+
+ {{ else }}
+
+ {{ partialCached "search/duckduckgo.html" . }}
+
+ {{ end }}
+
+{{- /*-------------------- end of search.html ----------------------*/}}
+
+{{- define "partials/search/duckduckgo.html" }}
+ {{ "" | safeHTML }}
+ {{- $site := index (split site.BaseURL "/") 2 }}
+
+
+{{- end }}
+
+{{- define "partials/search/pagefind.html" -}}
+ {{ "" | safeHTML }}
+
+
+
+{{- end }}
\ No newline at end of file
diff --git a/layouts/shortcodes/figure.html b/layouts/shortcodes/figure.html
new file mode 100644
index 0000000..421edfe
--- /dev/null
+++ b/layouts/shortcodes/figure.html
@@ -0,0 +1,57 @@
+{{- $type := .Get "type" }}
+{{- $figID := print "fig-" .Page.File.UniqueID "-" .Ordinal }}
+{{- if not (eq $type "margin") }}
+ {{- if eq $type "full" }}
+ {{- else }}
+ {{- end }}
+{{- end }}
+{{- if eq $type "full" }}
+ {{- with .Get "link" }}{{ end }}
+
+ {{- if .Get "link" }} {{ end }}
+
+{{- else }}
+
+
+ {{- if eq $type "margin" }}
+
+ {{- with .Get "link" }}
+ {{- end }}
+
+ {{- if .Get "link" }} {{ end }}
+ {{ else }}
+
+ {{- end }}
+{{- end }}
+ {{ with .Get "title" }}{{ . }} {{ end }}
+ {{ with .Get "caption" }}{{ . }}{{ end }}
+ {{ with .Get "attrlink" }}{{ end }}
+ {{- with .Get "attr" }}{{ . }}{{ end }}
+ {{- if .Get "attrlink" }} {{ end }}
+{{- if eq $type "full" }}
+
+{{- else }}
+
+{{- end }}
+{{- if and (not (eq $type "full")) (not (eq $type "margin")) }}
+ {{ with .Get "link" }}{{ end }}
+
+ {{- if .Get "link" }} {{ end }}
+{{- end }}
+{{- if not (eq $type "margin") }}
+
+{{- end }}
\ No newline at end of file
diff --git a/layouts/shortcodes/include.html b/layouts/shortcodes/include.html
new file mode 100644
index 0000000..cf7fa88
--- /dev/null
+++ b/layouts/shortcodes/include.html
@@ -0,0 +1,6 @@
+{{- $minVersion := index ( split hugo.Version "." ) 1 }}
+{{- if lt $minVersion 125 -}}
+ {{- with site.GetPage (.Get 0) }}
+ {{ .RenderShortcodes }}
+ {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/layouts/shortcodes/marginpar.html b/layouts/shortcodes/marginpar.html
new file mode 100644
index 0000000..d79a332
--- /dev/null
+++ b/layouts/shortcodes/marginpar.html
@@ -0,0 +1,4 @@
+{{- $marginparID := print "marginpar-" .Ordinal }}
+
+
+{{ .Inner | markdownify }}
\ No newline at end of file
diff --git a/layouts/shortcodes/pin.html b/layouts/shortcodes/pin.html
new file mode 100644
index 0000000..af4e942
--- /dev/null
+++ b/layouts/shortcodes/pin.html
@@ -0,0 +1,26 @@
+{{- $var := .Get 0 }}
+{{- $pinID := print "pin-" .Page.File.UniqueID "-" .Ordinal }}
+{{- $url := .Get "url" }}
+{{- $label := .Get "label" }}
+{{- $img := .Get "img" }}
+{{- $alt := .Get "alt" }}
+{{- if .IsNamedParams }}
+ {{- if .Get "quote" }}
+
+ {{ with $img }} {{ end }}
+ {{ with .Get "quote" }}{{ safeHTML . }}
{{ end }}
+
+ {{- else }}
+
+ {{ with $img }} {{ end }}
+ {{- with $label }}
+
+ {{ if $url }} {{ . }} {{ else }}{{ . }}{{ end }}
+
+ {{- end }}
+
+ {{- end }}
+{{ else if or (eq $var "") (eq $var "begin") }}
+{{ else if eq $var "end" }}
+{{- end }}
\ No newline at end of file
diff --git a/layouts/shortcodes/rss.html b/layouts/shortcodes/rss.html
new file mode 100644
index 0000000..2278859
--- /dev/null
+++ b/layouts/shortcodes/rss.html
@@ -0,0 +1,53 @@
+{{- $url := .Get "url" }}
+{{- $limit := or (.Get "limit") (.Get "pagerSize")}}
+{{- $data := dict }}
+{{- with resources.GetRemote $url }}
+ {{- $data = . | transform.Unmarshal }}
+{{- end }}
+{{- with $data }}
+ {{- $version := index $data "-version" }}
+ {{- if not $version }}
+ {{- printf "Unable to get remote resource %q" $url }}
+ {{- else if eq $version "2.0" }}
+ {{- $siteTitle := .channel.title }}
+ {{- $siteDescription := .channel.description }}
+ {{- $siteLink := .channel.link }}
+ {{- $siteImage := .channel.image.url }}
+ {{- $siteLanguage := .channel.language }}
+ {{- $buildDate := .channel.lastBuildDate }}
+ {{- with .channel.item }}
+
+ {{- $pagerSize := or $limit 10 }}
+ {{- range . | first $pagerSize }}
+ {{- $author := or .author .creator }}
+ {{- $title := .title }}
+ {{- $description := or .description .summary }}
+ {{- $link := .link }}
+ {{- $date := .pubDate }}
+ {{- $category := .category }}
+ {{- $type := index .enclosure "-type" }}
+ {{- $url := index .enclosure "-url" }}
+
+
+
+ {{- with $author }}
{{ . }} {{ end }}
+ {{- with $date }}
{{ . | truncate 19 "" }}
{{ end }}
+
+ {{ $title }}
+
+
+
+ {{- if or (eq $type "image/jpeg") .coverImage }}
+ {{- if .coverImage }}
+ {{- $url = .coverImage }}
+ {{- end }}
+
+ {{- end }}
+ {{ $description | safeHTML }}
+
+
+ {{- end }}
+
+ {{- end }}
+ {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/static/css/_grain.svg b/static/css/_grain.svg
new file mode 100644
index 0000000..ece58e1
--- /dev/null
+++ b/static/css/_grain.svg
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/static/css/fonts/README.md b/static/css/fonts/README.md
new file mode 100644
index 0000000..288f0aa
--- /dev/null
+++ b/static/css/fonts/README.md
@@ -0,0 +1,8 @@
+# Disclaimer
+All product and company names are trademarks or registered trademarks of their respective holders.
+Use of them does not imply any affiliation with or endorsement by them.
+The Icons is used under fair-use, without any intention to infringe the trademark.
+Please open an issue for addition or removal.
+
+# Copyright Notice & License
+`base-ui` fonts family is licensed under copyleft license, you are free to modify, which can be done using [IcoMoon](https://icomoon.io) App by importing the `base-ui.json` files.
\ No newline at end of file
diff --git a/static/css/fonts/base-ui.json b/static/css/fonts/base-ui.json
new file mode 100644
index 0000000..f7dcecb
--- /dev/null
+++ b/static/css/fonts/base-ui.json
@@ -0,0 +1 @@
+{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M512.005 64.021c51.117 0 92.381 41.265 92.381 92.381s-41.265 92.997-92.381 92.997c-50.501 0-92.381-41.881-92.381-92.997s41.881-92.381 92.381-92.381zM105.527 357.178c0-40.033 406.477-46.806 406.477-46.806s406.477 6.775 406.477 46.806-275.297 86.222-275.297 86.222 104.082 501.321 65.282 516.102c-38.185 14.781-196.465-319.639-196.465-319.639s-157.663 334.42-195.849 319.639c-38.801-14.781 65.282-516.102 65.282-516.102s-275.913-46.19-275.913-86.222z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["accessible"],"grid":16},"attrs":[{}],"properties":{"order":30,"id":0,"name":"accessibility","prevSize":28,"code":59648,"ligatures":"accessibility"},"setIdx":1,"setId":5,"iconIdx":0},{"icon":{"paths":["M61.44 460.8c27.986-90.084 110.591-154.365 208.209-154.365 86.019 0 160.381 49.913 195.703 122.356l0.567 1.289c13.742-4.822 29.586-7.608 46.080-7.608s32.338 2.786 47.087 7.912l-1.007-0.304c35.89-73.732 110.251-123.645 196.271-123.645 97.619 0 180.224 64.281 207.796 152.823l0.414 1.542c2.809-0.541 6.041-0.851 9.344-0.851 28.56 0 51.712 23.152 51.712 51.712s-23.152 51.712-51.712 51.712c-1.487 0-2.959-0.063-4.414-0.186l0.19 0.013c-17.849 103.147-106.663 180.604-213.568 180.604-117.765 0-213.576-93.993-216.507-211.052l-0.005-0.272c-7.344-4.312-16.174-6.859-25.6-6.859s-18.256 2.547-25.842 6.99l0.242-0.131c-2.936 117.331-98.747 211.324-216.512 211.324-106.905 0-195.719-77.457-213.382-179.312l-0.185-1.292c-1.265 0.11-2.737 0.173-4.224 0.173-28.56 0-51.712-23.152-51.712-51.712s23.152-51.712 51.712-51.712c3.303 0 6.535 0.31 9.666 0.902l-0.322-0.051zM268.8 409.6c-63.623 0-115.2 51.577-115.2 115.2s51.577 115.2 115.2 115.2v0c63.623 0 115.2-51.577 115.2-115.2s-51.577-115.2-115.2-115.2v0zM755.2 409.6c-63.623 0-115.2 51.577-115.2 115.2s51.577 115.2 115.2 115.2v0c63.623 0 115.2-51.577 115.2-115.2s-51.577-115.2-115.2-115.2v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["appearance"]},"attrs":[{}],"properties":{"order":48,"id":109,"name":"appearance","prevSize":28,"code":59649},"setIdx":1,"setId":5,"iconIdx":1},{"icon":{"paths":["M243.499 542.165l225.835-225.835v494.336c0 23.552 19.115 42.667 42.667 42.667s42.667-19.115 42.667-42.667v-494.336l225.835 225.835c16.683 16.683 43.691 16.683 60.331 0s16.683-43.691 0-60.331l-298.667-298.667c-3.925-3.925-8.619-7.083-13.824-9.259s-10.795-3.243-16.341-3.243c-10.923 0-21.845 4.181-30.165 12.501l-298.667 298.667c-16.683 16.683-16.683 43.691 0 60.331s43.691 16.683 60.331 0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["arrow"],"grid":16},"attrs":[{}],"properties":{"order":31,"id":1,"name":"arrow","prevSize":28,"code":59650,"ligatures":"arrow"},"setIdx":1,"setId":5,"iconIdx":2},{"icon":{"paths":["M896 472.747v39.253c-0.043 106.027-43.051 201.941-112.64 271.445s-165.547 112.384-271.573 112.299-201.984-43.051-271.445-112.64-112.384-165.504-112.341-271.573 43.051-201.941 112.64-271.445 165.547-112.384 271.573-112.341c56.747 0.043 110.336 12.331 155.691 33.067 21.419 9.813 46.763 0.341 56.533-21.077s0.341-46.763-21.077-56.533c-56.619-25.856-122.283-40.747-191.104-40.789-129.579-0.085-246.997 52.437-331.947 137.259s-137.557 202.24-137.643 331.819 52.437 246.997 137.259 331.947 202.197 137.6 331.776 137.643 246.997-52.437 331.947-137.259 137.6-202.197 137.685-331.819v-39.253c0-23.552-19.115-42.667-42.667-42.667s-42.667 19.115-42.667 42.667zM908.501 140.501l-396.501 396.885-97.835-97.792c-16.683-16.683-43.691-16.683-60.331 0s-16.683 43.691 0 60.331l128 128c16.683 16.683 43.691 16.64 60.373 0l426.667-427.093c16.64-16.683 16.64-43.691-0.043-60.331s-43.691-16.64-60.331 0.043z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["check-circle"],"grid":16},"attrs":[{}],"properties":{"order":32,"id":2,"name":"circle-checked","prevSize":28,"code":59651,"ligatures":"checked"},"setIdx":1,"setId":5,"iconIdx":10},{"icon":{"paths":["M981.333 512c0-129.579-52.565-246.997-137.472-331.861s-202.283-137.472-331.861-137.472-246.997 52.565-331.861 137.472-137.472 202.283-137.472 331.861 52.565 246.997 137.472 331.861 202.283 137.472 331.861 137.472 246.997-52.565 331.861-137.472 137.472-202.283 137.472-331.861zM896 512c0 106.069-42.923 201.984-112.469 271.531s-165.461 112.469-271.531 112.469-201.984-42.923-271.531-112.469-112.469-165.461-112.469-271.531 42.923-201.984 112.469-271.531 165.461-112.469 271.531-112.469 201.984 42.923 271.531 112.469 112.469 165.461 112.469 271.531z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["circle"],"grid":16},"attrs":[{}],"properties":{"order":33,"id":3,"prevSize":28,"code":59652,"name":"circle-unchecked","ligatures":"unchecked"},"setIdx":1,"setId":5,"iconIdx":11},{"icon":{"paths":["M469.334 341.334c-35.328 0-67.414 14.38-90.496 37.504s-37.504 55.168-37.504 90.496v384c0 35.328 14.38 67.414 37.504 90.496s55.168 37.504 90.496 37.504h384c35.328 0 67.414-14.38 90.496-37.504s37.504-55.168 37.504-90.496v-384c0-35.328-14.38-67.414-37.504-90.496s-55.168-37.504-90.496-37.504zM469.334 426.666h384c11.776 0 22.4 4.736 30.164 12.5s12.5 18.39 12.5 30.166v384c0 11.776-4.736 22.4-12.5 30.164s-18.39 12.5-30.164 12.5h-384c-11.776 0-22.4-4.736-30.166-12.5s-12.5-18.39-12.5-30.164v-384c0-11.776 4.736-22.4 12.5-30.166s18.39-12.5 30.166-12.5zM213.332 597.332h-42.668c-11.776 0-22.4-4.736-30.164-12.5s-12.502-18.39-12.502-30.164v-384c0-11.776 4.736-22.4 12.502-30.164s18.39-12.502 30.164-12.502h384c11.776 0 22.4 4.736 30.164 12.502s12.5 18.39 12.5 30.164v42.668c0 23.552 19.116 42.668 42.668 42.668s42.668-19.116 42.668-42.668v-42.668c0-35.328-14.38-67.412-37.504-90.496s-55.168-37.504-90.496-37.504h-384c-35.328 0-67.412 14.378-90.496 37.504s-37.504 55.168-37.504 90.496v384c0 35.328 14.378 67.414 37.504 90.496s55.168 37.504 90.496 37.504h42.668c23.552 0 42.668-19.116 42.668-42.668s-19.116-42.668-42.668-42.668z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["copy"]},"attrs":[{}],"properties":{"order":49,"id":110,"name":"copy","prevSize":28,"code":59653},"setIdx":1,"setId":5,"iconIdx":14},{"icon":{"paths":["M512 122c-215.391 0-390 174.609-390 390s174.609 390 390 390v0c215.391 0 390-174.609 390-390s-174.609-390-390-390v0zM512 992c-265.097 0-480-214.903-480-480s214.903-480 480-480v0c265.097 0 480 214.903 480 480s-214.903 480-480 480v0zM618.125 618.125c58.5-58.5 58.5-153.563 0-212.062s-153.563-58.5-212.062 0c-17.625 17.625-46.125 17.625-63.563 0s-17.625-46.125 0-63.563c93.75-93.75 245.625-93.75 339.375 0s93.75 245.625 0 339.375-245.625 93.75-339.375 0c-17.625-17.625-17.625-46.125 0-63.562s46.125-17.625 63.563 0c58.5 58.5 153.563 58.5 212.062 0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["copyright-regular"],"grid":16},"attrs":[{}],"properties":{"order":34,"id":4,"name":"copyleft","prevSize":28,"code":59654,"ligatures":"copyleft"},"setIdx":1,"setId":5,"iconIdx":15},{"icon":{"paths":["M942.558 391.863v381.536c0 42.286-34.597 76.884-76.884 76.884h-707.331c-42.286 0-76.884-34.597-76.884-76.884v-381.536c14.415 15.857 30.753 29.793 48.532 41.806 79.767 54.299 160.495 108.599 238.82 165.781 40.364 29.793 90.339 66.313 142.716 66.313h0.961c52.378 0 102.352-36.521 142.716-66.313 78.325-56.703 159.053-111.481 239.301-165.781 17.299-12.014 33.636-25.949 48.053-41.806zM942.558 250.589c0 53.818-39.883 102.352-82.17 131.663-74.961 51.896-150.403 103.793-224.885 156.17-31.235 21.624-84.092 65.832-123.014 65.832h-0.961c-38.922 0-91.78-44.207-123.014-65.832-74.481-52.378-149.924-104.274-224.405-156.17-34.117-23.065-82.65-77.364-82.65-121.092 0-47.092 25.468-87.456 76.884-87.456h707.331c41.806 0 76.884 34.597 76.884 76.884z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["email"],"grid":16},"attrs":[{}],"properties":{"order":35,"id":5,"name":"email","prevSize":28,"code":59655,"ligatures":"email"},"setIdx":1,"setId":5,"iconIdx":24},{"icon":{"paths":["M103.921 399.56c0 198.444 164.024 304.193 284.094 398.847 42.37 33.401 83.177 64.848 123.986 64.848s81.616-31.446 123.987-64.848c120.069-94.654 284.093-200.404 284.093-398.847 0-198.445-224.451-339.18-408.078-148.397-183.628-190.783-408.078-50.049-408.078 148.397z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["heart"],"grid":16},"attrs":[],"properties":{"order":36,"id":6,"name":"heart","prevSize":28,"code":59656,"ligatures":"heart"},"setIdx":1,"setId":5,"iconIdx":40},{"icon":{"paths":["M511.994 64.019c-247.412 0-447.979 200.568-447.979 447.979s200.568 447.979 447.979 447.979c247.414 0 447.979-200.566 447.979-447.979s-200.566-447.979-447.979-447.979zM765.466 661.325c8.008-37.755 13.062-77.829 14.707-119.461h118.944c-3.114 41.248-12.716 81.303-28.634 119.461h-105.018zM258.523 362.671c-8.008 37.755-13.062 77.829-14.707 119.461h-118.942c3.114-41.246 12.713-81.303 28.632-119.461h105.018zM704.285 362.671c8.972 38.229 14.371 78.26 16.127 119.461h-178.553v-119.461h162.426zM541.859 302.941v-174.84c13.616 3.963 27.107 10.611 40.344 19.944 24.809 17.49 48.543 44.432 68.635 77.917 13.889 23.148 25.901 48.92 35.929 76.981h-144.906zM373.151 225.96c20.092-33.484 43.824-60.429 68.635-77.917 13.237-9.332 26.728-15.981 40.344-19.944v174.842h-144.906c10.030-28.061 22.041-53.833 35.929-76.981zM482.13 362.671v119.461h-178.551c1.755-41.201 7.155-81.232 16.125-119.461h162.426zM153.507 661.325c-15.918-38.158-25.517-78.213-28.632-119.461h118.942c1.645 41.632 6.699 81.706 14.707 119.461h-105.018zM303.577 541.864h178.551v119.461h-162.426c-8.97-38.227-14.371-78.26-16.125-119.461zM482.13 721.054v174.842c-13.615-3.963-27.107-10.614-40.344-19.944-24.811-17.49-48.545-44.434-68.635-77.917-13.889-23.149-25.899-48.922-35.931-76.981h144.908zM650.838 798.037c-20.092 33.482-43.826 60.427-68.635 77.917-13.237 9.331-26.728 15.981-40.344 19.944v-174.842h144.908c-10.030 28.061-22.041 53.833-35.931 76.981zM541.859 661.325v-119.461h178.551c-1.755 41.201-7.155 81.234-16.127 119.461h-162.424zM780.174 482.132c-1.645-41.632-6.699-81.706-14.707-119.461h105.018c15.918 38.158 25.52 78.215 28.634 119.461h-118.944zM839.26 302.941h-89.503c-17.395-54.843-41.416-102.936-70.291-141.326 39.698 18.983 75.65 44.44 107.062 75.85 20.047 20.045 37.669 41.94 52.732 65.476zM237.462 237.466c31.412-31.412 67.364-56.867 107.062-75.85-28.877 38.39-52.896 86.485-70.291 141.326h-89.501c15.061-23.536 32.685-45.431 52.731-65.476zM184.731 721.054h89.501c17.396 54.843 41.416 102.936 70.294 141.328-39.698-18.983-75.65-44.44-107.062-75.852-20.047-20.045-37.671-41.94-52.732-65.476zM786.528 786.531c-31.41 31.412-67.364 56.869-107.062 75.852 28.877-38.39 52.898-86.485 70.291-141.328h89.503c-15.063 23.536-32.685 45.431-52.732 65.476z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["www"],"grid":16},"attrs":[{}],"properties":{"order":37,"id":7,"name":"internationalization","prevSize":28,"code":59657,"ligatures":"internationalization"},"setIdx":1,"setId":5,"iconIdx":43},{"icon":{"paths":["M395.968 467.2l100.352 100.352-37.184 89.6-126.336-127.232-147.84 147.84-62.72-63.616 146.944-146.944-39.424-39.424c-23.744-23.744-44.8-58.24-58.24-94.976h98.56c6.72 12.544 14.784 23.744 22.848 31.36l39.872 40.32 39.424-39.424c26.88-27.776 50.176-84.224 50.176-121.856h-358.4v-89.6h224v-89.6h89.6v89.6h224v89.6h-89.6c0 61.376-33.152 141.12-76.16 184.576l-40.32 39.424zM568 825.6l-56 134.4h-89.6l224-537.6h89.6l224 537.6h-89.6l-56-134.4h-246.4zM605.184 736h172.032l-86.016-206.080-86.016 206.080z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["translate"],"grid":16},"attrs":[{}],"properties":{"order":38,"id":8,"prevSize":28,"code":59658,"name":"localization","ligatures":"localization"},"setIdx":1,"setId":5,"iconIdx":53},{"icon":{"paths":["M347.175 347.335h2653.651v87.664h-2653.651v-87.664z","M347.175 588.991h2653.651v87.664h-2653.651v-87.664z"],"width":3348,"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["menu"],"grid":16},"attrs":[{},{}],"properties":{"order":39,"id":9,"name":"menu","prevSize":28,"code":59659},"setIdx":1,"setId":5,"iconIdx":56},{"icon":{"paths":["M347.428 127.997c-30.214 0-54.859 24.643-54.859 54.859v54.859h438.86v-54.859c0-30.214-24.643-54.859-54.859-54.859zM182.856 292.57c-60.859 0-109.715 48.859-109.715 109.715v219.43c0 60.859 48.859 109.715 109.715 109.715v54.859c0 59.786 49.929 109.715 109.715 109.715h438.86c59.786 0 109.715-49.929 109.715-109.715v-54.859c60.859 0 109.715-48.859 109.715-109.715v-219.43c0-60.859-48.859-109.715-109.715-109.715zM292.57 621.715h438.86v164.572h-438.86z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["print"],"grid":16},"attrs":[{}],"properties":{"order":40,"id":10,"name":"print","prevSize":28,"code":59660,"ligatures":"print"},"setIdx":1,"setId":5,"iconIdx":67},{"icon":{"paths":["M883.501 591.998c0 1.001 0 2.501-0.498 3.499-42.498 177-188.502 300.499-373.001 300.499-97.5 0-192-38.501-262.998-106.001l-64.5 64.5c-6 6-13.999 9.498-22.5 9.498-17.501 0-31.998-14.501-31.998-31.998v-223.998c0-17.501 14.501-31.998 31.998-31.998h223.998c17.501 0 31.998 14.501 31.998 31.998 0 8.501-3.499 16.5-9.498 22.5l-68.502 68.502c46.998 43.999 109.5 69 174 69 88.998 0 171.499-46.001 217.999-121.999 12-19.5 17.999-38.501 26.502-58.5 2.501-7.001 7.499-11.501 15-11.501h96c9 0 16.002 7.499 16.002 16.002zM895.998 192.001v223.998c0 17.501-14.501 31.998-31.998 31.998h-223.998c-17.501 0-31.998-14.501-31.998-31.998 0-8.501 3.499-16.5 9.498-22.5l69-69c-47.502-43.999-109.998-68.502-174.499-68.502-88.998 0-171.499 46.001-217.999 121.999-12 19.5-17.999 38.501-26.502 58.5-2.501 7.001-7.499 11.501-15 11.501h-99.498c-9 0-16.002-7.499-16.002-16.002v-3.499c43.001-177.498 190.5-300.499 374.999-300.499 97.999 0 193.5 38.999 264.499 106.001l64.999-64.5c6-6 13.999-9.498 22.5-9.498 17.501 0 31.998 14.501 31.998 31.998z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["retweet","arrows","loop","reload"],"grid":16},"attrs":[{}],"properties":{"order":41,"id":11,"prevSize":28,"code":59661,"name":"reblog","ligatures":"reblog"},"setIdx":1,"setId":5,"iconIdx":70},{"icon":{"paths":["M972.8 863.129c0 0-113.92-498.278-563.2-498.278v-203.981l-358.4 336.538 358.4 342.528v-223.078c243.866-0.051 436.019 21.555 563.2 246.272z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["reply"],"grid":16},"attrs":[{}],"properties":{"order":42,"id":12,"name":"reply","prevSize":28,"code":59662,"ligatures":"reply"},"setIdx":1,"setId":5,"iconIdx":72},{"icon":{"paths":["M223.004 131.785c-5.999-0.096-12.064 0.559-17.73 2.624-13.32 4.558-24.344 15.341-29.036 28.632-2.418 6.565-3.089 13.626-2.82 20.579 0.008 54.599-0.033 109.2 0.048 163.799 0.459 16.435 10.33 32.169 24.857 39.841 8.059 4.421 17.399 6.061 26.522 5.638 54.792-0.010 109.585 0.039 164.376-0.053 16.263-0.525 31.803-10.256 39.503-24.573 7.949-14.328 7.659-32.824-0.829-46.857-8.159-13.911-23.835-23.132-40.007-23.14-8.636-0.107-17.275 0.014-25.912-0.037-13.125 0-26.25 0-39.375 0 21.077-18.697 44.927-34.265 70.543-46 3.284-1.488 6.966-3.11 10.454-4.534 13.127-5.389 26.669-9.753 40.452-13.122 1.393-0.315 3.164-0.76 4.624-1.079 12.442-2.82 25.346-4.814 37.884-5.921 16.029-1.406 32.412-1.464 48.587-0.179 11.984 0.944 24.36 2.696 36.307 5.238 40.55 8.449 79.134 26.019 112.231 50.91 2.043 1.554 4.466 3.407 6.616 5.126 40.682 32.387 72.216 76.137 89.966 125.022 3.289 8.966 6.16 18.413 8.472 27.473 1.899 7.536 3.525 15.219 4.781 22.75 2.263 13.346 3.523 26.854 3.903 40.383 0.114 4.724 0.133 9.82 0.010 14.688-0.19 8.147-0.745 16.666-1.667 24.918-0.444 3.989-0.936 7.843-1.558 11.899-1.114 7.287-2.479 14.398-4.138 21.504-11.245 48.677-35.663 94.22-69.976 130.529-11.418 12.144-23.914 23.267-37.26 33.251-1.424 1.021-3.276 2.428-4.894 3.56-18.776 13.417-39.215 24.492-60.673 32.979-7.148 2.811-14.978 5.555-22.596 7.827-4.904 1.47-9.849 2.806-14.822 4.024-1.54 0.346-3.662 0.845-5.426 1.25-5.697 1.242-11.423 2.351-17.184 3.258-2.387 0.363-5.253 0.784-7.828 1.121-2.732 0.345-5.932 0.728-8.855 1.010-34.656 3.396-69.935 0.601-103.563-8.479-7.348-1.985-15.204-4.418-22.605-7.135-50.899-18.3-96.246-51.59-129.102-94.542-23.454-30.528-40.612-65.87-50.040-103.198-0.546-2.19-1.214-4.885-1.739-7.285-1.199-5.302-2.224-10.543-3.096-15.801-2.218-13.179-3.449-26.515-3.837-39.871-0.092-3.215-0.055-6.859-0.167-10.243-0.674-15.971-10.17-31.195-24.166-38.902-13.913-7.867-31.856-7.993-45.831-0.2-14.185 7.681-23.949 23.026-24.516 39.195-0.246 7.603 0.148 15.213 0.467 22.808 3.040 58.050 19.74 115.331 48.414 165.9 30.561 54.134 74.561 100.594 126.938 134.077 48.347 30.979 103.808 50.824 160.881 57.262 61.711 7.1 125.172-1.106 182.912-24.076 58.801-23.254 111.53-61.522 152.078-110.022 37.748-45.063 64.954-98.949 78.442-156.185 17.063-71.994 12.579-148.996-13.134-218.404-21.886-59.507-59.026-113.271-106.742-155-43.376-38.025-95.46-66.106-151.172-81.122-74.797-20.267-155.814-16.929-228.626 9.648-41.55 15.076-80.401 37.527-114.28 65.907-0.041-14.927 0.127-29.86-0.119-44.783-1.057-16.429-11.461-31.857-26.298-38.994-5.165-2.618-10.856-4.033-16.567-4.75-0.685-0.148-1.388-0.166-2.086-0.145z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["reset"],"grid":16},"attrs":[{}],"properties":{"order":43,"id":13,"name":"reset","prevSize":28,"code":59663,"ligatures":"reset"},"setIdx":1,"setId":5,"iconIdx":74},{"icon":{"paths":["M224.128 703.928c-53.131 0-96.183 43.052-96.088 96.039 0 52.987 43.003 96.039 96.088 95.944 52.939 0.095 95.991-42.908 95.895-95.944 0.095-53.131-42.956-96.135-95.895-96.039z","M224.033 128.023c-52.987 0-95.991 43.003-95.991 95.991s43.003 95.991 95.991 95.991c264.65 0 479.961 215.31 479.961 479.961 0 52.987 43.003 95.991 95.991 95.991s95.991-43.003 95.991-95.991c0-370.53-301.415-671.944-671.944-671.944z","M224.033 415.999c-52.987 0-95.991 43.003-95.991 95.991s43.003 95.991 95.991 95.991c105.83 0 191.985 86.104 191.985 191.985 0 52.987 43.003 95.991 95.991 95.991s95.991-43.003 95.991-95.991c0-211.711-172.258-383.969-383.969-383.969z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["rss"],"grid":16},"attrs":[{},{},{}],"properties":{"order":44,"id":14,"prevSize":28,"code":59664,"name":"rss","ligatures":"rss"},"setIdx":1,"setId":5,"iconIdx":75},{"icon":{"paths":["M752.012 439.996c0 68.852-22.352 132.456-60.004 184.060l189.908 190.060c18.752 18.752 18.752 49.204 0 67.952s-49.204 18.752-67.952 0l-189.908-190.060c-51.604 37.801-115.205 60.004-184.060 60.004-172.36 0-312.016-139.656-312.016-312.016s139.656-312.016 312.016-312.016 312.016 139.656 312.016 312.016zM439.996 656.008c119.298 0 216.012-96.71 216.012-216.012s-96.71-216.012-216.012-216.012v0c-119.298 0-216.012 96.71-216.012 216.012s96.71 216.012 216.012 216.012v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["search"],"grid":16},"attrs":[{}],"properties":{"order":45,"id":15,"prevSize":28,"code":59665,"name":"search","ligatures":"search"},"setIdx":1,"setId":5,"iconIdx":76},{"icon":{"paths":["M762.565 682.305q50.895 0 86.13 36.212t35.236 85.153q0 50.895-36.212 87.109t-85.153 36.212-85.153-36.212-36.212-87.109q0-19.575 1.956-27.405l-295.587-172.263q-37.194 33.276-86.13 33.276-50.895 0-88.089-37.194t-37.194-88.091 37.194-88.091 88.089-37.194q48.938 0 86.13 33.276l293.628-170.305q-3.915-19.573-3.915-29.361 0-50.895 37.194-88.089t88.091-37.194 88.091 37.194 37.194 88.089-37.194 88.091-88.091 37.194q-46.98 0-86.131-35.236l-293.628 172.265q3.915 19.575 3.915 29.361t-3.915 29.361l297.545 172.263q35.236-31.323 82.217-31.323z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["share"],"grid":16},"attrs":[{}],"properties":{"order":46,"id":16,"name":"share","prevSize":28,"code":59666,"ligatures":"share"},"setIdx":1,"setId":5,"iconIdx":78},{"icon":{"paths":["M195.176 261.969l250.031 250.031-250.031 250.031c-18.47 18.47-18.47 48.372 0 66.795s48.372 18.47 66.795 0l250.031-250.031 250.031 250.031c18.47 18.47 48.372 18.47 66.795 0s18.47-48.372 0-66.795l-250.031-250.031 250.031-250.031c18.47-18.47 18.47-48.372 0-66.795s-48.372-18.47-66.795 0l-250.031 250.031-250.031-250.031c-18.47-18.47-48.372-18.47-66.795 0s-18.47 48.372 0 66.795z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["x"],"grid":16},"attrs":[{}],"properties":{"order":47,"id":17,"prevSize":28,"code":59667,"name":"xmark","ligatures":"xmark"},"setIdx":1,"setId":5,"iconIdx":108},{"icon":{"paths":["M339.756 255.204c24.176 0 45.949 2.082 65.802 6.404 19.852 4.162 36.664 11.208 50.912 20.814 14.089 9.606 24.976 22.414 32.981 38.424 7.685 15.85 11.528 35.702 11.528 59.238 0 25.456-5.764 46.59-17.291 63.56-11.688 16.97-28.658 30.74-51.393 41.626 31.060 8.966 53.954 24.656 69.324 46.91 15.37 22.414 22.734 49.312 22.734 81.012 0 25.616-4.964 47.55-14.73 66.122-9.926 18.732-23.375 33.942-39.866 45.629-16.65 11.848-35.863 20.493-57.316 26.096-21.294 5.604-43.228 8.486-65.962 8.486h-244.476v-504.321h237.751zM325.348 458.853c19.692 0 36.023-4.643 48.831-14.089 12.808-9.286 18.892-24.656 18.892-45.789 0-11.688-2.082-21.454-6.244-28.978-4.322-7.524-9.926-13.448-17.131-17.612-7.044-4.322-15.050-7.204-24.496-8.806-9.126-1.762-18.732-2.562-28.498-2.562h-103.746v117.835h112.391zM331.432 673.55c10.887 0 21.294-0.96 31.060-3.202 9.926-2.242 18.732-5.604 26.096-10.726 7.364-4.964 13.608-11.528 18.092-20.173 4.482-8.486 6.564-19.372 6.564-32.661 0-25.936-7.364-44.508-21.934-55.716-14.57-11.047-33.942-16.49-57.957-16.49h-120.397v138.809h118.475z","M682.535 671.788c15.050 14.73 36.664 22.094 64.841 22.094 20.173 0 37.784-5.124 52.354-15.37s23.375-21.134 26.737-32.34h88.376c-14.249 44.028-35.702 75.248-65.162 94.14-28.978 18.892-64.521 28.498-105.667 28.498-28.818 0-54.595-4.643-77.81-13.768-23.214-9.286-42.587-22.254-58.918-39.225-15.85-16.97-28.338-37.144-37.144-60.839-8.646-23.535-13.128-49.632-13.128-77.81 0-27.378 4.482-52.834 13.448-76.369 9.126-23.695 21.614-44.028 38.264-61.159s36.183-30.74 59.238-40.666c22.894-9.926 48.191-14.89 76.208-14.89 30.9 0 57.957 5.924 81.172 18.092 23.054 12.008 42.107 28.178 56.996 48.351s25.456 43.388 32.020 69.324c6.564 25.936 8.806 52.994 7.044 81.332h-263.688c0 28.658 9.606 56.036 24.816 70.605zM797.648 479.987c-11.848-13.128-32.18-20.333-56.676-20.333-16.010 0-29.298 2.722-39.866 8.166-10.406 5.444-18.892 12.168-25.456 20.173-6.404 8.006-10.887 16.65-13.448 25.776-2.562 8.806-4.162 16.97-4.643 24.016h163.304c-2.402-25.616-11.208-44.508-23.214-57.797z","M637.066 295.87h204.45v49.792h-204.45v-49.792z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["behance"],"grid":16},"attrs":[{},{},{}],"properties":{"order":68,"id":18,"name":"behance","prevSize":28,"code":59668,"ligatures":"behance"},"setIdx":2,"setId":4,"iconIdx":2},{"icon":{"paths":["M512.006 551.864v-37.555c0-23.519 9.408-46.889 32.851-56.297l290.814-182.925c18.78-9.408 28.186-32.851 28.186-56.37v-154.702l-351.849 225.109-351.851-225.109v473.737c0 126.703 56.37 234.59 150.073 295.553l197.11 126.666 197.11-126.666c93.815-56.37 150.073-164.183 150.073-295.517v-211.11z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["bigcartel"],"grid":16},"attrs":[{}],"properties":{"order":69,"id":19,"name":"bigcartel","prevSize":28,"code":59669,"ligatures":"bigcartel"},"setIdx":2,"setId":4,"iconIdx":3},{"icon":{"paths":["M99.775 115.727c-0.11-0.002-0.241-0.003-0.37-0.003-15.581 0-28.212 12.631-28.212 28.212 0 1.609 0.135 3.188 0.393 4.724l-0.023-0.166 119.863 727.705c3.086 18.367 18.917 31.885 37.543 32.069h575.075c0.092 0.001 0.199 0.002 0.306 0.002 14.028 0 25.678-10.186 27.956-23.564l0.023-0.167 120.12-735.787c0.231-1.358 0.365-2.925 0.365-4.521 0-15.581-12.631-28.212-28.212-28.212-0.129 0-0.256 0.001-0.384 0.003h0.019zM604.578 641.651h-183.598l-49.665-259.491h277.747z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["bitbucket"],"grid":16},"attrs":[{}],"properties":{"order":70,"id":20,"name":"bitbucket","prevSize":28,"code":59670,"ligatures":"bitbucket"},"setIdx":2,"setId":4,"iconIdx":4},{"icon":{"paths":["M902.067 399.992h-50.23c-30.77 0-57.74-26.024-59.842-56v0c0.004-159.836-128.852-280.002-289.793-280.002h-146.846c-160.836 0-291.25 129.5-291.364 289.334v317.45c0 159.824 130.528 289.22 291.362 289.22h313.62c160.956 0 291.024-129.398 291.024-289.22v-205.086c0-31.94-25.76-65.698-57.928-65.698zM343.992 287.992h168.001c30.8 0 56 25.2 56 56s-25.2 56-56 56h-168.001c-30.8 0-56-25.2-56-56s25.2-56 56-56zM679.994 735.994h-336.002c-30.8 0-56-25.2-56-56s25.2-56 56-56h336.002c30.8 0 56 25.2 56 56s-25.2 56-56 56z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["blogger"],"grid":16},"attrs":[{}],"properties":{"order":71,"id":21,"name":"blogger","prevSize":28,"code":59671,"ligatures":"blogger"},"setIdx":2,"setId":4,"iconIdx":5},{"icon":{"paths":["M695.035 571.153c-5.042-0.611-10.237-1.222-15.278-1.986 5.194 0.611 10.237 1.375 15.278 1.986zM512.008 467.874c-39.875-77.459-148.346-221.832-249.18-293.026-96.708-68.292-133.529-56.526-157.817-45.527-27.959 12.681-32.999 55.61-32.999 80.819s13.904 207.167 22.915 237.57c29.793 100.375 136.124 134.289 234.054 123.29 5.042-0.764 10.083-1.375 15.278-2.138-5.042 0.764-10.083 1.529-15.278 2.138-143.457 21.389-270.874 73.638-103.735 259.569 183.79 190.359 251.775-40.794 286.763-157.972 34.986 117.179 75.166 339.926 283.553 157.972 156.444-157.972 42.933-238.331-100.527-259.569-5.042-0.611-10.237-1.222-15.278-1.986 5.194 0.611 10.237 1.375 15.278 1.986 97.93 10.848 204.108-23.070 234.054-123.29 9.014-30.403 22.915-212.208 22.915-237.57s-5.042-68.292-32.999-80.819c-24.137-10.848-61.109-22.764-157.666 45.527-100.985 71.194-209.458 215.569-249.33 293.026z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["bluesky"],"grid":16},"attrs":[{}],"properties":{"order":72,"id":22,"name":"bluesky","prevSize":28,"code":59672,"ligatures":"bluesky"},"setIdx":2,"setId":4,"iconIdx":6},{"icon":{"paths":["M473.75 954.215c-10.871 3.652-23.387 5.76-36.4 5.76-65.119 0-117.907-52.789-117.907-117.907 0-52.107 33.801-96.322 80.675-111.909l0.833-0.241c10.871-3.652 23.387-5.76 36.4-5.76 65.119 0 117.909 52.789 117.909 117.907 0 52.107-33.801 96.322-80.675 111.909l-0.833 0.241zM718.434 846.585c151.088-49.091 273.092-223.29 212.388-410.069s-261.78-255.958-412.832-206.864c-28.552 9.471-48.782 35.929-48.782 67.114 0 5.982 0.745 11.789 2.147 17.333l-0.105-0.487 15.456 62.795c7.844 31.103 35.568 53.76 68.59 53.76 7.776 0 15.259-1.257 22.257-3.577l-0.498 0.143 6.048-1.981c69.478-22.624 134.102 18.816 151.984 75.376 18.853 56.259-9.107 127.754-78.624 150.34l-6.048 2.016c-28.538 9.492-48.753 35.95-48.753 67.132 0 9.607 1.919 18.767 5.397 27.117l-0.174-0.469 24.379 59.884c10.802 25.972 35.973 43.898 65.329 43.898 7.809 0 15.321-1.267 22.342-3.611l-0.497 0.143zM458.518 548.591l-101.808-419.178c-9.52-37.827-43.238-65.386-83.388-65.386-9.481 0-18.6 1.537-27.127 4.374l0.608-0.175-110.208 35.804c-34.728 11.532-59.333 43.726-59.333 81.667 0 11.69 2.335 22.836 6.569 32.994l-0.209-0.568 164.044 398.979c13.148 31.604 43.776 53.417 79.498 53.417 9.495 0 18.631-1.541 27.17-4.389l-0.606 0.175 47.971-15.568c34.716-11.513 59.317-43.687 59.317-81.605 0-7.292-0.911-14.371-2.624-21.133l0.127 0.593z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["bukalapak"],"grid":16},"attrs":[{}],"properties":{"order":73,"id":23,"name":"bukalapak","prevSize":28,"code":59673,"ligatures":"bukalapak"},"setIdx":2,"setId":4,"iconIdx":7},{"icon":{"paths":["M818.731 303.486l-4.928-24.864c-4.443-22.325-14.485-43.419-37.371-51.483-7.355-2.576-15.68-3.659-21.28-8.997-5.675-5.339-7.317-13.664-8.624-21.355-2.427-14.112-4.667-28.224-7.168-42.299-2.128-12.133-3.808-25.76-9.333-36.848-7.28-14.933-22.288-23.669-37.184-29.419-6.123-2.409-13.918-4.891-21.891-6.923l-1.478-0.319c-37.333-9.819-76.533-13.44-114.875-15.531-15.82-0.927-34.322-1.454-52.949-1.454-29.99 0-59.66 1.368-88.951 4.047l3.766-0.278c-34.16 3.099-70.187 6.869-102.667 18.667-11.872 4.331-24.117 9.557-33.152 18.704-11.088 11.275-14.672 28.747-6.608 42.784 5.749 9.968 15.493 17.024 25.835 21.653 13.44 6.048 27.515 10.603 41.925 13.664 40.133 8.885 81.723 12.357 122.715 13.813 45.472 1.867 90.982 0.373 136.267-4.405 11.163-1.232 22.325-2.725 33.451-4.443 13.141-2.016 21.579-19.152 17.696-31.136-4.629-14.299-17.061-19.824-31.136-17.659-17.397 2.763-35.84 4.032-51.595 5.451-43.941 2.987-88.032 3.061-132.011 0.224-17.556-1.164-32.441-2.585-47.204-4.395l4.011 0.4c-3.211-0.373-6.72-0.933-9.632-1.344-9.072-1.344-18.069-2.987-27.029-4.853-4.144-1.008-4.144-6.907 0-7.915h0.187c10.341-2.24 20.795-4.032 31.285-5.488h0.075c4.891-0.336 9.819-1.195 14.709-1.792 28.988-3.185 62.605-5.003 96.646-5.003 10.992 0 21.94 0.189 32.84 0.566l-1.582-0.043c25.163 0.709 50.288 2.501 75.301 5.376l8.512 1.157c9.968 1.493 19.899 3.285 29.792 5.413 14.635 3.173 33.413 4.219 39.947 20.235 2.053 5.115 2.987 10.752 4.144 16.091l11.909 55.403c0.123 0.553 0.193 1.188 0.193 1.841 0 4.455-3.292 8.141-7.575 8.757l-0.048 0.006h-0.112c-1.381 0.224-2.8 0.373-4.181 0.56-52.079 7.014-112.283 11.018-173.421 11.018-1.282 0-2.566-0.002-3.848-0.006h0.197c-61.913-0.065-122.799-4.188-182.483-12.116l7.052 0.765c-5.227-0.635-10.939-1.568-15.568-2.24-12.171-1.792-24.229-4.032-36.325-6.011-14.672-2.427-28.672-1.195-41.925 6.011-10.827 5.973-19.675 15.083-25.2 26.171-5.749 11.797-7.429 24.64-9.968 37.333-2.576 12.693-6.571 26.395-5.040 39.424 3.248 28.112 22.885 50.96 51.147 56.075 78.269 14.662 168.318 23.047 260.323 23.047 57.479 0 114.195-3.272 169.97-9.642l-6.819 0.633c0.611-0.074 1.321-0.116 2.038-0.116 9.959 0 18.032 8.073 18.032 18.032 0 0.659-0.035 1.309-0.105 1.95l0.007-0.079-2.651 26.021-38.005 369.863c-1.531 15.307-1.755 31.061-4.667 46.181-4.555 23.781-20.645 38.379-44.128 43.717-21.541 4.891-43.493 7.467-65.557 7.653-24.491 0.149-48.907-0.933-73.397-0.821-26.096 0.149-58.091-2.24-78.213-21.653-17.733-17.099-20.16-43.829-22.587-66.939l-27.291-261.819-12.021-115.51c-1.381-13.104-10.677-25.947-25.312-25.312-12.544 0.56-26.805 11.2-25.312 25.349l8.512 81.574 35.429 340.183c5.488 50.176 43.829 77.205 91.318 84.822 27.701 4.48 56.112 5.376 84.262 5.824 36.064 0.597 72.501 1.979 107.968-4.555 52.565-9.632 92.027-44.725 97.664-99.195 12.693-124.395 25.499-248.753 38.229-373.147l8.027-77.915c0.841-7.981 6.769-14.365 14.445-15.884l0.115-0.020c15.008-2.912 29.381-7.915 40.096-19.339 16.987-18.219 20.384-41.963 14.373-65.931zM763.553 332.307c-5.413 5.115-13.552 7.504-21.579 8.699-90.198 13.403-181.664 20.16-272.833 17.173-65.259-2.24-129.808-9.483-194.395-18.592-6.347-0.896-13.179-2.053-17.547-6.72-8.213-8.811-4.144-26.507-2.016-37.147 1.941-9.707 5.675-22.736 17.285-24.117 18.069-2.128 39.051 5.525 56.971 8.213 21.541 3.285 43.157 5.936 64.848 7.915 92.587 8.437 186.743 7.093 278.955-5.227 16.8-2.24 33.563-4.853 50.213-7.84 14.896-2.688 31.36-7.691 40.32 7.691 6.197 10.491 7.019 24.528 6.048 36.363-0.315 5.372-2.673 10.14-6.3 13.581l-0.008 0.008zM533.616 477.907c-32.181 13.813-68.693 29.419-116.070 29.419-20.871-0.052-41.031-3.007-60.125-8.481l1.549 0.381 32.741 336.151c2.427 29.12 26.768 51.52 56 51.52 0 0 46.405 2.427 61.899 2.427 16.688 0 66.677-2.427 66.677-2.427 29.232 0 53.536-22.4 55.963-51.52l35.093-371.467c-14.665-5.473-31.606-8.715-49.281-8.884l-0.074-0.001c-30.837 0-55.664 10.603-84.374 22.885z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["buymeacoffee"],"grid":16},"attrs":[{}],"properties":{"order":74,"id":24,"name":"buymeacoffee","prevSize":28,"code":59674,"ligatures":"buymeacoffee"},"setIdx":2,"setId":4,"iconIdx":8},{"icon":{"paths":["M527.436 154.392c-39.34 0-75.046 25.811-75.046 69.514 0 5.532 0.619 11.070 1.232 17.833-4.918-1.23-10.457-1.846-15.987-1.846-42.412 0-73.811 29.501-73.811 69.514 0 9.22 1.225 19.675 4.299 31.968-3.688-0.616-7.381-0.621-11.069-0.621-20.9 1.23-39.956 9.226-53.536 25.822-13.468 15.982-18.995 40.562-8.545 74.424 11.68 38.726 25.811 75.051 41.177 110.091 26.432 62.754 44.258 95.939 68.9 137.123 30.12 49.176 63.373 105.169 118.079 141.435 39.956 26.432 88.563 39.956 135.279 39.956 65.826 0 122.38-28.892 158.701-62.756 35.652-33.194 81.812-97.179 81.812-222.014 0-43.028 19.051-79.964 33.189-109.467 0-0.616 0.616-1.842 1.844-4.299 5.532-12.292 12.299-28.274 12.299-44.258 0-11.68-3.076-25.2-11.069-36.877-12.294-20.9-34.427-28.278-54.767-28.278-47.33 0-79.959 33.192-96.557 67.058l-5.534 11.069c-6.762-9.836-13.524-20.291-19.056-29.511-17.212-30.12-27.051-50.396-35.656-76.269-6.762-20.286-12.289-43.647-15.977-62.757-10.45-60.294-27.657-79.969-55.989-87.345-20.9-5.532-45.486-1.224-63.368 10.455-12.238-27.66-33.142-39.956-60.857-39.956zM527.436 191.324c19.056 0 25.818 9.22 30.736 28.89 4.302 15.982 6.146 30.736 7.987 47.946 2.46 17.21 11.064 56.61 13.522 66.445 9.22 33.806 27.662 73.813 49.792 121.757-12.91 4.302-30.122 11.685-41.803 17.831-14.754 7.99-17.82 7.99-23.966-3.688-12.91-23.972-22.133-41.803-30.124-62.757-6.762-17.21-13.524-36.877-19.056-59.677-9.22-38.726-10.448-49.783-17.821-67.667-4.302-18.386-8.6-41.135-8.6-56.503 0-23.358 21.508-32.578 39.333-32.578zM633.095 218.478c3.218 0.028 6.37 0.409 9.288 1.179 14.138 3.688 21.514 14.75 28.89 57.833 3.688 20.286 9.836 46.105 17.212 68.289 9.22 28.274 20.898 51.685 38.724 83.033 9.836 17.21 22.125 35.046 35.033 52.311-2.46 7.378-6.762 12.288-20.9 23.967s-28.269 23.969-41.177 46.711c-9.22 16.596-13.522 35.042-13.522 47.335 0 11.68 2.458 14.133 9.834 14.133 12.91 0 23.363-2.456 23.978-7.987 3.074-22.128 6.762-36.26 19.056-52.912 7.378-9.22 20.284-20.904 30.736-30.124 19.67-15.982 26.427-25.204 33.189-47.946 3.074-10.45 6.76-20.281 11.68-29.501 11.68-21.514 32.578-46.102 65.212-46.102 10.45 0 19.058 3.072 24.59 11.68 3.074 4.918 4.299 11.673 4.299 16.59 0 11.064-7.99 26.436-11.68 33.812-13.522 28.89-35.656 73.206-35.656 124.224 0 111.314-39.333 166.682-70.123 194.956-30.12 28.276-77.509 52.923-133.447 52.923-39.956 0-81.196-11.684-115.002-33.812-47.33-31.348-76.895-80.571-107.013-129.745-23.972-39.956-40.562-71.36-66.434-132.215-14.584-35.262-28.168-69.682-39.847-107.175-5.532-17.826-4.918-31.352 1.846-39.956 6.762-7.99 15.982-11.673 27.044-12.288 19.054-0.616 26.436 12.898 37.501 47.934 6.762 22.128 20.278 54.153 28.269 71.977 10.45 21.514 25.207 50.409 31.968 60.299 5.532 8.604 10.445 11.056 15.977 11.056 9.836 0 17.212-5.532 17.212-15.366 0-5.532-5.526-14.746-8.6-20.278-5.532-10.45-17.21-31.354-25.2-49.179-8.604-19.67-18.445-44.26-26.436-66.445-4.918-12.908-10.445-31.34-15.977-49.78-8.604-28.274-12.913-45.491-12.913-58.455 0-19.67 14.75-32.578 36.877-32.578 15.982 0 26.427 7.987 33.189 36.877 5.532 26.432 15.373 69.516 29.511 103.324 9.22 22.128 22.742 51.692 30.736 66.445 4.918 8.604 10.445 15.984 10.445 19.056 0 4.302-7.985 11.058-14.746 20.278-4.302 5.532-6.153 9.22-6.153 13.522 0 3.688 2.465 7.382 6.153 12.299s7.376 9.834 11.68 9.834c3.074 0 4.912-1.23 6.756-3.69 19.056-23.974 39.959-40.565 63.989-54.143 28.276-15.982 57.214-23.972 79.957-28.89 11.064-2.46 14.143-4.92 14.143-11.069 0-7.378-5.534-11.684-12.913-12.299-5.532-0.616-10.452 0.007-19.056 0.621-6.146 0.616-9.225-2.464-12.913-10.455-11.064-23.358-32.572-62.754-45.48-113.158-5.532-21.514-10.448-44.25-13.522-73.811-1.844-13.524 0.606-18.442 7.369-24.59 6.454-5.532 16.715-8.642 26.369-8.555z","M267.929 635.632c-13.020 8.046-82.032 44.2-97.624 49.958-11.122 4.136-23.19 3.128-30.288-17.882-8.718-25.984 3.52-32.13 20.954-38.892 15.424-5.978 79.406-29.114 94.272-33.138 10.45-2.794 17.714 0.726 22.742 13.3 5.532 13.804 1.732 19.334-10.058 26.654z","M211.044 489.171c-18.552 0.504-95.612-2.794-113.214-4.526-15.31-1.508-21.514-8.27-19.838-30.454 1.788-23.806 11.064-25.258 26.096-23.806 17.434 1.676 98.184 14.81 111.036 18.776 13.3 4.136 15.144 10.17 13.524 21.792-2.068 15.088-8.884 17.938-17.602 18.216z","M220.598 333.151c-21.234-6.704-84.268-44.872-100.696-54.708-14.864-8.94-16.764-16.988-6.426-36.602 9.164-17.322 19.336-20.34 34.422-12.518 17.49 9.108 79.238 57.166 91.030 66.666 11.4 9.164 9.834 13.914 3.856 25.706s-11.568 14.81-22.184 11.456z"],"attrs":[{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["clubhouse"],"grid":16},"attrs":[{},{},{},{}],"properties":{"order":75,"id":25,"name":"clubhouse","prevSize":28,"code":59675,"ligatures":"clubhouse"},"setIdx":2,"setId":4,"iconIdx":11},{"icon":{"paths":["M942.993 343.49l-409.462-272.974c-13.998-8.575-28.872-8.75-43.045 0l-409.462 272.974c-10.5 6.999-16.974 19.424-16.974 32.022v272.974c0 12.424 6.475 25.023 16.974 32.022l409.462 272.974c13.998 8.575 28.872 8.75 43.045 0l409.462-272.974c10.5-6.999 16.974-19.424 16.974-32.022v-272.974c0-12.424-6.475-25.023-16.974-32.022zM550.503 174.457l301.496 201.057-134.562 89.942-166.934-111.465v-179.533zM473.509 174.457v179.533l-166.934 111.465-134.562-89.942 301.496-201.057zM141.041 447.431l96.415 64.569-96.415 64.393v-128.962zM473.509 849.368l-301.496-200.881 134.562-89.942 166.934 111.465v179.533zM512.007 602.816l-135.962-90.991 135.962-90.991 135.962 90.991-135.962 90.991zM550.503 849.368v-179.358l166.934-111.465 134.562 89.942-301.496 200.881zM882.971 576.393l-96.415-64.569 96.415-64.393v128.962z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["codepen"],"grid":16},"attrs":[{}],"properties":{"order":76,"id":26,"name":"codepen","prevSize":28,"code":59676,"ligatures":"codepen"},"setIdx":2,"setId":4,"iconIdx":12},{"icon":{"paths":["M445.596 153.296c-16.688 0-30.214 13.526-30.214 30.214v0c0 16.686 13.526 30.214 30.214 30.214v0c14.46-0.038 26.529-10.229 29.458-23.818l0.038-0.198h411.684c2.54 11.698 11.596 20.752 23.096 23.258l0.198 0.038v119.719c-11.698 2.54-20.754 11.597-23.258 23.096l-0.038 0.198h-209.579c-2.97-13.812-15.076-24.014-29.567-24.016v0c-16.686 0-30.214 13.526-30.214 30.214v0c0.038 14.46 10.229 26.529 23.818 29.458l0.198 0.038v16.65c-13.786 2.965-23.978 15.032-24.016 29.488v0.004c0 16.688 13.525 30.214 30.214 30.214v0c14.46-0.038 26.53-10.229 29.456-23.818l0.038-0.198h109.514c2.54 11.698 11.596 20.752 23.096 23.258l0.198 0.038v112.182c-11.698 2.54-20.754 11.592-23.258 23.090l-0.038 0.198h-109.44c-2.97-13.812-15.076-24.014-29.567-24.016v0c-16.686 0-30.214 13.525-30.214 30.214v0c0.038 14.46 10.229 26.53 23.818 29.456l0.198 0.038v172.5c-11.698 2.54-20.754 11.596-23.258 23.096l-0.038 0.198h-142.87c-2.97-13.812-15.076-24.014-29.567-24.016v0c-16.688 0-30.214 13.525-30.214 30.214v0c0 16.686 13.526 30.214 30.214 30.214v0c14.46-0.038 26.529-10.229 29.458-23.818l0.038-0.198h142.942c2.965 13.786 15.034 23.978 29.488 24.016h0.004c16.686 0 30.214-13.525 30.214-30.214v0c-0.004-14.49-10.204-26.596-23.818-29.528l-0.198-0.038v-172.426c11.7-2.544 20.756-11.598 23.258-23.1l0.038-0.198h109.514c2.965 13.786 15.034 23.978 29.488 24.016h0.004c16.686 0 30.214-13.525 30.214-30.214v0c-0.004-14.49-10.204-26.596-23.818-29.528l-0.198-0.038v-112.106c13.786-2.965 23.978-15.032 24.016-29.488v-0.004c0-16.688-13.525-30.214-30.214-30.214v0c-14.46 0.038-26.53 10.229-29.456 23.818l-0.038 0.198h-109.44c-2.526-11.748-11.62-20.842-23.168-23.332l-0.198-0.038v-16.578c11.698-2.54 20.754-11.597 23.258-23.096l0.038-0.198h209.65c2.965 13.788 15.034 23.98 29.488 24.016h0.004c16.686 0 30.214-13.526 30.214-30.214v0c-0.004-14.49-10.204-26.598-23.818-29.528l-0.198-0.038v-119.646c13.786-2.965 23.978-15.034 24.016-29.488v-0.004c0-16.688-13.525-30.214-30.214-30.214v0c-14.46 0.038-26.53 10.229-29.456 23.818l-0.038 0.198h-411.61c-2.97-13.812-15.076-24.012-29.567-24.016v0zM445.596 167.242c8.984 0 16.27 7.286 16.27 16.27v0c0 8.984-7.284 16.27-16.27 16.27v0c-8.984 0-16.27-7.286-16.27-16.27v0c0-8.984 7.284-16.27 16.27-16.27v0zM916.268 167.242c8.984 0 16.27 7.286 16.27 16.27v0c0 8.984-7.286 16.27-16.27 16.27v0c-8.984 0-16.27-7.286-16.27-16.27v0c0-8.984 7.286-16.27 16.27-16.27v0zM647.628 345.946c8.984 0 16.27 7.284 16.27 16.27v0c0 8.984-7.286 16.27-16.27 16.27v0c-8.984 0-16.27-7.284-16.27-16.27v0c0-8.984 7.286-16.27 16.27-16.27v0zM916.268 345.946c8.984 0 16.27 7.284 16.27 16.27v0c0 8.984-7.286 16.27-16.27 16.27v0c-8.984 0-16.27-7.284-16.27-16.27v0c0-8.984 7.286-16.27 16.27-16.27v0zM647.628 421.584c8.984 0 16.27 7.284 16.27 16.27v0c0 8.984-7.286 16.27-16.27 16.27v0c-8.984 0-16.27-7.284-16.27-16.27v0c0-8.984 7.286-16.27 16.27-16.27v0zM816.13 421.584c8.984 0 16.27 7.284 16.27 16.27v0c0 8.984-7.286 16.27-16.27 16.27v0c-8.984 0-16.27-7.284-16.27-16.27v0c0-8.984 7.286-16.27 16.27-16.27v0zM647.628 592.748c8.984 0 16.27 7.286 16.27 16.27v0c0 8.984-7.286 16.27-16.27 16.27v0c-8.984 0-16.27-7.286-16.27-16.27v0c0-8.984 7.286-16.27 16.27-16.27v0zM816.13 592.748c8.984 0 16.27 7.286 16.27 16.27v0c0 8.984-7.286 16.27-16.27 16.27v0c-8.984 0-16.27-7.286-16.27-16.27v0c0-8.984 7.286-16.27 16.27-16.27v0zM445.7 824.238c8.984 0 16.27 7.286 16.27 16.27v0c0 8.984-7.284 16.27-16.27 16.27v0c-8.984 0-16.27-7.286-16.27-16.27v0c0-8.984 7.284-16.27 16.27-16.27v0zM647.628 824.238c8.984 0 16.27 7.286 16.27 16.27v0c0 8.984-7.286 16.27-16.27 16.27v0c-8.984 0-16.27-7.286-16.27-16.27v0c0-8.984 7.286-16.27 16.27-16.27v0z","M351.784 232.272c-151.464 0-274.25 122.788-274.25 274.25v0c0 151.464 122.788 274.25 274.25 274.25v0c72.678-0.172 138.686-28.584 187.662-74.84l-0.13 0.124-102.844-122.476c-21.008 23.087-51.152 37.537-84.674 37.604h-0.012c-63.324 0-114.66-51.332-114.66-114.66v0c0-63.324 51.332-114.66 114.66-114.66v0c31.238 0.006 59.556 12.506 80.234 32.773l-0.018-0.018 88.342-134.37c-45.996-36.134-104.724-57.958-168.55-57.974h-0.004z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["creativefabrica"],"grid":16},"attrs":[{},{}],"properties":{"order":77,"id":27,"name":"creativefabrica","prevSize":28,"code":59677,"ligatures":"creativefabrica"},"setIdx":2,"setId":4,"iconIdx":14},{"icon":{"paths":["M683.253 537.141c-15.604-8.934-34.3-14.203-54.228-14.203-0.51 0-1.017 0.005-1.527 0.011h0.078q-45.323 0-76.43 30.33t-31.107 76.384q0 48.363 30.353 79.081t76.407 30.718q46.854 0 77.961-31.495t31.221-78.327c0-0.19 0.002-0.411 0.002-0.638 0-19.485-5.175-37.762-14.223-53.531l0.279 0.523c-9.254-16.378-22.428-29.573-38.288-38.594l-0.498-0.261zM0.024 0.029v1023.941h1023.941v-1023.941zM856.454 853.146h-121.364v-54.603h-1.531q-36.089 59.882-127.49 59.882-62.991 0-111.742-29.941c-32.24-19.885-57.905-47.625-74.759-80.615l-0.53-1.143q-26.513-51.837-26.49-116.313 0-62.991 26.878-114.782c17.537-34.030 43.154-61.738 74.403-81.275l0.862-0.503q48.409-29.918 109.068-29.941c0.789-0.014 1.719-0.018 2.654-0.018 23.475 0 45.927 4.377 66.584 12.356l-1.264-0.43q30.353 11.908 57.14 38.855v-178.093l127.513-27.633z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["dailymotion"],"grid":16},"attrs":[{}],"properties":{"order":78,"id":28,"name":"dailymotion","prevSize":28,"code":59678,"ligatures":"dailymotion"},"setIdx":2,"setId":4,"iconIdx":15},{"icon":{"paths":["M274.522 402.978c-8.914-6.628-17.828-10.057-26.741-10.057h-39.769v238.843h39.998c8.914 0 17.828-3.428 26.741-10.057s13.256-16.685 13.256-29.941v-159.305c0-13.256-4.571-23.313-13.256-29.941zM923.628 0.029h-823.267c-55.311 0-100.109 44.797-100.337 100.109v823.724c0.229 55.311 45.026 100.109 100.337 100.109h823.267c55.311 0 100.109-44.797 100.337-100.109v-823.724c-0.229-55.311-45.026-100.109-100.337-100.109zM352.461 592.453c0 42.969-26.513 108.108-110.622 108.108h-106.051v-378.264h108.337c80.91 0 108.337 65.139 108.337 108.108v162.048zM582.619 389.721h-121.822v87.766h74.51v67.653h-74.51v87.766h121.822v67.653h-142.163c-25.599 0.686-46.626-19.427-47.312-45.026v-285.926c-0.686-25.599 19.656-46.626 45.026-47.312h144.449v67.425zM819.405 653.249c-30.17 70.396-84.338 56.225-108.337 0l-87.995-330.952h74.51l67.882 259.871 67.653-259.871h74.51l-87.995 330.952z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["dev"],"grid":16},"attrs":[{}],"properties":{"order":79,"id":29,"name":"dev","prevSize":28,"code":59679,"ligatures":"dev"},"setIdx":2,"setId":4,"iconIdx":16},{"icon":{"paths":["M781.027 242.966l8.587-16.053v-162.923h-163.035l-16.277 16.427-76.832 146.535-24.117 16.277h-274.401v223.739h150.827l13.44 16.277-155.867 297.921-8.96 16.053v162.775h162.96l16.277-16.427 77.28-146.535 24.043-16.277h274.401v-223.739h-151.2l-13.44-16.352 156.279-297.809z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["deviantart"],"grid":16},"attrs":[{}],"properties":{"order":80,"id":30,"name":"deviantart","prevSize":28,"code":59680,"ligatures":"deviantart"},"setIdx":2,"setId":4,"iconIdx":17},{"icon":{"paths":["M236.565 269.017h80.731v389.011h-210.534v-275.831h129.802v-113.182zM236.565 593.126v-146.028h-48.676v146.028h48.676zM349.747 382.196v275.831h81.126v-275.831h-81.126zM349.747 269.017v80.731h81.126v-80.731h-81.126zM463.324 382.196h210.93v372.787h-210.93v-64.505h129.802v-32.451h-129.802v-275.831zM593.126 593.126v-146.028h-48.676v146.028h48.676zM706.704 382.196h210.534v372.787h-210.534v-64.505h129.407v-32.451h-129.407v-275.831zM836.111 593.126v-146.028h-48.676v146.028h48.676z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["digg"],"grid":16},"attrs":[{}],"properties":{"order":81,"id":31,"name":"digg","prevSize":28,"code":59681,"ligatures":"digg"},"setIdx":2,"setId":4,"iconIdx":18},{"icon":{"paths":["M839.25 214.138c-0.265-0.506-0.69-0.898-1.207-1.114l-0.016-0.006c-55.301-26.090-119.557-46.715-186.808-58.678l-4.689-0.691c-0.16-0.031-0.343-0.049-0.531-0.049-1.091 0-2.041 0.601-2.538 1.49l-0.008 0.015c-7.33 12.876-15.31 28.96-22.49 45.473l-1.35 3.487c-32.321-5.165-69.586-8.116-107.541-8.116s-75.219 2.951-111.577 8.636l4.037-0.52c-8.466-19.743-16.57-35.824-25.493-51.374l1.277 2.414c-0.535-0.9-1.502-1.493-2.608-1.493-0.166 0-0.329 0.013-0.488 0.039l0.017-0.002c-71.933 12.626-136.192 33.253-196.247 61.367l4.746-1.996c-0.53 0.228-0.961 0.602-1.254 1.070l-0.007 0.011c-121.966 182.141-155.378 359.803-138.987 535.266 0.099 0.898 0.553 1.674 1.217 2.195l0.007 0.005c67.135 50.193 145.181 90.645 229.394 117.199l5.526 1.503c0.261 0.081 0.562 0.128 0.873 0.128 0.988 0 1.867-0.472 2.422-1.202l0.005-0.007c16.794-22.589 32.755-48.172 46.597-75.026l1.462-3.121c0.203-0.392 0.322-0.855 0.322-1.346 0-1.276-0.803-2.365-1.932-2.788l-0.021-0.007c-28.624-11.034-52.79-22.785-75.812-36.277l2.423 1.312c-0.896-0.534-1.488-1.498-1.488-2.6 0-0.977 0.464-1.845 1.184-2.396l0.007-0.005c4.931-3.694 9.866-7.538 14.574-11.419 0.499-0.413 1.145-0.664 1.85-0.664 0.431 0 0.84 0.094 1.208 0.262l-0.018-0.007c153.966 70.267 320.656 70.267 472.8 0 0.364-0.177 0.792-0.281 1.245-0.281 0.698 0 1.338 0.247 1.839 0.658l-0.005-0.004c4.71 3.882 9.643 7.762 14.611 11.456 0.737 0.556 1.209 1.43 1.209 2.414 0 1.094-0.583 2.052-1.455 2.58l-0.013 0.008c-20.727 12.373-44.915 24.121-70.123 33.813l-3.301 1.115c-1.14 0.443-1.933 1.531-1.933 2.804 0 0.502 0.123 0.975 0.341 1.39l-0.008-0.017c15.703 30.111 31.636 55.664 49.268 79.901l-1.245-1.797c0.548 0.761 1.431 1.251 2.428 1.251 0.311 0 0.612-0.048 0.894-0.136l-0.021 0.006c89.886-27.96 168.070-68.422 237.343-120.158l-2.044 1.46c0.682-0.502 1.142-1.272 1.223-2.151l0.001-0.012c19.622-202.853-32.851-379.059-139.094-535.266zM355.986 642.528c-46.355 0-84.55-42.539-84.55-94.782s37.454-94.786 84.55-94.786c47.464 0 85.29 42.912 84.549 94.782 0 52.246-37.456 94.786-84.549 94.786zM668.594 642.528c-46.354 0-84.549-42.539-84.549-94.782s37.454-94.786 84.549-94.786c47.467 0 85.291 42.912 84.55 94.782 0 52.246-37.083 94.786-84.55 94.786z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["discord"]},"attrs":[{}],"properties":{"order":160,"id":109,"name":"discord","prevSize":28,"code":59682},"setIdx":2,"setId":4,"iconIdx":19},{"icon":{"paths":["M512 960.001c-246.961 0-448.001-201.041-448.001-448.001s201.041-448.001 448.001-448.001 448.001 201.041 448.001 448.001-201.041 448.001-448.001 448.001zM889.814 573.301c-13.067-4.107-118.347-35.579-238.337-16.352 50.027 137.536 70.448 249.537 74.368 272.833 85.867-58.053 146.944-150.080 164.080-256.481zM661.52 864.801c-5.712-33.6-28-150.528-81.76-290.081l-2.464 0.747c-216.161 75.227-293.441 224.934-300.161 238.934 64.587 50.699 146.347 80.864 234.827 80.864 53.013 0 103.414-10.827 149.334-30.389zM227.706 768.481c8.661-14.933 113.68-188.721 311.062-252.561 5.040-1.68 10.080-3.136 15.12-4.48-9.707-21.84-20.16-43.568-31.061-64.96-191.147 57.12-376.47 54.693-393.27 54.32l-0.149 11.648c0 98.299 37.259 188.049 98.336 255.921zM137.359 434.16c17.173 0.299 174.832 0.971 353.809-46.592-63.392-112.672-131.787-207.499-141.867-221.313-107.072 50.4-187.041 148.96-211.905 267.681zM422.4 140.607c10.528 14.187 80.080 108.79 142.688 224.001 136.080-50.96 193.761-128.427 200.593-138.208-67.574-60.107-156.427-96.544-253.681-96.544-30.8 0-60.853 3.733-89.6 10.64zM808.241 270.639c-8.139 10.827-72.24 93.072-213.697 150.827 8.96 18.293 17.547 36.773 25.387 55.477 2.987 6.72 5.6 13.44 8.213 19.787 127.307-16.053 253.867 9.707 266.561 12.32-0.747-90.347-32.853-173.227-86.24-238.187z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["dribbble"],"grid":16},"attrs":[{}],"properties":{"order":82,"id":32,"name":"dribbble","prevSize":28,"code":59683,"ligatures":"dribbble"},"setIdx":2,"setId":4,"iconIdx":20},{"icon":{"paths":["M298.115 516.75v-177.038h43.181v108.887c21.231-25.298 50.449-32.602 79.235-32.602 48.219 0 101.759 32.529 101.759 102.732 0 8.385-0.54 16.446-2.159 24.036 8.636-34.291 45.843-46.958 104.209-48.363 18.352-0.648 39.403-0.648 56.134-0.648v-4.858c0-31.846-20.006-44.763-55.054-44.763-25.909 0-44.8 10.793-46.958 29.147h-45.879c4.893-46.417 53.976-58.293 96.65-58.293 38.286 0 71.788 9.716 86.899 36.704l-15.69-30.226h50.736l73.946 148.43 73.946-148.467h44.727l-133.857 262.858h-48.434l38.502-73.405-83.841-157.608c4.676 9.176 7.196 19.971 7.196 33.465v88.519c0 12.453 0.361 24.827 1.439 36.164h-40.085c-1.039-8.25-1.641-17.811-1.655-27.507v-0.020c-21.697 26.411-47.497 34.544-83.483 34.544-53.256 0-81.755-28.067-81.755-60.991 0-5.399 0.54-10.218 1.331-14.573-10.793 44.837-48.937 75.062-99.567 75.062-31.306 0-60.955-11.333-79.164-33.465 0 8.636-0.54 17.775-1.439 26.411h-42.46c0.72-14.034 1.439-30.766 1.439-44.8v-37.781h-173.8c2.339 39.403 29.434 62.611 66.675 62.611 25.836 0 48.759-10.793 56.422-33.465h44.619c-8.636 46.417-57.933 62.073-100.393 62.073-77.113 0.756-111.296-41.956-111.296-99.169 0-63.115 35.336-104.711 112.124-104.711 60.74 0 105.431 31.881 105.792 100.97v0.179zM626.894 523.335c-39.403 1.226-63.69 8.385-63.69 34.184 0 16.732 12.954 34.904 46.958 34.904 45.34 0 69.628-24.827 69.628-65.274v-4.676c-16.193 0-35.624 0.216-53.399 0.791h0.432zM408.836 590.804c39.94 0 67.506-29.002 67.506-72.687s-27.636-72.687-68.116-72.687c-39.94 0-68.009 29.002-68.009 72.687s27.528 72.687 67.469 72.687h1.079zM252.308 500.343c-1.584-40.482-30.729-55.63-62.073-55.63-33.968 0-60.955 17.057-65.309 55.63z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["ebay"],"grid":16},"attrs":[{}],"properties":{"order":83,"id":33,"name":"ebay","prevSize":28,"code":59684,"ligatures":"ebay"},"setIdx":2,"setId":4,"iconIdx":21},{"icon":{"paths":["M512 63.999c-247.425 0-448.001 200.577-448.001 448.001s200.577 448.001 448.001 448.001 448.001-200.577 448.001-448.001-200.577-448.001-448.001-448.001zM785.557 579.898c-32.198 124.877-144.689 212.102-273.552 212.102-128.872 0-241.369-87.226-273.573-212.118-5.453-21.138 7.308-42.776 28.448-48.234 3.246-0.838 6.587-1.266 9.92-1.266 18.046 0 33.8 12.226 38.314 29.729 23.198 89.905 104.162 152.697 196.888 152.697 92.731 0 173.69-62.79 196.876-152.697 4.508-17.506 20.256-29.734 38.296-29.734 3.344 0 6.694 0.428 9.954 1.274 10.23 2.639 18.836 9.116 24.21 18.236 5.374 9.114 6.872 19.772 4.22 30.010z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["ello"],"grid":16},"attrs":[{}],"properties":{"order":84,"id":34,"name":"ello","prevSize":28,"code":59685,"ligatures":"ello"},"setIdx":2,"setId":4,"iconIdx":22},{"icon":{"paths":["M383.534 155.278c0-12.134 1.232-19.412 22.028-19.412h278.696c48.533 0 75.414 41.44 94.828 119.207l15.68 62.198h47.414c8.586-176.512 16.052-253.272 16.052-253.272s-119.319 13.44-190.028 13.44h-356.498l-190.924-6.122v51.148l64.4 12.172c45.174 8.96 56 18.516 59.733 59.957 0 0 4.108 122.080 4.108 322.561 0 201.041-3.36 321.441-3.36 321.441 0 36.324-14.56 49.766-59.36 58.726l-64.288 12.32v50.364l191.521-6.16h319.201c72.24 0 238.561 6.16 238.561 6.16 3.92-43.68 28-241.921 31.92-263.722h-44.8l-47.936 108.64c-37.52 85.12-92.439 91.28-153.44 91.28h-183.158c-60.854 0-90.16-23.894-90.16-76.533v-277.8s135.148 0 178.826 3.584c34.048 2.388 54.62 12.132 65.706 59.66l14.56 63.28h52.64l-3.36-159.712 7.168-160.72h-51.932l-16.8 70.56c-10.566 46.442-17.92 54.88-65.482 59.733-62.197 6.346-179.76 5.228-179.76 5.228v-328.012h-1.866z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["etsy"],"grid":16},"attrs":[{}],"properties":{"order":85,"id":35,"name":"etsy","prevSize":28,"code":59686,"ligatures":"etsy"},"setIdx":2,"setId":4,"iconIdx":24},{"icon":{"paths":["M807.302 335.501h-166.552v-74.109c0-35.105 23.402-42.905 39.006-42.905h117.016v-154.46h-168.892c-153.291 0-182.154 114.675-182.154 188.004v83.861h-117.016v156.022h117.016v468.062h195.026v-468.062h150.17l16.382-156.022z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["facebook"],"grid":16},"attrs":[{}],"properties":{"order":86,"id":36,"name":"facebook","prevSize":28,"code":59687,"ligatures":"facebook"},"setIdx":2,"setId":4,"iconIdx":25},{"icon":{"paths":["M200.535 231.636c0-92.583 75.054-167.636 167.637-167.636h287.645c92.584 0 167.637 75.053 167.637 167.636 0 58.625-30.094 110.221-75.676 140.183 45.582 29.964 75.676 81.559 75.676 140.184 0 92.584-75.054 167.637-167.637 167.637h-3.64c-43.404 0-82.956-16.496-112.726-43.56v154.461c0 93.818-77.016 169.458-170.375 169.458-92.353 0-168.541-74.825-168.541-167.637 0-58.622 30.091-110.215 75.668-140.179-45.578-29.964-75.668-81.559-75.668-140.181 0-58.625 30.094-110.22 75.675-140.184-45.581-29.962-75.675-81.559-75.675-140.183zM484.539 399.277h-116.366c-62.258 0-112.726 50.47-112.726 112.726 0 62.016 50.080 112.336 112.006 112.725 0.24-0.002 0.48-0.002 0.721-0.002h116.366v-225.45zM539.451 512.004c0 62.256 50.468 112.726 112.726 112.726h3.64c62.258 0 112.726-50.47 112.726-112.726s-50.468-112.726-112.726-112.726h-3.64c-62.258 0-112.726 50.47-112.726 112.726zM368.173 679.641c-0.242 0-0.482-0.002-0.721-0.002-61.926 0.386-112.006 50.706-112.006 112.723 0 62.029 51.143 112.726 113.63 112.726 63.494 0 115.464-51.513 115.464-114.546v-110.901h-116.366zM368.173 118.911c-62.258 0-112.726 50.469-112.726 112.726s50.469 112.726 112.726 112.726h116.366v-225.451h-116.366zM539.451 344.363h116.366c62.258 0 112.726-50.468 112.726-112.726s-50.468-112.726-112.726-112.726h-116.366v225.451z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["figma"],"grid":16},"attrs":[{}],"properties":{"order":87,"id":37,"name":"figma","prevSize":28,"code":59688,"ligatures":"figma"},"setIdx":2,"setId":4,"iconIdx":26},{"icon":{"paths":["M385.616 63.999c-212.939 0-321.617 122.642-321.617 351.625v0 480.406l208.592-208.8v-244.035c0-94.864 25.138-155.231 109.478-168.783v0c29.463-5.761 90.782-3.744 129.768-3.744v0 144.897c0 1.322 0.182 3.68 0.52 4.888v0c1.636 5.866 6.938 10.164 13.226 10.176v0c3.554 0.007 6.884-1.841 10.316-5.224v0l361.483-361.353-511.766-0.054zM751.409 336.777v244.029c0 94.862-25.144 155.238-109.477 168.783v0c-29.463 5.76-90.787 3.744-129.774 3.744v0-144.895c0-1.312-0.18-3.678-0.52-4.884v0c-1.631-5.873-6.932-10.17-13.224-10.176v0c-3.556-0.007-6.882 1.848-10.316 5.22v0l-361.485 361.347 511.766 0.058c212.935 0 321.619-122.648 321.619-351.621v0-480.401l-208.592 208.798z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["flattr"],"grid":16},"attrs":[{}],"properties":{"order":88,"id":38,"name":"flattr","prevSize":28,"code":59689,"ligatures":"flattr"},"setIdx":2,"setId":4,"iconIdx":27},{"icon":{"paths":["M717.721 443.426c-50.416 0-91.432 41.015-91.432 91.432s41.015 91.432 91.432 91.432c50.416 0 91.432-41.015 91.432-91.432s-41.015-91.432-91.432-91.432zM717.721 374.853v0c88.367 0 160.005 71.637 160.005 160.005s-71.638 160.005-160.005 160.005-160.005-71.638-160.005-160.005c0-88.368 71.638-160.005 160.005-160.005zM146.274 534.858c0-88.368 71.637-160.005 160.005-160.005s160.005 71.637 160.005 160.005c0 88.368-71.637 160.005-160.005 160.005s-160.005-71.637-160.005-160.005z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["flickr"],"grid":16},"attrs":[{}],"properties":{"order":89,"id":39,"name":"flickr","prevSize":28,"code":59690,"ligatures":"flickr"},"setIdx":2,"setId":4,"iconIdx":28},{"icon":{"paths":["M163.562 56.874c-5.114 0.052-9.99 1.002-14.5 2.698l0.292-0.096v-16.81c0-23.51 19.158-42.668 42.668-42.668h625.792c23.51 0 42.668 19.158 42.668 42.668v14.208h-696.918zM903.146 156.458h-782.25c-23.51 0-42.668 19.158-42.668 42.668v782.208c0 23.51 19.156 42.668 42.668 42.668h311.466l46.848-240.854h-95.572c-2.176 0-220.074-10.284-220.074-10.284l197.932-13.952-3.328-15.616-84.394-12.16 80.298-6.74-5.29-19.158-131.2-19.924s142.548-15.914 144.726-15.914h137.9l10.538-56.788c12.332-68.948 40.32-119.764 84.182-157.568 44.076-38.058 100.010-56.832 167.98-56.832 27.434 0 44.928 6.442 52.524 19.754 5.034 7.936 8.576 22.016 11.904 36.652 3.158 15.020 5.972 28.63 4.052 38.528-2.432 14.72-19.668 19.84-51.072 19.84h-10.794c-56.62 0-91.052 32.554-102.612 98.56l-10.368 57.812h65.706c24.49 0 33.322 17.152 26.538 55.722-7.254 40.15-22.996 58.028-47.404 58.028h-65.62l-46.764 240.896h314.112c23.51 0 42.668-19.158 42.668-42.668v-782.208c0-23.55-19.078-42.642-42.622-42.668h-0.002zM874.688 99.54c-0.024-7.838-6.37-14.184-14.206-14.208h-696.918c-7.836 0.024-14.184 6.37-14.208 14.206v28.46h725.332v-28.46z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["flipkart"],"grid":16},"attrs":[{}],"properties":{"order":90,"id":40,"name":"flipkart","prevSize":28,"code":59691,"ligatures":"flipkart"},"setIdx":2,"setId":4,"iconIdx":29},{"icon":{"paths":["M512 12.672c-282.88 0-512 229.248-512 512 0 226.261 146.688 418.133 350.080 485.76 25.6 4.821 34.987-11.008 34.987-24.619 0-12.16-0.427-44.373-0.64-87.040-142.421 30.891-172.459-68.693-172.459-68.693-23.296-59.093-56.96-74.88-56.96-74.88-46.379-31.744 3.584-31.104 3.584-31.104 51.413 3.584 78.421 52.736 78.421 52.736 45.653 78.293 119.851 55.68 149.12 42.581 4.608-33.109 17.792-55.68 32.427-68.48-113.707-12.8-233.216-56.832-233.216-253.013 0-55.893 19.84-101.547 52.693-137.387-5.76-12.928-23.040-64.981 4.48-135.509 0 0 42.88-13.739 140.8 52.48 40.96-11.392 84.48-17.024 128-17.28 43.52 0.256 87.040 5.888 128 17.28 97.28-66.219 140.16-52.48 140.16-52.48 27.52 70.528 10.24 122.581 5.12 135.509 32.64 35.84 52.48 81.493 52.48 137.387 0 196.693-119.68 240-233.6 252.587 17.92 15.36 34.56 46.763 34.56 94.72 0 68.523-0.64 123.563-0.64 140.203 0 13.44 8.96 29.44 35.2 24.32 204.843-67.157 351.403-259.157 351.403-485.077 0-282.752-229.248-512-512-512z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["github"],"grid":16},"attrs":[{}],"properties":{"order":91,"id":41,"name":"github","prevSize":28,"code":59692,"ligatures":"github"},"setIdx":2,"setId":4,"iconIdx":30},{"icon":{"paths":["M717.718 127.958c-84.847 0-159.235 43.996-205.718 110.813-46.483-66.817-120.87-110.813-205.718-110.813-118.712 0-233.146 100.72-233.146 246.861 0 156.345 112.203 286.98 213.141 374.022 60.224 51.737 127.48 98.703 199.207 138.598l6.181 3.155 1.025 0.621 0.293 0.11-0.037 0.11c5.961 3.109 12.508 4.608 19.053 4.571 6.547 0.037 13.093-1.499 19.053-4.571l-0.037-0.11 0.293-0.11 1.025-0.621c77.908-43.051 145.164-90.016 207.005-143.109l-1.616 1.356c100.938-87.041 213.141-217.676 213.141-374.022 0-146.142-114.434-246.861-233.146-246.861zM684.107 686.595c-50.621 43.536-106.878 83.635-166.629 118.388l-5.371 2.884-0.147-0.073-0.147 0.073c-65.12-37.687-121.375-77.782-173.51-122.54l1.512 1.267c-97.903-84.372-184.579-193.758-184.579-311.703 0-100.72 77.57-164.574 150.86-164.574 75.338 0 143.143 54.090 166.183 134.731 5.229 18.104 21.797 29.147 39.718 29.111 17.921 0.037 34.487-11.045 39.681-29.111 23.040-80.642 90.844-134.731 166.183-134.731 73.29 0 150.86 63.854 150.86 164.574 0 117.944-86.676 227.332-184.615 311.703z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["githubsponsors"],"grid":16},"attrs":[{}],"properties":{"order":92,"id":42,"name":"githubsponsors","prevSize":28,"code":59693,"ligatures":"githubsponsors"},"setIdx":2,"setId":4,"iconIdx":31},{"icon":{"paths":["M942.704 422.621l-1.252-3.2-121.287-316.524c-2.553-6.308-6.878-11.457-12.355-14.961l-0.127-0.075c-4.865-3.064-10.783-4.881-17.125-4.881-7.572 0-14.54 2.592-20.063 6.936l0.070-0.053c-5.077 4.147-8.847 9.718-10.709 16.103l-0.058 0.23-81.887 250.543h-331.598l-81.894-250.543c-1.869-6.65-5.65-12.249-10.706-16.334l-0.060-0.047c-5.452-4.288-12.418-6.878-19.987-6.878-6.344 0-12.263 1.818-17.264 4.964l0.135-0.079c-5.592 3.594-9.913 8.735-12.406 14.821l-0.077 0.212-122.717 319.583c-9.419 23.888-14.879 51.558-14.879 80.502 0 73.202 34.926 138.249 89.022 179.382l0.555 0.405 0.42 0.323 1.114 0.791 184.751 138.355 147.084 111.214c6.214 4.756 14.094 7.622 22.642 7.622s16.43-2.865 22.733-7.689l-0.089 0.066 55.675-42.033 91.407-69.181 186.329-139.562c54.552-41.561 89.404-106.561 89.404-179.702 0-28.871-5.43-56.473-15.325-81.842l0.527 1.535z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["gitlab"],"grid":16},"attrs":[{}],"properties":{"order":93,"id":43,"name":"gitlab","prevSize":28,"code":59694,"ligatures":"gitlab"},"setIdx":2,"setId":4,"iconIdx":32},{"icon":{"paths":["M221.433 63.998c-65.072 0-117.862 52.752-117.862 117.824v470.924c0 65.11 52.789 117.899 117.862 117.899h349.703c-0.635 133.28-180.247 189.355-180.247 189.355s303.819-1.419 347.388-189.355h64.214c65.11 0 117.862-52.789 117.862-117.862v-470.924c0-65.11-52.789-117.862-117.824-117.862h-581.058zM390.442 158.452c2.725-0.485 4.928-0.112 6.496 1.269 12.507 11.2-20.757 22.139-18.069 77.019 1.195 24.117-5.973 42.784 40.171 42.784 30.837 0 18.032-27.403 56.859-27.403 24.491 0 32.107 16.24 34.869 28.635 2.688-12.32 10.229-28.672 34.72-28.672 38.827 0 26.133 27.365 56.933 27.365 46.181 0 38.976-18.667 40.171-42.784 2.688-54.88-30.613-65.856-18.069-77.019 1.568-1.381 3.733-1.568 6.421-0.747 18.667 5.339 59.995 58.165 61.152 80.454 1.419 26.507 1.493 68.134-37.893 89.862 44.427 43.568 50.475 101.547 50.475 101.547l-76.347-1.269s-17.323-79.072-109.76-75.040c-92.363 4.032-104.384 20.085-104.384 117.824 0 97.702 42.821 131.303 108.454 133.84 103.040 4.032 93.707-53.499 93.707-53.499l-48.16 2.688-26.805-72.315h164.64c0 78.998-33.488 202.123-190.103 194.135-156.651-8.064-191.447-131.227-192.791-214.295-0.672-45.733 7.019-97.142 44.8-133.431-39.275-21.653-38.565-63.467-38.565-90.123 0-32.853 42.187-77.803 61.115-81.014z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["gnusocial"],"grid":16},"attrs":[{}],"properties":{"order":94,"id":44,"name":"gnusocial","prevSize":28,"code":59695,"ligatures":"gnusocial"},"setIdx":2,"setId":4,"iconIdx":33},{"icon":{"paths":["M250.583 769.857h4.9c22.226 0 44.628 0 66.856 0.175 2.8 0 5.425-0.7 6.3 3.675 12.425 61.079 52.504 95.559 110.084 111.835 47.078 13.3 94.682 13.651 142.287 3.151 59.156-12.952 98.009-49.53 119.010-105.709 14.001-37.627 18.727-76.657 19.251-116.386 0.175-10.152 0.525-82.258-0.351-92.409l-1.575-0.525c-1.4 2.625-2.975 5.075-4.375 7.7-38.677 75.431-107.284 117.96-184.466 120.935-180.265 7.001-296.476-99.759-301.026-308.376-0.875-41.477 3.151-82.081 14.526-121.986 36.053-124.436 130.561-206.868 269.347-207.917 107.284-0.7 177.641 67.731 203.366 123.036 0.875 1.925 2.275 4.025 4.2 3.325v-107.809h77.532c0 490.567 0.175 581.399 0.175 581.399-0.175 137.388-46.729 251.496-180.265 283.875-121.636 29.577-278.275 8.401-343.028-100.109-14.001-23.626-20.652-49.53-22.753-77.881zM506.631 127.903c-91.882-0.875-189.892 71.231-201.267 234.169-7.175 103.259 25.901 213.868 125.135 260.073 48.304 22.576 130.036 26.252 189.541-15.225 83.307-58.105 109.733-169.764 95.908-269.523-16.976-124.436-83.658-210.019-209.317-209.493z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["goodreads"],"grid":16},"attrs":[{}],"properties":{"order":95,"id":45,"name":"goodreads","prevSize":28,"code":59696,"ligatures":"goodreads"},"setIdx":2,"setId":4,"iconIdx":34},{"icon":{"paths":["M259.701 578.043l-195.703-159.376 448.002-354.668 448.002 354.668-195.703 159.376c-45.173-94.080-141.12-159.376-252.299-159.376-111.142 0-207.127 65.259-252.299 159.376zM512 437.333c-144.331 0-261.335 117.004-261.335 261.335s117.004 261.335 261.335 261.335v0c144.331 0 261.335-117.004 261.335-261.335s-117.004-261.335-261.335-261.335v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["googlescholar"],"grid":16},"attrs":[{}],"properties":{"order":96,"id":46,"name":"googlescholar","prevSize":28,"code":59697,"ligatures":"googlescholar"},"setIdx":2,"setId":4,"iconIdx":35},{"icon":{"paths":["M654.827 626.565c20.978 0.009 37.984 17.020 37.984 38.001 0 20.989-17.015 38.001-38.001 38.001-0.007 0-0.013 0-0.021 0h0.001c-20.989 0-38.001-17.015-38.001-38.001s17.015-38.001 38.001-38.001v0zM860.179 105.473c0.007 0 0.012 0 0.020 0 20.989 0 38.001 17.015 38.001 38.001 0 20.981-17.002 37.991-37.983 38.001h-0.001c-20.989 0-38.001-17.015-38.001-38.001s17.015-38.001 38.001-38.001v0zM188.048 180.022h601.615c13.509 25.706 40.017 42.943 70.549 42.968h0.005c43.825 0 79.476-35.649 79.476-79.513-0.063-43.873-35.635-79.417-79.51-79.439h-0.002c-33.225 0-61.744 20.53-73.541 49.611h-598.629c-58.123 0-103.702 44.088-103.702 100.418v640.437c0 57.152 47.521 105.458 103.742 105.458h640.401c56.368 0 102.21-47.297 102.21-105.458v-379.91c0-57.19-45.841-103.778-102.21-103.778h-379.91c-57.974 0-106.989 47.559-106.989 103.778v119.381c0 55.399 48.007 100.455 106.989 100.455h132.672c12.147 29.311 40.51 49.564 73.61 49.611h0.007c43.825 0 79.476-35.688 79.476-79.513s-35.649-79.476-79.513-79.476c-30.531 0.049-57.024 17.296-70.31 42.568l-0.208 0.436h-135.732c-19.522 0-40.616-13.027-40.616-34.081v-119.381c0-19.562 19.374-37.329 40.616-37.329h379.91c20.082 0 35.837 16.387 35.837 37.329v379.91c0 21.166-16.426 39.084-35.837 39.084h-640.401c-19.898 0-37.329-18.291-37.329-39.084v-640.401c0-19.411 16.051-34.045 37.329-34.045z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["gumroad"],"grid":16},"attrs":[{}],"properties":{"order":97,"id":47,"name":"gumroad","prevSize":28,"code":59698,"ligatures":"gumroad"},"setIdx":2,"setId":4,"iconIdx":36},{"icon":{"paths":["M0 0v1024h1024v-1024h-1024zM544 584v216h-64v-216l-175-328h72.6l134.4 252 134.4-252h72.6l-175 328z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["hackernews"],"grid":16},"attrs":[{}],"properties":{"order":98,"id":48,"name":"hackernews","prevSize":28,"code":59699,"ligatures":"hackernews"},"setIdx":2,"setId":4,"iconIdx":37},{"icon":{"paths":["M898.422 363.382l-237.804-237.804c-38.034-38.034-90.579-61.56-148.618-61.56s-110.583 23.526-148.618 61.561l-237.803 237.803c-38.034 38.034-61.56 90.579-61.56 148.618s23.526 110.583 61.561 148.618l237.803 237.803c38.034 38.034 90.579 61.56 148.618 61.56s110.583-23.526 148.618-61.561l237.803-237.803c38.034-38.034 61.56-90.579 61.56-148.618s-23.526-110.583-61.561-148.618v0zM512 659.573c-81.501 0-147.573-66.072-147.573-147.573s66.071-147.573 147.573-147.573v0c81.501 0 147.573 66.072 147.573 147.573s-66.071 147.573-147.573 147.573v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["hashnode"],"grid":16},"attrs":[{}],"properties":{"order":99,"id":49,"name":"hashnode","prevSize":28,"code":59700,"ligatures":"hashnode"},"setIdx":2,"setId":4,"iconIdx":38},{"icon":{"paths":["M237.404 652.412c0.175 0.525 4.898 13.298 7.524 19.772 14.698 34.818 35.868 66.312 62.814 93.256s58.263 48.116 93.258 62.814c36.218 15.224 74.536 23.094 114.078 23.094s78.034-7.698 114.080-23.094c34.994-14.698 66.312-35.868 93.256-62.814s48.116-58.263 62.814-93.256c15.224-36.218 23.094-74.534 23.094-114.080s-7.698-78.034-23.094-114.080c-14.698-34.994-35.868-66.312-62.814-93.258s-58.263-48.114-93.256-62.814c-36.218-15.222-74.534-23.096-114.080-23.096-40.066 0-80.134 8.048-115.652 23.096-28.52 12.074-76.812 43.042-104.98 72.262l-0.175 0.175v-241.454h405.398c14.698-0.175 14.698-20.822 14.698-27.47 0-6.824 0-27.294-14.872-27.47h-438.292c-11.896 0-19.246 9.974-19.246 19.072v339.61c0 11.024 13.646 18.896 26.42 21.52 24.844 5.25 30.444-2.625 36.568-11.024l0.875-1.050c9.274-13.824 38.144-42.866 38.492-43.216 45.142-45.142 105.504-69.986 170.068-69.986 64.214 0 124.402 24.844 169.542 69.986 45.316 45.316 70.336 105.332 70.336 169.018 0 63.864-24.844 124.052-69.986 169.018-44.442 44.442-106.73 69.986-170.592 69.986-43.216 0-85.032-11.548-120.902-33.418l0.175-206.46c0-27.47 11.896-57.564 32.020-80.134 22.92-25.894 54.414-40.066 88.883-40.066 33.244 0 64.388 12.596 87.658 35.518 22.922 22.746 35.694 53.19 35.694 85.56 0 68.936-54.24 123.002-123.526 123.002-13.298 0-37.618-5.948-38.668-6.125-13.998-4.198-19.946 15.224-21.872 21.694-7.524 24.67 3.85 29.57 6.125 30.268 22.22 6.998 36.918 8.224 56.164 8.224 97.806 0 177.416-79.61 177.416-177.416 0-97.106-79.61-176.018-177.241-176.018-47.94 0-92.906 18.372-126.676 51.44-32.194 31.668-50.564 73.836-50.564 115.828v1.050c-0.175 5.25-0.175 129.126-0.35 169.718l-0.175-0.175c-18.372-20.296-36.568-51.44-48.64-83.284-4.725-12.424-15.396-10.324-29.918-5.775-6.998 1.925-26.244 7.874-21.872 22.046v0zM445.79 603.944c0 5.948 5.425 11.198 8.748 14.174l1.050 1.050c5.6 5.424 10.848 8.224 15.746 8.224 4.025 0 6.475-1.925 7.348-2.798 2.448-2.275 30.094-30.444 32.894-33.070l30.97 30.794c2.798 3.15 5.948 4.9 9.624 4.9 4.9 0 10.324-2.975 15.922-8.748 13.298-13.646 6.65-20.996 3.5-24.496l-31.32-31.32 32.72-32.894c7.174-7.698 0.875-15.922-5.424-22.22-9.098-9.098-18.022-11.548-23.622-6.3l-32.544 32.544-32.894-32.894c-1.75-1.75-4.025-2.625-6.298-2.625-4.375 0-9.624 2.975-15.396 8.748-10.148 10.148-12.248 17.146-6.998 22.746l32.894 32.72-32.72 32.72c-2.975 2.798-4.375 5.775-4.198 8.748zM517.35 159.879c-52.49 0-108.48 10.674-149.421 28.344-4.375 1.75-6.998 5.248-7.524 10.148-0.525 4.725 0.7 10.848 3.85 18.896 2.625 6.475 9.274 23.794 22.396 18.722 41.992-16.096 88.533-24.844 130.7-24.844 47.94 0 94.483 9.448 138.222 27.82 34.818 14.696 67.536 36.044 103.23 66.838 2.625 2.274 5.424 3.324 8.224 3.324 6.998 0 13.646-6.824 19.422-13.298 9.448-10.674 16.096-19.596 6.65-28.52-34.118-32.194-71.386-56.34-117.578-75.936-50.040-20.822-103.406-31.494-158.17-31.494zM800.272 808.482v0c-6.298-6.298-11.724-9.974-16.446-11.372s-9.098-0.35-12.424 2.975l-3.15 3.15c-32.544 32.544-70.512 58.088-112.678 75.936-43.742 18.546-90.108 27.82-137.872 27.82-47.94 0-94.306-9.448-137.872-27.82-42.168-17.846-80.134-43.392-112.678-75.936-33.944-33.944-59.488-71.912-75.936-112.678-16.096-39.894-21.346-69.812-23.096-79.61-0.175-0.875-0.35-1.575-0.35-2.1-2.274-11.548-12.946-12.424-28.17-9.974-6.3 1.050-25.72 4.025-23.97 17.846v0.35c5.075 32.37 14.172 64.038 26.944 94.132 20.472 48.466 49.866 92.032 87.31 129.476s81.010 66.662 129.476 87.308c50.216 21.172 103.582 32.018 158.521 32.018s108.304-10.848 158.52-32.018c48.466-20.47 92.032-49.866 129.476-87.308 0 0 2.1-2.1 3.324-3.324 3.85-4.725 7.524-12.598-8.924-28.87z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["icon-500px"],"grid":16},"attrs":[{}],"properties":{"order":100,"id":50,"name":"icon--500px","prevSize":28,"code":59701,"ligatures":"icon--500px"},"setIdx":2,"setId":4,"iconIdx":40},{"icon":{"paths":["M512 144.683c119.697 0 133.872 0.525 180.946 2.625 43.749 1.925 67.374 9.274 83.123 15.4 20.824 8.050 35.874 17.85 51.448 33.424 15.75 15.75 25.374 30.624 33.6 51.448 6.124 15.75 13.474 39.549 15.4 83.123 2.1 47.249 2.625 61.424 2.625 180.946s-0.525 133.872-2.625 180.946c-1.925 43.749-9.274 67.374-15.4 83.123-8.050 20.824-17.85 35.874-33.424 51.448-15.75 15.75-30.624 25.374-51.448 33.6-15.75 6.124-39.549 13.474-83.123 15.4-47.249 2.1-61.424 2.625-180.946 2.625s-133.872-0.525-180.946-2.625c-43.749-1.925-67.374-9.274-83.123-15.4-20.824-8.050-35.874-17.85-51.448-33.424-15.75-15.75-25.374-30.624-33.6-51.448-6.124-15.75-13.474-39.549-15.4-83.123-2.1-47.249-2.625-61.424-2.625-180.946s0.525-133.872 2.625-180.946c1.925-43.749 9.274-67.374 15.4-83.123 8.050-20.824 17.85-35.874 33.424-51.448 15.75-15.75 30.624-25.374 51.448-33.6 15.75-6.124 39.549-13.474 83.123-15.4 47.074-2.1 61.248-2.625 180.946-2.625zM512 64.011c-121.622 0-136.847 0.525-184.621 2.625-47.599 2.1-80.323 9.8-108.672 20.824-29.574 11.55-54.598 26.774-79.448 51.798-25.024 24.85-40.249 49.874-51.798 79.273-11.024 28.524-18.724 61.074-20.824 108.672-2.1 47.949-2.625 63.174-2.625 184.796s0.525 136.847 2.625 184.621c2.1 47.599 9.8 80.323 20.824 108.672 11.55 29.574 26.774 54.598 51.798 79.448 24.85 24.85 49.874 40.249 79.273 51.624 28.524 11.024 61.074 18.724 108.672 20.824 47.774 2.1 62.998 2.625 184.621 2.625s136.847-0.525 184.621-2.625c47.599-2.1 80.323-9.8 108.672-20.824 29.4-11.374 54.424-26.774 79.273-51.624s40.249-49.874 51.624-79.273c11.024-28.524 18.724-61.074 20.824-108.672 2.1-47.774 2.625-62.998 2.625-184.621s-0.525-136.847-2.625-184.621c-2.1-47.599-9.8-80.323-20.824-108.672-11.024-29.75-26.25-54.774-51.274-79.623-24.85-24.85-49.874-40.249-79.273-51.624-28.524-11.024-61.074-18.724-108.672-20.824-47.949-2.275-63.174-2.8-184.796-2.8v0z","M512 281.88c-127.047 0-230.12 103.072-230.12 230.12s103.072 230.12 230.12 230.12 230.12-103.072 230.12-230.12c0-127.047-103.072-230.12-230.12-230.12zM512 661.272c-82.423 0-149.272-66.848-149.272-149.272s66.848-149.272 149.272-149.272c82.423 0 149.272 66.848 149.272 149.272s-66.848 149.272-149.272 149.272z","M804.943 272.781c0 29.67-24.054 53.724-53.724 53.724s-53.724-24.054-53.724-53.724c0-29.67 24.054-53.724 53.724-53.724s53.724 24.054 53.724 53.724z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["instagram"],"grid":16},"attrs":[{},{},{}],"properties":{"order":101,"id":51,"name":"instagram","prevSize":28,"code":59702,"ligatures":"instagram"},"setIdx":2,"setId":4,"iconIdx":41},{"icon":{"paths":["M578.589 217.681c-96.343 0-178.841 54.111-222.544 132.439-18.785-11.109-39.917-18.925-63.294-18.925-69.427 0-126.166 56.285-126.166 125.43 0 9.217 2.208 17.978 4.135 26.706-47.312 31.821-79.274 84.811-79.274 145.863 0 96.833 78.538 175.652 175.512 177.124 0.041 0.001 0.091 0.001 0.141 0.001s0.098 0 0.148-0.001h490.64c96.237 0.595 174.671-77.313 174.671-173.023 0-68.199-40.409-126.237-98.094-154.554 0.106-2.173 0.351-4.031 0.351-6.449 0-140.466-114.952-254.611-256.188-254.611zM578.589 247.225c125.466 0 226.749 100.653 226.749 225.067 0 4.031-0.42 8.481-0.701 13.563-0.016 0.259-0.025 0.561-0.025 0.866 0 6.122 3.73 11.373 9.040 13.608l0.097 0.036c52.763 22.067 89.171 73.24 89.227 132.924v0.007c0 0.023 0 0.051 0 0.078 0 79.242-64.238 143.479-143.479 143.479-0.505 0-1.009-0.003-1.513-0.008l0.078 0.001c-0.015 0-0.034 0-0.052 0s-0.037 0-0.055 0h-490.575c-81.237-1.297-146.353-66.728-146.353-147.65 0-54.146 29.228-101.038 72.897-126.867 4.368-2.616 7.247-7.322 7.247-12.702 0-1.596-0.253-3.134-0.722-4.576l0.030 0.105c-2.779-8.508-4.381-18.3-4.381-28.464 0-0.023 0-0.045 0-0.068v0.004c0.098-52.978 43.070-95.888 96.061-95.888 0.209 0 0.419 0.001 0.629 0.002h-0.032c0.020 0 0.042 0 0.067 0 22.334 0 42.894 7.597 59.236 20.348l-0.215-0.161c2.464 1.915 5.602 3.069 9.010 3.069 5.81 0 10.836-3.359 13.241-8.24l0.039-0.087c37.393-76.625 114.727-128.48 204.172-128.48 0.101 0 0.202 0 0.303 0h-0.015zM391.791 488.238c-55.583 0-101.984 42.511-101.984 95.922 0 53.375 46.401 95.886 101.984 95.886 49.451 0 76.471-32.629 87.476-44.368 2.49-2.637 4.023-6.204 4.023-10.129 0-8.154-6.609-14.764-14.764-14.764-4.229 0-8.044 1.779-10.735 4.629l-0.006 0.007c-13.248 14.088-28.703 35.116-65.992 35.116-40.724 0-72.476-30.139-72.476-66.378 0-36.273 31.752-66.413 72.476-66.413 18.679 0 38.727 10.408 59.088 26.985 13.038 10.619 25.829 23.411 38.48 36.553 0.768 1.669 1.769 3.095 2.979 4.311l-0.001-0.001c18.679 19.346 39.322 42.231 62.173 60.84s48.574 33.609 77.698 33.609c55.583 0 101.984-42.511 101.984-95.886 0-53.41-46.401-95.922-101.984-95.922-49.451 0-76.471 32.629-87.476 44.368-2.49 2.637-4.023 6.204-4.023 10.129 0 8.154 6.609 14.764 14.764 14.764 4.229 0 8.044-1.779 10.735-4.629l0.006-0.007c13.248-14.088 28.703-35.116 65.992-35.116 40.724 0 72.476 30.139 72.476 66.413 0 36.237-31.752 66.378-72.476 66.378-18.679 0-38.727-10.408-59.088-26.985-13.038-10.619-25.829-23.481-38.48-36.588-0.775-1.642-1.773-3.043-2.978-4.24l-0.001-0.001c-18.679-19.346-39.322-42.335-62.173-60.945-22.851-18.575-48.574-33.54-77.698-33.54z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["jsfiddle"],"grid":16},"attrs":[{}],"properties":{"order":102,"id":52,"name":"jsfiddle","prevSize":28,"code":59703,"ligatures":"jsfiddle"},"setIdx":2,"setId":4,"iconIdx":43},{"icon":{"paths":["M177.809 930.604v-831.955h664.805l-342.582 342.767 342.582 489.185zM761.251 884.626l-293.43-411.698-248.598 249.36v162.338z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["karyakarsa"],"grid":16},"attrs":[{}],"properties":{"order":103,"id":53,"name":"karyakarsa","prevSize":28,"code":59704,"ligatures":"karyakarsa"},"setIdx":2,"setId":4,"iconIdx":44},{"icon":{"paths":["M456.020 929.38c-0.020 18.932-15.372 34.271-34.309 34.271-18.948 0-34.309-15.361-34.309-34.309 0-18.923 15.318-34.267 34.231-34.309h0.005c18.865 0 34.236 15.479 34.236 34.379zM669.105 929.38c-0.021 18.932-15.372 34.271-34.309 34.271-18.948 0-34.309-15.361-34.309-34.309 0-18.884 15.257-34.206 34.118-34.309h0.010c18.935 0 34.344 15.479 34.344 34.379zM832.546 599.654l-5.616-7.344c-1.655-2.16-3.456-4.177-5.149-6.299-1.62-2.16-3.383-4.069-5.076-6.083-3.745-4.32-7.56-8.605-11.521-12.925l-2.7-2.881-3.275-3.564-4.86-4.679c-0.54-0.683-1.153-1.261-1.801-1.944-39.261-38.96-86.77-69.668-139.672-89.266l-2.708-0.88-8.281-2.808 1.261-2.989c6.359-15.89 10.048-34.309 10.048-53.588 0-23.112-5.3-44.988-14.752-64.473l0.385 0.881c-17.514-36.753-48.656-64.636-86.725-77.457l-1.045-0.304c-23.617-7.776-44.28-11.483-61.633-10.981-1.188-3.78-3.599-20.771 17.855-66.528l-43.451-25.561-10.333 14.364c-11.88 16.381-23.328 32.219-34.020 47.809-11.363-12.031-27.089-19.837-44.638-20.872l-0.182-0.008-50.652-3.097c-1.188-0.108-2.519-0.108-3.745-0.108-35.64 0-65.16 27.756-67.32 63.18l-3.167 50.472v0.108c-0.072 1.159-0.112 2.513-0.112 3.878 0 35.806 27.864 65.104 63.093 67.392l0.199 0.010 36.072 2.16c-2.341 30.24 2.627 58.32 14.58 83.017-51.315 21.956-95.074 52.146-131.708 89.371l-0.052 0.053c-119.016 120.385-119.016 252.145-119.016 358.095v63.901l46.98-49.932c9.577 33.48 23.471 65.052 41.221 94.141h61.128c-29.355-38.914-50.566-85.64-60.157-136.47l-0.323-2.059 68.869-73.081-35.459 111.24 62.64-45.612c110.7-80.425 242.822-99.001 392.763-55.080 65.016 19.189 128.161 1.439 161.065-45.217l3.745-5.94c3.24 17.928 5.041 35.929 5.041 53.857 0 56.268-9.145 132.732-49.68 198.433h58.032c27.937-56.268 42.517-123.552 42.517-198.433-0.035-79.201-28.296-159.157-78.624-225.865zM400.183 382.897c4.393-36.072 20.771-70.165 44.28-106.92 8.226 16.153 24.727 27.024 43.77 27.024 0.85 0 1.695-0.022 2.534-0.064l-0.118 0.006c7.776-0.289 21.743 0.899 44.388 8.351 25.809 8.64 46.357 27.042 57.637 50.712l0.251 0.588c11.591 24.516 12.563 51.913 2.843 77.401-6.343 16.012-16.273 29.435-28.846 39.753l-0.169 0.135-14.688-18.071-0.073-0.108c-9.765-11.793-24.407-19.248-40.792-19.248-12.697 0-24.349 4.478-33.461 11.941l0.093-0.074c-12.023 9.72-18.503 23.76-19.224 38.089-43.2-19.44-64.8-59.149-58.609-109.441zM555.127 566.857l-18.719 15.301c-1.411 1.179-3.246 1.896-5.245 1.896-2.571 0-4.867-1.181-6.37-3.031l-0.012-0.016-3.961-4.86c-1.192-1.46-1.914-3.343-1.914-5.396 0-2.665 1.215-5.044 3.123-6.615l18.375-15.132-38.016-46.764c-1.592-1.901-2.558-4.373-2.558-7.070 0-3.479 1.607-6.582 4.122-8.609l0.021-0.018c1.898-1.644 4.394-2.645 7.121-2.645 3.449 0 6.524 1.6 8.523 4.098l0.018 0.022 106.669 131.257c1.604 1.915 2.58 4.405 2.58 7.123 0 5.258-3.648 9.665-8.553 10.826l-0.075 0.016c-0.749 0.178-1.612 0.278-2.497 0.278-3.466 0-6.568-1.555-8.649-4.006l-0.014-0.017-10.619-13.141-37.619 30.745c-1.497 1.23-3.433 1.977-5.542 1.979h-0.001c-0.001 0-0.003 0-0.004 0-2.706 0-5.115-1.26-6.678-3.221l-0.014-0.019-17.172-20.879c-1.176-1.464-1.887-3.343-1.887-5.391 0-2.679 1.219-5.073 3.134-6.659l0.015-0.012 37.8-30.888-15.301-19.189zM359.072 335.16l-43.057-2.7c-8.774-0.533-15.687-7.78-15.687-16.639 0-0.327 0.009-0.652 0.027-0.974l-0.002 0.045 3.24-50.401c0.492-8.785 7.732-15.726 16.597-15.733h0.865l50.436 3.275c8.728 0.493 15.624 7.691 15.624 16.499 0 0.376-0.013 0.749-0.036 1.118l0.003-0.049-0.251 3.637c-10.431 17.663-19.844 38.126-27.135 59.571l-0.694 2.349zM809.974 748.515c-20.339 28.979-60.732 38.88-105.265 25.847-139.897-41.075-266.293-32.508-376.887 25.199l58.896-184.393-190.441 201.925c3.529-135.432 88.273-250.814 207.253-299.234 16.956 13.427 37.225 23.76 60.229 30.275 5.759 1.585 11.591 2.665 17.28 3.672-2.303 5.589-3.642 12.077-3.642 18.88 0 12.087 4.224 23.187 11.277 31.903l-0.075-0.095 2.7 3.24c-6.191 16.2-3.78 35.1 7.957 49.464l17.137 20.952c9.248 11.308 23.199 18.468 38.822 18.468 0.007 0 0.016 0 0.023 0h-0.001c11.521 0 22.861-3.996 31.895-11.305l10.26-8.351c6.264 2.665 13.211 4.069 20.377 4.069 0.128 0.001 0.277 0.002 0.428 0.002 12.551 0 24.067-4.43 33.072-11.81l-0.091 0.074c22.429-18.36 25.92-51.66 7.525-74.161l-60.121-74.053c5.341-4.35 10.135-8.826 14.614-13.601l0.074-0.080c4.86 1.296 9.72 2.773 14.399 4.32 9.577 3.456 19.189 7.093 28.62 11.305 38.558 17.634 71.548 40.568 99.766 68.337l-0.045-0.044c1.080 1.080 2.16 1.979 3.097 2.989l6.121 6.337c1.369 1.404 2.735 2.843 3.961 4.32 2.881 3.059 5.759 6.299 8.64 9.612l4.536 5.4c1.62 1.909 3.097 3.745 4.679 5.759l4.104 5.4c1.439 1.801 2.843 3.672 4.212 5.543 30.167 41.364 35.532 83.845 14.545 113.653v0.181zM357.847 308.124l-30.059-1.801 1.909-30.097 30.024 1.836z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["keybase"],"grid":16},"attrs":[{}],"properties":{"order":104,"id":54,"name":"keybase","prevSize":28,"code":59705,"ligatures":"keybase"},"setIdx":2,"setId":4,"iconIdx":45},{"icon":{"paths":["M177.258 778.992l105.368-102.756c55.906 74.542 123.83 114.948 220.49 117.386 53.12 1.22 105.020-12.192 150.477-39.012 8.882 9.23 32.22 33.962 36.4 38.316-56.080 36.052-121.218 54.164-188.27 52.598-75.412-1.916-147.342-29.086-204.99-77.328 0.522-1.045-66.53 65.312-67.227 66.008 16.546 51.9-22.816 108.678-80.638 108.678-46.676-0.174-82.728-37.794-82.728-84.47 0-59.738 57.648-98.576 111.116-79.418zM795.364 339.404c33.266 54.514 51.552 117.386 49.984 181.13-1.916 78.026-33.091 152.392-84.644 210.738 0.522 0.522 41.45 43.89 41.974 44.412 16.72-2.264 33.44 3.484 45.108 15.848 19.68 20.9 18.984 53.816-1.916 73.846-20.9 19.68-53.816 18.984-73.846-1.916-11.669-12.192-16.372-29.26-13.236-45.805-43.366-46.328-77.328-82.205-77.328-82.205 74.368-59.39 110.246-138.634 112.161-216.31 1.22-50.334-12.54-99.622-36.748-143.162l38.49-36.574zM247.272 158.623c11.669 12.192 16.372 29.26 13.236 45.805l79.941 83.772c-8.186 6.618-23.164 18.113-39.71 37.096-44.238 49.636-68.968 112.858-70.884 179.214-1.22 50.334 10.624 99.622 34.832 143.51l-38.316 37.446c-33.614-55.036-50.334-117.908-48.418-182.349 1.742-77.676 31.872-152.567 82.728-210.912l-44.064-45.98c-16.72 2.264-33.44-3.484-45.108-15.848-19.68-20.9-18.984-53.816 1.916-73.846 20.726-19.506 53.294-18.984 73.846 2.090zM875.827 80.075c45.282 0 82.031 39.012 82.031 84.12s-36.748 83.076-82.031 83.076c-10.972 0.174-24.382-1.916-27.692-3.135l-109.548 103.976c-56.952-75.936-133.583-114.774-221.013-117.038-53.12-1.22-105.020 11.844-150.128 39.012l-36.748-38.316c56.080-36.226 121.218-54.164 188.27-52.598 75.412 1.916 147.342 29.086 204.99 77.676l71.581-67.227c-2.612-8.186-3.832-16.72-3.832-25.254-0.174-46.502 38.838-84.295 84.12-84.295zM513.22 263.643c9.579 0 18.984 0.696 28.562 1.916 136.022 17.068 232.334 141.246 215.614 277.094-17.068 136.022-141.246 232.334-277.094 215.614-136.022-17.068-232.334-141.246-215.614-277.268 16.198-126.094 122.088-217.008 248.531-217.356zM410.463 471.594c1.045 39.535 21.248 72.8 56.428 90.914l-19.158 90.042h128.358l-19.158-90.042c35.006-18.984 55.906-50.508 56.428-90.914-0.696-57.126-44.934-100.144-101.537-101.537-55.906 1.394-99.796 43.192-101.363 101.537z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["keycdn"],"grid":16},"attrs":[{}],"properties":{"order":105,"id":55,"name":"keycdn","prevSize":28,"code":59706,"ligatures":"keycdn"},"setIdx":2,"setId":4,"iconIdx":46},{"icon":{"paths":["M146.301 0.029c-80.681 0-146.277 65.596-146.277 146.277v731.387c0 80.681 65.596 146.277 146.277 146.277h731.387c80.681 0 146.277-65.596 146.277-146.277v-731.387c0-80.681-65.596-146.277-146.277-146.277h-731.387zM733.239 459.432l-53.254 52.797 53.254 52.34c55.083 54.625 55.083 143.992 0 198.617s-144.906 54.625-200.217 0l-19.427-19.199c-25.827 36.569-67.882 60.568-116.336 60.568-77.938 0-141.478-62.854-141.478-140.335v-304.44c0-77.253 63.311-140.335 141.478-140.335 48.226 0 90.509 23.999 116.336 60.568l19.427-19.199c55.083-54.625 144.906-54.625 200.217 0s55.083 143.992 0 198.617z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["kickstarter"],"grid":16},"attrs":[{}],"properties":{"order":106,"id":56,"name":"kickstarter","prevSize":28,"code":59707,"ligatures":"kickstarter"},"setIdx":2,"setId":4,"iconIdx":47},{"icon":{"paths":["M951.452 407.298c-26.509-140.095-166.639-157.517-166.639-157.517h-627.566c-20.714 0-23.287 27.367-23.287 27.367s-2.812 251.177-0.755 405.437c5.624 83.132 88.687 91.636 88.687 91.636s283.517-0.789 410.375-1.681c83.611-14.609 92.015-88.001 91.156-128.057 149.253 8.232 254.539-97.089 228.028-237.186zM572.080 527.709c-42.732 49.831-137.557 136.358-137.557 136.358s-4.15 4.081-10.633 0.789c-2.606-1.954-3.704-3.086-3.704-3.086-15.192-15.124-115.505-104.566-138.346-135.603-24.315-33.095-35.701-92.597-3.121-127.234 32.614-34.637 103.056-37.245 149.63 13.958 0 0 53.672-61.114 118.936-33.026 65.298 28.122 62.828 103.263 24.796 147.847zM783.784 544.103c-31.825 3.979-57.684 0.962-57.684 0.962v-194.829h60.703s67.595 18.896 67.595 90.471c0 65.605-33.781 91.467-70.614 103.399z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["kofi"],"grid":16},"attrs":[{}],"properties":{"order":107,"id":57,"name":"kofi","prevSize":28,"code":59708,"ligatures":"kofi"},"setIdx":2,"setId":4,"iconIdx":48},{"icon":{"paths":["M285.568 153.524c-9.754 0.252-19.275 2.848-27.18 7.312-0.432 0.252-0.716 0.428-0.996 0.608l0.13-0.078-151.004 91.546c-0.362 0.23-0.598 0.39-0.83 0.552l0.108-0.070c-17.908 11.528-28.238 30.669-28.238 52.001v277.518c0 0.004 0 0.010 0 0.016 0 1.078 0.052 2.145 0.154 3.198l-0.010-0.134c2.033 21.298 15.102 40.106 34.346 49.452-0.148-0.070-0.118-0.052-0.084-0.038l0.182 0.084c-3.086-1.484 0.34 0.218 3.128 1.877s6.73 4.062 11.592 7.024c9.724 5.921 23.15 14.18 39.061 24.004 31.823 19.65 73.63 45.596 116.416 72.156 85.57 53.122 173.518 107.798 196.846 121.417 0.126 0.082 0.409 0.241 0.696 0.396l0.172 0.084c19.906 10.834 45.232 11.068 65.422-1.395 26.456-14.616 111.614-67.49 196.512-120.263 42.75-26.574 84.526-52.608 116.318-72.398 15.894-9.896 29.298-18.246 39.061-24.294s18.077-10.974 16.26-9.958l-2.166 1.058c19.444-9.048 32.75-27.818 34.828-49.164 0.094-0.922 0.146-1.99 0.146-3.075 0-0.018 0-0.038 0-0.056v0.004-277.040c0-21.242-11.324-42.154-30.402-53.254-1.921-1.276-3.452-2.306-6.302-4.088-4.092-2.56-9.551-5.966-16.020-9.956-12.936-7.982-29.826-18.312-47.142-28.864-34.344-20.926-67.618-41.146-80.816-48.298-13.4-7.664-28.466-8.932-38.966-6.928-5.25 1.002-9.452 2.596-12.652 4.090-1.6 0.746-2.978 1.498-4.040 2.116s-4.562 2.738-0.962 0.577c-2.774 1.604-3.893 2.394-7.792 4.81-4.184 2.594-9.887 6.094-16.644 10.294-13.516 8.4-31.284 19.484-49.548 30.788-36.53 22.61-77.806 47.616-84.136 50.992-0.308 0.164-0.45 0.244-0.592 0.326l0.16-0.084c-20.777 11.488-51.706 12.456-74.18 2.213-0.348-0.174-0.902-0.416-1.464-0.644l-0.218-0.078c1.948 0.76-13.636-7.196-29.44-16.742s-35.232-21.702-54.118-33.674c-18.886-11.971-37.224-23.778-51.136-32.712-6.956-4.468-12.796-8.186-17.078-10.918-2.142-1.368-3.862-2.502-5.244-3.367-1.028-0.644-1.888-1.16-3.752-2.166-8.758-4.888-18.678-7.032-28.384-6.784zM286.578 219.958c0.492 0.314 0.744 0.462 1.3 0.818 4.138 2.642 9.972 6.352 16.934 10.824 13.92 8.942 32.38 20.8 51.474 32.904s38.784 24.454 55.322 34.444c16.070 9.706 25.986 16.054 38.34 21.022 41.968 18.928 91.404 17.986 132.146-4.522h0.050c15.166-8.116 50.81-30.326 87.312-52.916 18.338-11.35 36.136-22.39 49.644-30.786 6.756-4.198 12.48-7.744 16.596-10.294 1.154-0.714 0.738-0.472 1.78-1.106 7.918 4.448 42.194 24.922 75.188 45.026 17.224 10.494 34.012 20.777 46.806 28.672 6.396 3.948 11.842 7.284 15.73 9.718s8.578 5.752 5.292 3.367c0.148 0.106 0.416 0.28 0.686 0.452l0.134 0.080v269.919c-4.614 2.6-8.652 5.182-18.232 11.112-9.864 6.106-23.294 14.484-39.206 24.39-31.823 19.81-73.567 45.804-116.272 72.35-85.408 53.094-177.456 109.784-194.876 119.348-0.518 0.298-0.879 0.522-1.236 0.75l0.129-0.078c-0.272 0.148-0.38 0.212-0.488 0.274l0.152-0.084c0.241-0.151 0.892 0.106-0.095-0.432l0.432 0.241c-19.202-11.222-109.486-67.254-194.878-120.264-42.788-26.562-84.622-52.534-116.558-72.256-15.97-9.86-29.448-18.138-39.397-24.198-4.974-3.030-9.066-5.536-12.218-7.408-2.246-1.334-3.856-2.218-5.82-3.272v-270.882z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["lazada"],"grid":16},"attrs":[{}],"properties":{"order":108,"id":58,"name":"lazada","prevSize":28,"code":59709,"ligatures":"lazada"},"setIdx":2,"setId":4,"iconIdx":49},{"icon":{"paths":["M321.13 795.955c-76.769-3.172-123.406-25.93-144.179-70.348-10.717-22.91-13.256-37.998-12.038-71.426 0.568-15.536 2.366-35.588 3.994-44.555 2.676-14.752 123.676-523.196 124.635-523.746 0.638-0.364 141.717-22.090 142.076-21.878 0.175 0.102-29.032 121.686-64.898 270.186s-66.134 277.036-67.252 285.635c-4.754 36.532 9.346 55.096 46.714 61.486 6.95 1.19 12.859 2.352 13.132 2.583 1.024 0.868-27.132 113.28-28.287 112.938-0.664-0.196-6.916-0.59-13.892-0.878z","M317.048 958.041c0.469-1.26 35.344-146.222 77.498-322.14s77.466-320.385 78.462-321.036c3.731-2.442 63.063-16.17 88.307-20.434 69.32-11.706 134.686-10.652 175.658 2.832 42.978 14.142 79.5 44.846 98.8 83.056 24.198 47.91 30.054 112.698 16.322 180.562-13.89 68.636-53.232 133.706-104.94 173.568-65.89 50.788-141.648 69.142-240.274 58.214l-11.781-1.308-41.882 168.022-68.512 0.476c-54.56 0.376-68.338 0.008-67.66-1.813zM601.119 679.251c73.45-17.24 121.418-87.424 121.418-177.65 0-32.628-7.258-59.172-21.174-77.416-5.894-7.724-18.738-15.938-30.474-19.48-11.052-3.334-51.429-3.462-71.468-0.222l-13.475 2.178-32.268 134.101c-17.746 73.758-32.274 135.48-32.282 137.165-0.016 3.042 1.654 3.488 21.732 5.818 12.348 1.43 42.792-0.926 57.99-4.494z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["liberapay"],"grid":16},"attrs":[{},{}],"properties":{"order":109,"id":59,"name":"liberapay","prevSize":28,"code":59710,"ligatures":"liberapay"},"setIdx":2,"setId":4,"iconIdx":50},{"icon":{"paths":["M264.6 959.978h-185.789v-598.164h185.789zM171.606 280.219c-59.396 0-107.594-49.197-107.594-108.593 0-59.422 48.171-107.594 107.594-107.594s107.594 48.171 107.594 107.594v0c0 59.396-48.197 108.593-107.594 108.593zM959.758 959.978h-185.39v-291.183c0-69.396-1.4-158.39-96.594-158.39-96.594 0-111.393 75.395-111.393 153.39v296.183h-185.588v-598.164h178.189v81.596h2.599c24.799-46.997 85.394-96.594 175.789-96.594 187.989 0 222.587 123.792 222.587 284.582v328.579z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["linkedin"],"grid":16},"attrs":[{}],"properties":{"order":110,"id":60,"name":"linkedin","prevSize":28,"code":59711,"ligatures":"linkedin"},"setIdx":2,"setId":4,"iconIdx":51},{"icon":{"paths":["M932.673 262.351c-13.067-96.246-97.702-172.107-198.017-186.817-16.949-2.501-81.088-11.536-229.638-11.536h-1.12c-148.587 0-180.507 9.035-197.419 11.536-97.552 14.299-186.63 82.47-208.246 179.872-10.341 47.973-11.461 101.174-9.557 149.931 2.763 69.963 3.285 139.814 9.707 209.478 4.405 46.293 12.133 92.214 23.147 137.387 20.533 83.515 103.675 152.992 185.174 181.328 87.211 29.568 181.030 34.459 270.891 14.187 9.893-2.277 19.675-4.928 29.344-7.952 21.84-6.869 47.413-14.56 66.23-28.112 0.497-0.371 0.825-0.946 0.859-1.601v-67.542c0 0 0 0 0-0.001 0-0.62-0.29-1.171-0.743-1.527l-0.005-0.004c-0.335-0.27-0.766-0.433-1.236-0.433-0.172 0-0.338 0.021-0.497 0.063l0.014-0.003c-52.373 12.93-112.5 20.349-174.359 20.349-0.508 0-1.015-0.001-1.523-0.002h0.078c-101.92 0-129.286-47.936-137.163-67.872-5.924-15.653-10.143-33.809-11.851-52.691l-0.059-0.808c-0.002-0.030-0.003-0.063-0.003-0.098 0-1.093 0.886-1.979 1.979-1.979 0.174 0 0.342 0.021 0.501 0.063l-0.014-0.003c56.635 13.552 114.688 20.384 172.928 20.384 14.037 0 28 0 42-0.373 58.613-1.643 120.363-4.629 178.006-15.755 1.419-0.299 2.875-0.56 4.107-0.896 90.907-17.323 177.446-71.68 186.256-209.217 0.299-5.413 1.12-56.747 1.12-62.347 0.075-19.115 6.235-135.52-0.896-207.014zM792.747 605.632h-95.611v-232.139c0-48.869-20.533-73.771-62.347-73.771-45.92 0-68.918 29.493-68.918 87.734v127.046h-95.051v-127.083c0-58.24-23.035-87.734-68.992-87.734-41.515 0-62.272 24.939-62.347 73.808v232.139h-95.462v-239.158c0-48.907 12.581-87.734 37.744-116.48 25.984-28.747 60.032-43.456 102.294-43.456 48.944 0 85.942 18.667 110.582 55.925l23.819 39.573 23.819-39.573c24.64-37.296 61.6-55.925 110.507-55.925 42.187 0 76.272 14.747 102.294 43.456 25.2 28.747 37.781 67.574 37.781 116.48z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["mastodon"],"grid":16},"attrs":[{}],"properties":{"order":111,"id":61,"name":"mastodon","prevSize":28,"code":59712,"ligatures":"mastodon"},"setIdx":2,"setId":4,"iconIdx":53},{"icon":{"paths":["M570.479 512c0.001 0.226 0.001 0.494 0.001 0.762 0 142.207-114.959 257.567-257.016 258.212h-0.061c-142.117-0.646-257.077-116.005-257.077-258.214 0-0.268 0-0.536 0.001-0.803v0.041c-0.001-0.226-0.001-0.494-0.001-0.762 0-142.207 114.959-257.567 257.016-258.212h0.061c142.117 0.646 257.077 116.005 257.077 258.214 0 0.268 0 0.536-0.001 0.803v-0.041zM852.236 512c0 134.424-57.338 243.785-128.349 243.785s-128.729-109.361-128.729-243.785 57.718-243.785 128.729-243.785 128.349 109.361 128.349 243.785zM967.675 512c0 120.374-20.124 218.343-45.188 218.343s-45.188-97.97-45.188-218.343 20.124-218.343 45.188-218.343c25.061 0 45.188 97.97 45.188 218.343z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["medium"],"grid":16},"attrs":[{}],"properties":{"order":112,"id":62,"name":"medium","prevSize":28,"code":59713,"ligatures":"medium"},"setIdx":2,"setId":4,"iconIdx":54},{"icon":{"paths":["M653.92 772.96h-123.629v-521.924h123.629v521.924zM486.139 512.633c0 118.802-96.332 214.938-215.015 214.938-118.692 0-215.182-96.297-215.182-214.938s96.33-214.949 215.015-214.949c118.693 0 215.182 96.134 215.182 214.949zM336.012 512.633c0-0.018 0-0.037 0-0.054 0-35.831-29.046-64.876-64.876-64.876-0.034 0-0.066 0-0.098 0h0.004c-0.029 0-0.061 0-0.094 0-35.832 0-64.876 29.046-64.876 64.876 0 0.020 0 0.038 0 0.060v-0.004c0 0.013 0 0.029 0 0.045 0 35.831 29.046 64.876 64.876 64.876 0.029 0 0.060 0 0.086 0h-0.004c0.029 0 0.066 0 0.102 0 35.831 0 64.876-29.046 64.876-64.876 0-0.016 0-0.034 0-0.048v0.004zM967.724 382.153h-82.164l-48.24 48.176-48.24-48.185h-82.183v83.508l47.6 47.533-47.6 47.543v82.389h83.461l47.114-47.057 47.114 47.057h83.461v-82.389l-47.6-47.533 47.6-47.533v-83.508h-0.326z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["olx"],"grid":16},"attrs":[{}],"properties":{"order":113,"id":63,"name":"olx","prevSize":28,"code":59714,"ligatures":"olx"},"setIdx":2,"setId":4,"iconIdx":56},{"icon":{"paths":["M880.028 257.196c50.136 71.108 80.132 159.544 80.132 254.988s-29.996 183.882-81.076 256.399l0.942-1.412-115.734-115.735c22.706-40.132 36.086-88.13 36.086-139.254s-13.38-99.124-36.83-140.686l0.744 1.434zM766.908 144.075l-115.734 115.734c-40.032-22.438-87.852-35.654-138.758-35.654-158.97 0-287.841 128.87-287.841 287.841s128.87 287.841 287.841 287.841c50.906 0 98.726-13.214 140.216-36.402l-1.458 0.749 115.734 116.106c-71.218 49.88-159.664 79.706-255.078 79.706-247.425 0-448.002-200.577-448.002-448.002s200.577-448.002 448.002-448.002c95.414 0 183.86 29.828 256.523 80.664l-1.446-0.958zM880.028 257.196c50.136 71.108 80.132 159.544 80.132 254.988s-29.996 183.882-81.076 256.399l0.942-1.412-115.734-115.735c22.706-40.132 36.086-88.13 36.086-139.254s-13.38-99.124-36.83-140.686l0.744 1.434z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["opencollective"],"grid":16},"attrs":[{}],"properties":{"order":114,"id":64,"name":"opencollective","prevSize":28,"code":59715,"ligatures":"opencollective"},"setIdx":2,"setId":4,"iconIdx":57},{"icon":{"paths":["M605.745 101.922l-133.974 65.436v670.607c-153.166-19.193-268.317-102.603-268.317-202.991 0-95.221 103.341-175.311 244.696-199.669v-85.256c-215.908 26.204-379.039 143.569-379.039 284.925 0 146.154 174.941 267.209 402.659 287.139l133.974-63.112v-757.118zM629.366 350.051v85.256c52.777 9.227 100.019 25.835 138.772 48.349l-72.707 40.968 259.459 56.468-18.453-192.287-69.017 39.123c-64.218-39.123-146.154-66.803-238.052-77.875z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["openid"],"grid":16},"attrs":[{}],"properties":{"order":115,"id":65,"name":"openid","prevSize":28,"code":59716,"ligatures":"openid"},"setIdx":2,"setId":4,"iconIdx":58},{"icon":{"paths":["M512 0c-282.795 0-512 229.205-512 512s229.205 512 512 512 512-229.205 512-512-229.205-512-512-512zM314.411 186.795c22.4 0 40.405 18.389 40.405 40.405s-18.005 40.405-40.405 40.405c-22.286-0.073-40.333-18.119-40.405-40.398l-0-0.007c0-22.4 18.005-40.405 40.405-40.405zM283.605 316.416h61.611v428.416h-61.611v-428.416zM435.584 316.416h166.4c158.379 0 228.011 113.195 228.011 214.4 0 109.995-86.016 214.4-227.2 214.4h-167.211v-428.8zM497.195 372.011v317.611h98.005c139.605 0 171.605-105.984 171.605-158.805 0-86.016-54.784-158.805-174.805-158.805h-94.805z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["orcid"],"grid":16},"attrs":[{}],"properties":{"order":116,"id":66,"name":"orcid","prevSize":28,"code":59717,"ligatures":"orcid"},"setIdx":2,"setId":4,"iconIdx":59},{"icon":{"paths":["M481.345 959.687c-29.494-2.613-70.622-10.041-93.797-16.923-23.724-7.047-31.493-12.472-29.371-20.544 0.455-1.735 8.519-11.374 17.918-21.419 28.42-30.359 40.47-51.716 48.378-85.7 3.555-15.307 4.935-53.508 2.547-71.041-6.391-47.067-32.957-88.619-76.483-119.698-17.525-12.509-40.252-21.895-65.057-26.88-13.242-2.659-54.773-2.253-69.615 0.69-36.657 7.252-60.876 20.088-91.25 48.377-21.961 20.447-22.923 21.105-27.691 19.13-5.642-2.332-11.191-13.695-16.941-34.698-11.898-43.476-15.037-68.147-15.028-118.22 0.018-46.838 2.837-71.092 12.999-111.421 36.594-145.354 147.123-264.592 290.612-313.508 66.439-22.651 137.3-29.3 205.862-19.332 33.971 4.946 65.373 12.586 80.5 19.618 9.030 4.188 12.18 8.251 10.756 13.84-0.441 1.735-8.49 11.352-17.892 21.368-28.406 30.275-40.516 51.725-48.428 85.738-3.555 15.309-4.935 53.506-2.547 71.041 3.244 23.894 12.125 47.895 24.55 66.357 24.754 36.785 60.696 64.664 96.879 75.153 20.111 5.831 27.743 6.804 53.222 6.783 26.388-0.024 39.003-1.763 59.611-8.271 24.612-7.761 44.133-20.111 70.251-44.434 19.846-18.471 21.693-19.684 26.294-17.217 9.511 5.089 21.739 46.059 28.923 96.918 3.331 23.604 3.311 87.154-0.035 111.024-17.534 124.989-78.789 230.824-176.217 304.451-60.645 45.833-144.407 78.794-220.813 86.891-14.34 1.524-67.75 2.821-78.137 1.895z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["otechie"],"grid":16},"attrs":[{}],"properties":{"order":117,"id":67,"name":"otechie","prevSize":28,"code":59718,"ligatures":"otechie"},"setIdx":2,"setId":4,"iconIdx":60},{"icon":{"paths":["M66.663 84.477v855.047h156.61v-855.047zM637.623 84.477c-176.799 0-320.68 143.993-320.68 321.014 0 176.465 143.881 320.012 320.68 320.012 176.279 0 319.714-143.547 319.714-320.012 0-177.021-143.398-321.014-319.714-321.014z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["patreon"],"grid":16},"attrs":[{}],"properties":{"order":118,"id":68,"name":"patreon","prevSize":28,"code":59719,"ligatures":"patreon"},"setIdx":2,"setId":4,"iconIdx":61},{"icon":{"paths":["M877.752 334.024c-41.826 185.676-170.976 283.676-374.502 283.676h-67.726l-47.076 298.901h-56.7l-2.975 19.25c-1.925 12.776 7.875 24.15 20.65 24.15h144.9c17.15 0 31.676-12.425 34.476-29.4l1.4-7.35 27.3-173.076 1.75-9.45c2.625-16.976 17.326-29.4 34.476-29.4h21.526c140.35 0 250.251-57.050 282.451-221.901 12.075-62.65 7.525-115.85-19.95-155.4z","M791.126 131.548c-41.476-47.25-116.55-67.55-212.451-67.55h-278.426c-19.6 0-36.4 14.176-39.376 33.6l-116.026 735.353c-2.275 14.526 8.925 27.65 23.626 27.65h172.026l43.226-273.876-1.4 8.575c2.975-19.426 19.6-33.6 39.2-33.6h81.726c160.476 0 286.126-65.1 322.876-253.751 1.050-5.6 2.1-11.025 2.8-16.276 10.85-69.65 0-117.25-37.8-160.126z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["paypal"],"grid":16},"attrs":[{},{}],"properties":{"order":119,"id":69,"name":"paypal","prevSize":28,"code":59720,"ligatures":"paypal"},"setIdx":2,"setId":4,"iconIdx":62},{"icon":{"paths":["M512 308.363v407.273l325.781-203.637zM186.219 512v447.962l325.781-244.325zM186.219 64.038v447.962l325.781-203.637z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["peertube"],"grid":16},"attrs":[{}],"properties":{"order":120,"id":70,"name":"peertube","prevSize":28,"code":59721,"ligatures":"peertube"},"setIdx":2,"setId":4,"iconIdx":63},{"icon":{"paths":["M517.452 64.164c-244.557 0-367.614 175.24-367.614 321.273 0 88.399 33.49 167.452 105.145 196.659 11.683 4.673 22.197 0 25.702-12.851l10.514-41.279c3.895-12.461 2.336-17.134-7.789-28.427-20.251-24.143-33.49-56.077-33.49-101.25 0-129.677 97.356-246.114 253.124-246.114 138.245 0 214.182 84.505 214.182 197.436 0 147.98-66.201 273.374-163.557 273.374-53.35 0-93.461-44.394-80.61-98.913 15.577-65.423 45.172-135.519 45.172-183.028 0-41.668-22.587-77.105-69.318-77.105-54.519 0-99.303 57.245-99.303 133.183 0 48.677 16.746 81.779 16.746 81.779l-66.201 280.383c-19.47 82.947-3.115 184.975-1.559 194.711 0.778 6.62 8.568 7.789 11.683 3.895 5.452-7.009 70.875-88.010 93.461-168.62 6.231-22.587 36.216-141.361 36.216-141.361 17.523 34.269 70.096 64.254 125.394 64.254 165.504 0 277.657-150.706 277.657-352.427 0-153.432-129.288-295.571-325.556-295.571z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["pinterest"],"grid":16},"attrs":[{}],"properties":{"order":121,"id":71,"name":"pinterest","prevSize":28,"code":59722,"ligatures":"pinterest"},"setIdx":2,"setId":4,"iconIdx":64},{"icon":{"paths":["M301.439 63.999c-0.021 0-0.049 0-0.075 0-38.516 0-69.739 31.224-69.739 69.739 0 0 0 0 0 0v0 826.264h222.657v-896.002zM566.992 63.999v448.001h155.606c38.516 0 69.739-31.224 69.739-69.739v0-378.262zM566.992 737.345v222.657h155.606c38.516 0 69.739-31.224 69.739-69.739v0-152.918z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["pleroma"],"grid":16},"attrs":[{}],"properties":{"order":122,"id":72,"name":"pleroma","prevSize":28,"code":59723,"ligatures":"pleroma"},"setIdx":2,"setId":4,"iconIdx":65},{"icon":{"paths":["M0 0v1024h1024v-1024zM441.173 217.6c3.541 0.597 4.864 4.096 6.656 6.741 2.304 15.104 4.267 30.293 6.571 45.44 6.699-6.912 13.227-13.995 20.907-19.797 36.992-28.416 87.467-40.107 132.693-26.88 30.72 8.96 56.107 30.72 74.923 56.149 7.979 11.221 14.848 23.339 19.2 36.48 8.448 24.832 9.6 51.456 8.448 77.44-2.261 47.787-18.475 95.744-49.877 132.395-27.527 32.611-66.575 54.739-110.794 60.079l-0.822 0.081c-6.154 0.713-13.284 1.119-20.509 1.119-26.297 0-51.336-5.385-74.075-15.112l1.229 0.468c0.811 43.093 1.365 86.101 1.621 129.195 0.896 19.84-0.896 40.021 3.712 59.563 1.323 5.973 5.248 12.459 11.947 13.141 12.885 1.536 25.941 0.555 38.912 0.853 2.432 0 5.547 1.579 5.376 4.309 0.171 7.936 0.384 15.915-0.171 23.893-1.963 3.925-7.253 2.987-10.88 3.072-28.267-1.509-61.361-2.369-94.656-2.369-33.294 0-66.387 0.86-99.258 2.558l4.602-0.19-2.987-2.389c-0.171-9.387-2.688-19.925 1.451-28.629 12.8-1.493 25.856 0.853 38.571-1.365 8.149-2.048 11.435-11.093 12.587-18.517 1.707-13.653 1.152-27.392 1.792-41.088v-358.059c0-6.656 0.256-13.227-0.341-19.84-0.576-11.38-6.090-21.366-14.426-27.928l-0.081-0.062c-8.661-6.741-18.688-11.307-28.245-16.555-3.499-2.219-7.723-4.139-9.771-7.979-0.293-1.865-0.461-4.016-0.461-6.207 0-2.892 0.292-5.715 0.848-8.442l-0.046 0.27c2.389-2.816 6.144-3.669 9.344-5.205 31.147-13.44 62.123-27.136 93.227-40.619 7.253-2.901 14.763-6.144 22.741-6.144zM526.080 266.496c-2.261 0-4.437 0-6.656 0.555-26.276 2.823-48.883 16.524-63.525 36.442l-0.176 0.251c0.213 61.44 0 122.88 0.128 184.32 0.213 13.952 3.115 28.843 12.885 39.424 22.357 21.845 55.552 29.525 85.931 25.301 24.619-4.096 44.245-22.955 54.571-44.971 14.677-31.403 16.853-67.029 14.293-101.163-2.261-27.947-7.723-55.979-19.157-81.707-7.851-17.365-18.859-33.835-34.603-44.971-11.745-8.363-26.384-13.37-42.192-13.37-0.527 0-1.052 0.006-1.577 0.017l0.078-0.001z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["publons"],"grid":16},"attrs":[{}],"properties":{"order":123,"id":73,"name":"publons","prevSize":28,"code":59724,"ligatures":"publons"},"setIdx":2,"setId":4,"iconIdx":67},{"icon":{"paths":["M339.591 99.581c50.512-21.52 109.27-34.029 170.951-34.029 246.549 0 446.419 199.868 446.419 446.419 0 107.042-37.675 205.284-100.486 282.192l0.635-0.802 89.92 90.4c27.324 27.473 7.836 74.28-30.868 74.28l-399.685 0.373c-1.686 0.021-3.677 0.035-5.671 0.035s-3.985-0.012-5.975-0.037l0.301 0.003h-0.746c-243.85-3.519-440.175-202.019-440.175-446.375 0-184.864 112.367-343.484 272.526-411.283l2.927-1.1zM612.816 264.823c-31.049-13.641-67.24-21.581-105.288-21.581-147.807 0-267.629 119.822-267.629 267.629 0 111.969 68.761 207.878 166.36 247.804l1.786 0.647c29.585 12.255 63.944 19.371 99.964 19.371 147.807 0 267.629-119.822 267.629-267.629 0-109.93-66.278-204.378-161.054-245.567l-1.729-0.669z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["quora"],"grid":16},"attrs":[{}],"properties":{"order":124,"id":74,"name":"quora","prevSize":28,"code":59725,"ligatures":"quora"},"setIdx":2,"setId":4,"iconIdx":68},{"icon":{"paths":["M949.037 502.894c0-60.095-49.168-109.262-109.262-109.262-34.964 0-67.742 17.482-88.138 45.163-59.73-36.421-136.579-59.73-221.075-62.644 2.913-40.063 14.568-111.083 55.36-134.758 26.223-14.568 63.008-8.742 109.262 18.21 6.191 53.904 52.082 97.608 108.17 97.608 60.095 0 109.262-49.168 109.262-109.262s-49.168-109.262-109.262-109.262c-50.261 0-92.508 34.235-104.892 80.854-52.082-26.223-96.151-29.137-131.115-9.106-59.73 34.235-71.020 126.38-72.841 165.714-84.86 2.913-162.074 25.496-222.168 62.644-20.396-27.679-53.174-45.163-88.138-45.163-60.095 0-109.262 49.168-109.262 109.262 0 48.075 30.594 88.868 74.663 103.435-1.092 8.013-1.821 16.024-1.821 24.038 0 140.585 163.894 254.947 364.209 254.947s364.209-114.361 364.209-254.947c0-8.013-0.729-16.024-1.821-24.038 43.706-14.568 74.663-56.088 74.663-103.435zM158.703 571.001c-29.137-10.925-47.348-37.15-47.348-68.107 0-40.063 32.778-72.841 72.841-72.841 23.31 0 44.433 11.654 58.274 29.865-40.063 30.957-69.928 69.199-83.768 111.083zM293.461 575.736c0-40.063 32.778-72.841 72.841-72.841s72.841 32.778 72.841 72.841-32.778 72.841-72.841 72.841-72.841-32.778-72.841-72.841zM650.385 750.556c-39.334 22.945-88.138 34.964-138.399 34.964-50.988 0-99.794-12.384-138.399-34.599-8.742-4.735-11.654-16.024-7.285-24.766 5.464-8.742 16.754-11.654 25.496-6.556 66.65 38.607 173.364 38.607 240.378 0 8.377-4.735 19.302-1.821 24.402 7.285 5.099 8.377 2.186 19.667-6.556 24.402zM657.671 648.577c-40.063 0-72.841-32.778-72.841-72.841s32.778-72.841 72.841-72.841 72.841 32.778 72.841 72.841-32.778 72.841-72.841 72.841zM865.27 571.001c-13.84-42.249-43.706-80.127-83.768-111.083 13.84-18.21 35.329-29.865 58.274-29.865 40.063 0 72.841 32.778 72.841 72.841 0 30.594-19.302 57.182-47.348 68.107z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["reddit"],"grid":16},"attrs":[{}],"properties":{"order":125,"id":75,"name":"reddit","prevSize":28,"code":59726,"ligatures":"reddit"},"setIdx":2,"setId":4,"iconIdx":70},{"icon":{"paths":["M795.213 63.996c-30.539 0-56.299 7.093-77.392 21.093-21.019 14.075-36.213 34.944-45.286 62.72-1.564 4.473-3.013 9.955-4.067 15.576l-0.116 0.739c-0.941 4.75-1.966 11.499-2.77 18.315l-0.142 1.472c-0.908 7.752-1.579 17.155-1.855 26.656l-0.011 0.485c-0.373 10.528-0.485 23.184-0.485 37.931-0.003 0.889-0.004 1.939-0.004 2.991 0 12.3 0.19 24.554 0.57 36.762l-0.044-1.785c0.287 9.987 0.959 19.388 2.008 28.677l-0.141-1.534c0.908 8.189 1.921 14.942 3.157 21.614l-0.281-1.827h-0.187c1.206 6.406 2.667 11.899 4.477 17.228l-0.259-0.876c9.147 27.739 24.267 48.646 45.323 62.72 21.093 14.037 46.891 21.056 77.467 21.056 29.867 0 57.344-7.952 78.587-22.512 21.28-14.56 35.093-34.197 43.867-61.6 2.837-8.773 5.040-20.832 6.608-34.72 1.073-11.088 1.686-23.971 1.686-36.997 0-2.835-0.029-5.664-0.087-8.487l0.007 0.422v-30.613c0-3.547-1.755-5.301-5.227-5.301h-114.391c-3.509 0-5.227 1.755-5.227 5.264v35.691c0 3.509 1.717 5.227 5.227 5.227h62.199c2.091 0 3.136 1.12 3.136 3.211 0 13.44 0 23.147-1.344 32.293-1.419 9.109-3.733 16.688-5.488 22.624-4.032 14.373-12.992 24.789-23.819 32.704s-27.552 13.067-45.808 13.067c-20.347 0-33.637-5.6-45.174-13.179-11.424-7.579-19.301-16.949-25.013-34.16-2.822-8.357-4.779-18.047-5.467-28.085l-0.021-0.363c-0.495-6.349-0.95-14.86-1.239-23.412l-0.029-1.080c-0.373-9.707-0.523-21.355-0.523-35.056-0.003-0.832-0.005-1.815-0.005-2.8 0-11.33 0.19-22.615 0.57-33.851l-0.044 1.632c0.314-9.528 0.782-18.037 1.43-26.495l-0.123 2.004c0.753-10.391 2.719-20.050 5.768-29.214l-0.243 0.841c4.882-15.703 14.636-28.697 27.465-37.553l0.236-0.154c12.843-9.109 22.139-13.141 42.448-13.141 18.965 0 30.427 3.584 42.71 11.312 12.32 7.728 19.712 18.368 28.523 34.533 1.755 3.509 4.144 4.405 7.392 2.613l38.976-16.053c2.8-1.792 3.36-4.293 1.568-7.429-4.991-10.564-10.796-19.665-17.582-27.934l0.185 0.231c-7.25-8.76-15.604-16.259-24.929-22.401l-0.421-0.26c-9.691-6.392-20.892-11.617-32.839-15.089l-0.875-0.217c-12.182-3.517-26.175-5.538-40.639-5.538-0.702 0-1.402 0.005-2.101 0.014l0.105-0.001zM370.766 281.875c-63.095 0-113.344 3.211-160.423 3.211-42.784 0-85.531 0-112.263-1.083v31.024l40.619 7.467c27.776 5.376 43.83 18.219 43.83 84.523v421.422c0 66.343-16.053 79.147-43.83 84.487l-40.619 7.467v31.061c28.859-1.083 79.147-3.211 129.361-3.211 48.16 0 110.171 2.128 136.903 3.211v-31.024l-55.627-7.467c-28.859-4.293-43.83-18.181-43.83-84.523v-178.603c25.685 2.128 48.16 2.128 82.359 2.128 65.259 116.593 127.307 204.29 162.587 244.909 32.107 38.528 81.275 63.131 143.323 63.131 18.181 0 37.445-3.211 49.206-8.587v-27.776c-38.491 0-77.019-26.731-104.832-56.672-47.040-51.371-110.135-133.729-162.587-226.765 86.615-20.347 150.827-101.623 150.827-182.935 0-119.767-93.035-175.394-214.967-175.394zM351.541 330.037c89.824 0 143.323 47.040 143.323 132.609 0 84.487-57.755 141.195-152.955 141.195-36.363 0-52.416-1.12-77.019-3.211v-268.429c24.64-2.203 57.755-2.203 86.615-2.203z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["researchgate"],"grid":16},"attrs":[{}],"properties":{"order":126,"id":76,"name":"researchgate","prevSize":28,"code":59727,"ligatures":"researchgate"},"setIdx":2,"setId":4,"iconIdx":72},{"icon":{"paths":["M241.371 891.808c-7.625-26.999 0.965-64.226 20.405-88.477 6.545-8.183 19.899-21.501 37.358-21.501h1.914c12.715 0.704 22.057 4.369 27.818 10.866 7.38 8.427 6.726 19.537 6.693 19.915-0.024 0.271-0.039 0.584-0.039 0.901 0 5.766 4.673 10.439 10.439 10.439 4.193 0 7.81-2.472 9.47-6.041l0.026-0.063c0.132-0.278 13.549-28.702 34.363-26.46 18.851 2.079 19.522 38.847 19.522 39.273 0.019 5.751 4.684 10.408 10.439 10.408 3.956 0 7.399-2.201 9.168-5.444l0.028-0.054c5.89-10.914 19.947-4.484 22.713-3.076 15.479 7.855 33.005 31.090 17.853 62.935-26.493 55.636-104.432 65.455-132.25 64.489-31.239-1.015-83.291-23.401-95.922-68.104zM723.096 772.943c-12.813 0.721-22.205 4.434-27.818 11.045-7.265 8.444-6.545 19.635-6.545 19.635 0.030 0.295 0.046 0.637 0.046 0.982 0 5.766-4.673 10.439-10.439 10.439-4.201 0-7.819-2.481-9.478-6.055l-0.026-0.063c-0.213-0.441-13.532-28.767-34.363-26.493-18.703 2.094-19.537 38.83-19.537 39.273-0.019 5.751-4.684 10.408-10.439 10.408-3.956 0-7.399-2.201-9.168-5.444l-0.028-0.054c-1.946-3.711-5.772-6.2-10.178-6.2-0.208 0-0.413 0.006-0.617 0.017l0.028-0.002c-4.393 0.196-8.477 1.349-12.103 3.25l0.159-0.076c-15.463 7.855-32.973 31.090-17.836 62.885 26.476 55.636 104.432 65.356 132.25 64.439 31.254-1.047 83.339-23.415 95.89-68.121 7.593-27.032-1.047-64.26-20.519-88.527-6.758-8.362-20.864-22.369-39.273-21.338zM516.197 753.814h0.426c20.39-0.606 35.771-38.013 42.136-59.284-16.265-7.249-32.597-18.474-42.545-32.367-10.26 11.651-26.067 22.778-41.302 30.321 6.676 24.136 22.369 61.33 41.285 61.33zM548.498 610.060c-1.211-11.733-17.101-21.273-35.411-21.273s-34.151 9.572-35.443 21.19c0 0.556-0.115 1.128-0.115 1.49 0 10.604 12.387 20.177 28.817 22.254l1.636 0.18c1.947 0.18 3.535 0.261 5.040 0.261 0.007 0 0.015 0 0.022 0 4.312 0 8.501-0.525 12.509-1.516l-0.357 0.076 0.556-0.147 0.328-0.082c13.45-3.519 22.467-11.963 22.467-21.027 0-0.295 0-0.769-0.098-1.293zM409.572 537.635c3.231-6.255 6.153-13.591 8.359-21.231l0.217-0.875c12.845-45.605-1.981-91.325-33.562-112.695-0.976-0.13-2.11-0.206-3.265-0.213h-0.007c-25.118 0-45.491 33.905-45.491 75.731s20.373 75.731 45.491 75.731c10.669 0 20.488-6.168 28.259-16.445zM929.146 676.726c-2.815 3.797-14.203 4.549-37.735-4.664-1.128-0.456-2.44-0.721-3.812-0.721-5.766 0-10.439 4.673-10.439 10.439 0 1.491 0.313 2.907 0.875 4.191l-0.026-0.067c0.245 0.556 23.842 55.734 31.909 96.005 0.48 2.255 0.754 4.845 0.754 7.499 0 10.969-4.693 20.844-12.183 27.724l-0.028 0.024c-35.083 31.466-68.023 50.728-92.389 54.13 2.716-30.403-7.495-65.306-27.36-90.081-16.020-19.963-36.164-30.338-56.683-29.193-18.703 1.047-33.021 7.184-42.545 18.263-2.233 2.583-4.219 5.485-5.853 8.603l-0.119 0.25c-9.328-10.063-23.137-19.506-41.318-17.477-21.65 2.503-31.828 21.616-35.934 39.976-9.687-3.469-21.485-2.487-33.136 3.437-27.442 13.958-46.308 50.4-27.229 90.474 1.097 2.29 2.275 4.501 3.502 6.676l-50.728 1.555c18.572-39.845-0.23-75.992-27.54-89.852-11.668-5.924-23.465-6.889-33.153-3.387-4.058-18.294-14.301-37.456-35.886-39.829-18.179-2.029-31.991 7.428-41.334 17.477-1.753-3.374-3.737-6.283-6.022-8.925l0.049 0.057c-9.541-11.079-23.858-17.23-42.545-18.263-20.536-1.128-40.696 9.246-56.716 29.225-17.999 22.352-27.965 52.969-27.818 81.081-24.546-3.469-57.404-22.646-92.159-54-7.525-6.906-12.228-16.786-12.228-27.764 0-2.683 0.282-5.301 0.815-7.829l-0.044 0.245c8.084-40.090 31.663-95.432 31.909-95.988 0.532-1.211 0.841-2.622 0.841-4.104 0-5.766-4.673-10.439-10.439-10.439-1.367 0-2.676 0.263-3.873 0.741l0.070-0.024c-23.53 9.213-34.92 8.444-37.735 4.647-3.157-4.254-13.63-33.251 89.999-186.707 55.636-82.44 116.656-159.839 117.277-160.608 1.406-1.762 2.257-4.025 2.257-6.483 0-5.766-4.673-10.439-10.439-10.439-0.080 0-0.161 0.002-0.239 0.004h0.011c-47.618 1.080-98.459-46.047-119.797-92.077-16.969-36.589-19.276-104.416 3.174-137.044 9.819-14.203 23.023-20.536 40.598-19.326 47.192 3.272 53.574 41.776 58.451 104.857 1.293 16.739 2.635 34.053 5.596 49.827 13.615 72.36 64.669 75.616 66.829 75.714 0.145 0.007 0.313 0.011 0.483 0.011 1.24 0 2.429-0.215 3.535-0.608l-0.074 0.022c160.51-56.16 316.944-0.623 318.499 0 1.064 0.4 2.294 0.634 3.578 0.634 0.175 0 0.348-0.006 0.521-0.013l-0.024 0.002c2.161-0.098 53.165-3.404 66.813-75.698 2.978-15.743 4.319-33.038 5.646-49.746 4.908-63.213 11.455-101.814 58.647-105.004 17.591-1.178 30.911 5.172 40.713 19.456 22.45 32.726 20.126 100.488 3.157 136.979-21.42 46.030-72.147 93.026-119.814 92.077-0.067-0.002-0.147-0.004-0.228-0.004-5.766 0-10.439 4.673-10.439 10.439 0 2.459 0.85 4.719 2.274 6.503l-0.017-0.021c0.606 0.769 61.625 78.168 117.261 160.624 103.663 153.358 93.19 182.338 90.032 186.593zM595.329 322.34c0.645 5.203 5.040 9.191 10.365 9.191 0.441 0 0.876-0.028 1.304-0.080l-0.050 0.006c21.567-2.635 52.674 19.997 62.852 28.931 1.829 1.617 4.249 2.601 6.897 2.601 5.766 0 10.439-4.675 10.439-10.439 0-3.117-1.366-5.915-3.534-7.829l-0.011-0.009c-4.451-3.927-44.476-38.159-79.166-33.986-5.207 0.641-9.198 5.038-9.198 10.367 0 0.465 0.032 0.921 0.089 1.371l-0.006-0.052zM545.258 425.775c1.747 3.463 5.277 5.796 9.35 5.796 5.766 0 10.439-4.673 10.439-10.439 0-1.766-0.439-3.43-1.212-4.888l0.028 0.057c-11.977-23.449-10.947-38.847-10.947-39.305 0.035-0.329 0.057-0.71 0.057-1.097 0-5.766-4.675-10.439-10.439-10.439-5.381 0-9.809 4.069-10.378 9.298l-0.006 0.046c-0.196 2.144-1.833 21.714 13.108 51.054zM501.223 423.419c0 5.766 4.673 10.439 10.439 10.439s10.439-4.673 10.439-10.439v0-49.762c0-5.766-4.673-10.439-10.439-10.439s-10.439 4.673-10.439 10.439v0zM464.111 430.34c1.379 0.717 3.007 1.138 4.738 1.138 4.038 0 7.539-2.29 9.275-5.644l0.028-0.059c14.94-29.339 13.304-48.91 13.091-51.038-0.581-5.222-4.97-9.246-10.297-9.246-0.408 0-0.81 0.022-1.204 0.069l0.048-0.006c-5.313 0.561-9.417 5.019-9.417 10.434 0 0.324 0.015 0.647 0.044 0.963l-0.004-0.041c0 0.147 1.195 15.611-10.899 39.388-0.734 1.392-1.164 3.041-1.164 4.79 0 4.060 2.317 7.58 5.703 9.305l0.059 0.028zM319.572 365.524c1.923 2.177 4.721 3.545 7.838 3.545 2.644 0 5.060-0.984 6.9-2.605l-0.011 0.009c10.178-8.935 41.302-31.565 62.868-28.931 0.080 0.002 0.175 0.004 0.269 0.004 5.766 0 10.439-4.673 10.439-10.439 0-4.975-3.479-9.135-8.136-10.185l-0.070-0.013c-34.609-4.173-74.716 30.060-79.166 33.986-2.168 1.923-3.528 4.714-3.528 7.825 0 2.637 0.976 5.046 2.589 6.882l-0.009-0.011zM197.598 755.957l20.258-41.056c1.28-2.307 2.033-5.060 2.033-7.987 0-9.228-7.48-16.708-16.708-16.708-6.787 0-12.63 4.049-15.244 9.861l-0.043 0.106-20.258 41.056c-1.28 2.307-2.033 5.060-2.033 7.987 0 9.228 7.48 16.708 16.708 16.708 6.787 0 12.63-4.049 15.244-9.861l0.043-0.106zM257.129 700.878c-2.155-1.086-4.697-1.721-7.386-1.721-6.533 0-12.192 3.752-14.938 9.218l-0.044 0.096-20.258 41.056c-1.217 2.261-1.933 4.947-1.933 7.801 0 9.228 7.48 16.708 16.708 16.708 6.715 0 12.507-3.963 15.161-9.678l0.043-0.104 20.258-41.056c1.073-2.146 1.701-4.671 1.701-7.347 0-6.528-3.743-12.179-9.2-14.929l-0.096-0.044zM385.222 596.725c25.315-17.101 44.181-43.903 53.034-75.468 18.54-65.797-12.355-132.282-68.842-148.188s-117.589 24.611-136.062 90.408c-8.885 31.565-6.824 64.26 5.842 92.061 12.928 28.407 35.296 48.337 63 56.127 7.579 2.222 16.285 3.502 25.291 3.502 0.004 0 0.006 0 0.007 0v0c19.784 0.017 39.649-6.267 57.73-18.442zM657.446 644.473c-1.001-4.816-5.209-8.383-10.249-8.383-0.721 0-1.427 0.074-2.107 0.213l0.067-0.011c-3.895 0.786-9.933-0.704-16.233-3.109-7.328-2.887-13.591-6.113-19.481-9.874l0.45 0.269c-1.597-1.043-3.552-1.662-5.653-1.662-5.766 0-10.441 4.675-10.441 10.441 0 3.667 1.89 6.891 4.749 8.755l0.041 0.024c4.353 2.82 9.459 5.655 14.755 8.158l0.823 0.35c-2.831 14.269-9.507 32.825-18.703 33.169-6.921-0.067-13.517-1.351-19.621-3.648l0.395 0.132c-0.745-0.424-1.605-0.773-2.513-1.001l-0.072-0.015h-0.458c-19.13-7.315-39.91-21.944-44.82-37.373 16.919-4.417 29.013-15.939 29.013-29.454-0.015-0.843-0.074-1.653-0.175-2.451l0.011 0.111c25.151-6.824 42.152-19.309 42.152-33.66 0-21.633-38.633-39.175-86.301-39.175s-86.301 17.542-86.301 39.175c0 12.075 12.027 22.91 30.911 30.077 3.715 1.309 7.495 2.455 11.291 3.502-0.098 0.715-0.161 1.56-0.18 2.415v0.022c0 15.479 15.743 28.309 36.458 30.927-5.564 9.819-27.245 26.182-45.343 34.199-0.976 0.267-1.829 0.636-2.616 1.106l0.048-0.026c-4.195 1.923-9.072 3.199-14.201 3.56l-0.133 0.007c-7.036 0-16.265-15.791-21.6-32.122 3.721-3.115 7.056-6.419 10.098-9.98l0.096-0.117c1.575-1.818 2.535-4.207 2.535-6.819 0-5.766-4.673-10.439-10.439-10.439-3.187 0-6.041 1.429-7.957 3.678l-0.013 0.015c-3.574 4.264-7.669 7.927-12.228 10.947l-0.209 0.132-0.328 0.213c-8.722 5.481-15.218 5.351-15.824 5.335-0.241-0.020-0.521-0.032-0.804-0.032-5.766 0-10.439 4.673-10.439 10.439 0 5.403 4.106 9.848 9.367 10.386l0.044 0.004c0.343 0 1.080 0.082 2.144 0.082 5.629-0.111 10.968-1.219 15.891-3.152l-0.313 0.107c5.972 16.61 18.639 42.186 39.96 42.186h0.295c4.347-0.176 8.455-0.895 12.355-2.088l-0.345 0.091c6.808 23.808 25.478 74.519 60.823 74.519h1.097c35.608-1.047 54.458-50.383 61.298-73.276 4.808 1.312 10.35 2.122 16.063 2.24l0.072 0.002h1.505c24.299-0.901 34.151-29.912 37.881-47.258 2.676 0.571 5.763 0.915 8.925 0.949h0.026c0.046 0 0.098 0 0.152 0 2.159 0 4.264-0.215 6.302-0.623l-0.203 0.035c4.831-0.98 8.414-5.192 8.414-10.241 0-0.719-0.072-1.421-0.211-2.097l0.011 0.067zM780.369 550.514c12.633-27.72 14.727-60.332 5.859-91.816s-27.638-58.237-52.87-75.272c-25.789-17.443-55.194-22.761-82.816-15.005s-49.942 27.638-62.852 55.98c-12.633 27.72-14.727 60.332-5.859 91.816 15.757 56.029 62.394 93.747 110.764 93.73 0.009 0 0.021 0 0.033 0 8.861 0 17.43-1.254 25.537-3.597l-0.649 0.161c27.671-7.79 50.007-27.671 62.852-55.995zM807.155 755.057l-29.864-60.544c-2.657-5.918-8.499-9.967-15.287-9.967-9.228 0-16.708 7.48-16.708 16.708 0 2.928 0.752 5.679 2.077 8.071l-0.044-0.085 29.864 60.544c2.891 5.235 8.375 8.72 14.675 8.72 9.228 0 16.708-7.48 16.708-16.708 0-2.44-0.523-4.756-1.463-6.847l0.043 0.106zM857.883 743.603l-29.864-60.544c-2.891-5.235-8.375-8.72-14.675-8.72-9.228 0-16.708 7.48-16.708 16.708 0 2.44 0.523 4.756 1.463 6.847l-0.043-0.106 29.864 60.544c2.891 5.235 8.375 8.72 14.675 8.72 9.228 0 16.708-7.48 16.708-16.708 0-2.44-0.523-4.756-1.463-6.847l0.043 0.106zM641.278 402.604c-7.202 0.135-13.78 2.698-18.976 6.902l0.059-0.046c-15.676 11.963-26.575 38.291-26.575 68.874 0 24.905 7.217 46.996 18.361 60.791 7.577 9.376 16.952 14.94 27.131 14.94 25.118 0 45.491-33.905 45.491-75.731s-20.405-75.731-45.491-75.731z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["saweria"]},"attrs":[{}],"properties":{"order":161,"id":110,"name":"saweria","prevSize":28,"code":59728},"setIdx":2,"setId":4,"iconIdx":75},{"icon":{"paths":["M988.971 34.901c-326.229-46.549-630.315-46.549-954.837 0-45.483 322.517-45.483 623.189 0 944.128 158.336 23.253 316.587 44.971 478.080 44.971 159.915 0 318.251-21.76 476.587-43.392 46.933-322.56 46.933-623.232 0-945.707h0.171zM496.597 816.299c-87.68 0-180.309-29.397-220.971-51.157l34.432-133.376c45.397 30.080 114.432 59.52 189.696 59.52 59.52 0 95.573-18.603 95.573-55.68 0-26.24-18.56-41.6-67.2-53.76l-97.237-26.923c-103.083-28.16-151.765-80.683-151.765-164.48 0-100.907 78.080-181.589 239.744-181.589 84.907 0 169.515 23.253 216.32 46.592l-40.576 126.976c-47.104-26.24-119.040-48-180.309-48-58.24 0-83.2 18.603-83.2 46.592 0 26.411 17.237 37.12 55.083 46.592l106.155 31.317c109.483 31.403 158.165 83.883 158.165 165.76-3.243 115.243-105.003 192.725-254.165 192.725l0.256-1.109z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["sellfy"],"grid":16},"attrs":[{}],"properties":{"order":127,"id":77,"name":"sellfy","prevSize":28,"code":59729,"ligatures":"sellfy"},"setIdx":2,"setId":4,"iconIdx":77},{"icon":{"paths":["M659.176 734.63c8.548-70.15-36.624-114.874-155.897-152.95-57.792-19.712-85.008-45.546-84.374-81.084 2.428-39.424 39.126-68.134 87.808-69.066 40.182 0.416 77.396 12.77 108.362 33.674l-0.7-0.446c4.33 2.688 7.354 2.24 9.82-1.456 3.36-5.414 11.76-18.442 14.56-23.146 1.904-3.024 2.276-6.98-2.538-10.49-6.908-5.112-26.284-15.49-36.7-19.858-27.664-12.056-59.884-19.104-93.742-19.188h-0.032c-71.269 0.3-127.416 45.36-132.118 105.504-3.062 43.414 18.442 78.69 64.586 105.572 9.78 5.676 62.716 26.73 83.769 33.3 66.23 20.608 100.613 57.564 92.512 100.685-7.354 39.088-48.496 64.358-105.207 65.106-44.946-1.716-85.41-20.048-116.771-44.428l-5.264-4.106c-3.884-2.988-8.138-2.8-10.716 1.12-1.866 2.874-14.038 20.422-17.098 25.012-2.876 4.032-1.306 6.272 1.68 8.736 13.066 10.938 30.5 22.884 42.336 28.934 30.708 15.972 66.864 25.858 105.205 27.13l0.408 0.010c2.594 0.132 5.632 0.206 8.687 0.206 24.802 0 48.456-4.932 70.030-13.868l-1.214 0.446c40.88-17.36 67.308-52.042 72.61-95.351zM511.978 116.299c-77.206 0-140.146 72.8-143.094 163.89h286.187c-2.988-91.093-65.894-163.89-143.093-163.89zM805.105 959.963l-2.988 0.038-589.281-0.076c-40.096-1.492-69.552-33.972-73.584-74.33l-0.374-7.28-26.392-579.647c-0.032-0.392-0.050-0.848-0.050-1.309 0-9.362 7.51-16.972 16.836-17.132h185.742c4.554-120.356 91.014-216.227 197.002-216.227 105.982 0 192.404 95.906 196.959 216.154h185.466c9.457 0.007 17.122 7.678 17.122 17.136 0 0.315-0.008 0.628-0.024 0.94l0.002-0.044-28.858 581.964-0.26 4.892c-3.508 40.844-36.548 73.804-77.314 74.888z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["shopee"],"grid":16},"attrs":[{}],"properties":{"order":128,"id":78,"name":"shopee","prevSize":28,"code":59730,"ligatures":"shopee"},"setIdx":2,"setId":4,"iconIdx":79},{"icon":{"paths":["M636.565 959.205l269.396-58.277c0 0-97.214-657.543-97.998-661.913-0.672-4.332-4.256-7.168-7.878-7.168s-72.014-5.076-72.014-5.076-47.6-47.562-53.722-52.677c-1.68-1.38-2.8-2.128-4.518-2.762l-34.122 787.874zM501.158 486.048c0 0-30.238-15.83-66.229-15.83-54.021 0-56.149 33.824-56.149 42.597 0 45.994 120.958 64.026 120.958 172.813 0 85.678-53.76 140.373-127.155 140.373-87.882 0-132.158-54.693-132.158-54.693l24.116-77.877c0 0 46.48 39.797 85.118 39.797 25.2 0 36.398-20.348 36.398-34.794 0-60.442-99.082-63.242-99.082-162.733-1.268-83.514 58.65-164.863 180.207-164.863 46.926 0 70 13.478 70 13.478l-35.28 101.358zM481 94.985c5.076 0 10.116 1.42 15.12 5.040-36.736 17.36-77.054 61.189-93.63 149.034-24.49 7.952-48.272 15.12-70.522 21.58 19.376-66.64 66.19-175.279 149.032-175.279zM527.106 205.081v5.040c-28.148 8.662-59.098 18.070-89.376 27.476 17.396-66.341 49.765-98.744 77.838-110.915 7.206 18.704 11.536 43.902 11.536 78.398zM547.228 121.677c25.908 2.762 42.597 32.366 53.349 65.52-13.028 4.256-27.44 8.624-43.232 13.664v-9.408c0-28.076-3.584-51.184-10.116-69.85zM658.929 169.801c-0.746 0-2.24 0.784-2.912 0.784s-10.79 2.8-26.656 7.84c-15.792-46.030-43.902-88.478-93.63-88.478h-4.294c-14.412-18.144-31.806-25.946-46.89-25.946-115.957 0-171.357 144.741-188.717 218.248-44.574 13.626-77.018 23.744-80.638 25.164-25.2 7.952-25.908 8.662-28.82 32.48-2.8 17.248-68.318 525.012-68.318 525.012l506.273 95.086z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["shopify"],"grid":16},"attrs":[{}],"properties":{"order":129,"id":79,"name":"shopify","prevSize":28,"code":59731,"ligatures":"shopify"},"setIdx":2,"setId":4,"iconIdx":80},{"icon":{"paths":["M404.55 77.126l10.15 40.775c-39.725 9.625-77.7 25.375-112.7 46.55l-21.525-36.050c38.5-23.275 80.325-40.6 124.075-51.275zM619.625 77.126l-10.15 40.775c39.55 9.625 77.525 25.375 112.525 46.55l21.7-36.050c-38.5-23.275-80.5-40.6-124.25-51.275zM128.4 280.476c-23.275 38.5-40.6 80.325-51.275 124.075l40.775 10.15c9.625-39.725 25.375-77.7 46.55-112.7l-36.050-21.525zM106 512c0-20.3 1.575-40.775 4.55-60.9l-41.475-6.3c-6.65 44.45-6.65 89.775 0 134.225l41.475-6.3c-2.975-19.95-4.55-40.425-4.55-60.725zM743.525 895.6l-21.525-36.050c-35 21.175-72.8 36.75-112.35 46.55l10.15 40.775c43.575-10.85 85.4-28 123.9-51.275zM918 512c0 20.3-1.575 40.775-4.55 60.9l41.475 6.3c6.65-44.45 6.65-89.774 0-134.224l-41.475 6.3c2.975 20.125 4.55 40.425 4.55 60.9zM946.875 619.45l-40.775-10.15c-9.8 39.725-25.375 77.525-46.55 112.525l36.050 21.7c23.275-38.5 40.6-80.5 51.275-124.25zM572.725 913.45c-40.25 6.125-81.375 6.125-121.625 0l-6.3 41.475c44.45 6.65 89.775 6.65 134.225 0l-6.3-41.475zM838.725 752.8c-24.15 32.725-53.2 61.775-86.1 85.925l24.85 33.775c36.225-26.6 68.25-58.45 94.85-94.675l-33.775-25.2zM752.8 185.1c32.9 24.15 61.775 53.2 86.1 86.1l33.775-25.2c-26.6-36.050-58.625-68.075-94.675-94.675l-25.2 33.775zM185.1 271.2c24.15-32.9 53.2-61.775 86.1-86.1l-25.2-33.775c-36.050 26.6-68.075 58.625-94.675 94.675l33.775 25.2zM895.6 280.476l-36.050 21.525c21.175 35 36.75 72.8 46.55 112.35l40.775-10.15c-10.85-43.575-28-85.4-51.275-123.9zM451.1 110.55c40.25-6.125 81.375-6.125 121.625 0l6.3-41.475c-44.45-6.825-89.6-6.825-134.224 0l6.3 41.475zM206.8 883.7l-86.8 20.3 20.3-86.8-40.95-9.45-20.3 86.625c-1.575 7-1.4 14.175 0.525 21.175s5.6 13.125 10.675 18.2 11.375 8.75 18.2 10.675 14.175 2.1 21.175 0.525l86.625-19.95-9.45-41.3zM108.1 770.3l40.95 9.45 14-60.2c-20.475-34.3-35.7-71.4-45.15-110.25l-40.775 10.15c9.1 37.1 23.1 72.975 41.3 106.4l-10.325 44.275zM304.1 861.3l-60.2 14 9.45 40.95 44.275-10.325c33.6 18.2 69.3 32.2 106.4 41.3l10.15-40.775c-38.675-9.625-75.775-25.025-109.9-45.5l-0.35 0.35zM512 148c-65.1 0-128.8 17.5-184.8 50.575s-102.2 80.5-133.524 137.55-47.075 121.275-45.15 186.2 21 128.275 55.65 183.4l-35.175 149.275 149.275-35c47.775 30.1 101.85 48.65 158.025 54.25s112.874-1.925 165.55-22.050 100.1-52.15 138.25-93.8 66.15-91.35 81.9-145.6 18.375-111.3 8.225-166.775-33.25-107.8-67.2-152.95-77.875-81.725-128.45-106.75-106.050-38.325-162.575-38.325z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["signal"],"grid":16},"attrs":[{}],"properties":{"order":130,"id":80,"name":"signal","prevSize":28,"code":59732,"ligatures":"signal"},"setIdx":2,"setId":4,"iconIdx":81},{"icon":{"paths":["M851.728 452.659c40.549 0 71.703 29.67 71.703 70.221 0 31.649-16.319 53.902-45.989 64.286l-85.056 29.176 27.692 82.583c2.473 7.417 3.462 15.33 3.462 23.241 0 39.067-31.649 71.703-70.714 71.703-31.154 0-58.846-19.286-68.737-48.956l-27.199-81.594-153.298 52.417 27.199 81.1c2.473 7.417 3.955 15.33 3.955 23.241 0 38.571-31.649 71.703-71.21 71.703-31.154 0-58.353-19.286-68.242-48.956l-27.199-80.605-75.661 26.21c-7.913 2.473-16.319 4.451-24.725 4.451-40.056 0-70.221-29.67-70.221-69.725 0-30.66 19.781-58.353 48.956-68.242l77.143-26.21-51.924-154.781-77.143 26.703c-7.913 2.473-15.824 3.955-23.737 3.955-39.56 0-70.221-30.165-70.221-69.725 0-30.66 19.781-58.353 48.956-68.242l77.638-26.21-26.21-78.627c-2.473-7.417-3.955-15.33-3.955-23.241 0-39.067 31.649-71.703 71.21-71.703 31.154 0 58.353 19.286 68.242 48.956l26.703 79.122 153.298-51.924-26.703-79.122c-2.473-7.417-3.955-15.33-3.955-23.241 0-39.067 32.143-71.703 71.21-71.703 31.154 0 58.846 19.781 68.737 48.956l26.21 79.616 80.11-27.199c6.924-1.978 13.846-2.967 21.263-2.967 38.571 0 71.703 28.681 71.703 68.242 0 30.66-23.737 56.374-51.429 65.77l-77.638 26.703 51.924 156.265 81.1-27.692c7.417-2.473 15.33-3.955 22.748-3.955zM459.087 582.221l153.298-51.924-51.924-155.77-153.298 52.913z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["slack"],"grid":16},"attrs":[{}],"properties":{"order":131,"id":81,"name":"slack","prevSize":28,"code":59733,"ligatures":"slack"},"setIdx":2,"setId":4,"iconIdx":82},{"icon":{"paths":["M929.293 703.593c-5.89-15.936-16.976-24.424-29.622-31.526-2.426-1.386-4.504-2.598-6.41-3.292-3.81-1.906-7.622-3.81-11.432-5.89-39.494-20.96-70.328-47.29-91.808-78.644-5.616-8.018-10.876-17.169-15.306-26.782l-0.458-1.106c-1.906-5.196-1.732-8.142-0.346-10.913 1.325-2.079 3.001-3.811 4.963-5.157l0.059-0.039c6.756-4.504 13.858-9.008 18.534-12.126 8.488-5.544 15.244-9.874 19.401-12.818 16.283-11.26 27.542-23.386 34.644-36.896 5.409-9.982 8.588-21.852 8.588-34.465 0-9.536-1.818-18.648-5.125-27.007l0.174 0.498c-10.74-28.236-37.416-45.73-69.808-45.73-0.112-0.001-0.246-0.001-0.381-0.001-7.044 0-13.909 0.757-20.522 2.194l0.635-0.116c-1.732 0.346-3.638 0.866-5.37 1.212 0.346-19.401-0.174-39.668-1.906-59.762-6.062-70.675-30.834-107.572-56.644-137.192-16.262-18.264-35.181-33.707-56.245-45.844l-1.093-0.58c-39.148-22.346-83.494-33.606-131.822-33.606s-92.501 11.26-131.65 33.606c-22.3 12.677-41.337 28.126-57.491 46.206l-0.191 0.218c-25.81 29.448-50.581 66.518-56.644 137.192-1.732 20.094-2.078 40.534-1.906 59.762-1.732-0.52-3.464-0.866-5.37-1.212-5.978-1.322-12.844-2.079-19.887-2.079-0.134 0-0.266 0-0.4 0.001h0.020c-32.392 0-59.069 17.496-69.808 45.73-3.179 7.914-5.025 17.091-5.025 26.698 0 12.539 3.142 24.343 8.681 34.668l-0.192-0.393c7.102 13.512 18.534 25.464 34.644 36.896 4.33 2.944 11.086 7.276 19.401 12.818 4.504 2.944 11.26 7.276 17.842 11.606 2.304 1.504 4.212 3.412 5.672 5.643l0.045 0.073c1.386 2.772 1.386 5.89-0.692 11.432-4.793 10.525-9.937 19.506-15.8 27.953l0.382-0.583c-20.96 30.66-50.928 56.47-89.036 77.258-19.92 10.913-41.054 18.188-49.888 42.266-6.756 18.188-2.252 38.976 14.724 56.47 6.129 6.402 13.211 11.826 21.031 16.061l0.449 0.223c15.066 8.447 32.51 15.61 50.856 20.583l1.63 0.377c4.014 1.040 7.536 2.646 10.693 4.755l-0.125-0.079c6.236 5.37 5.37 13.684 13.512 25.637 4.239 6.23 9.419 11.465 15.395 15.636l0.195 0.128c17.322 11.952 36.896 12.818 57.51 13.512 18.708 0.692 39.842 1.559 63.92 9.528 10.046 3.292 20.44 9.7 32.392 17.15 29.102 18.016 68.77 42.266 135.114 42.266s106.186-24.424 135.287-42.266c11.952-7.276 22.346-13.684 32.046-16.976 24.078-7.968 45.384-8.834 63.92-9.528 20.614-0.866 40.188-1.559 57.51-13.512 7.242-5.119 13.17-11.6 17.514-19.113l0.154-0.289c5.89-10.046 5.716-17.15 11.432-22.172 2.879-1.952 6.229-3.498 9.817-4.452l0.229-0.052c20.23-5.362 37.912-12.585 54.372-21.742l-1.192 0.608c8.727-4.749 16.166-10.642 22.454-17.596l0.064-0.072 0.174-0.174c16.11-17.15 20.094-37.242 13.512-55.084zM870.398 735.293c-35.858 19.92-59.762 17.668-78.47 29.622-15.764 10.22-6.41 32.046-17.842 40.014-14.031 9.7-55.778-0.692-109.476 17.15-44.345 14.724-72.754 56.817-152.436 56.817s-107.398-42.094-152.609-56.99c-53.699-17.842-95.446-7.276-109.476-17.15-11.432-7.968-2.078-29.794-17.842-40.014-18.534-11.952-42.44-9.874-78.47-29.622-22.866-12.646-9.874-20.44-2.252-24.078 130.090-63.053 150.877-160.404 151.916-167.506 1.040-8.662 2.426-15.59-7.276-24.424-9.354-8.662-50.581-34.124-62.014-42.094-18.882-13.165-27.196-26.504-21.134-42.612 4.33-11.26 14.724-15.416 25.81-15.416 3.697 0.025 7.278 0.465 10.718 1.277l-0.324-0.065c20.786 4.504 41.054 14.898 52.66 17.668 1.3 0.329 2.792 0.517 4.328 0.52h0.002c6.236 0 8.488-3.118 7.968-10.22-1.386-22.692-4.504-67.038-1.040-108.438 4.85-56.99 23.212-85.226 45.038-110.17 10.566-11.952 59.762-64.092 153.995-64.092s143.602 51.794 153.995 63.746c21.826 24.944 40.188 53.18 45.038 110.17 3.638 41.4 0.52 85.746-1.040 108.438-0.52 7.448 1.732 10.22 7.968 10.22 1.537-0.001 3.031-0.189 4.457-0.547l-0.126 0.027c11.606-2.772 31.873-13.165 52.66-17.668 3.113-0.747 6.695-1.187 10.377-1.212h0.017c11.086 0 21.48 4.33 25.81 15.416 6.062 16.283-2.078 29.448-21.134 42.612-11.432 7.968-52.66 33.432-62.014 42.094-9.7 8.834-8.314 15.764-7.276 24.424 0.866 7.276 21.652 104.626 151.916 167.506 7.448 3.984 20.44 11.78-2.426 24.598z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["snapchat"],"grid":16},"attrs":[{}],"properties":{"order":132,"id":82,"name":"snapchat","prevSize":28,"code":59734,"ligatures":"snapchat"},"setIdx":2,"setId":4,"iconIdx":83},{"icon":{"paths":["M182.601 518.846c-1.552 0-2.861 1.4-3.073 3.043l-7.089 65.544 7.089 64.053c0.213 1.765 1.521 2.981 3.073 2.981 1.521 0 2.738-1.217 3.012-2.981l7.76-64.053-8.216-65.544c0-1.734-1.37-3.043-2.738-3.043zM155.063 544.042c-1.826 0-2.769 1.126-3.165 2.861l-5.051 40.531 5.020 39.8c0 1.673 1.37 2.861 2.738 2.861s2.708-1.37 3.165-3.165l6.39-40.135-6.39-40.591c0-1.857-1.339-2.738-2.738-2.738zM210.718 506.066c-1.857 0-3.652 1.37-3.652 3.165l-6.39 77.989 6.846 74.794c0 1.826 1.37 3.652 3.621 3.652 1.857 0 3.195-1.857 3.682-3.652l7.729-75.281-7.729-77.533c-0.487-1.826-1.857-3.652-3.682-3.652zM239.899 502.841c-2.282 0-4.108 1.826-4.564 4.108l-5.873 80.332 6.39 77.411c0.487 2.343 2.282 4.2 4.533 4.2 2.282 0 4.108-1.857 4.564-4.564l7.303-77.046-7.303-79.815c0-2.282-1.826-4.108-4.108-4.108l-0.943-0.517zM275.044 513.795c-0.152-2.738-2.282-4.533-4.838-4.533-2.738 0-4.807 1.826-4.99 4.533l-6.603 73.942 6.085 77.989c0 2.738 2.282 4.777 4.838 4.777 2.251 0 4.503-2.069 4.503-4.807l6.907-77.989-6.907-74.367 1.004 0.456zM299.661 461.792c-3.073 0-5.478 2.738-5.478 5.507l-6.39 120.406 5.691 77.989c0 2.738 2.434 4.99 5.478 4.99 2.861 0 5.294-2.738 5.478-5.478l6.359-77.989-6.359-120.863c-0.243-3.165-2.678-5.478-5.478-5.478zM328.142 433.068c-3.195 0-5.934 2.738-6.177 5.903l-5.478 148.249 5.020 77.533c0 3.652 2.738 6.359 5.934 6.359 3.165 0 5.903-2.708 6.39-6.359l5.873-77.533-5.842-147.762c-0.487-3.652-3.195-6.39-6.39-6.39zM357.567 419.405c-3.682 0-6.421 2.708-6.846 6.359l-5.020 160.512 5.020 76.68c0.425 3.621 3.165 6.846 6.846 6.846 3.621 0 6.846-3.195 6.846-6.846l5.934-76.68-5.965-160.512c0-3.652-3.195-6.846-6.846-6.846zM395.42 420.288c0-4.108-3.195-7.303-7.303-7.303-3.621 0-7.303 3.195-7.303 7.303l-4.533 165.563 4.533 76.163c0.487 4.108 3.682 7.303 7.79 7.303s7.303-3.195 7.303-7.303l4.99-76.163-4.99-166.019-0.487 0.456zM418.211 416.21c-4.108 0-7.76 3.621-7.76 7.729l-4.564 161.942 4.564 75.251c0 4.564 3.652 7.76 7.76 7.76s7.76-3.652 7.76-8.216l4.564-75.281-5.020-161.486c0-4.503-3.652-8.216-8.247-8.216zM447.849 420.745c-4.99 0-8.641 4.108-8.641 8.672l-3.135 156.495 4.108 75.281c0 4.533 3.621 8.429 8.641 8.429 4.533 0 8.247-3.652 8.641-8.672l3.682-74.337-4.108-155.552c-0.366-4.99-4.108-8.672-8.672-8.672zM484.393 393.632c-1.37-0.883-3.195-1.339-5.020-1.339s-3.621 0.456-5.020 1.339c-2.738 1.644-4.533 4.564-4.533 7.76v1.857l-3.165 184.033 3.499 74.521v0.243c0.243 1.826 0.913 4.108 2.251 5.478 1.765 1.857 4.321 3.165 7.12 3.165 2.434 0 4.807-1.339 6.359-2.738 1.765-1.826 2.769-4.108 2.769-6.846l0.456-7.303 3.56-67.035-4.108-185.189c0-3.165-1.857-5.873-4.108-7.273l-0.061-0.669zM515.006 376.988c-1.37-1.37-2.738-1.857-4.564-1.857-2.251 0-4.533 0.487-6.359 1.857-2.282 1.857-3.621 4.564-3.621 7.303v0.883l-4.169 201.104 2.313 36.971 1.857 36.058c0 4.99 4.503 9.555 9.981 9.555 5.507 0 10.042-4.564 10.042-10.011l4.564-73.455-4.564-201.956c0-3.652-2.251-6.725-5.020-8.429zM787.313 489.939c-12.324 0-24.19 2.617-34.658 7.059-7.303-80.757-74.854-144.111-157.865-144.111-20.053 0-39.71 4.108-57.479 10.923-6.846 2.738-8.216 5.478-8.672 10.923v285.056c0.487 5.478 4.564 10.042 10.042 10.498h249.060c49.264 0.487 89.4-39.193 89.4-88.913s-40.135-89.826-89.4-89.826z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["soundcloud"],"grid":16},"attrs":[{}],"properties":{"order":133,"id":83,"name":"soundcloud","prevSize":28,"code":59735,"ligatures":"soundcloud"},"setIdx":2,"setId":4,"iconIdx":84},{"icon":{"paths":["M875.18 645.543v38.677c0 65.483-52.080 118.608-115.734 118.608h-33.749l-152.283 157.175v-157.175h-308.897c-63.616 0-115.696-53.125-115.696-118.758v-38.528h726.36zM148.932 454.619h721.395v148.551h-721.395v-148.551zM148.932 262.687h721.395v148.551h-721.395v-148.551zM757.467 63.998c62.758 0 112.859 53.013 112.859 118.646v38.603h-721.395v-38.603c0-65.558 52.080-118.646 115.734-118.646h492.802z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["stackexchange"],"grid":16},"attrs":[{}],"properties":{"order":134,"id":84,"name":"stackexchange","prevSize":28,"code":59736,"ligatures":"stackexchange"},"setIdx":2,"setId":4,"iconIdx":85},{"icon":{"paths":["M709.39 621.994l-391.379-82.595-16.399 78.595 391.379 81.996zM811.384 448.004l-306.984-256.586-50.996 61.597 306.984 256.586zM748.987 527.399l-362.58-169.391-33.398 72.997 362.381 168.99zM651.992 64.024l-63.996 47.998 238.587 320.582 63.996-47.998zM692.99 719.99h-399.979v79.396h399.979zM772.386 879.981h-558.97v-239.987h-79.995v319.984h718.962v-319.984h-79.995z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["stackoverflow"],"grid":16},"attrs":[{}],"properties":{"order":135,"id":85,"name":"stackoverflow","prevSize":28,"code":59737,"ligatures":"stackoverflow"},"setIdx":2,"setId":4,"iconIdx":86},{"icon":{"paths":["M585.765 405.61c-81.081-30.089-125.28-53.232-125.28-89.928 0-31.021 25.497-48.716 70.965-48.716 83.135 0 168.545 32.029 227.341 60.886l33.225-205.094c-46.625-22.322-142.003-58.72-273.855-58.72-93.251 0-170.825 24.414-226.26 69.882-57.638 47.596-87.614 116.469-87.614 199.567 0 150.779 92.094 215.022 241.75 269.488 96.499 34.345 128.604 58.758 128.604 96.423 0 36.584-31.357 57.675-87.876 57.675-69.994 0-185.344-34.381-260.939-78.729l-33.597 207.369c64.992 36.545 184.824 74.249 309.095 74.249 98.59 0 180.792-23.294 236.227-67.68 62.118-48.716 94.259-120.801 94.259-213.976 0-154.098-94.222-218.421-246.156-272.698h0.112z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["stripe"],"grid":16},"attrs":[{}],"properties":{"order":136,"id":86,"name":"stripe","prevSize":28,"code":59738,"ligatures":"stripe"},"setIdx":2,"setId":4,"iconIdx":87},{"icon":{"paths":["M143.279 468.442c0 153.18 0 306.36 0 459.54 107.814-56.946 214.907-116.724 322.443-174.758 15.386-8.376 30.774-16.75 46.158-25.124 0-86.554 0-173.106 0-259.66-122.868 0-245.732 0-368.602 0zM511.888 468.442c0 86.554 0 173.106 0 259.66 122.413 66.626 244.82 133.254 367.236 199.879 3.2-12.86 0.45-31.668 1.368-46.808 0-137.578 0-275.154 0-412.73-122.868 0-245.732 0-368.602 0z","M143.279 280.416h737.212v100.79h-737.212v-100.79z","M143.279 96.022h737.212v100.79h-737.212v-100.79z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["substack"],"grid":16},"attrs":[{},{},{}],"properties":{"order":137,"id":87,"name":"substack","prevSize":28,"code":59739,"ligatures":"substack"},"setIdx":2,"setId":4,"iconIdx":88},{"icon":{"paths":["M787.909 240.129c0 0 68.678-26.78 62.955 38.257-1.908 26.78-19.077 120.508-32.43 221.89l-45.786 300.315c0 0-3.814 43.995-38.154 51.646s-85.847-26.78-95.387-34.431c-7.632-5.737-143.077-91.816-190.772-133.898-13.355-11.478-28.617-34.431 1.908-61.211l200.312-191.283c22.893-22.954 45.786-76.513-49.601-11.478l-267.080 181.719c0 0-30.524 19.127-87.753 1.912l-124.003-38.257c0 0-45.786-28.692 32.431-57.387 190.773-89.903 425.422-181.719 633.362-267.796z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["telegram"],"grid":16},"attrs":[{}],"properties":{"order":138,"id":88,"name":"telegram","prevSize":28,"code":59740,"ligatures":"telegram"},"setIdx":2,"setId":4,"iconIdx":89},{"icon":{"paths":["M726.406 479.26c-1.924-1.022-5.792-2.8-9.7-4.502l-2.058-0.8c-6.908-127.456-76.533-200.406-193.462-201.153h-1.568c-69.962 0-128.092 29.868-163.895 84.186l64.288 44.092c26.73-40.582 68.694-49.242 99.642-49.242h1.046c38.492 0.26 67.573 11.46 86.352 33.302 13.7 15.866 22.848 37.856 27.364 65.558-23.7-4.046-50.998-6.358-78.84-6.358-11.142 0-22.198 0.371-33.154 1.1l1.486-0.080c-111.143 6.42-182.636 71.232-177.82 161.318 2.428 45.696 25.2 85.008 64.102 110.695 32.854 21.728 75.228 32.33 119.28 29.942 58.128-3.21 103.712-25.388 135.52-65.932 24.192-30.8 39.462-70.71 46.22-120.999 27.7 16.726 48.236 38.716 59.584 65.146 19.3 44.988 20.42 118.87-39.872 179.088-52.828 52.79-116.332 75.6-212.28 76.31-106.439-0.746-186.968-34.908-239.306-101.434-49.020-62.348-74.332-152.32-75.264-267.494 0.934-115.175 26.246-205.185 75.264-267.494 52.342-66.528 132.832-100.65 239.306-101.434 107.184 0.746 189.094 35.094 243.452 101.92 26.656 32.816 46.741 74.032 59.996 122.080l75.338-20.084c-16.052-59.174-41.328-110.135-75.676-152.432-69.701-85.754-171.623-129.66-302.849-130.556h-0.522c-131.078 0.896-231.768 44.986-299.451 131.040-60.256 76.533-91.318 183.12-92.364 316.664v0.598c1.044 133.578 32.106 240.092 92.327 316.664 67.685 86.053 168.448 130.144 299.489 131.040h0.522c116.48-0.82 198.577-31.324 266.186-98.896 88.519-88.406 85.868-199.21 56.672-267.233-20.908-48.794-60.816-88.406-115.36-114.614zM525.29 668.352c-48.72 2.764-99.306-19.116-101.846-65.932-1.866-34.72 24.716-73.509 104.832-78.102 9.184-0.56 18.18-0.784 27.028-0.784 29.12 0 56.3 2.8 81.052 8.212-9.22 115.286-63.354 134.028-111.066 136.64z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["threads"],"grid":16},"attrs":[{}],"properties":{"order":139,"id":89,"name":"threads","prevSize":28,"code":59741,"ligatures":"threads"},"setIdx":2,"setId":4,"iconIdx":90},{"icon":{"paths":["M98.492 144.5c-12.49 0-22.551 10.056-22.551 22.551v84.32c0 12.492 10.056 22.551 22.551 22.551h231.604v215.584l137.044-100.666v-221.786c0-12.492-10.056-22.551-22.551-22.551h-91.768zM467.136 503.33l-137.044 100.666v252.786c0 12.586 10.136 22.718 22.724 22.718h91.598c12.586 0 22.72-10.13 22.72-22.718z","M925.509 144.5c12.492 0 22.551 10.056 22.551 22.551v84.32c0 12.492-10.056 22.551-22.551 22.551h-231.602v215.584l-137.044-100.666v-221.786c0-12.492 10.056-22.551 22.551-22.551h91.768zM556.864 503.33l137.044 100.666v252.786c0 12.586-10.135 22.718-22.724 22.718h-91.598c-12.586 0-22.718-10.13-22.718-22.718z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["tidelift"],"grid":16},"attrs":[{},{}],"properties":{"order":140,"id":90,"name":"tidelift","prevSize":28,"code":59742,"ligatures":"tidelift"},"setIdx":2,"setId":4,"iconIdx":91},{"icon":{"paths":["M903.962 431.442c-0.26 0.001-0.57 0.001-0.879 0.001-80.313 0-154.613-25.752-215.091-69.447l1.079 0.742v312.825c-0.061 157.092-127.421 284.418-284.523 284.418-157.138 0-284.523-127.385-284.523-284.523s127.385-284.523 284.523-284.523c13.781 0 27.331 0.979 40.587 2.874l-1.519-0.176v157.339c-11.714-3.816-25.194-6.018-39.192-6.018-72.135 0-130.612 58.477-130.612 130.612s58.477 130.612 130.612 130.612c72.135 0 130.612-58.477 130.612-130.612 0-0.001 0-0.002 0-0.005v0-611.544h154.034c-0.006 0.518-0.007 1.13-0.007 1.743 0 13.097 1.186 25.92 3.46 38.359l-0.197-1.298c11.369 59.241 45.871 108.826 93.54 139.91l0.822 0.503c32.987 22.088 73.571 35.253 117.228 35.253 0.016 0 0.033 0 0.049 0h-0.003z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["tiktok"],"grid":16},"attrs":[{}],"properties":{"order":141,"id":91,"name":"tiktok","prevSize":28,"code":59743,"ligatures":"tiktok"},"setIdx":2,"setId":4,"iconIdx":92},{"icon":{"paths":["M512 131.199c53.234 0 99.574 29.736 123.244 73.51-48.967 5.578-83.428 16.090-123.244 34.748-39.816-18.658-74.279-29.169-123.244-34.748 23.678-43.792 70.023-73.512 123.244-73.512zM512 63.999c89.432 0 165.57 56.632 194.623 135.966 46.559-1.568 105.189-1.568 183.204-1.568h2.974c18.557 0 33.6 15.044 33.6 33.6v448.001c0 154.639-125.362 280.001-280.001 280.001h-515.201c-18.557 0-33.6-15.044-33.6-33.6v-694.402c0-18.557 15.044-33.6 33.6-33.6h2.968c78.020 0 136.652 0 183.21 1.568 29.044-79.314 105.174-135.966 194.623-135.966zM164.799 265.606v627.196h481.601c117.528 0 212.801-95.274 212.801-212.801v-414.396c-103.611 0.050-165.885 0.55-212.083 5.41-48.674 5.124-78.393 14.99-120.092 35.84-4.378 2.236-9.548 3.548-15.026 3.548s-10.647-1.31-15.216-3.634l0.19 0.088c-41.698-20.848-71.416-30.716-120.092-35.84-46.2-4.862-108.472-5.36-212.085-5.41zM254.399 512c0 55.672 45.129 100.8 100.8 100.8s100.8-45.129 100.8-100.8c0-55.67-45.13-100.8-100.8-100.8s-100.8 45.13-100.8 100.8zM355.2 344c71.479 0 132.532 44.638 156.8 107.559 24.27-62.922 85.322-107.559 156.8-107.559 92.787 0 168 75.214 168 168s-75.214 168-168 168c-6.306 0-12.532-0.348-18.66-1.026l-114.38 114.386c-6.080 6.082-14.482 9.844-23.76 9.844s-17.68-3.762-23.76-9.844l-114.38-114.386c-6.126 0.678-12.354 1.026-18.658 1.026-92.787 0-168-75.214-168-168s75.214-168 168-168zM579.658 654.424c-30.572-19.384-54.077-47.51-67.262-80.844l-0.398-1.141c-13.582 34.476-37.086 62.601-66.972 81.576l-0.688 0.408 67.658 67.658 67.658-67.658zM668.799 411.2c-55.672 0-100.8 45.13-100.8 100.8s45.129 100.8 100.8 100.8 100.8-45.129 100.8-100.8-45.13-100.8-100.8-100.8zM400 512v0c0-24.742-20.058-44.8-44.8-44.8s-44.8 20.058-44.8 44.8v0c0 24.744 20.058 44.8 44.8 44.8s44.8-20.058 44.8-44.8zM668.799 556.8v0c-24.744 0-44.8-20.058-44.8-44.8s20.058-44.8 44.8-44.8v0c24.744 0 44.8 20.058 44.8 44.8s-20.058 44.8-44.8 44.8z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["tokopedia"],"grid":16},"attrs":[{}],"properties":{"order":142,"id":92,"name":"tokopedia","prevSize":28,"code":59744,"ligatures":"tokopedia"},"setIdx":2,"setId":4,"iconIdx":93},{"icon":{"paths":["M570.176 65.986v193.919h193.919v155.136h-193.919v213.31c0 193.919 135.743 170.649 232.702 108.594v170.649c-259.851 124.108-465.406 0-465.406-162.892v-329.663h-116.351v-108.594c38.785-11.635 85.324-27.149 116.351-50.42 19.392-19.392 38.785-46.541 54.298-77.567 11.635-27.149 23.271-65.933 27.149-116.351h147.378z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["tumblr"],"grid":16},"attrs":[{}],"properties":{"order":143,"id":93,"name":"tumblr","prevSize":28,"code":59745,"ligatures":"tumblr"},"setIdx":2,"setId":4,"iconIdx":94},{"icon":{"paths":["M175.992 63.999l-84 140v644.002h224.001v112h112l112-112h140l252.001-252.001v-532.001h-756.002zM819.993 540l-140 140h-140l-112 112v-112h-168v-504.001h560.002v364.001z","M623.993 287.999h84v224.001h-84v-224.001z","M455.992 287.999h84v224.001h-84v-224.001z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["twitch"],"grid":16},"attrs":[{},{},{}],"properties":{"order":144,"id":94,"name":"twitch","prevSize":28,"code":59746,"ligatures":"twitch"},"setIdx":2,"setId":4,"iconIdx":95},{"icon":{"paths":["M952.679 235.805c-30.817 14.253-57.781 14.638-85.516 0.77 35.824-21.571 37.751-36.98 50.848-77.812-33.898 20.031-71.649 34.668-111.709 42.372-31.588-33.898-77.041-55.085-127.118-55.085-96.302 0-175.269 78.582-175.269 174.885 0 13.867 1.155 26.964 3.852 40.061-145.223-7.704-274.269-77.041-360.556-182.974-15.409 25.81-23.113 55.856-23.113 88.598 0 60.093 30.817 113.638 77.041 145.223-28.505-1.155-55.47-8.859-78.967-21.956v2.312c0 84.746 60.093 155.24 140.215 171.032-25.81 7.704-52.773 7.704-79.353 3.082 22.343 69.337 87.058 120.185 163.714 121.726-74.345 58.936-167.181 83.591-258.475 72.804 77.041 50.077 169.491 78.582 268.491 78.582 321.649 0 497.689-266.564 497.689-498.075 0-7.704 0-15.409-0.77-23.113 34.668-24.268 75.5-46.995 98.613-82.434z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["twitter"],"grid":16},"attrs":[{}],"properties":{"order":145,"id":95,"name":"twitter","prevSize":28,"code":59747,"ligatures":"twitter"},"setIdx":2,"setId":4,"iconIdx":96},{"icon":{"paths":["M949.641 308.406c-3.935 85.202-63.474 202.054-178.615 350.215-119.077 154.663-219.847 232.165-302.311 232.165-50.984 0-94.269-47.049-129.513-141.318-23.61-86.399-47.049-172.798-70.659-259.197-26.176-94.269-54.234-141.318-84.346-141.318-6.502 0-29.427 13.858-68.777 41.232l-41.232-53.037c43.285-37.982 85.886-75.962 127.802-113.944 57.656-49.786 100.942-75.962 129.855-78.7 68.092-6.502 110.18 40.034 125.92 139.778 16.938 107.614 28.742 174.509 35.415 200.685 19.675 89.308 41.232 133.962 64.842 133.962 18.306 0 45.852-28.914 82.635-86.912 36.612-57.828 56.288-101.968 59.025-132.25 5.304-49.958-14.372-75.108-59.025-75.108-21.044 0-42.6 4.79-64.842 14.372 43.114-140.976 125.236-209.411 246.708-205.476 89.821 2.396 132.25 60.736 127.118 174.851z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["vimeo"],"grid":16},"attrs":[{}],"properties":{"order":146,"id":96,"name":"vimeo","prevSize":28,"code":59748,"ligatures":"vimeo"},"setIdx":2,"setId":4,"iconIdx":97},{"icon":{"paths":["M904.619 509.342c-23.1 5.25-45.326 7.7-65.452 7.7-113.052 0-200.028-78.926-200.028-216.304 0-67.376 26.076-102.202 62.826-102.202 35 0 58.276 31.326 58.276 95.026 0 36.226-9.626 75.952-16.8 99.402 0 0 34.826 60.726 130.028 42.176 20.3-44.976 31.15-103.076 31.15-154.002 0-137.202-70.002-217.178-198.278-217.178-131.952 0-209.128 101.326-209.128 235.029 0 132.478 61.951 246.054 163.978 297.855-42.876 85.926-97.476 161.528-154.528 218.578-103.252-124.952-196.704-291.555-235.029-616.886h-152.428c70.526 541.809 280.354 714.362 336.006 747.438 31.326 18.9 58.451 18.026 87.152 1.75 45.15-25.55 180.428-161.002 255.504-319.38 31.5 0 69.302-3.675 106.926-12.25v-106.752z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["vine"],"grid":16},"attrs":[{}],"properties":{"order":147,"id":97,"name":"vine","prevSize":28,"code":59749,"ligatures":"vine"},"setIdx":2,"setId":4,"iconIdx":98},{"icon":{"paths":["M824.134 603.934c0 0 64.69 63.89 80.692 93.454 0.44 0.64 0.64 1.12 0.72 1.4 6.522 10.922 8.122 19.482 4.921 25.804-5.4 10.442-23.684 15.682-29.884 16.122 0 0-111.138 0-114.338 0-7.96 0-24.524-2.080-44.686-16.002-15.402-10.762-30.725-28.484-45.568-45.807-22.164-25.724-41.326-48.046-60.73-48.046-2.48 0-4.88 0.4-7.201 1.2-14.682 4.64-33.326 25.564-33.326 81.292 0 17.442-13.763 27.364-23.404 27.364 0 0-49.928 0-52.369 0-17.842 0-110.738-6.24-193.109-93.094-100.936-106.336-191.59-319.649-192.47-321.529-5.642-13.802 6.201-21.324 19.002-21.324h115.458c15.482 0 20.524 9.362 24.044 17.762 4.080 9.64 19.203 48.208 44.006 91.534 40.166 70.49 64.85 99.176 84.572 99.176 3.72 0 7.24-0.92 10.561-2.8 25.764-14.163 20.964-106.176 19.764-125.14 0-3.68-0.039-41.086-13.242-59.168-9.442-12.962-25.524-18.002-35.246-19.844 2.6-3.76 8.122-9.522 15.202-12.922 17.644-8.802 49.528-10.082 81.172-10.082h17.562c34.326 0.48 43.206 2.68 55.688 5.84 25.124 6.001 25.604 22.283 23.404 77.732-0.64 15.842-1.32 33.684-1.32 54.688 0 4.48-0.2 9.482-0.2 14.564-0.76 28.445-1.762 60.489 18.323 73.652 2.562 1.6 5.56 2.48 8.681 2.48 6.96 0 27.804 0 84.334-97.014 24.804-42.846 44.006-93.374 45.328-97.176 1.12-2.12 4.48-8.081 8.56-10.482 3.12-1.92 7.28-2.24 9.44-2.24h135.82c14.802 0 24.842 2.24 26.804 7.84 3.28 9.081-0.64 36.806-62.648 120.658-10.442 13.963-19.603 26.044-27.644 36.606-56.208 73.77-56.208 77.492 3.32 133.5z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["vk"],"grid":16},"attrs":[{}],"properties":{"order":148,"id":98,"name":"vk","prevSize":28,"code":59750,"ligatures":"vk"},"setIdx":2,"setId":4,"iconIdx":99},{"icon":{"paths":["M912.302 740.684c0 64.848-49.578 114.388-114.352 114.388h-381.305c-194.396 0-304.984-102.916-304.984-285.914v-285.88c0-64.812 49.578-114.35 114.386-114.35h114.352c19.070 0 41.94 3.798 57.212 15.234 15.234-11.436 38.104-15.234 57.176-15.234h114.352c19.070 0 41.94 3.798 57.176 15.234 15.272-11.436 38.142-15.234 57.212-15.234h114.352c64.812 0 114.352 49.54 114.352 114.35zM797.951 130.75h-114.386c-19.070 0-38.142 3.836-57.212 11.436-16.896-7.124-36.53-11.316-57.13-11.434h-114.397c-19.070 0-38.142 3.836-57.176 11.436-16.908-7.13-36.556-11.322-57.168-11.434h-114.396c-84.132 0.248-152.264 68.395-152.494 152.508v285.936c0 202.034 129.623 324.055 343.090 324.055h381.231c84.146-0.248 152.285-68.416 152.494-152.547v-457.461c-0.248-84.12-68.372-152.244-152.468-152.494h-0.024zM416.682 740.684h381.231v-457.407h-114.352v381.195h-114.352v-381.231h-114.386v381.231h-38.178c-38.104 0-76.247-30.506-76.247-95.318v-285.88h-114.35v285.914c0 114.352 53.34 171.564 190.598 171.564z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["wattpad"],"grid":16},"attrs":[{}],"properties":{"order":149,"id":99,"name":"wattpad","prevSize":28,"code":59751,"ligatures":"wattpad"},"setIdx":2,"setId":4,"iconIdx":100},{"icon":{"paths":["M442.826 811.45c-143.442 14.208-267.262-50.744-276.566-144.795-9.304-94.218 99.462-181.838 242.734-196.049 143.442-14.208 267.261 50.746 276.396 144.795 9.472 94.218-99.292 182.008-242.565 196.048zM729.54 499.024c-12.178-3.722-20.636-6.090-14.208-22.16 13.87-34.846 15.224-64.786 0.17-86.268-28.080-40.090-105.044-38.058-193.172-1.014 0 0-27.74 12.010-20.638-9.81 13.532-43.64 11.502-80.010-9.642-101.153-47.87-47.87-175.072 1.86-284.178 110.966-81.532 81.362-128.894 168.138-128.894 243.072 0 143.104 183.701 230.218 363.341 230.218 235.46 0 392.266-136.844 392.266-245.44 0-65.8-55.312-103.014-105.044-118.406z","M886.006 236.838c-56.836-63.094-140.736-87.114-218.206-70.706v0c-17.93 3.89-29.262 21.484-25.372 39.244 3.89 17.93 21.314 29.262 39.242 25.374 55.144-11.672 114.686 5.412 155.114 50.239s51.423 105.89 34 159.342v0c-5.582 17.422 3.89 36.028 21.314 41.782 17.422 5.582 36.028-3.89 41.78-21.314v-0.17c24.36-74.766 8.964-160.696-47.87-223.79z","M798.554 315.832c-27.742-30.786-68.676-42.456-106.228-34.338-15.392 3.214-25.204 18.606-21.99 34 3.383 15.392 18.606 25.204 33.83 21.82v0c18.438-3.89 38.396 1.86 51.928 16.746 13.532 15.054 17.254 35.522 11.333 53.452v0c-4.736 14.886 3.383 31.124 18.438 36.028 15.054 4.736 31.126-3.383 36.028-18.438 11.84-36.707 4.398-78.656-23.342-109.274z","M450.774 641.114c-5.074 8.626-16.070 12.686-24.698 9.134-8.626-3.383-11.164-13.194-6.258-21.482 5.074-8.288 15.73-12.348 24.188-9.134 8.458 3.044 11.502 12.686 6.766 21.482zM404.936 699.64c-13.87 22.16-43.64 31.8-65.97 21.652-21.99-9.98-28.586-35.692-14.716-57.344 13.702-21.482 42.458-31.126 64.616-21.822 22.496 9.642 29.772 35.183 16.070 57.51zM457.035 543.005c-68.168-17.76-145.302 16.238-174.904 76.288-30.28 61.234-1.014 129.402 67.83 151.73 71.382 23.006 155.62-12.348 184.886-78.318 28.926-64.786-7.104-131.262-77.81-149.7z"],"attrs":[{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["weibo"],"grid":16},"attrs":[{},{},{},{}],"properties":{"order":150,"id":100,"name":"weibo","prevSize":28,"code":59752,"ligatures":"weibo"},"setIdx":2,"setId":4,"iconIdx":101},{"icon":{"paths":["M828.925 197.046c-86.077-86.077-199.539-133.026-316.916-133.026-242.576 0-442.117 199.539-442.117 446.029 0 78.251 19.563 152.589 58.688 219.101l-62.602 230.84 234.751-62.602c62.602 35.213 136.939 50.863 211.277 50.863 246.49 0 446.029-199.539 446.029-446.029-3.913-109.551-46.95-223.016-129.114-305.178zM512.008 881.74c-66.512 0-129.114-19.563-187.802-50.863l-15.65-7.824-136.939 39.125 39.125-133.026-11.739-19.563c-39.125-58.688-54.776-125.2-54.776-199.539 0-203.452 164.327-367.779 367.779-367.779 97.813 0 191.714 39.125 262.14 109.551s109.551 164.327 109.551 262.14c-3.913 203.452-168.239 367.779-371.69 367.779zM711.549 603.949c-11.739-3.913-66.512-35.213-74.338-39.125-11.739-3.913-19.563-3.913-27.389 3.913-7.824 11.739-31.299 39.125-35.213 43.038-7.824 7.824-11.739 7.824-23.475 3.913s-46.95-19.563-89.987-54.776c-35.213-31.299-54.776-66.512-62.602-78.251s0-19.563 3.913-23.475 11.739-11.739 15.65-19.563c7.824-3.913 11.739-11.739 15.65-19.563s0-15.65 0-19.563c0-3.913-27.389-58.688-39.125-82.162-3.913-15.65-15.65-11.739-19.563-11.739h-23.475s-15.65 3.913-27.389 11.739c-11.739 11.739-39.125 39.125-39.125 93.901s39.125 109.551 43.038 117.376c3.913 7.824 78.251 121.29 191.714 168.239 27.389 11.739 46.95 19.563 62.602 23.475 27.389 7.824 50.863 7.824 70.427 3.913 23.475-3.913 66.512-27.389 74.338-50.863 7.824-27.389 7.824-46.95 7.824-50.863-3.913-11.739-11.739-15.65-23.475-19.563z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["whatsapp"],"grid":16},"attrs":[{}],"properties":{"order":151,"id":101,"name":"whatsapp","prevSize":28,"code":59753,"ligatures":"whatsapp"},"setIdx":2,"setId":4,"iconIdx":102},{"icon":{"paths":["M922.957 260.38c0 2.892-0.904 5.602-2.712 8.134-1.808 2.35-3.796 3.616-6.146 3.616-18.076 1.808-32.898 7.593-44.286 17.354-11.57 9.762-23.318 28.74-35.429 56.398l-186.544 420.629c-1.265 3.976-4.7 5.784-10.302 5.784-4.338 0-7.772-1.988-10.302-5.784l-104.661-218.72-120.386 218.72c-2.532 3.976-5.784 5.784-10.302 5.784-5.422 0-8.858-1.988-10.664-5.784l-183.111-420.447c-11.388-26.028-23.498-44.288-36.152-54.588s-30.368-16.81-52.962-19.161c-1.989 0-3.796-1.084-5.422-3.072-1.808-1.989-2.532-4.34-2.532-7.048 0-6.87 1.988-10.302 5.786-10.302 16.268 0 33.44 0.724 51.336 2.168 16.631 1.446 32.176 2.168 46.818 2.168 14.822 0 32.538-0.724 52.782-2.168 21.148-1.446 39.948-2.168 56.396-2.168 3.976 0 5.784 3.434 5.784 10.302s-1.265 10.122-3.616 10.122c-16.268 1.265-29.284 5.422-38.683 12.472s-14.1 16.268-14.1 27.836c0 5.784 1.989 13.196 5.784 21.872l151.297 341.998 86.042-162.322-80.076-167.926c-14.46-30.006-26.21-49.347-35.429-58.024s-23.317-13.92-42.116-15.907c-1.808 0-3.254-1.084-4.88-3.072s-2.35-4.34-2.35-7.048c0-6.87 1.626-10.302 5.062-10.302 16.268 0 31.272 0.724 45.010 2.168 13.196 1.446 27.116 2.168 42.116 2.168 14.64 0 30.006-0.724 46.456-2.168 16.81-1.446 33.44-2.168 49.708-2.168 3.976 0 5.784 3.434 5.784 10.302s-1.084 10.122-3.616 10.122c-32.718 2.168-48.986 11.57-48.986 27.838 0 7.23 3.795 18.618 11.388 33.982l52.964 107.552 52.782-98.333c7.23-13.92 11.026-25.668 11.026-35.068 0-22.414-16.268-34.344-48.986-35.79-2.892 0-4.338-3.434-4.338-10.122 0-2.53 0.722-4.698 2.168-6.87s2.892-3.254 4.338-3.254c11.75 0 26.028 0.724 43.202 2.168 16.268 1.446 29.825 2.168 40.31 2.168 7.592 0 18.618-0.724 33.26-1.808 18.438-1.626 33.982-2.53 46.454-2.53 2.892 0 4.338 2.892 4.338 8.676 0 7.772-2.712 11.75-7.952 11.75-18.98 1.989-34.344 7.23-45.914 15.726s-26.028 27.838-43.382 58.206l-70.678 129.424 95.079 193.775 140.452-326.633c4.88-11.929 7.23-22.956 7.23-32.9 0-23.862-16.268-36.512-48.986-38.14-2.892 0-4.338-3.434-4.338-10.122 0-6.87 2.168-10.302 6.506-10.302 11.93 0 26.028 0.724 42.48 2.168 15.184 1.446 27.838 2.168 37.96 2.168 10.846 0 23.138-0.724 37.236-2.168 14.64-1.446 27.838-2.168 39.586-2.168 3.616 0 5.422 2.892 5.422 8.676z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["wikipedia"],"grid":16},"attrs":[{}],"properties":{"order":152,"id":102,"name":"wikipedia","prevSize":28,"code":59754,"ligatures":"wikipedia"},"setIdx":2,"setId":4,"iconIdx":103},{"icon":{"paths":["M128 511.992c0 148.026 88.322 275.968 216.43 336.578l-183.178-488.784c-21.308 46.508-33.252 97.982-33.252 152.206zM771.228 493.128c0-46.234-17.054-78.236-31.654-103.142-19.458-30.82-37.72-56.894-37.72-87.716 0-34.374 26.766-66.376 64.486-66.376 1.704 0 3.32 0.204 4.976 0.302-68.316-60.97-159.34-98.196-259.308-98.196-134.16 0-252.186 67.046-320.844 168.568 9.010 0.282 17.506 0.454 24.712 0.454 40.154 0 102.34-4.752 102.34-4.752 20.69-1.182 23.132 28.434 2.458 30.822 0 0-20.81 2.368-43.952 3.55l139.834 405.106 84.044-245.456-59.822-159.65c-20.688-1.184-40.278-3.55-40.278-3.55-20.702-1.192-18.272-32.002 2.438-30.822 0 0 63.4 4.752 101.134 4.752 40.146 0 102.35-4.752 102.35-4.752 20.702-1.182 23.14 28.434 2.446 30.822 0 0-20.834 2.372-43.948 3.55l138.78 402.018 38.312-124.632c16.58-51.75 29.216-88.9 29.216-120.9zM518.742 544.704l-115.226 326.058c34.416 9.858 70.794 15.238 108.488 15.238 44.716 0 87.604-7.518 127.518-21.2-1.018-1.602-1.974-3.304-2.75-5.154l-118.030-314.942zM848.962 332.572c1.652 11.91 2.588 24.686 2.588 38.458 0 37.93-7.292 80.596-29.202 133.95l-117.286 330.272c114.162-64.828 190.938-185.288 190.938-323.258 0-65.030-17.060-126.16-47.038-179.422zM512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM512 960c-247.424 0-448-200.576-448-448s200.576-448 448-448 448 200.576 448 448-200.576 448-448 448z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["wordpress"],"grid":16},"attrs":[{}],"properties":{"order":153,"id":103,"name":"wordpress","prevSize":28,"code":59755,"ligatures":"wordpress"},"setIdx":2,"setId":4,"iconIdx":104},{"icon":{"paths":["M539.072 283.262l72.647 250.343c3.568 12.702 7.334 26.439 11.302 41.207 4 14.768 7.634 28.34 10.902 40.774h0.834c1.8-12.402 4.836-25.738 9.102-40.14 4.3-14.302 8.202-27.37 11.77-39.206l35.006-114.754c2.634-8.268 5-15.737 7.102-22.371 2.066-6.634 4.2-12.735 6.401-18.37 2.266-5.568 4.368-10.902 6.468-15.936 2.066-5.034 4.4-10.036 7.102-15.036v-0.933l-52.309 3.5v-69.079h172.33v58.042c-12.135 0-22.738 3.966-31.871 11.934-9.168 7.968-17.070 17.47-23.704 28.338-6.702 10.936-12.135 21.904-16.436 32.806-4.3 10.936-7.468 19.369-9.534 25.272l-103.218 299.95h-96.151l-62.476-193.599c-1.768-4.734-4-11.502-6.634-20.204s-5.368-18.168-8.234-28.338c-2.766-10.234-5.766-20.77-8.836-31.672-3.068-10.936-5.968-21.27-8.634-31.040h-0.866c-1.768 12.702-4.668 26.97-8.668 42.773-3.966 15.802-8.102 31.238-12.402 46.276-4.268 15.037-8.268 28.638-11.934 40.774-3.7 12.135-6.466 20.67-8.202 25.704l-50.043 149.326h-90.016l-109.852-314.554c-4.166-11.534-7.402-20.836-9.768-27.904-2.368-7.102-4.366-13.268-5.968-18.436-1.668-5.136-2.9-9.768-3.766-13.936-0.9-4.168-1.968-8.836-3.135-14.168l-35.439 1.768v-69.112h217.57v58.044c-12.735 0.9-21.671 4.7-26.872 11.502-5.166 6.802-7.702 15.536-7.702 26.138-0.3 5.034 0.034 10.369 1.068 15.936 1.068 5.636 2.468 11.402 4.268 17.303l30.538 110.752c3.566 13.302 7.002 27.27 10.402 41.874 3.368 14.602 6.134 29.47 8.234 44.542h0.866c1.468-6.502 2.934-13.136 4.466-19.936 1.468-6.802 3.068-14.136 4.836-21.938 1.8-7.836 3.868-16.402 6.201-25.704 2.4-9.268 5.166-19.569 8.467-30.738l66.444-227.772c-0.034 0 98.35 0 98.35 0zM912.069 666.294c0 41.107-33.34 74.446-74.446 74.446s-74.378-33.34-74.378-74.446 33.273-74.446 74.378-74.446 74.446 33.34 74.446 74.446z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["write-dot-as"],"grid":16},"attrs":[{}],"properties":{"order":154,"id":104,"name":"write-dot-as","prevSize":28,"code":59756,"ligatures":"write-dot-as"},"setIdx":2,"setId":4,"iconIdx":105},{"icon":{"paths":["M585.067 453.233l285.689-325.206h-67.675l-248.168 282.313-198.064-282.313h-228.502l299.576 426.948-299.576 340.985h67.675l261.903-298.196 209.217 298.196h228.501zM220.445 178.003h103.968l478.613 670.436h-103.994z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["x"],"grid":16},"attrs":[{}],"properties":{"order":155,"id":105,"name":"x","prevSize":28,"code":59757},"setIdx":2,"setId":4,"iconIdx":106},{"icon":{"paths":["M453.386 419.932c-3.599 6.599-50.386 88.775-140.159 246.93-9.797 16.597-21.594 24.994-35.39 24.994h-130.162c-15.395 0-24.193-14.996-16.995-28.79l137.959-242.531c0.399 0 0.399-0.201 0-0.599l-87.774-151.157c-8.598-15.596 0.599-28.191 16.995-28.191h130.162c14.595 0 26.592 8.197 35.989 24.394l89.375 154.955zM893.061 92.227l-287.918 505.856v0.599l183.149 333.104c7.798 14.196 0.399 28.191-16.995 28.191h-130.362c-15.197 0-27.193-7.999-35.989-24.394l-184.746-336.904c6.599-11.598 102.971-181.548 289.518-510.253 9.197-16.195 20.795-24.394 34.991-24.394h131.363c15.995 0 24.592 13.396 16.995 28.191z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["xing"],"grid":16},"attrs":[{}],"properties":{"order":156,"id":106,"name":"xing","prevSize":28,"code":59758,"ligatures":"xing"},"setIdx":2,"setId":4,"iconIdx":107},{"icon":{"paths":["M936.988 199.846l-113.932 44.198-34.565 11.51-110.568 32.759c0.495 6.375 0.495 12.785 0.495 19.655 0 121.192-61.766 268.805-163.975 374.451-99.341-105.256-159.016-250.247-159.016-369.527 0-6.871 0-13.281 0.495-19.655l-110.142-32.618v-0.318l-30.493-10.837-128.276-50.113c5.171 203.533 172.369 414.399 373.352 531.943-46.041 35.912-97.959 63.323-154.589 77.631v11.298c15.37-1.912 30.175-4.959 45.013-7.968 5.312-0.956 10.625-1.7 15.972-2.833l1.665-0.425c48.165-10.271 96.402-27.482 143.504-49.865 14.060 6.906 28.226 13.458 42.498 19.408 3.861 1.771 7.792 3.365 11.687 5.029 7.118 3.045 14.414 5.632 21.675 8.359 44.269 16.787 90.948 28.652 140.246 32.724v-10.802c-59.499-15.052-113.719-44.765-161.496-83.404 200.239-115.596 365.241-325.577 370.447-530.598z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["xmpp"],"grid":16},"attrs":[{}],"properties":{"order":157,"id":107,"name":"xmpp","prevSize":28,"code":59759,"ligatures":"xmpp"},"setIdx":2,"setId":4,"iconIdx":109},{"icon":{"paths":["M924.457 343.678c0 0-8.222-58.054-33.55-83.544-32.070-33.55-67.92-33.714-84.366-35.688-117.751-8.552-294.542-8.552-294.542-8.552h-0.329c0 0-176.791 0-294.542 8.552-16.446 1.974-52.298 2.138-84.366 35.688-25.326 25.49-33.384 83.544-33.384 83.544s-8.388 68.085-8.388 136.335v63.81c0 68.085 8.388 136.335 8.388 136.335s8.222 58.054 33.384 83.544c32.070 33.55 74.17 32.398 92.918 36.016 67.428 6.414 286.319 8.388 286.319 8.388s176.956-0.329 294.707-8.716c16.446-1.974 52.298-2.138 84.366-35.688 25.326-25.49 33.55-83.544 33.55-83.544s8.388-68.085 8.388-136.335v-63.81c-0.164-68.085-8.552-136.335-8.552-136.335zM424.838 621.282v-236.653l227.444 118.738-227.444 117.916z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["youtube"],"grid":16},"attrs":[{}],"properties":{"order":158,"id":108,"name":"youtube","prevSize":28,"code":59760,"ligatures":"youtube"},"setIdx":2,"setId":4,"iconIdx":110}],"height":1024,"metadata":{"name":"base-ui"},"preferences":{"showGlyphs":true,"showCodes":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"icon.","metadata":{"fontFamily":"base-ui","majorVersion":1,"minorVersion":0},"metrics":{"emSize":1024,"baseline":16.18,"whitespace":50},"embed":false,"resetPoint":59648,"showSelector":true,"showMetrics":true,"showMetadata":true,"showVersion":true,"noie8":false,"ie7":true},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"name":"icomoon","classSelector":".icon"},"historySize":50,"gridSize":16,"showGrid":true,"showLiga":true}}
\ No newline at end of file
diff --git a/static/css/fonts/base-ui.woff2 b/static/css/fonts/base-ui.woff2
new file mode 100644
index 0000000..16f5ceb
Binary files /dev/null and b/static/css/fonts/base-ui.woff2 differ
diff --git a/static/css/fonts/fonts.uri.txt b/static/css/fonts/fonts.uri.txt
new file mode 100644
index 0000000..6546529
--- /dev/null
+++ b/static/css/fonts/fonts.uri.txt
@@ -0,0 +1,52 @@
+https://fonts.gstatic.com/s/amiri/v27/J7aRnpd8CGxBHpUrtLMS7JNKIjk.woff2
+https://fonts.gstatic.com/s/amiri/v27/J7acnpd8CGxBHp2VkaY6zp5gGDAbnCA.woff2
+https://fonts.gstatic.com/s/amiri/v27/J7afnpd8CGxBHpUrhLQY67FIEjgjpQ.woff2
+https://fonts.gstatic.com/s/amiri/v27/J7aanpd8CGxBHpUrjAo9_plqHxIZrCE4KA.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGUmQSNjdsmc35JDF1K5GR2SDk_YAPIlWk.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGUmQSNjdsmc35JDF1K5GR2SDk_YAPIlWk.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGWmQSNjdsmc35JDF1K5GRweDg1ZyHKpWiGIg.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGWmQSNjdsmc35JDF1K5GRweDg1ZyHKpWiGIg.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGWmQSNjdsmc35JDF1K5GRweDc1ZyHKpWiGIg.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGWmQSNjdsmc35JDF1K5GRweDc1ZyHKpWiGIg.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGUmQSNjdsmc35JDF1K5GR5SDk_YAPIlWk.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGUmQSNjdsmc35JDF1K5GR5SDk_YAPIlWk.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGUmQSNjdsmc35JDF1K5GRxSDk_YAPIlWk.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGUmQSNjdsmc35JDF1K5GRxSDk_YAPIlWk.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGWmQSNjdsmc35JDF1K5GRweD81ZyHKpWiGIg.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGWmQSNjdsmc35JDF1K5GRweD81ZyHKpWiGIg.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGUmQSNjdsmc35JDF1K5GR4SDk_YAPIlWk.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGUmQSNjdsmc35JDF1K5GR4SDk_YAPIlWk.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGWmQSNjdsmc35JDF1K5GRweDY1ZyHKpWiGIg.woff2
+https://fonts.gstatic.com/s/ebgaramond/v26/SlGWmQSNjdsmc35JDF1K5GRweDY1ZyHKpWiGIg.woff2
+https://fonts.gstatic.com/s/notosanssundanese/v19/FwZH7_84xUkosG2xJo2gm7nFwSLQkdymgViMPossZPHXcw.woff2
+https://fonts.gstatic.com/s/notosanssundanese/v19/FwZH7_84xUkosG2xJo2gm7nFwSLQkdymgViMPossZPHXcw.woff2
+https://raw.githubusercontent.com/antijingoist/opendyslexic/master/compiled/OpenDyslexic-Regular.woff2
+https://raw.githubusercontent.com/antijingoist/opendyslexic/master/compiled/OpenDyslexic-Italic.woff2
+https://raw.githubusercontent.com/antijingoist/opendyslexic/master/compiled/OpenDyslexic-Bold.woff2
+https://raw.githubusercontent.com/antijingoist/opendyslexic/master/compiled/OpenDyslexic-Bold-Italic.woff2
+https://raw.githubusercontent.com/CatharsisFonts/Cormorant/master/fonts/webfonts/Cormorant-Regular.woff2
+https://raw.githubusercontent.com/CatharsisFonts/Cormorant/master/fonts/webfonts/Cormorant-Italic.woff2
+https://raw.githubusercontent.com/CatharsisFonts/Cormorant/master/fonts/webfonts/Cormorant-Bold.woff2
+https://raw.githubusercontent.com/CatharsisFonts/Cormorant/master/fonts/webfonts/Cormorant-BoldItalic.woff2
+https://raw.githubusercontent.com/googlefonts/Inconsolata/main/fonts/webfonts/Inconsolata-Regular.woff2
+https://raw.githubusercontent.com/googlefonts/Inconsolata/main/fonts/webfonts/Inconsolata-Bold.woff2
+https://raw.githubusercontent.com/JulietaUla/Montserrat/master/fonts/webfonts/Montserrat-Regular.woff2
+https://raw.githubusercontent.com/JulietaUla/Montserrat/master/fonts/webfonts/Montserrat-Italic.woff2
+https://raw.githubusercontent.com/JulietaUla/Montserrat/master/fonts/webfonts/Montserrat-Bold.woff2
+https://raw.githubusercontent.com/JulietaUla/Montserrat/master/fonts/webfonts/Montserrat-BoldItalic.woff2
+https://raw.githubusercontent.com/skosch/Crimson/master/Web%20Fonts/crimson-roman-webfont.woff2
+https://raw.githubusercontent.com/skosch/Crimson/master/Web%20Fonts/crimson-italic-webfont.woff2
+https://raw.githubusercontent.com/skosch/Crimson/master/Web%20Fonts/crimson-bold-webfont.woff2
+https://raw.githubusercontent.com/skosch/Crimson/master/Web%20Fonts/crimson-bolditalic-webfont.woff2
+https://raw.githubusercontent.com/Omnibus-Type/Rosario/master/fonts/webfonts/Rosario-Regular.woff2
+https://raw.githubusercontent.com/Omnibus-Type/Rosario/master/fonts/webfonts/Rosario-Italic.woff2
+https://raw.githubusercontent.com/Omnibus-Type/Rosario/master/fonts/webfonts/Rosario-Bold.woff2
+https://raw.githubusercontent.com/Omnibus-Type/Rosario/master/fonts/webfonts/Rosario-BoldItalic.woff2
+https://raw.githubusercontent.com/rsms/inter/master/docs/font-files/Inter-Regular.woff2
+https://raw.githubusercontent.com/rsms/inter/master/docs/font-files/Inter-Italic.woff2
+https://raw.githubusercontent.com/rsms/inter/master/docs/font-files/Inter-Bold.woff2
+https://raw.githubusercontent.com/rsms/inter/master/docs/font-files/Inter-BoldItalic.woff2
+https://raw.githubusercontent.com/imedadel/typeface-eb-garamond-latest/master/files/EBGaramond12-Regular.woff2
+https://raw.githubusercontent.com/imedadel/typeface-eb-garamond-latest/master/files/EBGaramond12-Italic.woff2
+https://raw.githubusercontent.com/googlefonts/ebgaramond-specimen/main/docs/fonts/EBGaramond12-Bold.woff
+https://raw.githubusercontent.com/googlefonts/ebgaramond-specimen/main/docs/fonts/EBGaramond12-BoldItalic.woff
\ No newline at end of file
diff --git a/static/js/katex.js b/static/js/katex.js
new file mode 100644
index 0000000..5cb1298
--- /dev/null
+++ b/static/js/katex.js
@@ -0,0 +1,15 @@
+document.addEventListener("DOMContentLoaded", function() {
+ renderMathInElement(document.getElementById('main-article'), {
+ delimiters: [
+ {left: '$', right: '$', display: false},
+ {left: '$$', right: '$$', display: true},
+ {left: '\(', right: '\)', display: false},
+ {left: '\[', right: '\]', display: true},
+ {left: '\\(', right: '\\)', display: false},
+ {left: '\\[', right: '\\]', display: true},
+ {left: "\begin{equation}", right: "\end{equation}", display: true},
+ {left: "\begin{align}", right: "\end{align}", display: true},
+ ],
+ throwOnError : false
+ });
+});
\ No newline at end of file
diff --git a/static/js/mathjax.js b/static/js/mathjax.js
new file mode 100644
index 0000000..e364708
--- /dev/null
+++ b/static/js/mathjax.js
@@ -0,0 +1,8 @@
+MathJax = {
+ tex: {
+ inlineMath: [['$', '$'], ['\\(', '\\)']],
+ displayMath: [['$$','$$'], ['\\[', '\\]'], ['\begin{equation}','\end{equation}'], ['\begin{align}','\end{align}']],
+ equationNumbers: { autoNumber: "AMS" },
+ extensions: ["AMSmath.js", "AMSsymbols.js"],
+ }
+};
\ No newline at end of file
diff --git a/theme.toml b/theme.toml
new file mode 100644
index 0000000..2ab3f9c
--- /dev/null
+++ b/theme.toml
@@ -0,0 +1,28 @@
+name = "hugo-brewm"
+license = "MIT"
+licenselink = "https://github.com/foxihd/hugo-brewm/LICENSE"
+description = "A fine-brewed Hugo theme made open"
+homepage = "https://github.com/foxihd/hugo-brewm"
+demosite = "https://foxihd.github.io/hugo-brewm"
+tags = [
+ "archive",
+ "blog",
+ "dark",
+ "landing",
+ "light",
+ "minimal",
+ "multilingual",
+ "personal",
+ "responsive"
+ ]
+features = [
+ "accessibility",
+ "breadcrumbs",
+ "mastodon comments",
+ "search"
+ ]
+min_version = "0.116.0"
+
+[author]
+ name = "Foxx"
+ homepage = "https://foxx.ink"
\ No newline at end of file
+ {{ i18n "comments" }} +
++
+ https://{{ $instance }}
+ /@{{ $user }}
+ /{{ $post }}
+
+
+ {{- i18n "noComment" -}}
+
+
+ {{- i18n "fediverseIsLoading" -}}
+
+
+ {{- with resources.GetRemote $api }} + {{- $data := . | transform.Unmarshal }} +