Full Code of adityatelange/hugo-PaperMod for AI

master 10d3dcc0e05c cached
118 files
318.3 KB
151.3k tokens
2 symbols
1 requests
Download .txt
Showing preview only (344K chars total). Download the full file or copy to clipboard to get everything.
Repository: adityatelange/hugo-PaperMod
Branch: master
Commit: 10d3dcc0e05c
Files: 118
Total size: 318.3 KB

Directory structure:
gitextract_zp21r57h/

├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug.yaml
│   │   ├── config.yml
│   │   └── enhancement.yaml
│   ├── PULL_REQUEST_TEMPLATE.md
│   └── workflows/
│       └── gh-pages.yml
├── LICENSE
├── README.md
├── assets/
│   ├── css/
│   │   ├── common/
│   │   │   ├── 404.css
│   │   │   ├── archive.css
│   │   │   ├── footer.css
│   │   │   ├── header.css
│   │   │   ├── main.css
│   │   │   ├── post-entry.css
│   │   │   ├── post-single.css
│   │   │   ├── profile-mode.css
│   │   │   ├── search.css
│   │   │   └── terms.css
│   │   ├── core/
│   │   │   ├── license.css
│   │   │   ├── reset.css
│   │   │   ├── theme-vars.css
│   │   │   └── zmedia.css
│   │   ├── extended/
│   │   │   └── blank.css
│   │   └── includes/
│   │       ├── chroma-mod.css
│   │       ├── chroma-styles.css
│   │       └── scroll-bar.css
│   └── js/
│       ├── fastsearch.js
│       └── license.js
├── go.mod
├── i18n/
│   ├── ar.yaml
│   ├── be.yaml
│   ├── bg.yaml
│   ├── bn.yaml
│   ├── ca.yaml
│   ├── ckb.yaml
│   ├── cs.yaml
│   ├── da.yaml
│   ├── de.yaml
│   ├── el.yaml
│   ├── en.yaml
│   ├── eo.yaml
│   ├── es.yaml
│   ├── fa.yaml
│   ├── fi.yaml
│   ├── fr.yaml
│   ├── he.yaml
│   ├── hi.yaml
│   ├── hr.yaml
│   ├── hu.yaml
│   ├── id.yaml
│   ├── it.yaml
│   ├── ja.yaml
│   ├── ko.yaml
│   ├── ku.yaml
│   ├── mn.yaml
│   ├── ms.yaml
│   ├── nl.yaml
│   ├── no.yaml
│   ├── oc.yaml
│   ├── pa.yaml
│   ├── pl.yaml
│   ├── pnb.yaml
│   ├── pt.yaml
│   ├── ro.yaml
│   ├── ru.yaml
│   ├── sk.yaml
│   ├── sv.yaml
│   ├── sw.yaml
│   ├── th.yaml
│   ├── tr.yaml
│   ├── uk.yaml
│   ├── uz.yaml
│   ├── vi.yaml
│   ├── zh-tw.yaml
│   └── zh.yaml
├── layouts/
│   ├── 404.html
│   ├── _default/
│   │   ├── _markup/
│   │   │   └── render-image.html
│   │   ├── archives.html
│   │   ├── baseof.html
│   │   ├── index.json
│   │   ├── list.html
│   │   ├── llms.txt
│   │   ├── rss.xml
│   │   ├── search.html
│   │   ├── single.html
│   │   └── terms.html
│   ├── partials/
│   │   ├── anchored_headings.html
│   │   ├── author.html
│   │   ├── breadcrumbs.html
│   │   ├── comments.html
│   │   ├── cover.html
│   │   ├── edit_post.html
│   │   ├── extend_footer.html
│   │   ├── extend_head.html
│   │   ├── footer.html
│   │   ├── head.html
│   │   ├── header.html
│   │   ├── home_info.html
│   │   ├── index_profile.html
│   │   ├── post_canonical.html
│   │   ├── post_meta.html
│   │   ├── post_nav_links.html
│   │   ├── share_icons.html
│   │   ├── social_icons.html
│   │   ├── svg.html
│   │   ├── templates/
│   │   │   ├── _funcs/
│   │   │   │   └── get-page-images.html
│   │   │   ├── opengraph.html
│   │   │   ├── schema_json.html
│   │   │   └── twitter_cards.html
│   │   ├── toc.html
│   │   └── translation_list.html
│   ├── robots.txt
│   └── shortcodes/
│       ├── collapse.html
│       ├── figure.html
│       ├── inTextImg.html
│       ├── ltr.html
│       ├── rawhtml.html
│       └── rtl.html
└── theme.toml

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/ISSUE_TEMPLATE/bug.yaml
================================================
name: Bug Report 🐞
description: Create a report to help us improve
title: "[Bug]: "
labels: ["bug", "triage"]
body:
  - type: markdown
    attributes:
      value: |
        Thanks for taking the time to fill out this bug report :)
        - Kindly **DO NOT** ask for instructions.
        - Use [Discussions](https://github.com/adityatelange/hugo-PaperMod/discussions) section if you have a query or doubts or any other relevant question.
        - You may join [Discord community](https://discord.gg/ahpmTvhVmp) to interact with fellow contributors and users
        - Read project's [Wiki](https://github.com/adityatelange/hugo-PaperMod/wiki) for detailed documentation.
        - Read project's [FAQs](https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs) section for Frequently asked questions.
        - Search for previous [Issues](https://github.com/adityatelange/hugo-PaperMod/issues)/[Pull Requests](https://github.com/adityatelange/hugo-PaperMod/pulls) if this issue is already reported or fix has been created.
  - type: textarea
    id: what_happened
    attributes:
      label: What happened?
      description: Also tell us, what did you expect to happen?
      placeholder: A bug happened! Here are the screenshots.. Tell us what you see!
    validations:
      required: true
  - type: textarea
    id: steps_to_reproduce
    attributes:
      label: Steps to reproduce
      description: How to reproduce this issue. Here are the steps...
      placeholder:  |
        1. Go to '...'
        2. Click on '....'
        3. Scroll down to '....'
        4. See error
    validations:
      required: true
  - type: dropdown
    id: hugo_version
    attributes:
      label: Hugo Version
      description: What version of Hugo are you running?
      options:
        - Hugo >= 0.146.0 (Recommended - Minimum version required for PaperMod)
        - Hugo < 0.146.0  (Incompatible - Not recommended to build PaperMod on lower versions)
    validations:
      required: true
  - type: input
    id: papermod_version
    attributes:
      label: PaperMod Version
      description: What version of PaperMod are you running?
      placeholder:  |
        PaperMod v7.0 or
        Branch master or
        Commit-id: 3f50861a0ced88f9b614a43662edeb4c0bc45da8
    validations:
      required: true
  - type: dropdown
    id: browser_type
    attributes:
      label: What kind of devices are you seeing the problem on?
      multiple: true
      options:
        - Mobile
        - Desktop
    validations:
      required: false
  - type: dropdown
    id: browsers
    attributes:
      label: What browsers are you seeing the problem on?
      multiple: true
      options:
        - Firefox
        - Chrome
        - Safari
        - Microsoft Edge
    validations:
      required: false
  - type: input
    id: browser_version
    attributes:
      label: Browser Version
      description: Please add browser version or enter user agent string (navigator.userAgent)
      placeholder: ex. Google Chrome 86.0
    validations:
      required: false
  - type: textarea
    id: logs
    attributes:
      label: Relevant log output
      description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
      render: shell
    validations:
      required: true
  - type: input
    id: repo_url
    attributes:
      label: Repository/Source Code link where this issue can be reproduced
      description: Please add url of the repository where this issue can be reproduced
      placeholder: https://github.com/<username>/<repo name>
    validations:
      required: false
  - type: checkboxes
    id: terms
    attributes:
      label: Code of Conduct
      description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/adityatelange/hugo-PaperMod?tab=coc-ov-file#readme).
      options:
        - label: I agree to follow this project's Code of Conduct
          required: true
    validations:
      required: true


================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
  - name: PaperMod Discussions
    url: https://github.com/adityatelange/hugo-PaperMod/discussions
    about: Please ask and answer questions/doubts here, DO NOT open an issue for questions.


================================================
FILE: .github/ISSUE_TEMPLATE/enhancement.yaml
================================================
name: Enhancement 🚀
description: Propose a new feature or change for enhancing the experience.
title: "[Enhancement]: "
labels: ["enhancement", "triage"]
body:
  - type: markdown
    attributes:
      value: |
        Thanks for taking the time to fill out this enhancement form :)
        - Use [Discussions](https://github.com/adityatelange/hugo-PaperMod/discussions) section if you have a query or doubts or any other relevant question.
        - You may join [Discord community](https://discord.gg/ahpmTvhVmp) to interact with fellow contributors and users
        - Read project's [Wiki](https://github.com/adityatelange/hugo-PaperMod/wiki) for detailed documentation.
        - Read project's [FAQs](https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs) section for Frequently asked questions.
        - Search for previous [Issues](https://github.com/adityatelange/hugo-PaperMod/issues)/[Pull Requests](https://github.com/adityatelange/hugo-PaperMod/pulls) if this issue is already reported or fix has been created.
  - type: textarea
    id: what_happened
    attributes:
      label: What you'd like to propose?
      description:
      placeholder:
    validations:
      required: true
  - type: checkboxes
    id: terms
    attributes:
      label: Code of Conduct
      description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/adityatelange/hugo-PaperMod?tab=coc-ov-file#readme).
      options:
        - label: I agree to follow this project's Code of Conduct
          required: true
    validations:
      required: true

================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
<!--

## READ BEFORE OPENING A PR

Thank you for contributing to hugo-PaperMod!
Please fill out the following questions to make it easier for us to review your
changes. You do not need to check all the boxes below.

**NOTE**: PaperMod does not have any external dependencies fetched from 3rd party
CDN servers. However we do have custom Head/Footer extender templates which you can use
to add those to your website.
https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#custom-head--footer

-->


**What does this PR change? What problem does it solve?**

<!--
Describe the changes and their purpose here, as detailed as and if needed.

Please do not add 2 unrelated changes in a single PR as it is difficult to track/revert those in future.
-->


**Was the change discussed in an issue or in the Discussions before?**

<!--
Link issues and relevant Discussions posts here.

If this PR resolves an issue on GitHub, use "Closes #1234" so that the issue
is closed automatically when this PR is merged.
-->


## PR Checklist

- [ ] This change adds/updates translations and I have used the [template present here](https://github.com/adityatelange/hugo-PaperMod/wiki/Translations#want-to-add-your-language-).
- [ ] I have enabled [maintainer edits for this PR](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork).
- [ ] I have verified that the code works as described/as intended.
- [ ] This change adds a Social Icon which has a permissive license to use it.
- [ ] This change **does not** include any CDN resources/links.
- [ ] This change **does not** include any unrelated scripts such as bash and python scripts.
- [ ] This change updates the overridden internal templates from HUGO's repository.


================================================
FILE: .github/workflows/gh-pages.yml
================================================
name: Deploy Hugo PaperMod Demo to Pages

on:
  push:
    paths-ignore:
      - "images/**"
      - "LICENSE"
      - "README.md"
    branches:
      - master
      - exampleSite
  workflow_dispatch:
    # manual run
    inputs:
      hugoVersion:
        description: "Hugo Version"
        required: false
        default: "0.146.0"

# Allow one concurrent deployment
concurrency:
  group: "pages"
  cancel-in-progress: true

# Default to bash
defaults:
  run:
    shell: bash

jobs:
  # Build job
  build:
    permissions:
      contents: read
    runs-on: ubuntu-latest
    env:
      HUGO_VERSION: ${{ github.event.inputs.hugoVersion || '0.146.0' }}
    steps:
      - name: Install Hugo CLI
        run: |
          wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_linux-amd64.deb \
          && sudo dpkg -i ${{ runner.temp }}/hugo.deb
      - name: Checkout
        uses: actions/checkout@v4
        with:
          ref: exampleSite
      - name: Setup Pages
        id: pages
        uses: actions/configure-pages@v5
      - name: Get Theme
        run: git submodule update --init --recursive
      - name: Update theme to Latest commit
        run: git submodule update --remote --merge
      - name: Build with Hugo
        run: |
          hugo \
            --buildDrafts --gc \
            --baseURL ${{ steps.pages.outputs.base_url }}
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: ./public
  # Deployment job
  deploy:
    permissions:
      pages: write
      id-token: write
    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@v4


================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2020 nanxiaobei and adityatelange
Copyright (c) 2021-2026 adityatelange

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.


================================================
FILE: README.md
================================================
<h1 align=center>Hugo PaperMod | <a href="https://adityatelange.github.io/hugo-PaperMod/" rel="nofollow">Demo</a></h1>

<h4 align=center>☄️ Fast | ☁️ Fluent | 🌙 Smooth | 📱 Responsive</h4>
<br>

> Hugo PaperMod is a theme based on [hugo-paper](https://github.com/nanxiaobei/hugo-paper/tree/4330c8b12aa48bfdecbcad6ad66145f679a430b3).<br>
> The goal of this project is to add more features and customization to the og theme.

**Documentation** can be found here: [**📚 Wiki**](https://github.com/adityatelange/hugo-PaperMod/wiki)

**ExampleSite** can be found here: [**exampleSite**](https://github.com/adityatelange/hugo-PaperMod/tree/exampleSite). Demo is built up with [exampleSite](https://github.com/adityatelange/hugo-PaperMod/tree/exampleSite) as source.

[![hugo-papermod](https://img.shields.io/badge/Hugo--Themes-@PaperMod-blue)](https://themes.gohugo.io/themes/hugo-papermod/)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=>=v0.146.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.146.0)
[![Discord](https://img.shields.io/discord/971046860317921340?label=Discord&logo=discord)](https://discord.gg/ahpmTvhVmp)
[![GitHub](https://img.shields.io/github/license/adityatelange/hugo-PaperMod)](https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE)
![code-size](https://img.shields.io/github/languages/code-size/adityatelange/hugo-PaperMod)
[![X (formerly Twitter) URL](https://img.shields.io/badge/-Share%20on%20X-gray?style=flat&logo=x)](https://x.com/intent/tweet/?text=Checkout%20Hugo%20PaperMod%20%E2%9C%A8%0AA%20fast,%20clean,%20responsive%20Hugo%20theme.&url=https://github.com/adityatelange/hugo-PaperMod&hashtags=Hugo,PaperMod)


---

<p align="center">
  <kbd><img src="https://user-images.githubusercontent.com/21258296/114303440-bfc0ae80-9aeb-11eb-8cfa-48a4bb385a6d.png" alt="Mockup image" title="Mockup"/></kbd>
</p>

---

## Features/Mods 💥

-   Uses Hugo's asset generator with pipelining, fingerprinting, bundling and minification by default.
-   3 Modes:
    -   [Regular Mode.](https://github.com/adityatelange/hugo-PaperMod/wiki/Features#regular-mode-default-mode)
    -   [Home-Info Mode.](https://github.com/adityatelange/hugo-PaperMod/wiki/Features#home-info-mode)
    -   [Profile Mode.](https://github.com/adityatelange/hugo-PaperMod/wiki/Features#profile-mode)
-   Table of Content Generation (newer implementation).
-   Archive of posts.
-   Social Icons (home-info and profile-mode).
-   Social-Media Share buttons on posts.
-   Menu location indicator.
-   Multilingual support. (with language selector).
-   Taxonomies.
-   Cover image for each post (with Responsive image support).
-   Light/Dark theme (automatic theme switch a/c to browser theme and theme-switch button).
-   SEO Friendly.
-   Multiple Author support.
-   Search Page with Fuse.js
-   Other Posts suggestion below a post
-   Breadcrumb Navigation.
-   Code Block Copy buttons.
-   Hugo's Chroma syntax highlighter.
-   No webpack, nodejs and other dependencies are required to edit the theme.

Read Wiki For More Details => **[PaperMod - Features](https://github.com/adityatelange/hugo-PaperMod/wiki/Features)**

---

## Install/Update 📥

Read Wiki For More Details => **[PaperMod - Installation](https://github.com/adityatelange/hugo-PaperMod/wiki/Installation)**

---

## FAQs / How To's Guide 🙋

Read Wiki For More Details => **[PaperMod-FAQs](https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs)**

---

## Social-Icons/Share-Icons 🖼️

Read Wiki For More Details => **[PaperMod-Icons](https://github.com/adityatelange/hugo-PaperMod/wiki/Icons)**

---

## Release Changelog 📃

Release ChangeLog has info about stuff added: **[Releases](https://github.com/adityatelange/hugo-PaperMod/releases)**

---

## [Pagespeed Insights (100% ?)](https://pagespeed.web.dev/report?url=https://adityatelange.github.io/hugo-PaperMod/) 👀

---

## Support 🫶

-   Star 🌟 this repository.
-   Help spread the word about PaperMod by sharing it on social media and recommending it to your friends. 🗣️
-   You can also sponsor 🏅 on [Github Sponsors](https://github.com/sponsors/adityatelange) / [Ko-Fi](https://ko-fi.com/adityatelange).

---

## Special Thanks 🌟

-   [**Highlight.js**](https://github.com/highlightjs/highlight.js)
-   [**Fuse.js**](https://github.com/krisk/fuse)
-   [**Feather Icons**](https://github.com/feathericons/feather)
-   [**Simple Icons**](https://github.com/simple-icons/simple-icons)
-   **All Contributors and Supporters**

---

## Stargazers over time 📈

[![Stargazers over time](https://starchart.cc/adityatelange/hugo-PaperMod.svg?background=%23ffffff00&axis=%23858585&line=%236b63ff)](https://starchart.cc/adityatelange/hugo-PaperMod)


================================================
FILE: assets/css/common/404.css
================================================
.not-found {
    position: absolute;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80%;
    font-size: 160px;
    font-weight: 700;
}


================================================
FILE: assets/css/common/archive.css
================================================
.archive-posts {
    width: 100%;
    font-size: 16px;
}

.archive-year {
    margin-top: 40px;
}

.archive-year:not(:last-of-type) {
    border-bottom: 2px solid var(--border);
}

.archive-month {
    display: flex;
    align-items: flex-start;
    padding: 10px 0;
}

.archive-month-header {
    margin: 25px 0;
    width: 200px;
}

.archive-month:not(:last-of-type) {
    border-bottom: 1px solid var(--border);
}

.archive-entry {
    position: relative;
    padding: 5px;
    margin: 10px 0;
}

.archive-entry-title {
    margin: 5px 0;
    font-weight: 400;
}

.archive-count,
.archive-meta {
    color: var(--secondary);
    font-size: 14px;
}


================================================
FILE: assets/css/common/footer.css
================================================
.footer,
.top-link {
    font-size: 12px;
    color: var(--secondary);
}

.footer {
    max-width: calc(var(--main-width) + var(--gap) * 2);
    margin: auto;
    padding: calc((var(--footer-height) - var(--gap)) / 2) var(--gap);
    text-align: center;
    line-height: 24px;
}

.footer span {
    margin-inline-start: 1px;
    margin-inline-end: 1px;
}

.footer span:last-child {
    white-space: nowrap;
}

.footer a {
    color: inherit;
    border-bottom: 1px solid var(--secondary);
}

.footer a:hover {
    border-bottom: 1px solid var(--primary);
}

.top-link {
    visibility: hidden;
    position: fixed;
    bottom: 60px;
    right: 30px;
    z-index: 99;
    background: var(--tertiary);
    width: 42px;
    height: 42px;
    padding: 12px;
    border-radius: 64px;
    transition: visibility 0.5s, opacity 0.8s linear;
}

.top-link,
.top-link svg {
    filter: drop-shadow(0px 0px 0px var(--theme));
}

.footer a:hover,
.top-link:hover {
    color: var(--primary);
}

.top-link:focus,
#theme-toggle:focus {
    outline: 0;
}


================================================
FILE: assets/css/common/header.css
================================================
.nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: calc(var(--nav-width) + var(--gap) * 2);
    margin-inline-start: auto;
    margin-inline-end: auto;
    line-height: var(--header-height);
}

.nav a {
    display: block;
}

.logo,
#menu {
    display: flex;
    margin: auto var(--gap);
}

.logo {
    flex-wrap: inherit;
}

.logo a {
    font-size: 24px;
    font-weight: 700;
}

.logo a img, .logo a svg {
    display: inline;
    vertical-align: middle;
    pointer-events: none;
    transform: translate(0, -10%);
    border-radius: 6px;
    margin-inline-end: 8px;
}

button#theme-toggle {
    font-size: 26px;
    margin: auto 4px;
}

[data-theme="dark"] #moon {
    display: none;
}

[data-theme="light"] #sun {
    display: none;
}

#menu {
    list-style: none;
    word-break: keep-all;
    overflow-x: auto;
    white-space: nowrap;
}

#menu li + li {
    margin-inline-start: var(--gap);
}

#menu a {
    font-size: 16px;
}

#menu .active {
    font-weight: 500;
    border-bottom: 2px solid currentColor;
}

.lang-switch li,
.lang-switch ul,
.logo-switches {
    display: inline-flex;
    margin: auto 4px;
}

.lang-switch {
    display: flex;
    flex-wrap: inherit;
}

.lang-switch a {
    margin: auto 3px;
    font-size: 16px;
    font-weight: 500;
}

.logo-switches {
    flex-wrap: inherit;
}


================================================
FILE: assets/css/common/main.css
================================================
.main {
    position: relative;
    min-height: calc(100vh - var(--header-height) - var(--footer-height));
    max-width: calc(var(--main-width) + var(--gap) * 2);
    margin: auto;
    padding: var(--gap);
}

.page-header h1 {
    font-size: 40px;
}

.pagination {
    display: flex;
}

.pagination a {
    color: var(--theme);
    font-size: 13px;
    line-height: 36px;
    background: var(--primary);
    border-radius: calc(36px / 2);
    padding: 0 16px;
}

.pagination .next {
    margin-inline-start: auto;
}


.social-icons a {
    display: inline-flex;
    padding: 10px;
}

.social-icons a svg {
    height: 26px;
    width: 26px;
}

code {
    direction: ltr;
}

div.highlight,
pre {
    position: relative;
}

.copy-code {
    display: none;
    position: absolute;
    top: 4px;
    right: 4px;
    color: rgba(255, 255, 255, 0.8);
    background: rgba(78, 78, 78, 0.8);
    border-radius: var(--radius);
    padding: 0 5px;
    font-size: 14px;
    user-select: none;
}

div.highlight:hover .copy-code,
pre:hover .copy-code {
    display: block;
}


================================================
FILE: assets/css/common/post-entry.css
================================================
.first-entry {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 320px;
    margin: var(--gap) 0 calc(var(--gap) * 2) 0;
}

.first-entry .entry-header {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.first-entry .entry-header h1 {
    font-size: 34px;
    line-height: 1.3;
}

.first-entry .entry-content {
    margin: 14px 0;
    font-size: 16px;
    -webkit-line-clamp: 3;
}

.first-entry .entry-footer {
    font-size: 14px;
}

.home-info .entry-content {
    -webkit-line-clamp: unset;
}

.post-entry {
    position: relative;
    margin-bottom: var(--gap);
    padding: var(--gap);
    background: var(--entry);
    border-radius: var(--radius);
    transition: transform 0.1s;
    border: 1px solid var(--border);
}

.post-entry:active {
    transform: scale(0.96);
}

.tag-entry .entry-cover {
    display: none;
}

.entry-header h2 {
    font-size: 24px;
    line-height: 1.3;
}

.entry-content {
    margin: 8px 0;
    color: var(--secondary);
    font-size: 14px;
    line-height: 1.6;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.entry-footer {
    color: var(--secondary);
    font-size: 13px;
}

.entry-link {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.entry-hint {
    color: var(--secondary);
}

.entry-hint-parent {
    display: flex;
    justify-content: space-between;
}

.entry-cover {
    font-size: 14px;
    margin-bottom: var(--gap);
    text-align: center;
}

.entry-cover img {
    border-radius: var(--radius);
    width: 100%;
    height: auto;
}

.entry-cover a {
    box-shadow: 0 1px 0 var(--primary);
}


================================================
FILE: assets/css/common/post-single.css
================================================
.page-header,
.post-header {
    margin: 24px auto var(--content-gap) auto;
}

.post-title {
    margin-bottom: 2px;
    font-size: 40px;
}

.post-description {
    margin-top: 10px;
    margin-bottom: 5px;
}

.post-meta,
.breadcrumbs {
    color: var(--secondary);
    font-size: 14px;
}

.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.i18n_list {
    display: inline-flex;
}

.post-meta .i18n_list li {
    list-style: none;
    margin: auto 3px;
}

.breadcrumbs a {
    font-size: 16px;
}

.post-content {
    color: var(--content);
    margin: 30px 0;
}

.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
    margin: 24px 0 16px;
}

.post-content h1 {
    margin: 40px auto 32px;
    font-size: 40px;
}

.post-content h2 {
    margin: 32px auto 24px;
    font-size: 32px;
}

.post-content h3 {
    font-size: 24px;
}

.post-content h4 {
    font-size: 16px;
}

.post-content h5 {
    font-size: 14px;
}

.post-content h6 {
    font-size: 12px;
}

.post-content a,
.post-meta .i18n_list li a,
.toc a:hover {
    box-shadow: 0 1px 0;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.post-content a code {
    margin: auto 0;
    border-radius: 0;
    box-shadow: 0 -1px 0 var(--primary) inset;
}

.post-content del {
    text-decoration: line-through;
}

.post-content dl,
.post-content ol,
.post-content p,
.post-content figure,
.post-content ul {
    margin-bottom: var(--content-gap);
}

.post-content ol,
.post-content ul {
    padding-inline-start: 20px;
}

.post-content li {
    margin-top: 5px;
}

.post-content li p {
    margin-bottom: 0;
}

.post-content dl {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}

.post-content dt {
    width: 25%;
    font-weight: 700;
}

.post-content dd {
    width: 75%;
    margin-inline-start: 0;
    padding-inline-start: 10px;
}

.post-content dd~dd,
.post-content dt~dt {
    margin-top: 10px;
}

.post-content table {
    margin-bottom: var(--content-gap);
}

.post-content table th,
.post-content table:not(.highlighttable, .highlight table, .gist .highlight) td {
    min-width: 80px;
    padding: 8px 5px;
    line-height: 1.5;
    border-bottom: 1px solid var(--border);
}

.post-content table th {
    text-align: start;
}

.post-content table:not(.highlighttable) td code:only-child {
    margin: auto 0;
}

.post-content .highlight table {
    border-radius: var(--radius);
}

.post-content .highlight:not(table) {
    margin: 10px auto;
    background: var(--code-block-bg) !important;
    border-radius: var(--radius);
    direction: ltr;
}

.post-content li>.highlight {
    margin-inline-end: 0;
}

.post-content ul pre {
    margin-inline-start: calc(var(--gap) * -2);
}

.post-content .highlight pre {
    margin: 0;
}

.post-content .highlighttable {
    table-layout: fixed;
}

.post-content .highlighttable td:first-child {
    width: 40px;
}

.post-content .highlighttable td .linenodiv {
    padding-inline-end: 0 !important;
}

.post-content .highlighttable td .highlight,
.post-content .highlighttable td .linenodiv pre {
    margin-bottom: 0;
}

.post-content code {
    margin: auto 4px;
    padding: 4px 6px;
    font-size: 0.78em;
    line-height: 1.5;
    background: var(--code-bg);
    border-radius: 2px;
}

.post-content pre code {
    display: grid;
    margin: auto 0;
    padding: 10px;
    color: rgb(213, 213, 214);
    background: var(--code-block-bg) !important;
    border-radius: var(--radius);
    overflow-x: auto;
    word-break: break-all;
}

.post-content blockquote {
    margin: 20px 0;
    padding: 0 14px;
    border-inline-start: 3px solid var(--primary);
}

.post-content hr {
    margin: 30px 0;
    height: 2px;
    background: var(--tertiary);
    border: 0;
}

.post-content iframe {
    max-width: 100%;
}

.post-content img {
    border-radius: 4px;
    margin: 1rem 0;
}

.post-content img[src*="#center"] {
    margin: 1rem auto;
}

.post-content figure.align-center {
    text-align: center;
}

.post-content figure>figcaption {
    color: var(--primary);
    font-size: 16px;
    font-weight: bold;
    margin: 8px 0 16px;
}

.post-content figure>figcaption>p {
    color: var(--secondary);
    font-size: 14px;
    font-weight: normal;
}

.toc {
    margin-bottom: var(--content-gap);
    border: 1px solid var(--border);
    background: var(--code-bg);
    border-radius: var(--radius);
    padding: 0.4em;
}

[data-theme="dark"] .toc {
    background: var(--entry);
}

.toc details summary {
    cursor: zoom-in;
    margin-inline-start: 10px;
    user-select: none;
}

.toc details[open] summary {
    cursor: zoom-out;
}

.toc .details {
    display: inline;
    font-weight: 500;
}

.toc .inner {
    margin: 5px 20px;
    padding: 0 10px;
    opacity: 0.9;
}

.toc li ul {
    margin-inline-start: var(--gap);
}

.toc summary:focus {
    outline: 0;
}

.post-footer {
    margin-top: var(--content-gap);
}

.post-footer>* {
    margin-bottom: 10px;
}

.post-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.post-tags li {
    display: inline-block;
}

.post-tags a,
.share-buttons,
.paginav {
    border-radius: var(--radius);
    background: var(--code-bg);
    border: 1px solid var(--border);
}

.post-tags a {
    display: block;
    padding: 0 14px;
    color: var(--secondary);
    font-size: 14px;
    line-height: 34px;
    background: var(--code-bg);
}

.post-tags a:hover,
.paginav a:hover {
    background: var(--border);
}

.share-buttons {
    padding: 10px;
    display: flex;
    justify-content: center;
    overflow-x: auto;
    gap: 10px;
}

.share-buttons li,
.share-buttons a {
    display: inline-flex;
}

.share-buttons a:not(:last-of-type) {
    margin-inline-end: 12px;
}

h1:hover .anchor,
h2:hover .anchor,
h3:hover .anchor,
h4:hover .anchor,
h5:hover .anchor,
h6:hover .anchor {
    display: inline-flex;
    color: var(--secondary);
    margin-inline-start: 8px;
    font-weight: 500;
    user-select: none;
}

.paginav {
    display: flex;
    line-height: 30px;
}

.paginav a {
    padding-inline-start: 14px;
    padding-inline-end: 14px;
    border-radius: var(--radius);
}

.paginav .title {
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: small;
    color: var(--secondary);
}

.paginav .prev,
.paginav .next {
    width: 50%;
}

.paginav span:hover:not(.title) {
    box-shadow: 0 1px 0;
}

.paginav .next {
    margin-inline-start: auto;
    text-align: right;
}

[dir="rtl"] .paginav .next {
    text-align: left;
}

h1>a>svg {
    display: inline;
}

img.in-text {
    display: inline;
    margin: auto;
}


================================================
FILE: assets/css/common/profile-mode.css
================================================
.buttons,
.main .profile {
    display: flex;
    justify-content: center;
}

.main .profile {
    align-items: center;
    min-height: calc(100vh - var(--header-height) - var(--footer-height) - (var(--gap) * 2));
    text-align: center;
}

.profile .profile_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.profile img {
    border-radius: 50%;
}

.buttons {
    flex-wrap: wrap;
    max-width: 400px;
}

.button {
    background: var(--tertiary);
    border-radius: var(--radius);
    margin: 8px;
    padding: 6px;
    transition: transform 0.1s;
}

.button-inner {
    padding: 0 8px;
}

.button:active {
    transform: scale(0.96);
}


================================================
FILE: assets/css/common/search.css
================================================
#searchbox input {
    padding: 4px 10px;
    width: 100%;
    color: var(--primary);
    font-weight: bold;
    border: 2px solid var(--tertiary);
    border-radius: var(--radius);
}

#searchbox input:focus {
    border-color: var(--secondary);
}

#searchResults li {
    list-style: none;
    border-radius: var(--radius);
    padding: 10px;
    margin: 10px 0;
    position: relative;
    font-weight: 500;
}

#searchResults {
    margin: 10px 0;
    width: 100%;
}

#searchResults li:active {
    transition: transform 0.1s;
    transform: scale(0.98);
}

#searchResults a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    outline: none;
}

#searchResults .focus {
    transform: scale(0.98);
    border: 2px solid var(--tertiary);
}


================================================
FILE: assets/css/common/terms.css
================================================
.terms-tags li {
    display: inline-block;
    margin: 10px;
    font-weight: 500;
}

.terms-tags a {
    display: block;
    padding: 3px 10px;
    background: var(--tertiary);
    border-radius: 6px;
    transition: transform 0.1s;
}

.terms-tags a:active {
    background: var(--tertiary);
    transform: scale(0.96);
}


================================================
FILE: assets/css/core/license.css
================================================
/*
  PaperMod v8+
  License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE
  Copyright (c) 2020 nanxiaobei and adityatelange
  Copyright (c) 2021-2026 adityatelange
*/


================================================
FILE: assets/css/core/reset.css
================================================
*,
::after,
::before {
    box-sizing: border-box;
}

html {
    -webkit-tap-highlight-color: transparent;
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

a,
button,
body,
h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--primary);
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: 18px;
    line-height: 1.6;
    word-break: break-word;
    background: var(--theme);
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
table {
    display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.2;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin-top: 0;
    margin-bottom: 0;
}

ul {
    padding: 0;
}

a {
    text-decoration: none;
}

body,
figure,
ul {
    margin: 0;
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    overflow-x: auto;
    word-break: keep-all;
}

button,
input,
textarea {
    padding: 0;
    font: inherit;
    background: 0 0;
    border: 0;
}

input,
textarea {
    outline: 0;
}

button,
input[type=button],
input[type=submit] {
    cursor: pointer;
}

input:-webkit-autofill,
textarea:-webkit-autofill {
    box-shadow: 0 0 0 50px var(--theme) inset;
}

img {
    display: block;
    max-width: 100%;
}


================================================
FILE: assets/css/core/theme-vars.css
================================================
:root {
    --gap: 24px;
    --content-gap: 20px;
    --nav-width: 1024px;
    --main-width: 720px;
    --header-height: 60px;
    --footer-height: 60px;
    --radius: 8px;
    --theme: rgb(255, 255, 255);
    --entry: rgb(255, 255, 255);
    --primary: rgb(30, 30, 30);
    --secondary: rgb(108, 108, 108);
    --tertiary: rgb(214, 214, 214);
    --content: rgb(31, 31, 31);
    --code-block-bg: rgb(28, 29, 33);
    --code-bg: rgb(245, 245, 245);
    --border: rgb(238, 238, 238);
    color-scheme: light;
}

:root[data-theme="dark"] {
    --theme: rgb(29, 30, 32);
    --entry: rgb(46, 46, 51);
    --primary: rgb(218, 218, 219);
    --secondary: rgb(155, 156, 157);
    --tertiary: rgb(65, 66, 68);
    --content: rgb(196, 196, 197);
    --code-block-bg: rgb(46, 46, 51);
    --code-bg: rgb(55, 56, 62);
    --border: rgb(51, 51, 51);
    color-scheme: dark;
}

.list {
    background: var(--code-bg);
}

[data-theme="dark"] .list {
    background: var(--theme);
}


================================================
FILE: assets/css/core/zmedia.css
================================================
@media screen and (max-width: 768px) {
    /* theme-vars */
    :root {
        --gap: 14px;
    }

    /* profile-mode */
    .profile img {
        transform: scale(0.85);
    }

    /* post-entry */
    .first-entry {
        min-height: 260px;
    }

    /* archive */
    .archive-month {
        flex-direction: column;
    }

    .archive-year {
        margin-top: 20px;
    }

    /* footer */
    .footer {
        padding: calc((var(--footer-height) - var(--gap) - 10px) / 2) var(--gap);
    }
}

/* footer */
@media screen and (max-width: 900px) {
    .list .top-link {
        transform: translateY(-5rem);
    }
}

@media screen and (max-width: 340px) {
    .share-buttons {
        justify-content: unset;
    }
}

@media (prefers-reduced-motion) {
    /* terms; profile-mode; post-single; post-entry; post-entry; search; search */
    .terms-tags a:active,
    .button:active,
    .post-entry:active,
    .top-link,
    #searchResults .focus,
    #searchResults li:active {
        transform: none;
    }
}


================================================
FILE: assets/css/extended/blank.css
================================================
/*
This is just a placeholder blank stylesheet so as to support adding custom styles budled with theme's default styles

Read https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#bundling-custom-css-with-themes-assets for more info
*/


================================================
FILE: assets/css/includes/chroma-mod.css
================================================
.chroma {
    background-color: unset !important;
}

.chroma .hl {
    display: flex;
}

.chroma .lnt {
    padding: 0 0 0 12px;
}

.highlight pre.chroma code {
    padding: 8px 0;
}

.highlight pre.chroma .line .cl,
.chroma .ln {
    padding: 0 10px;
}

.chroma .lntd:last-of-type {
    width: 100%;
}


================================================
FILE: assets/css/includes/chroma-styles.css
================================================
/* Background */ .bg { color: #cad3f5; background-color: #24273a; }
/* PreWrapper */ .chroma { color: #cad3f5; background-color: #24273a; }
/* Other */ .chroma .x {  }
/* Error */ .chroma .err { color: #ed8796 }
/* CodeLine */ .chroma .cl {  }
/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
/* LineHighlight */ .chroma .hl { background-color: #474733 }
/* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #8087a2 }
/* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #8087a2 }
/* Line */ .chroma .line { display: flex; }
/* Keyword */ .chroma .k { color: #c6a0f6 }
/* KeywordConstant */ .chroma .kc { color: #f5a97f }
/* KeywordDeclaration */ .chroma .kd { color: #ed8796 }
/* KeywordNamespace */ .chroma .kn { color: #8bd5ca }
/* KeywordPseudo */ .chroma .kp { color: #c6a0f6 }
/* KeywordReserved */ .chroma .kr { color: #c6a0f6 }
/* KeywordType */ .chroma .kt { color: #ed8796 }
/* Name */ .chroma .n {  }
/* NameAttribute */ .chroma .na { color: #8aadf4 }
/* NameBuiltin */ .chroma .nb { color: #91d7e3 }
/* NameBuiltinPseudo */ .chroma .bp { color: #91d7e3 }
/* NameClass */ .chroma .nc { color: #eed49f }
/* NameConstant */ .chroma .no { color: #eed49f }
/* NameDecorator */ .chroma .nd { color: #8aadf4; font-weight: bold }
/* NameEntity */ .chroma .ni { color: #8bd5ca }
/* NameException */ .chroma .ne { color: #f5a97f }
/* NameFunction */ .chroma .nf { color: #8aadf4 }
/* NameFunctionMagic */ .chroma .fm { color: #8aadf4 }
/* NameLabel */ .chroma .nl { color: #91d7e3 }
/* NameNamespace */ .chroma .nn { color: #f5a97f }
/* NameOther */ .chroma .nx {  }
/* NameProperty */ .chroma .py { color: #f5a97f }
/* NameTag */ .chroma .nt { color: #c6a0f6 }
/* NameVariable */ .chroma .nv { color: #f4dbd6 }
/* NameVariableClass */ .chroma .vc { color: #f4dbd6 }
/* NameVariableGlobal */ .chroma .vg { color: #f4dbd6 }
/* NameVariableInstance */ .chroma .vi { color: #f4dbd6 }
/* NameVariableMagic */ .chroma .vm { color: #f4dbd6 }
/* Literal */ .chroma .l {  }
/* LiteralDate */ .chroma .ld {  }
/* LiteralString */ .chroma .s { color: #a6da95 }
/* LiteralStringAffix */ .chroma .sa { color: #ed8796 }
/* LiteralStringBacktick */ .chroma .sb { color: #a6da95 }
/* LiteralStringChar */ .chroma .sc { color: #a6da95 }
/* LiteralStringDelimiter */ .chroma .dl { color: #8aadf4 }
/* LiteralStringDoc */ .chroma .sd { color: #6e738d }
/* LiteralStringDouble */ .chroma .s2 { color: #a6da95 }
/* LiteralStringEscape */ .chroma .se { color: #8aadf4 }
/* LiteralStringHeredoc */ .chroma .sh { color: #6e738d }
/* LiteralStringInterpol */ .chroma .si { color: #a6da95 }
/* LiteralStringOther */ .chroma .sx { color: #a6da95 }
/* LiteralStringRegex */ .chroma .sr { color: #8bd5ca }
/* LiteralStringSingle */ .chroma .s1 { color: #a6da95 }
/* LiteralStringSymbol */ .chroma .ss { color: #a6da95 }
/* LiteralNumber */ .chroma .m { color: #f5a97f }
/* LiteralNumberBin */ .chroma .mb { color: #f5a97f }
/* LiteralNumberFloat */ .chroma .mf { color: #f5a97f }
/* LiteralNumberHex */ .chroma .mh { color: #f5a97f }
/* LiteralNumberInteger */ .chroma .mi { color: #f5a97f }
/* LiteralNumberIntegerLong */ .chroma .il { color: #f5a97f }
/* LiteralNumberOct */ .chroma .mo { color: #f5a97f }
/* Operator */ .chroma .o { color: #91d7e3; font-weight: bold }
/* OperatorWord */ .chroma .ow { color: #91d7e3; font-weight: bold }
/* Punctuation */ .chroma .p {  }
/* Comment */ .chroma .c { color: #6e738d; font-style: italic }
/* CommentHashbang */ .chroma .ch { color: #6e738d; font-style: italic }
/* CommentMultiline */ .chroma .cm { color: #6e738d; font-style: italic }
/* CommentSingle */ .chroma .c1 { color: #6e738d; font-style: italic }
/* CommentSpecial */ .chroma .cs { color: #6e738d; font-style: italic }
/* CommentPreproc */ .chroma .cp { color: #6e738d; font-style: italic }
/* CommentPreprocFile */ .chroma .cpf { color: #6e738d; font-weight: bold; font-style: italic }
/* Generic */ .chroma .g {  }
/* GenericDeleted */ .chroma .gd { color: #ed8796; background-color: #363a4f }
/* GenericEmph */ .chroma .ge { font-style: italic }
/* GenericError */ .chroma .gr { color: #ed8796 }
/* GenericHeading */ .chroma .gh { color: #f5a97f; font-weight: bold }
/* GenericInserted */ .chroma .gi { color: #a6da95; background-color: #363a4f }
/* GenericOutput */ .chroma .go {  }
/* GenericPrompt */ .chroma .gp {  }
/* GenericStrong */ .chroma .gs { font-weight: bold }
/* GenericSubheading */ .chroma .gu { color: #f5a97f; font-weight: bold }
/* GenericTraceback */ .chroma .gt { color: #ed8796 }
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
/* TextWhitespace */ .chroma .w {  }


================================================
FILE: assets/css/includes/scroll-bar.css
================================================
/* from reset */
::-webkit-scrollbar-track {
    background: 0 0;
}

::-webkit-scrollbar-thumb {
    background: var(--tertiary);
    border: 5px solid var(--theme);
    border-radius: var(--radius);
}

[data-theme="light"] .list::-webkit-scrollbar-thumb {
    border: 5px solid var(--code-bg);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--secondary);
}

::-webkit-scrollbar:not(.highlighttable, .highlight table, .gist .highlight) {
    background: var(--theme);
}

/* from post-single */
.post-content .highlighttable td .highlight pre code::-webkit-scrollbar {
    display: none;
}

.post-content :not(table) ::-webkit-scrollbar-thumb {
    border: 2px solid var(--code-block-bg);
    background: rgb(113, 113, 117);
}

.post-content :not(table) ::-webkit-scrollbar-thumb:hover {
    background: rgb(163, 163, 165);
}

.gist table::-webkit-scrollbar-thumb {
    border: 2px solid rgb(255, 255, 255);
    background: rgb(173, 173, 173);
}

.gist table::-webkit-scrollbar-thumb:hover {
    background: rgb(112, 112, 112);
}

.post-content table::-webkit-scrollbar-thumb {
    border-width: 2px;
}

/* from zmedia */
@media screen and (min-width: 768px) {

    /* reset */
    ::-webkit-scrollbar {
        width: 19px;
        height: 11px;
    }
}


================================================
FILE: assets/js/fastsearch.js
================================================
import * as params from '@params';

let fuse; // holds our search engine
let resList = document.getElementById('searchResults');
let sInput = document.getElementById('searchInput');
let first, last, current_elem = null
let resultsAvailable = false;

// load our search index
window.onload = function () {
    let xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4) {
            if (xhr.status === 200) {
                let data = JSON.parse(xhr.responseText);
                if (data) {
                    // fuse.js options; check fuse.js website for details
                    let options = {
                        distance: 100,
                        threshold: 0.4,
                        ignoreLocation: true,
                        keys: [
                            'title',
                            'permalink',
                            'summary',
                            'content'
                        ]
                    };
                    if (params.fuseOpts) {
                        options = {
                            isCaseSensitive: params.fuseOpts.iscasesensitive ?? false,
                            includeScore: params.fuseOpts.includescore ?? false,
                            includeMatches: params.fuseOpts.includematches ?? false,
                            minMatchCharLength: params.fuseOpts.minmatchcharlength ?? 1,
                            shouldSort: params.fuseOpts.shouldsort ?? true,
                            findAllMatches: params.fuseOpts.findallmatches ?? false,
                            keys: params.fuseOpts.keys ?? ['title', 'permalink', 'summary', 'content'],
                            location: params.fuseOpts.location ?? 0,
                            threshold: params.fuseOpts.threshold ?? 0.4,
                            distance: params.fuseOpts.distance ?? 100,
                            ignoreLocation: params.fuseOpts.ignorelocation ?? true
                        }
                    }
                    fuse = new Fuse(data, options); // build the index from the json file
                }
            } else {
                console.log(xhr.responseText);
            }
        }
    };
    xhr.open('GET', "../index.json");
    xhr.send();
}

function activeToggle(ae) {
    document.querySelectorAll('.focus').forEach(function (element) {
        // rm focus class
        element.classList.remove("focus")
    });
    if (ae) {
        ae.focus()
        document.activeElement = current_elem = ae;
        ae.parentElement.classList.add("focus")
    } else {
        document.activeElement.parentElement.classList.add("focus")
    }
}

function reset() {
    resultsAvailable = false;
    resList.innerHTML = sInput.value = ''; // clear inputbox and searchResults
    sInput.focus(); // shift focus to input box
}

// execute search as each character is typed
sInput.onkeyup = function (e) {
    // run a search query (for "term") every time a letter is typed
    // in the search box
    if (fuse) {
        let results;
        if (params.fuseOpts) {
            results = fuse.search(this.value.trim(), {limit: params.fuseOpts.limit}); // the actual query being run using fuse.js along with options
        } else {
            results = fuse.search(this.value.trim()); // the actual query being run using fuse.js
        }
        if (results.length !== 0) {
            // build our html if result exists
            let resultSet = ''; // our results bucket

            for (let item in results) {
                resultSet += `<li class="post-entry"><header class="entry-header">${results[item].item.title}&nbsp;»</header>` +
                    `<a href="${results[item].item.permalink}" aria-label="${results[item].item.title}"></a></li>`
            }

            resList.innerHTML = resultSet;
            resultsAvailable = true;
            first = resList.firstChild;
            last = resList.lastChild;
        } else {
            resultsAvailable = false;
            resList.innerHTML = '';
        }
    }
}

sInput.addEventListener('search', function (e) {
    // clicked on x
    if (!this.value) reset()
})

// kb bindings
document.onkeydown = function (e) {
    let key = e.key;
    let ae = document.activeElement;

    let inbox = document.getElementById("searchbox").contains(ae)

    if (ae === sInput) {
        let elements = document.getElementsByClassName('focus');
        while (elements.length > 0) {
            elements[0].classList.remove('focus');
        }
    } else if (current_elem) ae = current_elem;

    if (key === "Escape") {
        reset()
    } else if (!resultsAvailable || !inbox) {
        return
    } else if (key === "ArrowDown") {
        e.preventDefault();
        if (ae == sInput) {
            // if the currently focused element is the search input, focus the <a> of first <li>
            activeToggle(resList.firstChild.lastChild);
        } else if (ae.parentElement != last) {
            // if the currently focused element's parent is last, do nothing
            // otherwise select the next search result
            activeToggle(ae.parentElement.nextSibling.lastChild);
        }
    } else if (key === "ArrowUp") {
        e.preventDefault();
        if (ae.parentElement == first) {
            // if the currently focused element is first item, go to input box
            activeToggle(sInput);
        } else if (ae != sInput) {
            // if the currently focused element is input box, do nothing
            // otherwise select the previous search result
            activeToggle(ae.parentElement.previousSibling.lastChild);
        }
    } else if (key === "ArrowRight") {
        ae.click(); // click on active link
    }
}


================================================
FILE: assets/js/license.js
================================================
/*
  PaperMod v8+
  License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE
  Copyright (c) 2020 nanxiaobei and adityatelange
  Copyright (c) 2021-2026 adityatelange
*/


================================================
FILE: go.mod
================================================
module github.com/adityatelange/hugo-PaperMod

go 1.12


================================================
FILE: i18n/ar.yaml
================================================
- id: prev_page
  translation: "السابق"

- id: next_page
  translation: "التالي"

- id: read_time
  translation:
    one: "دقيقة واحدة"
    two: "دقيقتان"
    few: "بضع ثوان"
    zero: "الآن"
    other: "دقائق {{ .Count }}"

- id: toc
  translation: "فهرس المحتوى"

- id: translations
  translation: "ترجمات أخرى"
  
- id: home
  translation: "الصفحة الرئيسية"

- id: code_copied
  translation: "تم النسخ!"

- id: code_copy
  translation: "نسخ الكود"


================================================
FILE: i18n/be.yaml
================================================
- id: prev_page
  translation: "Папярэдняя"

- id: next_page
  translation: "Наступная"

- id: read_time
  translation:
    zero: "0 хвілін"
    one: "1 хвіліна"
    few: "{{ .Count }} хвіліны"
    many: "{{ .Count }} хвілін"
    other: "{{ .Count }} хвілін"

- id: words
  translation:
    zero: "няма слоў"
    one: "1 слова"
    few: "{{ .Count }} слова"
    many: "{{ .Count }} слоў"
    other: "{{ .Count }} слова"

- id: toc
  translation: "Змест"

- id: translations
  translation: "Пераклады"

- id: home
  translation: "Галоўная"

- id: edit_post
  translation: "Рэдагаваць"

- id: code_copy
  translation: "капіяваць"

- id: code_copied
  translation: "скапіявана!"


================================================
FILE: i18n/bg.yaml
================================================
- id: prev_page
  translation: "Предишна страница"

- id: next_page
  translation: "Следваща страница"

- id: read_time
  translation:
    one : "1 мин"
    other: "{{ .Count }} мин"

- id: toc
  translation: "Съдържание"

- id: translations
  translation: "Преводи"


================================================
FILE: i18n/bn.yaml
================================================
- id: prev_page
  translation: "পূর্ববর্তী"

- id: next_page
  translation: "পরবর্তী"

- id: read_time
  translation:
    one : "১ মিনিট"
    other: "{{ .Count }} মিনিট"
    
- id: words
  translation:
    one : "১ টি শব্দ"
    other: "{{ .Count }} টি শব্দ"

- id: toc
  translation: "সূচিপত্র"

- id: translations
  translation: "অনুবাদসমূহ"

- id: home
  translation: "হোম"

- id: edit_post
  translation: "সম্পাদনা করুন"

- id: code_copy
  translation: "কপি করুন"

- id: code_copied
  translation: "কপি হয়েছে!"


================================================
FILE: i18n/ca.yaml
================================================
- id: prev_page
  translation: "Pàgina anterior"

- id: next_page
  translation: "Pàgina següent"

- id: read_time
  translation:
    one : "1 minut"
    other: "{{ .Count }} minuts"

- id: words
  translation:
    one : "paraula"
    other: "{{ .Count }} paraules"

- id: toc
  translation: "Taula de Continguts"

- id: translations
  translation: "Traduccions"

- id: home
  translation: "Inici"

- id: edit_post
  translation: "Editar"

- id: code_copy
  translation: "copiar"

- id: code_copied
  translation: "copiat!"

================================================
FILE: i18n/ckb.yaml
================================================
- id: prev_page
  translation: "پەڕەی پێشتر"

- id: next_page
  translation: "پەڕەی دواتر"

- id: read_time
  translation:
    one : "1 خولەک"
    other: "{{ .Count }} خولەک"

- id: toc
  translation: "پێڕست"

- id: translations
  translation: "وەرگێڕانەکان"

- id: home
  translation: "ماڵەوە"

- id: code_copy
  translation: "لەبەری بگرەوە"

- id: code_copied
  translation: "لەبەر گیرایەوە!"


================================================
FILE: i18n/cs.yaml
================================================
- id: prev_page
  translation: "Předchozí"

- id: next_page
  translation: "Další"

- id: read_time
  translation:
    one : "1 min"
    other: "{{ .Count }} min"

- id: words
  translation:
    one : "slovo"
    other: "{{ .Count }} slov"

- id: toc
  translation: "Obsah"

- id: translations
  translation: "Překlady"

- id: home
  translation: "Domů"

- id: edit_post
  translation: "Upravit"

- id: code_copy
  translation: "kopírovat"

- id: code_copied
  translation: "zkopírováno!"


================================================
FILE: i18n/da.yaml
================================================
- id: prev_page
  translation: "Forrige Side"

- id: next_page
  translation: "Næste Side"

- id: read_time
  translation:
    one: "1 min"
    other: "{{ .Count }} min"

- id: toc
  translation: "Indholdsfortegnelse"

- id: translations
  translation: "Oversættelser"

- id: home
  translation: "Start"

- id: edit_post
  translation: "Rediger"

- id: code_copy
  translation: "kopier"

- id: code_copied
  translation: "kopieret!"


================================================
FILE: i18n/de.yaml
================================================
- id: prev_page
  translation: "Vorherige"

- id: next_page
  translation: "Nächste"

- id: read_time
  translation:
    one: "1 Minute"
    other: "{{ .Count }} Minuten"

- id: words
  translation:
    one : "Wort"
    other: "{{ .Count }} Wörter"

- id: toc
  translation: "Inhaltsverzeichnis"

- id: translations
  translation: "Übersetzungen"

- id: home
  translation: "Home"

- id: edit_post
  translation: "Bearbeiten"

- id: code_copy
  translation: "Kopieren"

- id: code_copied
  translation: "Kopiert!"


================================================
FILE: i18n/el.yaml
================================================
- id: prev_page
  translation: "Προηγούμενο"

- id: next_page
  translation: "Επόμενο"

- id: read_time
  translation:
    one: "1 λεπτό"
    other: "{{ .Count }} λεπτά"

- id: words
  translation:
    one: "λέξη"
    other: "{{ .Count }} λέξεις"

- id: toc
  translation: "Πίνακας Περιεχομένων"

- id: translations
  translation: "Μεταφράσεις"

- id: home
  translation: "Αρχική"

- id: edit_post
  translation: "Επεξεργασία"

- id: code_copy
  translation: "αντιγραφή"

- id: code_copied
  translation: "αντιγράφηκε!"

================================================
FILE: i18n/en.yaml
================================================
- id: prev_page
  translation: "Prev"

- id: next_page
  translation: "Next"

- id: read_time
  translation:
    one : "1 min"
    other: "{{ .Count }} min"

- id: words
  translation:
    one : "word"
    other: "{{ .Count }} words"

- id: toc
  translation: "Table of Contents"

- id: translations
  translation: "Translations"

- id: home
  translation: "Home"

- id: edit_post
  translation: "Edit"

- id: code_copy
  translation: "copy"

- id: code_copied
  translation: "copied!"


================================================
FILE: i18n/eo.yaml
================================================
- id: prev_page
  translation: "antaŭa paĝo"

- id: next_page
  translation: "sekva paĝo"

- id: read_time
  translation:
    one : "1 min"
    other: "{{ .Count }} min"

- id: toc
  translation: "Enhavo"

- id: translations
  translation: "tradukoj"

- id: home
  translation: "ĉefpaĝo"

- id: code_copy
  translation: "kopii"

- id: code_copied
  translation: "kopiite!"


================================================
FILE: i18n/es.yaml
================================================
- id: prev_page
  translation: "Anterior"

- id: next_page
  translation: "Siguiente"

- id: read_time
  translation:
    one : "1 min"
    other: "{{ .Count }} min"

- id: words
  translation:
    one : "palabra"
    other: "{{ .Count }} palabras"

- id: toc
  translation: "Tabla de Contenidos"

- id: translations
  translation: "Traducciones"

- id: home
  translation: "Inicio"

- id: edit_post
  translation: "Editar"

- id: code_copy
  translation: "copiar"

- id: code_copied
  translation: "¡copiado!"


================================================
FILE: i18n/fa.yaml
================================================
- id: prev_page
  translation: "صفحه قبلی"

- id: next_page
  translation: "صفحه بعدی"

- id: read_time
  translation:
    one: "۱ دقیقه"
    other: "{{ .Count }} دقیقه"

- id: toc
  translation: "فهرست مطالب"

- id: translations
  translation: "ترجمه ها"

- id: home
  translation: "خانه"

- id: edit_post
  translation: "ویرایش"

- id: code_copy
  translation: "کپی"

- id: code_copied
  translation: "کپی شد!"

================================================
FILE: i18n/fi.yaml
================================================
- id: prev_page
  translation: "Edellinen"

- id: next_page
  translation: "Seuraava"

- id: read_time
  translation:
    one : "1 min"
    other: "{{ .Count }} minuuttia"

- id: words
  translation:
    one : "sana"
    other: "{{ .Count }} sanaa"

- id: toc
  translation: "Sisällysluettelo"

- id: translations
  translation: "Käännökset"

- id: home
  translation: "Etusivu"

- id: edit_post
  translation: "Muokkaa"

- id: code_copy
  translation: "Kopioi"

- id: code_copied
  translation: "Kopioitu!"


================================================
FILE: i18n/fr.yaml
================================================
- id: prev_page
  translation: "Précédent"

- id: next_page
  translation: "Suivant"

- id: read_time
  translation:
    one : "1 min"
    other: "{{ .Count }} min"

- id: words
  translation:
    one : "mot"
    other: "{{ .Count }} mots"

- id: toc
  translation: "Table des matières"

- id: translations
  translation: "Traductions"

- id: home
  translation: "Accueil"

- id: edit_post
  translation: "Modifier"

- id: code_copy
  translation: "Copier"

- id: code_copied
  translation: "Copié !"


================================================
FILE: i18n/he.yaml
================================================
- id: prev_page
  translation: "הקודם"

- id: next_page
  translation: "הבא"

- id: read_time
  translation:
    one: "דקה אחת"
    other: "{{ .Count }} דקות"

- id: words
  translation:
    one: "מילה אחת"
    other: "{{ .Count }} מילים"

- id: toc
  translation: "תוכן עניינים"

- id: translations
  translation: "תרגומים"

- id: home
  translation: "בית"

- id: edit_post
  translation: "ערוך"

- id: code_copy
  translation: "העתק"

- id: code_copied
  translation: "הועתק!"


================================================
FILE: i18n/hi.yaml
================================================
- id: prev_page
  translation: "पिछला"

- id: next_page
  translation: "अगला"

- id: read_time
  translation:
    one : "एक मिनट"
    other: "{{ .Count }} मिनट"

- id: edit_post
  translation: "सुधारें"

- id: toc
  translation: "विषय - सूची"

- id: translations
  translation: "अनुवाद"


================================================
FILE: i18n/hr.yaml
================================================
- id: prev_page
  translation: "Prethodna stranica"

- id: next_page
  translation: "Sljedeća stranica"

- id: read_time
  translation:
    one : "1 minuta"
    other: "{{ .Count }} minute"

- id: words
  translation:
    one : "riječ"
    other: "{{ .Count }} riječi"

- id: toc
  translation: "Tablica Sadržaja"

- id: translations
  translation: "Prijevodi"

- id: home
  translation: "Početna stranica"

- id: edit_post
  translation: "Promjeni"

- id: code_copy
  translation: "kopiraj"

- id: code_copied
  translation: "kopirano!"


================================================
FILE: i18n/hu.yaml
================================================
- id: prev_page
  translation: "Előző oldal"

- id: next_page
  translation: "Következő oldal"

- id: read_time
  translation:
    one: "1 perc"
    other: "{{ .Count }} perc"

- id: toc
  translation: "Tartalomjegyzék"

- id: translations
  translation: "Fordítások"


================================================
FILE: i18n/id.yaml
================================================
- id: prev_page
  translation: "Sebelumnya"

- id: next_page
  translation: "Selanjutnya"

- id: read_time
  translation:
    one : "1 menit"
    other: "{{ .Count }} menit"

- id: words
  translation:
    one : "kata"
    other: "{{ .Count }} kata"

- id: toc
  translation: "Daftar isi"

- id: translations
  translation: "Terjemahan"

- id: home
  translation: "Beranda"

- id: edit_post
  translation: "Sunting"

- id: code_copy
  translation: "salin"

- id: code_copied
  translation: "disalin!"

================================================
FILE: i18n/it.yaml
================================================
- id: prev_page
  translation: "Precedente"

- id: next_page
  translation: "Successivo"

- id: read_time
  translation:
    one: "1 minuto"
    other: "{{ .Count }} minuti"

- id: words
  translation:
    one : "parola"
    other: "{{ .Count }} parole"

- id: toc
  translation: "Indice contenuti"

- id: translations
  translation: "Traduzioni"

- id: home
  translation: "Home"

- id: edit_post
  translation: "Modifica"

- id: code_copy
  translation: "copia"

- id: code_copied
  translation: "copiato!"


================================================
FILE: i18n/ja.yaml
================================================
- id: prev_page
  translation: "前へ"

- id: next_page
  translation: "次へ"

- id: read_time
  translation:
    one : "1 分"
    other: "{{ .Count }} 分"

- id: words
  translation:
    one: "文字"
    other: "{{ .Count }} 文字"

- id: toc
  translation: "目次"

- id: translations
  translation: "言語"

- id: home
  translation: "ホーム"

- id: edit_post
  translation: "編集"

- id: code_copy
  translation: "コピー"

- id: code_copied
  translation: "コピーされました!"


================================================
FILE: i18n/ko.yaml
================================================
- id: prev_page
  translation: "이전 페이지"

- id: next_page
  translation: "다음 페이지"

- id: read_time
  translation:
    one : "1 분"
    other: "{{ .Count }} 분"

- id: words
  translation:
    one : "단어"
    other: "{{ .Count }} 단어"

- id: toc
  translation: "목차"

- id: translations
  translation: "번역"

- id: home
  translation: "홈"

- id: edit_post
  translation: "편집"

- id: code_copy
  translation: "복사"

- id: code_copied
  translation: "복사 완료!"


================================================
FILE: i18n/ku.yaml
================================================
- id: prev_page
  translation: "Rûpela Paş"

- id: next_page
  translation: "Rûpela Pêş"

- id: read_time
  translation:
    one : "1 xulek"
    other: "{{ .Count }} xulek"

- id: toc
  translation: "Pêrist"

- id: translations
  translation: "Wergeran"

- id: home
  translation: "Xanî"

- id: code_copy
  translation: "Jê bigire"

- id: code_copied
  translation: "Hat jêgirtin!"


================================================
FILE: i18n/mn.yaml
================================================
- id: prev_page
  translation: "Ѳмнѳх"

- id: next_page
  translation: "Дараах"

- id: read_time
  translation:
    one : "1 МИН"
    other: "{{ .Count }} МИН"

- id: toc
  translation: "Агуулга"

- id: translations
  translation: "Орчуулга"

- id: home
  translation: "Нүүр"

- id: code_copy
  translation: "хуулах"

- id: code_copied
  translation: "хуулсан!"


================================================
FILE: i18n/ms.yaml
================================================
- id: prev_page
  translation: "Halaman Sebelumnya"

- id: next_page
  translation: "Halaman Seterusnya"

- id: read_time
  translation:
    one: "1 minit"
    other: "{{ .Count }} minit"

- id: toc
  translation: "Isi Kandungan"

- id: translations
  translation: "Terjemahan"

- id: home
  translation: "Home"

- id: edit_post
  translation: "Sunting"

- id: code_copy
  translation: "Salin"

- id: code_copied
  translation: "Disalin!"


================================================
FILE: i18n/nl.yaml
================================================
- id: prev_page
  translation: "Vorige"

- id: next_page
  translation: "Volgende"

- id: read_time
  translation:
      one: "1 min"
      other: "{{ .Count }} min"

- id: words
  translation:
    one : "woord"
    other: "{{ .Count }} woorden"

- id: toc
  translation: "Inhoudsopgave"

- id: translations
  translation: "Vertalingen"

- id: home
  translation: "Startpagina"

- id: edit_post
  translation: "Bewerk"

- id: code_copy
  translation: "kopieer"

- id: code_copied
  translation: "gekopieerd!"


================================================
FILE: i18n/no.yaml
================================================
- id: prev_page
  translation: "Forrige Side"

- id: next_page
  translation: "Neste Side"

- id: read_time
  translation:
    one: "1 min"
    other: "{{ .Count }} min"

- id: words
  translation:
    one: "ord"
    other: "{{ .Count }} ord"

- id: toc
  translation: "Innholdsfortegnelse"

- id: translations
  translation: "Oversettelser"

- id: home
  translation: "Hjem"

- id: edit_post
  translation: "Rediger"

- id: code_copy
  translation: "Kopier"

- id: code_copied
  translation: "Kopiert!"


================================================
FILE: i18n/oc.yaml
================================================
- id: prev_page
  translation: "Prec."

- id: next_page
  translation: "Seg."

- id: read_time
  translation:
    one : "1 min"
    other: "{{ .Count }} min"

- id: words
  translation:
    one : "mot"
    other: "{{ .Count }} motss"

- id: toc
  translation: "Taula de contengut"

- id: translations
  translation: "Traduccions"

- id: home
  translation: "Acuèlh"

- id: edit_post
  translation: "Modificar"

- id: code_copy
  translation: "copiar"

- id: code_copied
  translation: "copiat !"


================================================
FILE: i18n/pa.yaml
================================================
- id: prev_page
  translation: "ਪਿਛਲਾ"

- id: next_page
  translation: "ਅਗਲਾ"

- id: read_time
  translation:
    one: "1 ਮਿੰਟ"
    other: "{{ .Count }} ਮਿੰਟ"

- id: words
  translation:
    one: "ਸ਼ਬਦ"
    other: "{{ .Count }} ਸ਼ਬਦ"

- id: toc
  translation: "ਤਤਕਰਾ"

- id: translations
  translation: "ਅਨੁਵਾਦ"

- id: home
  translation: "ਘਰ"

- id: edit_post
  translation: "ਸੋਧ"

- id: code_copy
  translation: "ਕਾਪੀ"

- id: code_copied
  translation: "ਕਾਪੀ ਕੀਤੀ ਗਈ!!"


================================================
FILE: i18n/pl.yaml
================================================
- id: prev_page
  translation: "Poprzednia"

- id: next_page
  translation: "Następna"

- id: read_time
  translation:
      one: "1 min"
      other: "{{ .Count }} min"

- id: words
  translation:
    one : "słowo"
    other: "{{ .Count }} słów"

- id: toc
  translation: "Spis treści"

- id: translations
  translation: "Tłumaczenia"

- id: home
  translation: "Strona Główna"

- id: edit_post
  translation: "Edytuj"

- id: code_copy
  translation: "Kopiuj"

- id: code_copied
  translation: "Skopiowano!"


================================================
FILE: i18n/pnb.yaml
================================================
- id: prev_page
  translation: "پِچھلا"

- id: next_page
  translation: "اگلا"

- id: read_time
  translation:
    one: "ایک منٹ"
    other: "مِنٹ {{ .Count }}"

- id: words
  translation:
    one: "لفظ"
    other: "لفظ {{ .Count }}"

- id: toc
  translation: "تتکرا"

- id: translations
  translation: "انوواد"

- id: home
  translation: "گھر"

- id: edit_post
  translation: "سودھ"

- id: code_copy
  translation: "کاپی"

- id: code_copied
  translation: "کاپی کیتی گئی!"


================================================
FILE: i18n/pt.yaml
================================================
- id: prev_page
  translation: "Página Anterior"

- id: next_page
  translation: "Próxima Página"

- id: read_time
  translation:
    one: "1 minuto"
    other: "{{ .Count }} minutos"

- id: words
  translation:
    one : "palavra"
    other: "{{ .Count }} palavras"

- id: toc
  translation: "Conteúdo"

- id: translations
  translation: "Traduções"
  
- id: home
  translation: "Início"

- id: edit_post
  translation: "Editar"

- id: code_copy
  translation: "copiar"

- id: code_copied
  translation: "copiado!"


================================================
FILE: i18n/ro.yaml
================================================
- id: prev_page
  translation: "Înapoi"

- id: next_page
  translation: "Înainte"

- id: read_time
  translation:
    one : "1 minut"
    other: "{{ .Count }} minute"

- id: words
  translation:
    one : "cuvânt"
    other: "{{ .Count }} cuvinte"

- id: toc
  translation: "Sumar"

- id: translations
  translation: "Traduceri"

- id: home
  translation: "Acasă"

- id: edit_post
  translation: "Editează"

- id: code_copy
  translation: "copiază"

- id: code_copied
  translation: "copiat!"


================================================
FILE: i18n/ru.yaml
================================================
- id: prev_page
  translation: "Предыдущая"

- id: next_page
  translation: "Следующая"

- id: read_time
  translation:
    zero: "0 минут"
    one: "1 минута"
    few: "{{ .Count }} минуты"
    many: "{{ .Count }} минут"
    other: "{{ .Count }} минута"

- id: words
  translation:
    zero: "0 слов"
    one: "1 слово"
    few: "{{ .Count }} слова"
    many: "{{ .Count }} слов"
    other: "{{ .Count }} слово"

- id: toc
  translation: "Оглавление"

- id: translations
  translation: "Переводы"

- id: home
  translation: "Главная"

- id: edit_post
  translation: "Редактировать"

- id: code_copy
  translation: "копировать"

- id: code_copied
  translation: "скопировано!"

================================================
FILE: i18n/sk.yaml
================================================
- id: prev_page
  translation: "Predch"

- id: next_page
  translation: "Ďaľší"

- id: read_time
  translation:
    one : "1 min"
    other: "{{ .Count }} min"

- id: words
  translation:
    one : "slovo"
    other: "{{ .Count }} slov"

- id: toc
  translation: "Obsah"

- id: translations
  translation: "Preklady"

- id: home
  translation: "Domov"

- id: edit_post
  translation: "Upraviť"

- id: code_copy
  translation: "kopírovať"

- id: code_copied
  translation: "skopírované!"


================================================
FILE: i18n/sv.yaml
================================================
- id: prev_page
  translation: "Förra Sidan"

- id: next_page
  translation: "Nästa Sida"

- id: read_time
  translation:
    one: "1 min"
    other: "{{ .Count }} min"

- id: toc
  translation: "Innehållsförteckning"

- id: translations
  translation: "Översättningar"

- id: home
  translation: "Hem"

- id: edit_post
  translation: "Redigera"

- id: code_copy
  translation: "kopiera"

- id: code_copied
  translation: "kopierad!"


================================================
FILE: i18n/sw.yaml
================================================
- id: prev_page
  translation: "Uliopita"

- id: next_page
  translation: "Ujao"

- id: read_time
  translation:
    one : "dakika 1"
    other: "dakika {{ .Count }}"

- id: words
  translation:
    one : "neno"
    other: "maneno {{ .Count }}"

- id: toc
  translation: "Jedwali la Yaliyomo"

- id: translations
  translation: "Tafsiri"

- id: home
  translation: "Mwanzo"

- id: edit_post
  translation: "Hariri"

- id: code_copy
  translation: "nakili"

- id: code_copied
  translation: "nakiliwa!"


================================================
FILE: i18n/th.yaml
================================================
- id: prev_page
  translation: "ก่อนหน้า"

- id: next_page
  translation: "ถัดไป"

- id: read_time
  translation:
    one : "1 นาที"
    other: "{{ .Count }} นาที"

- id: words
  translation:
    one : "คำ"
    other: "{{ .Count }} คำ"

- id: toc
  translation: "สารบัญ"

- id: translations
  translation: "การแปล"

- id: home
  translation: "หน้าหลัก"

- id: edit_post
  translation: "แก้ไข"

- id: code_copy
  translation: "คัดลอก"

- id: code_copied
  translation: "คัดลอกแล้ว!"


================================================
FILE: i18n/tr.yaml
================================================
- id: prev_page
  translation: "Önceki"

- id: next_page
  translation: "Sonraki"

- id: read_time
  translation:
    one : "1 dk"
    other: "{{ .Count }} dk"

- id: words
  translation:
    one : "sözcük"
    other: "{{ .Count }} sözcük"

- id: toc
  translation: "İçindekiler"

- id: translations
  translation: "Çeviriler"

- id: home
  translation: "Ana Sayfa"

- id: edit_post
  translation: "Düzenle"

- id: code_copy
  translation: "Kopyala"

- id: code_copied
  translation: "Kopyalandı!"


================================================
FILE: i18n/uk.yaml
================================================
- id: prev_page
  translation: "Попередня"

- id: next_page
  translation: "Наступна"

- id: read_time
  translation:
    one : "1 хвилина"
    other: "{{ .Count }} хвилин"

- id: toc
  translation: "Зміст"

- id: translations
  translation: "Переклади"

- id: home
  translation: "Головна"

- id: code_copy
  translation: "копіювати"

- id: code_copied
  translation: "скопійовано!"

================================================
FILE: i18n/uz.yaml
================================================
- id: prev_page
  translation: "Oldingi sahifa"

- id: next_page
  translation: "Keyingi sahifa"

- id: read_time
  translation:
    one : "Bir daqiqa"
    other: "{{ .Count }} daqiqa"

- id: toc
  translation: "Mundarija"

- id: translations
  translation: "Tarjimalar"

- id: home
  translation: "Bosh sahifa"
  


================================================
FILE: i18n/vi.yaml
================================================
- id: prev_page
  translation: "Trang trước"

- id: next_page
  translation: "Trang tiếp theo"

- id: read_time
  translation:
    one: "1 phút"
    other: "{{ .Count }} phút"

- id: words
  translation:
    one: "từ"
    other: "{{ .Count }} từ"

- id: toc
  translation: "Mục lục"

- id: translations
  translation: "Bản dịch"

- id: home
  translation: "Trang chủ"

- id: edit_post
  translation: "Chỉnh sửa"

- id: code_copy
  translation: "Sao chép"

- id: code_copied
  translation: "Đã sao chép!"


================================================
FILE: i18n/zh-tw.yaml
================================================
- id: prev_page
  translation: "上一頁"

- id: next_page
  translation: "下一頁"

- id: read_time
  translation:
    one : "1 分鐘"
    other: "{{ .Count }} 分鐘"

- id: words
  translation:
    one: "字"
    other: "{{ .Count }} 字"

- id: toc
  translation: "目錄"

- id: translations
  translation: "語言"

- id: home
  translation: "首頁"

- id: edit_post
  translation: "編輯"

- id: code_copy
  translation: "複製"

- id: code_copied
  translation: "已複製!"


================================================
FILE: i18n/zh.yaml
================================================
- id: prev_page
  translation: "上一页"

- id: next_page
  translation: "下一页"

- id: read_time
  translation:
    one : "1 分钟"
    other: "{{ .Count }} 分钟"

- id: words
  translation: 
    one: "字"
    other: "{{ .Count }} 字"

- id: toc
  translation: "目录"

- id: translations
  translation: "语言"

- id: home
  translation: "主页"

- id: edit_post
  translation: "编辑"

- id: code_copy
  translation: "复制"

- id: code_copied
  translation: "已复制!"


================================================
FILE: layouts/404.html
================================================
{{- define "main" }}
<div class="not-found">404</div>
{{- end }}{{/* end main */ -}}


================================================
FILE: layouts/_default/_markup/render-image.html
================================================
{{- $u := urls.Parse .Destination -}}
{{- $src := $u.String -}}
{{- if not $u.IsAbs -}}
  {{- $path := strings.TrimPrefix "./" $u.Path }}
  {{- with or (.PageInner.Resources.Get $path) (resources.Get $path) -}}
    {{- $src = .RelPermalink -}}
    {{- with $u.RawQuery -}}
      {{- $src = printf "%s?%s" $src . -}}
    {{- end -}}
    {{- with $u.Fragment -}}
      {{- $src = printf "%s#%s" $src . -}}
    {{- end -}}
  {{- end -}}
{{- end -}}
{{- $attributes := merge .Attributes (dict "alt" .Text "src" $src "title" (.Title | transform.HTMLEscape) "loading" "lazy") -}}
<img
  {{- range $k, $v := $attributes -}}
    {{- if $v -}}
      {{- printf " %s=%q" $k $v | safeHTMLAttr -}}
    {{- end -}}
  {{- end -}}>
{{- /**/ -}}


================================================
FILE: layouts/_default/archives.html
================================================
{{- define "main" }}

<header class="page-header">
  <h1>
    {{ .Title }}
    {{- if (.Param "ShowRssButtonInSectionTermList") }}
    {{- $rss := (.OutputFormats.Get "rss") }}
    {{- if (eq .Kind `page`) }}
    {{- $rss = (.Parent.OutputFormats.Get "rss") }}
    {{- end }}
    {{- with $rss }}
    <a href="{{ .RelPermalink }}" title="RSS" aria-label="RSS">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
        stroke-linecap="round" stroke-linejoin="round" height="23">
        <path d="M4 11a9 9 0 0 1 9 9" />
        <path d="M4 4a16 16 0 0 1 16 16" />
        <circle cx="5" cy="19" r="1" />
      </svg>
    </a>
    {{- end }}
    {{- end }}
  </h1>
  {{- if .Description }}
  <div class="post-description">
    {{ .Description }}
  </div>
  {{- end }}
</header>

{{- $pages := where site.RegularPages "Type" "in" site.Params.mainSections }}

{{- if site.Params.ShowAllPagesInArchive }}
{{- $pages = site.RegularPages }}
{{- end }}

{{- range $pages.GroupByPublishDate "2006" }}
{{- if ne .Key "0001" }}
<div class="archive-year">
  {{- $year := replace .Key "0001" "" }}
  <h2 class="archive-year-header" id="{{ $year }}">
    <a class="archive-header-link" href="#{{ $year }}">
      {{- $year -}}
    </a>
    <sup class="archive-count">&nbsp;{{ len .Pages }}</sup>
  </h2>
  {{- range .Pages.GroupByDate "January" }}
  <div class="archive-month">
    <h3 class="archive-month-header" id="{{ $year }}-{{ .Key }}">
      <a class="archive-header-link" href="#{{ $year }}-{{ .Key }}">
        {{- .Key -}}
      </a>
      <sup class="archive-count">&nbsp;{{ len .Pages }}</sup>
    </h3>
    <div class="archive-posts">
      {{- range .Pages }}
      {{- if eq .Kind "page" }}
      <div class="archive-entry">
        <h3 class="archive-entry-title entry-hint-parent">
          {{- .Title | markdownify }}
          {{- if .Draft }}
          <span class="entry-hint" title="Draft">
            <svg xmlns="http://www.w3.org/2000/svg" height="15" viewBox="0 -960 960 960" fill="currentColor">
              <path
                d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
            </svg>
          </span>
          {{- end }}
        </h3>
        <div class="archive-meta">
          {{- partial "post_meta.html" . -}}
        </div>
        <a class="entry-link" aria-label="post link to {{ .Title | plainify }}" href="{{ .Permalink }}"></a>
      </div>
      {{- end }}
      {{- end }}
    </div>
  </div>
  {{- end }}
</div>
{{- end }}
{{- end }}

{{- end }}{{/* end main */}}


================================================
FILE: layouts/_default/baseof.html
================================================
{{- if lt hugo.Version "0.146.0" }}
{{- errorf "=> hugo v0.146.0 or greater is required for hugo-PaperMod to build " }}
{{- end -}}

<!DOCTYPE html>
{{- $theme := site.Params.defaultTheme | default "auto" }}
{{- if eq $theme "dark" }}
<html lang="{{ site.Language }}" dir="{{ .Language.LanguageDirection | default "auto" }}" data-theme="dark">
{{- else if eq $theme "light" }}
<html lang="{{ site.Language }}" dir="{{ .Language.LanguageDirection | default "auto" }}" data-theme="light">
{{- else }}
<html lang="{{ site.Language }}" dir="{{ .Language.LanguageDirection | default "auto" }}" data-theme="auto">
{{- end }}

<head>
    {{- partial "head.html" . }}
</head>

{{- if (or (ne .Kind `page` ) (eq .Layout `archives`) (eq .Layout `search`)) }}
<body class="list" id="top">
{{- else }}
<body id="top">
{{- end }}
    {{ partialCached "header.html" . .Page -}}
    <main class="main">
        {{- block "main" . }}{{ end }}
    </main>
    {{ partialCached "footer.html" . .Layout .Kind (.Param "hideFooter") (.Param "ShowCodeCopyButtons") -}}
</body>

</html>


================================================
FILE: layouts/_default/index.json
================================================
{{- $.Scratch.Add "index" slice -}}
{{- range site.RegularPages -}}
    {{- if and (not .Params.searchHidden) (ne .Layout `archives`) (ne .Layout `search`) }}
    {{- $.Scratch.Add "index" (dict "title" .Title "content" .Plain "permalink" .Permalink "summary" .Summary) -}}
    {{- end }}
{{- end -}}
{{- $.Scratch.Get "index" | jsonify -}}


================================================
FILE: layouts/_default/list.html
================================================
{{- define "main" }}

{{- if (and site.Params.profileMode.enabled .IsHome) }}
{{- partial "index_profile.html" . }}
{{- else }} {{/* if not profileMode */}}

{{- if not .IsHome | and .Title }}
<header class="page-header">
  {{- partial "breadcrumbs.html" . }}
  <h1>
    {{ .Title }}
    {{- if and (or (eq .Kind `term`) (eq .Kind `section`)) (.Param "ShowRssButtonInSectionTermList") }}
    {{- with .OutputFormats.Get "rss" }}
    <a href="{{ .RelPermalink }}" title="RSS" aria-label="RSS">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
        stroke-linecap="round" stroke-linejoin="round" height="23">
        <path d="M4 11a9 9 0 0 1 9 9" />
        <path d="M4 4a16 16 0 0 1 16 16" />
        <circle cx="5" cy="19" r="1" />
      </svg>
    </a>
    {{- end }}
    {{- end }}
  </h1>
  {{- if .Description }}
  <div class="post-description">
    {{ .Description | markdownify }}
  </div>
  {{- end }}
</header>
{{- end }}

{{- if .Content }}
<div class="post-content">
  {{- if not (.Param "disableAnchoredHeadings") }}
  {{- partial "anchored_headings.html" .Content -}}
  {{- else }}{{ .Content }}{{ end }}
</div>
{{- end }}

{{- $pages := union .RegularPages .Sections }}

{{- if .IsHome }}
{{- $pages = where site.RegularPages "Type" "in" site.Params.mainSections }}
{{- $pages = where $pages "Params.hiddenInHomeList" "!=" "true"  }}
{{- end }}

{{- $paginator := .Paginate $pages }}

{{- if and .IsHome site.Params.homeInfoParams (eq $paginator.PageNumber 1) }}
{{- partial "home_info.html" . }}
{{- end }}

{{- $term := .Data.Term }}
{{- range $index, $page := $paginator.Pages }}

{{- $class := "post-entry" }}

{{- $user_preferred := or site.Params.disableSpecial1stPost site.Params.homeInfoParams }}
{{- if (and $.IsHome (eq $paginator.PageNumber 1) (eq $index 0) (not $user_preferred)) }}
{{- $class = "first-entry" }}
{{- else if $term }}
{{- $class = "post-entry tag-entry" }}
{{- end }}

<article class="{{ $class }}">
  {{- $isHidden := (.Param "cover.hiddenInList") | default (.Param "cover.hidden") | default false }}
  {{- partial "cover.html" (dict "cxt" . "IsSingle" false "isHidden" $isHidden) }}
  <header class="entry-header">
    <h2 class="entry-hint-parent">
      {{- .Title }}
      {{- if .Draft }}
      <span class="entry-hint" title="Draft">
        <svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 -960 960 960" fill="currentColor">
          <path
            d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
        </svg>
      </span>
      {{- end }}
    </h2>
  </header>
  {{- if (ne (.Param "hideSummary") true) }}
  <div class="entry-content">
    <p>{{ .Summary | plainify | htmlUnescape }}{{ if .Truncated }}...{{ end }}</p>
  </div>
  {{- end }}
  {{- if not (.Param "hideMeta") }}
  <footer class="entry-footer">
    {{- partial "post_meta.html" . -}}
  </footer>
  {{- end }}
  <a class="entry-link" aria-label="post link to {{ .Title | plainify }}" href="{{ .Permalink }}"></a>
</article>
{{- end }}

{{- if gt $paginator.TotalPages 1 }}
<footer class="page-footer">
  <nav class="pagination">
    {{- if $paginator.HasPrev }}
    <a class="prev" href="{{ $paginator.Prev.URL | absURL }}">
      «&nbsp;{{ i18n "prev_page" }}&nbsp;
      {{- if (.Param "ShowPageNums") }}
      {{- sub $paginator.PageNumber 1 }}/{{ $paginator.TotalPages }}
      {{- end }}
    </a>
    {{- end }}
    {{- if $paginator.HasNext }}
    <a class="next" href="{{ $paginator.Next.URL | absURL }}">
      {{- i18n "next_page" }}&nbsp;
      {{- if (.Param "ShowPageNums") }}
      {{- add 1 $paginator.PageNumber }}/{{ $paginator.TotalPages }}
      {{- end }}&nbsp;»
    </a>
    {{- end }}
  </nav>
</footer>
{{- end }}

{{- end }}{{/* end profileMode */}}

{{- end }}{{- /* end main */ -}}


================================================
FILE: layouts/_default/llms.txt
================================================
{{- /* Recursive printer for sections */ -}}
{{- define "llms_print_section" -}}
{{- $section := .section -}}
{{- $depth := .depth -}}
{{- if or (gt (len $section.RegularPages) 0) (gt (len $section.Sections) 0) -}}
{{- $hashes := strings.Repeat (add $depth 1) "#" }}

{{ printf "%s %s" $hashes $section.Title }}

{{- /* Pages in this section */ -}}
{{- range $p := $section.RegularPages }}
  {{- if and (not $p.Params.searchHidden) (ne $p.Layout `archives`) (ne $p.Layout `search`) }}
- [{{ $p.Title }}]({{ $p.Permalink }})
  {{- end -}}
{{- end -}}

{{- /* Recurse into subsections */ -}}
{{- range $s := $section.Sections -}}
{{- template "llms_print_section" (dict "section" $s "depth" (add $depth 1)) -}}
{{- end -}}
{{- end -}}
{{- end -}}

{{- /* Main template starts here */ -}}
# {{ site.Title }}

{{- /* Pages not in any section */ -}}
{{- $orphans := where site.RegularPages "Section" "" -}}
{{ if gt (len $orphans) 0 }}

{{- range $p := $orphans -}}
  {{ if and (not $p.Params.searchHidden) (ne $p.Layout `archives`) (ne $p.Layout `search`) (not $p.IsHome) }}
- [{{ $p.Title }}]({{ $p.Permalink }})
  {{- end -}}
{{- end -}}

{{- end -}}

{{- range site.Sections -}}
{{- template "llms_print_section" (dict "section" . "depth" 1) -}}
{{- end }}


================================================
FILE: layouts/_default/rss.xml
================================================
{{- $authorEmail := "" }}
{{- with site.Params.author }}
  {{- if reflect.IsMap . }}
    {{- with .email }}
      {{- $authorEmail = . }}
    {{- end }}
  {{- end }}
{{- end }}

{{- $authorName := "" }}
{{- with site.Params.author }}
  {{- if reflect.IsMap . }}
    {{- with .name }}
      {{- $authorName = . }}
    {{- end }}
  {{- else }}
    {{- $authorName  = . }}
  {{- end }}
{{- end }}

{{- $pctx := . }}
{{- if .IsHome }}{{ $pctx = site }}{{ end }}
{{- $pages := slice }}
{{- if or $.IsHome $.IsSection }}
{{- $pages = $pctx.RegularPages }}
{{- else }}
{{- $pages = $pctx.Pages }}
{{- end }}
{{- $limit := site.Config.Services.RSS.Limit }}
{{- if ge $limit 1 }}
{{- $pages = $pages | first $limit }}
{{- end }}
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>{{ if eq .Title site.Title }}{{ site.Title }}{{ else }}{{ with .Title }}{{ . }} on {{ end }}{{ site.Title }}{{ end }}</title>
    <link>{{ .Permalink }}</link>
    <description>Recent content {{ if ne .Title site.Title }}{{ with .Title }}in {{ . }} {{ end }}{{ end }}on {{ site.Title }}</description>
    {{- with site.Params.images }}
    <image>
      <title>{{ site.Title }}</title>
      <url>{{ index . 0 | absURL }}</url>
      <link>{{ index . 0 | absURL }}</link>
    </image>
    {{- end }}
    <generator>Hugo</generator>
    <language>{{ site.Language.LanguageCode }}</language>{{ with $authorEmail }}
    <managingEditor>{{.}}{{ with $authorName }} ({{ . }}){{ end }}</managingEditor>{{ end }}{{ with $authorEmail }}
    <webMaster>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</webMaster>{{ end }}{{ with site.Copyright }}
    <copyright>{{ . | markdownify | plainify | strings.TrimPrefix "© " }}</copyright>{{ end }}{{ if not .Date.IsZero }}
    <lastBuildDate>{{ (index $pages.ByLastmod.Reverse 0).Lastmod.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
    {{- with .OutputFormats.Get "RSS" }}
    {{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
    {{- end }}
    {{- range $pages }}
    {{- if and (ne .Layout `search`) (ne .Layout `archives`) }}
    <item>
      <title>{{ .Title }}</title>
      <link>{{ .Permalink }}</link>
      <pubDate>{{ .PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
      {{- with $authorEmail }}<author>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</author>{{ end }}
      <guid>{{ .Permalink }}</guid>
      <description>{{ with .Description | html }}{{ . }}{{ else }}{{ .Summary | html }}{{ end -}}</description>
      {{- if and site.Params.ShowFullTextinRSS .Content }}
      <content:encoded>{{ (printf "<![CDATA[%s]]>" .Content) | safeHTML }}</content:encoded>
      {{- end }}
    </item>
    {{- end }}
    {{- end }}
  </channel>
</rss>


================================================
FILE: layouts/_default/search.html
================================================
{{- define "main" }}

<header class="page-header">
    <h1>{{- (printf "%s&nbsp;" .Title ) | htmlUnescape -}}
        <svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24" fill="none"
            stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <circle cx="11" cy="11" r="8"></circle>
            <line x1="21" y1="21" x2="16.65" y2="16.65"></line>
        </svg>
    </h1>
    {{- if .Description }}
    <div class="post-description">
        {{ .Description }}
    </div>
    {{- end }}
    {{- if not (.Param "hideMeta") }}
    <div class="post-meta">
        {{- partial "translation_list.html" . -}}
    </div>
    {{- end }}
</header>

<div id="searchbox">
    <input id="searchInput" autofocus placeholder="{{ .Params.placeholder | default (printf "%s ↵" .Title) }}"
        aria-label="search" type="search" autocomplete="off" maxlength="64">
    <ul id="searchResults" aria-label="search results"></ul>
</div>

{{- end }}{{/* end main */}}


================================================
FILE: layouts/_default/single.html
================================================
{{- define "main" }}

<article class="post-single">
  <header class="post-header">
    {{ partial "breadcrumbs.html" . }}
    <h1 class="post-title entry-hint-parent">
      {{ .Title }}
      {{- if .Draft }}
      <span class="entry-hint" title="Draft">
        <svg xmlns="http://www.w3.org/2000/svg" height="35" viewBox="0 -960 960 960" fill="currentColor">
          <path
            d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
        </svg>
      </span>
      {{- end }}
    </h1>
    {{- if .Description }}
    <div class="post-description">
      {{ .Description }}
    </div>
    {{- end }}
    {{- if not (.Param "hideMeta") }}
    <div class="post-meta">
      {{- partial "post_meta.html" . -}}
      {{- partial "translation_list.html" . -}}
      {{- partial "edit_post.html" . -}}
      {{- partial "post_canonical.html" . -}}
    </div>
    {{- end }}
  </header>
  {{- $isHidden := (.Param "cover.hiddenInSingle") | default (.Param "cover.hidden") | default false }}
  {{- partial "cover.html" (dict "cxt" . "IsSingle" true "isHidden" $isHidden) }}
  {{- if (.Param "ShowToc") }}
  {{- partial "toc.html" . }}
  {{- end }}

  {{- if .Content }}
  <div class="post-content">
    {{- if not (.Param "disableAnchoredHeadings") }}
    {{- partial "anchored_headings.html" .Content -}}
    {{- else }}{{ .Content }}{{ end }}
  </div>
  {{- end }}

  <footer class="post-footer">
    {{- $tags := .Language.Params.Taxonomies.tag | default "tags" }}
    <ul class="post-tags">
      {{- range ($.GetTerms $tags) }}
      <li><a href="{{ .Permalink }}">{{ .LinkTitle }}</a></li>
      {{- end }}
    </ul>
    {{- if (.Param "ShowPostNavLinks") }}
    {{- partial "post_nav_links.html" . }}
    {{- end }}
    {{- if (and site.Params.ShowShareButtons (ne .Params.disableShare true)) }}
    {{- partial "share_icons.html" . -}}
    {{- end }}
  </footer>

  {{- if (.Param "comments") }}
  {{- partial "comments.html" . }}
  {{- end }}
</article>

{{- end }}{{/* end main */}}


================================================
FILE: layouts/_default/terms.html
================================================
{{- define "main" }}

{{- if .Title }}
<header class="page-header">
    <h1>{{ .Title }}</h1>
    {{- if .Description }}
    <div class="post-description">
        {{ .Description }}
    </div>
    {{- end }}
</header>
{{- end }}

<ul class="terms-tags">
    {{- $type := .Type }}
    {{- range $key, $value := .Data.Terms.Alphabetical }}
    {{- $name := .Name }}
    {{- $count := .Count }}
    {{- with site.GetPage (printf "/%s/%s" $type $name) }}
    <li>
        <a href="{{ .Permalink }}">{{ .Name }} <sup><strong><sup>{{ $count }}</sup></strong></sup> </a>
    </li>
    {{- end }}
    {{- end }}
</ul>

{{- end }}{{/* end main */ -}}


================================================
FILE: layouts/partials/anchored_headings.html
================================================
{{- /* formats .Content headings by adding an anchor */ -}}
{{ . | replaceRE "(<h[1-6] id=\"([^\"]+)\".+)(</h[1-6]+>)" "${1}<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#${2}\">#</a>${3}" | safeHTML }}


================================================
FILE: layouts/partials/author.html
================================================
{{- if or .Params.author site.Params.author }}
{{- $author := (.Params.author | default site.Params.author) }}
{{- $author_type := (printf "%T" $author) }}
{{- if (or (eq $author_type "[]string") (eq $author_type "[]interface {}")) }}
{{- (delimit $author ", " ) }}
{{- else }}
{{- $author }}
{{- end }}
{{- end -}}


================================================
FILE: layouts/partials/breadcrumbs.html
================================================
{{- if (.Param "ShowBreadCrumbs") -}}
<div class="breadcrumbs">
    {{- $url := replace .Parent.Permalink (printf "%s" site.Home.Permalink) "" }}
    {{- $lang_url := strings.TrimPrefix (printf "%s/" .Lang) $url -}}

    <a href="{{ "" | absLangURL }}">{{ i18n "home" | default "Home" }}</a>
    {{- $scratch := newScratch }}
    {{- range $index, $element := split $lang_url "/" }}

    {{- $scratch.Add "path" (printf "%s/" $element )}}
    {{- $bc_pg := site.GetPage ($scratch.Get "path") -}}

    {{- if (and ($bc_pg) (gt (len . ) 0))}}
    {{- print "&nbsp;»&nbsp;" | safeHTML -}}<a href="{{ $bc_pg.Permalink }}">{{ $bc_pg.Name }}</a>
    {{- end }}

    {{- end -}}
</div>
{{- end -}}


================================================
FILE: layouts/partials/comments.html
================================================
{{- /* Comments area start */ -}}
{{- /* to add comments read => https://gohugo.io/content-management/comments/ */ -}}
{{- /* Comments area end */ -}}


================================================
FILE: layouts/partials/cover.html
================================================
{{- with .cxt}} {{/* Apply proper context from dict */}}
{{- if (and .Params.cover.image (not $.isHidden)) }}
<figure class="entry-cover">
    {{- $loading := cond $.IsSingle "eager" "lazy" }}
    {{- $addLink := (and site.Params.cover.linkFullImages $.IsSingle) }}
    {{- $prod := (hugo.IsProduction | or (eq site.Params.env "production")) }}
    {{- $alt := (.Params.cover.alt | default .Params.cover.caption | plainify) }}
    {{- $responsiveImages := (.Params.cover.responsiveImages | default site.Params.cover.responsiveImages) | default true }}

    {{- $pageBundleCover := (.Resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }}
    {{- $globalResourcesCover := (resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }}
    {{- $cover := (or $pageBundleCover $globalResourcesCover)}}
    {{- /* We are not using the .Param.cover.relative to decide the location of image */}}
    {{- /* If we have the image in pageBundle or globalResources we can process the image */}}

    {{- $sizes := (slice "360" "480" "720" "1080" "1500") }}
    {{- $processableFormats := (slice "jpg" "jpeg" "png" "tif" "bmp" "gif") -}}
    {{- if hugo.IsExtended -}}
        {{- $processableFormats = $processableFormats | append "webp" -}}
    {{- end -}}

    {{- $imgdl := (.Params.cover.image) | absURL }}
    {{- if $cover -}}
        {{- $imgdl = $cover.Permalink }}
    {{- end -}}

    {{- if $addLink }}
        <a href="{{ $imgdl }}" target="_blank" rel="noopener noreferrer">
    {{- end }}

    {{- if $cover -}}
        {{/* i.e it is present in page bundle */}}
        {{- if (and (in $processableFormats $cover.MediaType.SubType) ($responsiveImages) (eq $prod true)) }}
            <img loading="{{$loading}}"
                srcset='{{- range $size := $sizes -}}
                            {{- if (ge $cover.Width $size) }}
                                {{- printf "%s %s" (($cover.Resize (printf "%sx" $size)).Permalink) (printf "%sw," $size) }}
                            {{- end }}
                        {{- end }}
                        {{- printf "%s %dw" ($cover.Permalink) ($cover.Width) }}'
                src="{{ $cover.Permalink }}"
                sizes="(min-width: 768px) 720px, 100vw"
                width="{{ $cover.Width }}" height="{{ $cover.Height }}"
                alt="{{ $alt }}">
        {{- else }}{{/* Unprocessable image or responsive images disabled */}}
            <img loading="{{ $loading }}" src="{{ $imgdl }}" alt="{{ $alt }}">
        {{- end }}
    {{- else }}
        {{- /* For absolute urls and external links, no img processing here */}}
        <img loading="{{ $loading }}" src="{{ $imgdl }}" alt="{{ $alt }}">
    {{- end }}

    {{- if $addLink }}
        </a>
    {{- end -}}

    {{- /*  Display Caption  */}}
    {{- if $.IsSingle }}
        {{ with .Params.cover.caption -}}
            <figcaption>{{ . | markdownify }}</figcaption>
        {{- end }}
    {{- end }}
</figure>
{{- end }}{{/* End image */}}
{{- end -}}{{/* End context */ -}}


================================================
FILE: layouts/partials/edit_post.html
================================================
{{- if and (or .Params.editPost.URL site.Params.editPost.URL) (not (.Param "editPost.disabled")) -}}
{{- $fileUrlPath := path.Join .File.Path }}

{{- if or .Params.author site.Params.author (.Param "ShowReadingTime") (not .Date.IsZero) .IsTranslated }}&nbsp;|&nbsp;{{- end -}}
<span>
    <a href="{{ .Params.editPost.URL | default site.Params.editPost.URL }}{{ if .Params.editPost.appendFilePath | default ( site.Params.editPost.appendFilePath | default false ) }}/{{ $fileUrlPath }}{{ end }}" rel="noopener noreferrer edit" target="_blank">
        {{- .Params.editPost.Text | default (site.Params.editPost.Text | default (i18n "edit_post" | default "Edit")) -}}
    </a>
</span>
{{- end }}


================================================
FILE: layouts/partials/extend_footer.html
================================================
{{- /* Footer custom content area start */ -}}
{{- /*     Insert any custom code web-analytics, resources, etc. here */ -}}
{{- /* Footer custom content area end */ -}}


================================================
FILE: layouts/partials/extend_head.html
================================================
{{- /* Head custom content area start */ -}}
{{- /*     Insert any custom code (web-analytics, resources, etc.) - it will appear in the <head></head> section of every page. */ -}}
{{- /*     Can be overwritten by partial with the same name in the global layouts. */ -}}
{{- /* Head custom content area end */ -}}


================================================
FILE: layouts/partials/footer.html
================================================
{{- if not (.Param "hideFooter") }}
<footer class="footer">
    {{- if not site.Params.footer.hideCopyright }}
        {{- if site.Copyright }}
        <span>{{ site.Copyright | markdownify }}</span>
        {{- else }}
        <span>&copy; {{ now.Year }} <a href="{{ "" | absLangURL }}">{{ site.Title }}</a></span>
        {{- end }}
        {{- print " · "}}
    {{- end }}

    {{- with site.Params.footer.text }}
        {{ . | markdownify }}
        {{- print " · "}}
    {{- end }}

    <span>
        Powered by
        <a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
        <a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
    </span>
</footer>
{{- end }}

{{- if (not site.Params.disableScrollToTop) }}
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
        <path d="M12 6H0l6-6z" />
    </svg>
</a>
{{- end }}

{{- partial "extend_footer.html" . }}

<script>
    let menu = document.getElementById('menu');
    if (menu) {
        // Set the scroll position
        const scrollPosition = localStorage.getItem("menu-scroll-position");
        if (scrollPosition) {
            menu.scrollLeft = parseInt(scrollPosition, 10);
        }
        
        menu.onscroll = function () {
            localStorage.setItem("menu-scroll-position", menu.scrollLeft);
        }
    }

    document.querySelectorAll('a[href^="#"]').forEach(anchor => {
        anchor.addEventListener("click", function (e) {
            e.preventDefault();
            var id = this.getAttribute("href").substr(1);
            if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
                    behavior: "smooth"
                });
            } else {
                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
            }
            if (id === "top") {
                history.replaceState(null, null, " ");
            } else {
                history.pushState(null, null, `#${id}`);
            }
        });
    });

</script>

{{- if (not site.Params.disableScrollToTop) }}
<script>
    var mybutton = document.getElementById("top-link");
    window.onscroll = function () {
        if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
            mybutton.style.visibility = "visible";
            mybutton.style.opacity = "1";
        } else {
            mybutton.style.visibility = "hidden";
            mybutton.style.opacity = "0";
        }
    };

</script>
{{- end }}

{{- if (not site.Params.disableThemeToggle) }}
<script>
    document.getElementById("theme-toggle").addEventListener("click", () => {
        const html = document.querySelector("html");
        if (html.dataset.theme === "dark") {
            html.dataset.theme = 'light';
            localStorage.setItem("pref-theme", 'light');
        } else {
            html.dataset.theme = 'dark';
            localStorage.setItem("pref-theme", 'dark');
        }
    })

</script>
{{- end }}

{{- if (and (eq .Kind "page") (ne .Layout "archives") (ne .Layout "search") (.Param "ShowCodeCopyButtons")) }}
<script>
    document.querySelectorAll('pre > code').forEach((codeblock) => {
        const container = codeblock.parentNode.parentNode;

        const copybutton = document.createElement('button');
        copybutton.classList.add('copy-code');
        copybutton.innerHTML = '{{- i18n "code_copy" | default "copy" }}';

        function copyingDone() {
            copybutton.innerHTML = '{{- i18n "code_copied" | default "copied!" }}';
            setTimeout(() => {
                copybutton.innerHTML = '{{- i18n "code_copy" | default "copy" }}';
            }, 2000);
        }

        copybutton.addEventListener('click', (cb) => {
            if ('clipboard' in navigator) {
                navigator.clipboard.writeText(codeblock.textContent);
                copyingDone();
                return;
            }

            const range = document.createRange();
            range.selectNodeContents(codeblock);
            const selection = window.getSelection();
            selection.removeAllRanges();
            selection.addRange(range);
            try {
                document.execCommand('copy');
                copyingDone();
            } catch (e) { };
            selection.removeRange(range);
        });

        if (container.classList.contains("highlight")) {
            container.appendChild(copybutton);
        } else if (container.parentNode.firstChild == container) {
            // td containing LineNos
        } else if (codeblock.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName == "TABLE") {
            // table containing LineNos and code
            codeblock.parentNode.parentNode.parentNode.parentNode.parentNode.appendChild(copybutton);
        } else {
            // code blocks not having highlight as parent class
            codeblock.parentNode.appendChild(copybutton);
        }
    });
</script>
{{- end }}


================================================
FILE: layouts/partials/head.html
================================================
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{{- if hugo.IsProduction | or (eq site.Params.env "production") | and (ne .Params.robotsNoIndex true) }}
<meta name="robots" content="index, follow">
{{- else }}
<meta name="robots" content="noindex, nofollow">
{{- end }}

{{- /* Title */}}
<title>{{ if .IsHome }}{{ else }}{{ if .Title }}{{ .Title }} | {{ end }}{{ end }}{{ site.Title }}</title>

{{- /* Meta */}}
{{- if .IsHome }}
{{ with site.Params.keywords -}}<meta name="keywords" content="{{- range $i, $e := . }}{{ if $i }}, {{ end }}{{ $e }}{{ end }}">{{ end }}
{{- else }}
<meta name="keywords" content="{{ if .Params.keywords -}}
    {{- range $i, $e := .Params.keywords }}{{ if $i }}, {{ end }}{{ $e }}{{ end }} {{- else }}
    {{- range $i, $e := .Params.tags }}{{ if $i }}, {{ end }}{{ $e }}{{ end }} {{- end -}}">
{{- end }}
<meta name="description" content="{{- with .Description }}{{ . }}{{- else }}{{- if or .IsPage .IsSection}}
    {{- .Summary | default (printf "%s - %s" .Title  site.Title) }}{{- else }}
    {{- with site.Params.description }}{{ . }}{{- end }}{{- end }}{{- end -}}">
<meta name="author" content="{{ (partial "author.html" . ) }}">
<link rel="canonical" href="{{ if .Params.canonicalURL -}} {{ trim .Params.canonicalURL " " }} {{- else -}} {{ .Permalink }} {{- end }}">
{{- if site.Params.analytics.google.SiteVerificationTag }}
<meta name="google-site-verification" content="{{ site.Params.analytics.google.SiteVerificationTag }}">
{{- end }}
{{- if site.Params.analytics.yandex.SiteVerificationTag }}
<meta name="yandex-verification" content="{{ site.Params.analytics.yandex.SiteVerificationTag }}">
{{- end }}
{{- if site.Params.analytics.bing.SiteVerificationTag }}
<meta name="msvalidate.01" content="{{ site.Params.analytics.bing.SiteVerificationTag }}">
{{- end }}
{{- if site.Params.analytics.naver.SiteVerificationTag }}
<meta name="naver-site-verification" content="{{ site.Params.analytics.naver.SiteVerificationTag }}">
{{- end }}

{{- /* Styles */}}

{{- /* includes */}}
{{- $includes := slice }}
{{- $includes = $includes | append (" " | resources.FromString "assets/css/includes-blank.css")}}

{{- if not (eq site.Params.assets.disableScrollBarStyle true) }}
    {{- $ScrollStyle := (resources.Get "css/includes/scroll-bar.css") }}
    {{- $includes = (append $ScrollStyle $includes) }}
{{- end }}

{{- $includes_all := $includes | resources.Concat "assets/css/includes.css" }}

{{- $theme_vars := (resources.Get "css/core/theme-vars.css") }}
{{- $reset := (resources.Get "css/core/reset.css") }}
{{- $media := (resources.Get "css/core/zmedia.css") }}
{{- $license_css := (resources.Get "css/core/license.css") }}
{{- $common := (resources.Match "css/common/*.css") | resources.Concat "assets/css/common.css" }}

{{- /* markup.highlight.noClasses should be set to `false` */}}
{{- $chroma_styles := (resources.Get "css/includes/chroma-styles.css") }}
{{- $chroma_mod := (resources.Get "css/includes/chroma-mod.css") }}

{{- /* order is important */}}
{{- $core := (slice $theme_vars $reset $common $chroma_styles $chroma_mod $includes_all $media) | resources.Concat "assets/css/core.css" | resources.Minify }}
{{- $extended := (resources.Match "css/extended/*.css") | resources.Concat "assets/css/extended.css" | resources.Minify }}

{{- /* bundle all required css */}}
{{- /* Add extended css after theme style */ -}}
{{- $stylesheet := (slice $license_css $core $extended) | resources.Concat "assets/css/stylesheet.css"  }}

{{- if not site.Params.assets.disableFingerprinting }}
{{- $stylesheet := $stylesheet | fingerprint }}
<link crossorigin="anonymous" href="{{ $stylesheet.RelPermalink }}" integrity="{{ $stylesheet.Data.Integrity }}" rel="preload stylesheet" as="style">
{{- else }}
<link crossorigin="anonymous" href="{{ $stylesheet.RelPermalink }}" rel="preload stylesheet" as="style">
{{- end }}

{{- /* Search */}}
{{- if (eq .Layout `search`) -}}
<link crossorigin="anonymous" rel="preload" as="fetch" href="../index.json">
{{- $fastsearch := resources.Get "js/fastsearch.js" | js.Build (dict "params" (dict "fuseOpts" site.Params.fuseOpts)) | resources.Minify }}
{{- $fusejs := resources.Get "js/fuse.basic.min.js" }}
{{- $license_js := resources.Get "js/license.js" }}
{{- if not site.Params.assets.disableFingerprinting }}
{{- $search := (slice $fusejs $license_js $fastsearch ) | resources.Concat "assets/js/search.js" | fingerprint }}
<script defer crossorigin="anonymous" src="{{ $search.RelPermalink }}" integrity="{{ $search.Data.Integrity }}"></script>
{{- else }}
{{- $search := (slice $fusejs $fastsearch ) | resources.Concat "assets/js/search.js" }}
<script defer crossorigin="anonymous" src="{{ $search.RelPermalink }}"></script>
{{- end }}
{{- end -}}

{{- /* Favicons */}}
<link rel="icon" href="{{ site.Params.assets.favicon | default "favicon.ico" | absURL }}">
<link rel="icon" type="image/png" sizes="16x16" href="{{ site.Params.assets.favicon16x16 | default "favicon-16x16.png" | absURL }}">
<link rel="icon" type="image/png" sizes="32x32" href="{{ site.Params.assets.favicon32x32 | default "favicon-32x32.png" | absURL }}">
<link rel="apple-touch-icon" href="{{ site.Params.assets.apple_touch_icon | default "apple-touch-icon.png" | absURL }}">
<link rel="mask-icon" href="{{ site.Params.assets.safari_pinned_tab | default "safari-pinned-tab.svg" | absURL }}">
<meta name="theme-color" content="{{ site.Params.assets.theme_color | default "#2e2e33" }}">
<meta name="msapplication-TileColor" content="{{ site.Params.assets.msapplication_TileColor | default "#2e2e33" }}">

{{- /* RSS */}}
{{ range .AlternativeOutputFormats -}}
<link rel="{{ .Rel }}" type="{{ .MediaType.Type | html }}" href="{{ .Permalink | safeURL }}" title="{{ .Name }}">
{{ end -}}
{{- range .AllTranslations -}}
<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .Permalink }}">
{{ end -}}

<noscript>
    <style>
        #theme-toggle,
        .top-link {
            display: none;
        }

    </style>
    {{- if (and (ne site.Params.defaultTheme "light") (ne site.Params.defaultTheme "dark")) }}
    <style>
        @media (prefers-color-scheme: dark) {
            :root {
                --theme: rgb(29, 30, 32);
                --entry: rgb(46, 46, 51);
                --primary: rgb(218, 218, 219);
                --secondary: rgb(155, 156, 157);
                --tertiary: rgb(65, 66, 68);
                --content: rgb(196, 196, 197);
                --code-block-bg: rgb(46, 46, 51);
                --code-bg: rgb(55, 56, 62);
                --border: rgb(51, 51, 51);
                color-scheme: dark;
            }

            .list {
                background: var(--theme);
            }

            .toc {
                background: var(--entry);
            }
        }

        @media (prefers-color-scheme: light) {
            .list::-webkit-scrollbar-thumb {
                border-color: var(--code-bg);
            }
        }

    </style>
    {{- end }}
</noscript>

{{- /* theme-toggle is enabled */}}
{{- if (not site.Params.disableThemeToggle) }}
{{- /* theme is light */}}
{{- if (eq site.Params.defaultTheme "light") }}
<script>
    if (localStorage.getItem("pref-theme") === "dark") {
        document.querySelector("html").dataset.theme = 'dark';
    }

</script>
{{- /* theme is dark */}}
{{- else if (eq site.Params.defaultTheme "dark") }}
<script>
    if (localStorage.getItem("pref-theme") === "light") {
        document.querySelector("html").dataset.theme = 'light';
    }

</script>
{{- else }}
{{- /* theme is auto */}}
<script>
    if (localStorage.getItem("pref-theme") === "dark") {
        document.querySelector("html").dataset.theme = 'dark';
    } else if (localStorage.getItem("pref-theme") === "light") {
       document.querySelector("html").dataset.theme = 'light';
    } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
        document.querySelector("html").dataset.theme = 'dark';
    } else {
        document.querySelector("html").dataset.theme = 'light';
    }

</script>
{{- end }}
{{- /* theme-toggle is disabled and theme is auto */}}
{{- else if (and (ne site.Params.defaultTheme "light") (ne site.Params.defaultTheme "dark"))}}
<script>
    if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
        document.querySelector("html").dataset.theme = 'dark';
    } else {
        document.querySelector("html").dataset.theme = 'light';
    }

</script>
{{- end }}

{{- partial "extend_head.html" . -}}

{{- /* Misc */}}
{{- if hugo.IsProduction | or (eq site.Params.env "production") }}
{{- partial "google_analytics.html" . }}
{{- partial "templates/opengraph.html" . }}
{{- partial "templates/twitter_cards.html" . }}
{{- partial "templates/schema_json.html" . }}
{{- end -}}


================================================
FILE: layouts/partials/header.html
================================================
<header class="header">
    <nav class="nav">
        <div class="logo">
            {{- $label_text := (site.Params.label.text | default site.Title) }}
            {{- if site.Title }}
            <a href="{{ "" | absLangURL }}" accesskey="h" title="{{ $label_text }} (Alt + H)">
                {{- if site.Params.label.icon }}
                {{- $img := resources.Get site.Params.label.icon }}
                {{- if $img }}
                    {{- $processableFormats := (slice "jpg" "jpeg" "png" "tif" "bmp" "gif") -}}
                    {{- if hugo.IsExtended -}}
                        {{- $processableFormats = $processableFormats | append "webp" -}}
                    {{- end -}}
                    {{- $prod := (hugo.IsProduction | or (eq site.Params.env "production")) }}
                    {{- if and (in $processableFormats $img.MediaType.SubType) (eq $prod true)}}
                        {{- if site.Params.label.iconHeight }}
                            {{- $img = $img.Resize (printf "x%d" site.Params.label.iconHeight) }}
                        {{ else }}
                            {{- $img = $img.Resize "x30" }}
                        {{- end }}
                    {{- end }}
                    <img src="{{ $img.Permalink }}" alt="" aria-label="logo"
                        height="{{- site.Params.label.iconHeight | default "30" -}}">
                {{- else }}
                <img src="{{- site.Params.label.icon | absURL -}}" alt="" aria-label="logo"
                    height="{{- site.Params.label.iconHeight | default "30" -}}">
                {{- end -}}
                {{- else if hasPrefix site.Params.label.iconSVG "<svg" }}
                    {{ site.Params.label.iconSVG | safeHTML }}
                {{- end -}}
                {{- $label_text -}}
            </a>
            {{- end }}
            <div class="logo-switches">
                {{- if (not site.Params.disableThemeToggle) }}
                <button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme">
                    <svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
                        fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
                        stroke-linejoin="round">
                        <path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
                    </svg>
                    <svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
                        fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
                        stroke-linejoin="round">
                        <circle cx="12" cy="12" r="5"></circle>
                        <line x1="12" y1="1" x2="12" y2="3"></line>
                        <line x1="12" y1="21" x2="12" y2="23"></line>
                        <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
                        <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
                        <line x1="1" y1="12" x2="3" y2="12"></line>
                        <line x1="21" y1="12" x2="23" y2="12"></line>
                        <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
                        <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
                    </svg>
                </button>
                {{- end }}
                
                {{- if (not site.Params.disableLangToggle) }}
                    {{- $lang := .Lang}}
                    {{- $separator := or $label_text (not site.Params.disableThemeToggle)}}
                    {{- with site.Home.Translations }}
                    <ul class="lang-switch">
                        {{- if $separator }}<li>|</li>{{ end }}
                        {{- range . -}}
                        {{- if ne $lang .Lang }}
                        <li>
                            <a href="{{- .Permalink -}}" title="{{ .Language.Params.languageAltTitle | default (.Language.LanguageName | emojify) | default (.Lang | title) }}"
                                aria-label="{{ .Language.LanguageName | default (.Lang | title) }}">
                                {{- if (and site.Params.displayFullLangName (.Language.LanguageName)) }}
                                {{- .Language.LanguageName | emojify -}}
                                {{- else }}
                                {{- .Lang | title -}}
                                {{- end -}}
                            </a>
                        </li>
                        {{- end -}}
                        {{- end}}
                    </ul>
                    {{- end }}
                {{- end }}
            </div>
        </div>
        {{- $currentPage := . }}
        <ul id="menu">
            {{- range site.Menus.main }}
            {{- $menu_item_url := (cond (strings.HasSuffix .URL "/") .URL (printf "%s/" .URL) ) | absLangURL }}
            {{- $page_url:= $currentPage.Permalink | absLangURL }}
            {{- $is_search := eq (site.GetPage .KeyName).Layout `search` }}
            <li>
                <a href="{{ .URL | absLangURL }}" title="{{ .Title | default .Name }} {{- cond $is_search (" (Alt + /)" | safeHTMLAttr) ("" | safeHTMLAttr ) }}"
                {{- cond $is_search (" accesskey=/" | safeHTMLAttr) ("" | safeHTMLAttr ) }}>
                    <span {{- if eq $menu_item_url $page_url }} class="active" {{- end }}>
                        {{- .Pre }}
                        {{- .Name -}}
                        {{ .Post -}}
                    </span>
                    {{- if (findRE "://" .URL) }}&nbsp;
                    <svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
                        stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
                        <path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
                        <path d="M15 3h6v6"></path>
                        <path d="M10 14L21 3"></path>
                    </svg>
                    {{- end }}
                </a>
            </li>
            {{- end }}
        </ul>
    </nav>
</header>


================================================
FILE: layouts/partials/home_info.html
================================================
{{- with site.Params.homeInfoParams }}
<article class="first-entry home-info">
    <header class="entry-header">
        <h1>{{ .Title | markdownify }}</h1>
    </header>
    <div class="entry-content">
        {{ .Content | markdownify }}
    </div>
    <footer class="entry-footer">
        {{ partial "social_icons.html" (dict "align" site.Params.homeInfoParams.AlignSocialIconsTo) }}
    </footer>
</article>
{{- end -}}


================================================
FILE: layouts/partials/index_profile.html
================================================
<div class="profile">
    {{- with site.Params.profileMode }}
    <div class="profile_inner">
        {{- if .imageUrl -}}
        {{- $img := "" }}
        {{- if not (urls.Parse .imageUrl).IsAbs }}
            {{- $img = resources.Get .imageUrl }}
        {{- end }}
        {{- if $img }}
            {{- $processableFormats := (slice "jpg" "jpeg" "png" "tif" "bmp" "gif") -}}
            {{- if hugo.IsExtended -}}
                {{- $processableFormats = $processableFormats | append "webp" -}}
            {{- end -}}
            {{- $prod := (hugo.IsProduction | or (eq site.Params.env "production")) }}
            {{- if and (in $processableFormats $img.MediaType.SubType) (eq $prod true)}}
                {{- if (not (and (not .imageHeight) (not .imageWidth))) }}
                    {{- $img = $img.Resize (printf "%dx%d" .imageWidth .imageHeight) }}
                {{- else if .imageHeight }}
                    {{- $img = $img.Resize (printf "x%d" .imageHeight) }}
                {{ else if .imageWidth }}
                    {{- $img = $img.Resize (printf "%dx" .imageWidth) }}
                {{ else }}
                    {{- $img = $img.Resize "150x150" }}
                {{- end }}
            {{- end }}
            <img draggable="false" src="{{ $img.Permalink }}" alt="{{ .imageTitle | default "profile image" }}" title="{{ .imageTitle }}"
                height="{{ .imageHeight | default 150 }}" width="{{ .imageWidth | default 150 }}" />
        {{- else }}
        <img draggable="false" src="{{ .imageUrl | absURL }}" alt="{{ .imageTitle | default "profile image" }}" title="{{ .imageTitle }}"
            height="{{ .imageHeight | default 150 }}" width="{{ .imageWidth | default 150 }}" />
        {{- end }}
        {{- end }}
        <h1>{{ .title | default site.Title | markdownify }}</h1>
        <span>{{ .subtitle | markdownify }}</span>
        {{- partial "social_icons.html" -}}

        {{- with .buttons }}
        <div class="buttons">
            {{- range . }}
            <a class="button" href="{{ trim .url " " }}" rel="noopener" title="{{ .name }}">
                <span class="button-inner">
                    {{ .name }}
                    {{- if (findRE "://" .url) }}&nbsp;
                    <svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
                        stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="14" width="14">
                        <path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
                        <path d="M15 3h6v6"></path>
                        <path d="M10 14L21 3"></path>
                    </svg>
                    {{- end }}
                </span>
            </a>
            {{- end }}
        </div>
        {{- end }}
    </div>
    {{- end}}
</div>


================================================
FILE: layouts/partials/post_canonical.html
================================================
{{ if and (.Params.canonicalURL) (.Params.ShowCanonicalLink ) -}}
{{ $url := urls.Parse .Params.canonicalURL }}

{{- if or .Params.author site.Params.author (.Param "ShowReadingTime") (not .Date.IsZero) .IsTranslated (or .Params.editPost.URL site.Params.editPost.URL) }}&nbsp;|&nbsp;{{- end -}}
<span>
    {{- (site.Params.CanonicalLinkText | default .Params.CanonicalLinkText) | default "Originally published at" -}}
    &nbsp;<a href="{{ trim .Params.canonicalURL " " }}" title="{{ trim .Params.canonicalURL " " }}" target="_blank" rel="noopener noreferrer">{{ $url.Host }}</a>
</span>
{{- end }}


================================================
FILE: layouts/partials/post_meta.html
================================================
{{- $scratch := newScratch }}

{{- if not .Date.IsZero -}}
{{- $scratch.Add "meta" (slice (printf "<span title='%s'>%s</span>" (.Date) (.Date | time.Format (default ":date_long" site.Params.DateFormat)))) }}
{{- end }}

{{- if (.Param "ShowReadingTime") -}}
{{- $scratch.Add "meta" (slice (printf "<span>%s</span>" (i18n "read_time" .ReadingTime | default (printf "%d min" .ReadingTime)))) }}
{{- end }}

{{- if (.Param "ShowWordCount") -}}
{{- $scratch.Add "meta" (slice (printf "<span>%s</span>" (i18n "words" .WordCount | default (printf "%d words" .WordCount)))) }}
{{- end }}

{{- if not (.Param "hideAuthor") -}}
{{- with (partial "author.html" .) }}
{{- $scratch.Add "meta" (slice (printf "<span>%s</span>" .)) }}
{{- end }}
{{- end }}

{{- with ($scratch.Get "meta") }}
{{- delimit . "&nbsp;·&nbsp;" | safeHTML -}}
{{- end -}}


================================================
FILE: layouts/partials/post_nav_links.html
================================================
{{- $pages := where site.RegularPages "Type" "in" site.Params.mainSections }}
{{- if and (gt (len $pages) 1) (in $pages . ) }}
<nav class="paginav">
  {{- with $pages.Next . }}
  <a class="prev" href="{{ .Permalink }}">
    <span class="title">« {{ i18n "prev_page" }}</span>
    <br>
    <span>{{- .Name -}}</span>
  </a>
  {{- end }}
  {{- with $pages.Prev . }}
  <a class="next" href="{{ .Permalink }}">
    <span class="title">{{ i18n "next_page" }} »</span>
    <br>
    <span>{{- .Name -}}</span>
  </a>
  {{- end }}
</nav>
{{- end }}


================================================
FILE: layouts/partials/share_icons.html
================================================
{{- $pageurl := .Permalink }}
{{- $title := .Title }}

{{- $.Scratch.Set "tags" ""}}

{{- with .Params.Tags }}
{{- $hashtags := newScratch}}
{{- range . }}{{ $hashtags.Add "tags" (slice (replaceRE "(\\s)" "" . ))}}{{end}}
{{- $.Scratch.Set "tags" (delimit ($hashtags.Get "tags") ",") }}
{{- end -}}

{{- $custom := false }}
{{- $ShareButtons := (.Param "ShareButtons")}}
{{- with $ShareButtons }}{{ $custom = true }}{{ end }}

<ul class="share-buttons">
    {{- if (or (cond ($custom) (in $ShareButtons "x") (true)) (cond ($custom) (in $ShareButtons "twitter") (true))) }}
    <li>
        <a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on x"
            href="https://x.com/intent/tweet/?text={{ $title }}&amp;url={{ $pageurl }}&amp;hashtags={{- $.Scratch.Get "tags" -}}">
            <svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
                <path
                    d="M512 62.554 L 512 449.446 C 512 483.97 483.97 512 449.446 512 L 62.554 512 C 28.03 512 0 483.97 0 449.446 L 0 62.554 C 0 28.03 28.029 0 62.554 0 L 449.446 0 C 483.971 0 512 28.03 512 62.554 Z M 269.951 190.75 L 182.567 75.216 L 56 75.216 L 207.216 272.95 L 63.9 436.783 L 125.266 436.783 L 235.9 310.383 L 332.567 436.783 L 456 436.783 L 298.367 228.367 L 432.367 75.216 L 371.033 75.216 Z M 127.633 110 L 164.101 110 L 383.481 400.065 L 349.5 400.065 Z" />
            </svg>
        </a>
    </li>
    {{- end }}
    {{- if (cond ($custom) (in $ShareButtons "linkedin") (true)) }}
    <li>
        <a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on linkedin"
            href="https://www.linkedin.com/shareArticle?mini=true&amp;url={{ $pageurl }}&amp;title={{ $title }}&amp;summary={{ $title }}&amp;source={{ $pageurl }}">
            <svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
                <path
                    d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
            </svg>
        </a>
    </li>
    {{- end }}
    {{- if (cond ($custom) (in $ShareButtons "reddit") (true)) }}
    <li>
        <a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on reddit"
            href="https://reddit.com/submit?url={{ $pageurl }}&title={{ $title }}">
            <svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
                <path
                    d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
            </svg>
        </a>
    </li>
    {{- end }}
    {{- if (cond ($custom) (in $ShareButtons "facebook") (true)) }}
    <li>
        <a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on facebook"
            href="https://facebook.com/sharer/sharer.php?u={{ $pageurl }}">
            <svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
                <path
                    d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" />
            </svg>
        </a>
    </li>
    {{- end }}
    {{- if (cond ($custom) (in $ShareButtons "whatsapp") (true)) }}
    <li>
        <a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on whatsapp"
            href="https://api.whatsapp.com/send?text={{ $title }}%20-%20{{ $pageurl }}">
            <svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
                <path
                    d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
            </svg>
        </a>
    </li>
    {{- end }}
    {{- if (cond ($custom) (in $ShareButtons "telegram") (true)) }}
    <li>
        <a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on telegram"
            href="https://telegram.me/share/url?text={{ $title }}&amp;url={{ $pageurl }}">
            <svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
                <path
                    d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
            </svg>
        </a>
    </li>
    {{- end }}
    {{- if (cond ($custom) (in $ShareButtons "ycombinator") (true)) }}
    <li>
        <a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on ycombinator"
            href="https://news.ycombinator.com/submitlink?t={{ $title }}&u={{ $pageurl }}">
            <svg version="1.1" xml:space="preserve" width="30px" height="30px" viewBox="0 0 512 512" fill="currentColor"
                xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
                <path
                    d="M449.446 0C483.971 0 512 28.03 512 62.554L512 449.446C512 483.97 483.97 512 449.446 512L62.554 512C28.03 512 0 483.97 0 449.446L0 62.554C0 28.03 28.029 0 62.554 0L449.446 0ZM183.8767 87.9921H121.8427L230.6673 292.4508V424.0079H281.3328V292.4508L390.1575 87.9921H328.1233L256 238.2489z" />
            </svg>
        </a>
    </li>
    {{- end }}
</ul>


================================================
FILE: layouts/partials/social_icons.html
================================================
<div class="social-icons" {{ with .align}}align="{{.}}" {{- end }}>
    {{- range site.Params.socialIcons }}
    <a href="{{ trim .url " " | safeURL }}" target="_blank" rel="noopener noreferrer me"
        title="{{ (.title | default .name) | title }}">
        {{ partial "svg.html" . }}
    </a>
    {{- end }}
</div>


================================================
FILE: layouts/partials/svg.html
================================================
{{- $icon_name := ( trim .name " " | lower )}}
{{- if (eq $icon_name "123rf") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <path style="font-variation-settings:normal"
        d="M7.48 3.826c-.702 0-1.345.388-1.675 1.008l-.711 1.334a4.214 4.214 0 0 1-1.614 1.67l-.388.224a2.207 2.207 0 0 0-1.104 1.913v8.607c0 .878.712 1.592 1.59 1.592h1.186c.468 0 .916-.19 1.244-.524l1.478-1.504c.266-.27.628-.421 1.006-.421h7.04c.378 0 .74.151 1.005.421l1.478 1.504c.329.334.778.524 1.247.524h1.183c.879 0 1.592-.714 1.592-1.592V9.975c0-.79-.422-1.518-1.106-1.912l-.388-.225a4.214 4.214 0 0 1-1.613-1.67l-.711-1.334a1.899 1.899 0 0 0-1.676-1.008z"
        stroke-linejoin="miter" />
    <circle cx="12" cy="12.467" r="2.723" />
</svg>
{{- else if (eq $icon_name "500px") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
    <path
        d="M7.451 8.9995A3.0005 3.0005 0 1 0 10.4514 12a3.0275 3.0275 0 0 0-3.0006-3.0005Zm0 5.371A2.3554 2.3554 0 1 1 9.7912 12a2.3704 2.3704 0 0 1-2.3404 2.3704Zm6.448-5.371A3.0005 3.0005 0 1 0 16.8997 12a3.0005 3.0005 0 0 0-3.0005-3.0005Zm0 5.371A2.3554 2.3554 0 1 1 16.2396 12a2.3314 2.3314 0 0 1-2.3404 2.3704zM2.29 10.7997a2.0224 2.0224 0 0 0-1.5903.42V9.6297h2.7005c.09 0 .15-.03.15-.3 0-.2701-.12-.2701-.18-.2701H.3997a.27.27 0 0 0-.27.27V11.97c0 .15.09.18.24.21a.228.228 0 0 0 .27-.06A1.7073 1.7073 0 0 1 2.14 11.4 1.5603 1.5603 0 0 1 3.4902 12.72 1.5183 1.5183 0 0 1 2.17 14.4004h-.18a1.5303 1.5303 0 0 1-1.4103-.9901c-.03-.09-.09-.15-.33-.06-.2401.09-.2701.15-.2401.24a2.1274 2.1274 0 0 0 2.7005 1.2602A2.1274 2.1274 0 0 0 3.9703 12.15 2.1004 2.1004 0 0 0 2.29 10.7998zm16.65-1.7703a1.6263 1.6263 0 0 0-1.4403 1.6203v2.6704c0 .15.12.18.3.18s.3001-.03.3001-.18v-2.6704a1.0082 1.0082 0 0 1 .8702-1.0202.9872.9872 0 0 1 .7501.24.9572.9572 0 0 1 .33.7202 1.2002 1.2002 0 0 1-.21.57A.9452.9452 0 0 1 19 11.55c-.12 0-.21 0-.24.27 0 .1801 0 .2701.15.3001a1.4763 1.4763 0 0 0 .8701-.18 1.6113 1.6113 0 0 0 .8702-1.2602 1.5543 1.5543 0 0 0-1.4463-1.6803.8311.8311 0 0 1-.264.03zm3.9307 1.5602 1.0802-1.0801c.03-.03.12-.12-.06-.3301a.3.3 0 0 0-.2101-.12.156.156 0 0 0-.12.06l-1.0802 1.0802-1.0802-1.1102c-.09-.09-.18-.06-.33.06-.15.12-.15.24-.06.33l1.0801 1.0802-1.0862 1.1102a.228.228 0 0 0-.06.12.252.252 0 0 0 .12.2101.483.483 0 0 0 .21.12.318.318 0 0 0 .1501-.06l1.0802-1.0802 1.0802 1.0802a.156.156 0 0 0 .12.06.3.3 0 0 0 .21-.12c.09-.12.12-.24.03-.3z" />
</svg>
{{- else if (eq $icon_name "adobestock") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <path style="font-variation-settings:normal" d="M2.235 2.235h19.53v19.53H2.235z" />
    <path style="font-variation-settings:normal"
        d="M6.165 16.659s3.16 1.2 4.602-.17c1.37-1.3.787-3.163-.754-4.05-1.68-.969-3.284-1.788-3.036-3.536.446-3.138 4.386-1.851 4.386-1.851M15.792 7.794v7.774c0 1.023.635 1.766 2.043 1.624M17.826 10.04h-3.582" />
</svg>
{{- else if (eq $icon_name "anilist") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -2 25 28" fill="none" stroke="currentColor" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <path style="font-variation-settings:normal"
        d="M6.361 2.943 0 21.056h4.942l1.077-3.133H11.4l1.052 3.133H22.9c.71 0 1.1-.392 1.1-1.101V17.53c0-.71-.39-1.101-1.1-1.101h-6.483V4.045c0-.71-.392-1.102-1.101-1.102h-2.422c-.71 0-1.101.392-1.101 1.102v1.064l-.758-2.166zm2.324 5.948 1.688 5.018H7.144z" />
</svg>
{{- else if or (eq $icon_name "ao3") (eq $icon_name "archiveofourown") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="1 1 22 22" stroke-width="1.6" stroke="currentColor" fill="none"
    stroke-linecap="round" stroke-linejoin="round">
    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
    <path d="M2 5c7.109 4.1 10.956 10.131 12 14c1.074 -4.67 4.49 -8.94 8 -11" />
    <path d="M14 8m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
    <path d="M7 9c-.278 5.494 -2.337 7.33 -4 10c4.013 -2 6.02 -5 15.05 -5c4.012 0 3.51 2.5 1 3c2 .5 2.508 5 -2.007 2" />
</svg>
{{- else if (eq $icon_name "applemusic") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" stroke="none">
    <path
        d="M23.994 6.124a9.23 9.23 0 00-.24-2.19c-.317-1.31-1.062-2.31-2.18-3.043a5.022 5.022 0 00-1.877-.726 10.496 10.496 0 00-1.564-.15c-.04-.003-.083-.01-.124-.013H5.986c-.152.01-.303.017-.455.026-.747.043-1.49.123-2.193.4-1.336.53-2.3 1.452-2.865 2.78-.192.448-.292.925-.363 1.408-.056.392-.088.785-.1 1.18 0 .032-.007.062-.01.093v12.223c.01.14.017.283.027.424.05.815.154 1.624.497 2.373.65 1.42 1.738 2.353 3.234 2.801.42.127.856.187 1.293.228.555.053 1.11.06 1.667.06h11.03a12.5 12.5 0 001.57-.1c.822-.106 1.596-.35 2.295-.81a5.046 5.046 0 001.88-2.207c.186-.42.293-.87.37-1.324.113-.675.138-1.358.137-2.04-.002-3.8 0-7.595-.003-11.393zm-6.423 3.99v5.712c0 .417-.058.827-.244 1.206-.29.59-.76.962-1.388 1.14-.35.1-.706.157-1.07.173-.95.045-1.773-.6-1.943-1.536a1.88 1.88 0 011.038-2.022c.323-.16.67-.25 1.018-.324.378-.082.758-.153 1.134-.24.274-.063.457-.23.51-.516a.904.904 0 00.02-.193c0-1.815 0-3.63-.002-5.443a.725.725 0 00-.026-.185c-.04-.15-.15-.243-.304-.234-.16.01-.318.035-.475.066-.76.15-1.52.303-2.28.456l-2.325.47-1.374.278c-.016.003-.032.01-.048.013-.277.077-.377.203-.39.49-.002.042 0 .086 0 .13-.002 2.602 0 5.204-.003 7.805 0 .42-.047.836-.215 1.227-.278.64-.77 1.04-1.434 1.233-.35.1-.71.16-1.075.172-.96.036-1.755-.6-1.92-1.544-.14-.812.23-1.685 1.154-2.075.357-.15.73-.232 1.108-.31.287-.06.575-.116.86-.177.383-.083.583-.323.6-.714v-.15c0-2.96 0-5.922.002-8.882 0-.123.013-.25.042-.37.07-.285.273-.448.546-.518.255-.066.515-.112.774-.165.733-.15 1.466-.296 2.2-.444l2.27-.46c.67-.134 1.34-.27 2.01-.403.22-.043.442-.088.663-.106.31-.025.523.17.554.482.008.073.012.148.012.223.002 1.91.002 3.822 0 5.732z" />
</svg>
{{- else if (eq $icon_name "applepodcasts") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
    <path
        d="M5.34 0A5.328 5.328 0 000 5.34v13.32A5.328 5.328 0 005.34 24h13.32A5.328 5.328 0 0024 18.66V5.34A5.328 5.328 0 0018.66 0zm6.525 2.568c2.336 0 4.448.902 6.056 2.587 1.224 1.272 1.912 2.619 2.264 4.392.12.59.12 2.2.007 2.864a8.506 8.506 0 01-3.24 5.296c-.608.46-2.096 1.261-2.336 1.261-.088 0-.096-.091-.056-.46.072-.592.144-.715.48-.856.536-.224 1.448-.874 2.008-1.435a7.644 7.644 0 002.008-3.536c.208-.824.184-2.656-.048-3.504-.728-2.696-2.928-4.792-5.624-5.352-.784-.16-2.208-.16-3 0-2.728.56-4.984 2.76-5.672 5.528-.184.752-.184 2.584 0 3.336.456 1.832 1.64 3.512 3.192 4.512.304.2.672.408.824.472.336.144.408.264.472.856.04.36.03.464-.056.464-.056 0-.464-.176-.896-.384l-.04-.03c-2.472-1.216-4.056-3.274-4.632-6.012-.144-.706-.168-2.392-.03-3.04.36-1.74 1.048-3.1 2.192-4.304 1.648-1.737 3.768-2.656 6.128-2.656zm.134 2.81c.409.004.803.04 1.106.106 2.784.62 4.76 3.408 4.376 6.174-.152 1.114-.536 2.03-1.216 2.88-.336.43-1.152 1.15-1.296 1.15-.023 0-.048-.272-.048-.603v-.605l.416-.496c1.568-1.878 1.456-4.502-.256-6.224-.664-.67-1.432-1.064-2.424-1.246-.64-.118-.776-.118-1.448-.008-1.02.167-1.81.562-2.512 1.256-1.72 1.704-1.832 4.342-.264 6.222l.413.496v.608c0 .336-.027.608-.06.608-.03 0-.264-.16-.512-.36l-.034-.011c-.832-.664-1.568-1.842-1.872-2.997-.184-.698-.184-2.024.008-2.72.504-1.878 1.888-3.335 3.808-4.019.41-.145 1.133-.22 1.814-.211zm-.13 2.99c.31 0 .62.06.844.178.488.253.888.745 1.04 1.259.464 1.578-1.208 2.96-2.72 2.254h-.015c-.712-.331-1.096-.956-1.104-1.77 0-.733.408-1.371 1.112-1.745.224-.117.534-.176.844-.176zm-.011 4.728c.988-.004 1.706.349 1.97.97.198.464.124 1.932-.218 4.302-.232 1.656-.36 2.074-.68 2.356-.44.39-1.064.498-1.656.288h-.003c-.716-.257-.87-.605-1.164-2.644-.341-2.37-.416-3.838-.218-4.302.262-.616.974-.966 1.97-.97z" />
</svg>
{{- else if (eq $icon_name "bandcamp") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
    <path d="M0 18.75l7.437-13.5H24l-7.438 13.5H0z" />
</svg>
{{- else if (eq $icon_name "behance") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <path paint-order="stroke fill markers" stroke-linejoin="miter" stroke-width="2"
        style="font-variation-settings:normal"
        d="M1.774 18.063V5.466h5.51c1.978 0 3.116 1.326 3.055 2.806-.043 1.049-.711 2.988-2.643 2.988h-5.93H7.73c1.224 0 3.532 1.13 3.532 3.532 0 2.4-1.873 3.27-3.318 3.27zm12.57-4.459h7.89s.012-4.18-4.167-4.18c-5.237 0-5.277 9.11-.3 9.11 3.06 0 3.935-1.806 3.935-1.806M15.526 5.823h4.987" />
</svg>
{{- else if (eq $icon_name "bilibili") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
    stroke-linecap="round">
    <rect x="1.3333" y="6" width="21.333" height="15.333" rx="4" ry="4" />
    <path d="m8 12.4v1.2" />
    <path d="m16 12.4v1.2" />
    <path d="m5.8853 2.6667 2.6667 2.6667" />
    <path d="m18.115 2.6667-2.6667 2.6667" />
</svg>
{{- else if (eq $icon_name "bitcoin") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
    <path
        d="M23.638 14.904c-1.602 6.43-8.113 10.34-14.542 8.736C2.67 22.05-1.244 15.525.362 9.105 1.962 2.67 8.475-1.243 14.9.358c6.43 1.605 10.342 8.115 8.738 14.548v-.002zm-6.35-4.613c.24-1.59-.974-2.45-2.64-3.03l.54-2.153-1.315-.33-.525 2.107c-.345-.087-.705-.167-1.064-.25l.526-2.127-1.32-.33-.54 2.165c-.285-.067-.565-.132-.84-.2l-1.815-.45-.35 1.407s.975.225.955.236c.535.136.63.486.615.766l-1.477 5.92c-.075.166-.24.406-.614.314.015.02-.96-.24-.96-.24l-.66 1.51 1.71.426.93.242-.54 2.19 1.32.327.54-2.17c.36.1.705.19 1.05.273l-.51 2.154 1.32.33.545-2.19c2.24.427 3.93.257 4.64-1.774.57-1.637-.03-2.58-1.217-3.196.854-.193 1.5-.76 1.68-1.93h.01zm-3.01 4.22c-.404 1.64-3.157.75-4.05.53l.72-2.9c.896.23 3.757.67 3.33 2.37zm.41-4.24c-.37 1.49-2.662.735-3.405.55l.654-2.64c.744.18 3.137.524 2.75 2.084v.006z" />
</svg>
{{- else if (eq $icon_name "bluesky") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-25 0 400 320" fill="none" stroke="currentColor" stroke-width="30">
    <path
        d="M180 141.964C163.699 110.262 119.308 51.1817 78.0347 22.044C38.4971 -5.86834 23.414 -1.03207 13.526 3.43594C2.08093 8.60755 0 26.1785 0 36.5164C0 46.8542 5.66748 121.272 9.36416 133.694C21.5786 174.738 65.0603 188.607 105.104 184.156C107.151 183.852 109.227 183.572 111.329 183.312C109.267 183.642 107.19 183.924 105.104 184.156C46.4204 192.847 -5.69621 214.233 62.6582 290.33C137.848 368.18 165.705 273.637 180 225.702C194.295 273.637 210.76 364.771 295.995 290.33C360 225.702 313.58 192.85 254.896 184.158C252.81 183.926 250.733 183.645 248.671 183.315C250.773 183.574 252.849 183.855 254.896 184.158C294.94 188.61 338.421 174.74 350.636 133.697C354.333 121.275 360 46.8568 360 36.519C360 26.1811 357.919 8.61012 346.474 3.43851C336.586 -1.02949 321.503 -5.86576 281.965 22.0466C240.692 51.1843 196.301 110.262 180 141.964Z" />
</svg>
{{- else if (eq $icon_name "bookwyrm") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" stroke="none">
    <path
        d="m8.3359 0.0078125c-2.0069 0.073882-3.9461 1.339-5.1719 3.1055-1.2258 1.7665-1.686 4.04-0.90234 6.2734 0.7201 2.0524 2.301 3.6839 4.377 4.3066l-0.40234 2.5547c-0.61924-0.29743-1.2854-0.52634-1.9707-0.55078-1.0699-0.03816-2.6915 0.27366-3.707 2.0703-0.69877 1.2362-0.81095 2.9826 0.10555 4.4707 0.61159 0.99303 1.7053 1.9179 4.2929 1.4745 1.4845-0.25433 2.2237-1.3456 2.9082-2.9727 0.37179-0.88378 0.65101-2.0921 1.1895-2.8398 0.73644-1.0227 2.285-1.5902 3.2578-1.6113-0.93782-0.45256-3.7855-1.1922-5.584 1.8008-0.48715 0.8107-1.0605 2.4179-1.9609 2.9531-0.2998 0.1782-0.76718 0.0994-1.0781-0.13477-0.20088-0.15128-0.95922-1.0342-0.16016-1.9395 0.21799-0.24696 0.54865-0.3631 0.93555-0.33398 0.26333 0.01982 0.55734 0.12268 0.88477 0.35352 0.21582-0.44651 0.44063-0.88851 0.68359-1.3204 0.19226-0.34173 0.49358-0.75049 0.88086-1.1426l0.87305-5.3652c-0.24381 0.10022-0.52508 0.15616-0.76367 0.18559-0.41295 0.05094-0.81717 0.02605-1.1895-0.08789-0.48449-0.14828-0.99894-0.41785-1.2695-0.93554-0.086172-0.16486-0.024184-0.37016 0.13477-0.4668 0.17373-0.10562 0.37573-0.028092 0.5 0.13281 0.41046 0.53144 1.1723 0.85969 2.0879 0.58794 1.2598-0.3318 2.1585-0.89477 2.7973-0.94823 0.62644-0.052424 0.9395 0.63646 1.1998 1.2859 0.08927-0.40702 0.33679-1.217 1-0.30078 0.020069-0.7907 0.48358-0.94364 0.93945-0.37895-1.2259-2.9496-3.6999-1.7628-5.0589-1.4148-0.63799 0.1634-1.8432 0.2286-2.5441-1.5549-0.19205-1.9238 0.832-3.0815 1.9497-3.6181 1.11-0.5329 2.4759-0.33316 3.4043 0.23242-0.36121 0.71072-0.96917 0.66041-1.7031 0.73633 0.97044 0.57933 1.6654 0.51691 2.4707 0.23438 0.05017 0.64643-0.27301 0.94594-0.66797 1.4023 1.1363 0.014693 1.7281-0.12865 1.9199-0.2207-0.06996-0.12068-0.13737-0.24477-0.20117-0.375-0.15114-0.30851-0.20068-1.0047-0.10742-1.7402 0.2535 0.25256 0.66781 0.50633 1.0586 0.54492-0.13923-0.55326 0.04953-1.4041 0.36523-1.9453 0.17929 0.22031 0.65534 0.48341 1.0664 0.51758-0.03367-0.13937-0.01471-0.38143 0.01758-0.63672-0.9214-0.25345-1.2388-0.43896-1.8164-0.75195-0.73954-0.40078-3.2824-1.7015-5.041-1.6367zm11.457 1.4355-0.50391 1.0195c-0.6186-0.30447-1.3497 0.099697-1.4238 0.78516 0 0-1.575-0.59615-1.7793-1.3223-0.25838 0.42041-0.34228 1.2928-0.10156 1.9375-0.25368 0.056883-1.3427-0.18224-1.5254-0.42578-0.17662 0.4343-0.06096 1.5935 0.38086 1.9824-0.70463-0.029033-1.2107-0.10404-1.6016-0.47266 0.05528 0.65482 1.1567 2.5058 3.0605 2.4473 1.8859-0.057961 5.3416-2.0444 5.1172 0.77734l0.76367-0.91406 0.44922 1.082 0.12891-1.502 0.62891 0.10352-0.01563-0.86719c-1.0878 0.21766-2.216 0.15404-3.2715-0.1875 0 0 0.81541-1.2247 3.2109-0.62695 0 0 1.0704-0.18142 0.54492-1.0547-0.52548-0.87327-1.0156 0.42383-1.0156 0.42383-0.45143-0.28472-0.85656-0.63336-1.291-0.94336-0.79444-0.56687-1.4356-1.3204-1.7559-2.2422zm-0.8418 1.2695c0.75216-0.00879 1.4355 0.46302 1.7031 1.166 0.04186 0.10996 0.15236 0.15844 0.26758 0.13477 0.1635-0.033594 0.32277 0.073435 0.36719 0.23438 0.04852 0.17581-0.05737 0.35656-0.23437 0.40039-0.43572 0.1079-0.84051-0.14952-1.002-0.56836-0.02156-0.055928-0.27308-0.7224-1.1016-0.70117-0.187 0.00479-0.33205-0.14489-0.33203-0.33203 0-0.18715 0.14489-0.3318 0.33203-0.33398zm0.25781 1.0957c0.26687 0.00108 0.48296 0.21751 0.48242 0.48438-5.37e-4 0.26611-0.21632 0.48135-0.48242 0.48242-0.26763 0.00108-0.48579-0.21479-0.48633-0.48242-5.41e-4 -0.2684 0.21793-0.48546 0.48633-0.48438zm-10.809 3.0397c-0.34991 0.22367-0.78824 0.66637-0.87563 1.2212l-0.02322 0.14744c0.11372 0.12466 0.70444-9.118e-4 0.7719-0.043257 0.072919-0.44812 0.27343-0.56586 0.52734-0.7258 0.23894-0.15051 0.51638-0.15096 0.6371-0.12959l8.1113 1.4355-1.5332 9.2793-4.498-0.7793c-0.90219 0.26905-1.5466 0.74872-1.8106 1.1153-0.23032 0.31978-0.45999 0.95271-0.64258 1.457h0.00195l5.6465 0.94531 0.10547-0.60938 0.26172-1.5273c2e-3 -0.0014 0.0039-0.0025 0.0059-0.0039l1.4961 0.27148 0.60547-3.5977c0.53943 0.80503 0.83125 1.8162 0.69727 2.6641-0.14 0.88552-0.69613 1.6056-1.9375 1.9688-0.12433 0.03633-0.24744 0.06753-0.36914 0.0957l-0.19727 1.2051c-0.03115 0.20643-0.23137 0.34436-0.43555 0.30078l-6.1348-1.0312-0.4043 0.97656c1.464 1.0792 3.2449 2.1812 5.5723 2.2578 1.1718 0.03857 2.7611-0.13523 4.207-0.83594 1.4459-0.7007 2.7188-1.9524 3.2031-3.9375 0.35588-1.4586 0.21674-3.049-0.29883-4.4395-0.7975-2.1508-2.4648-3.307-3.1621-3.625l0.45703-2.7188-1.0625-0.19141c-1.0515 0.21674-2.1447 0.13408-3.1035-0.5625l-4.6797-0.84768c-0.15388-0.027874-0.67134-0.034627-1.1391 0.26435zm1.2523 3.6087-0.00195 0.0039-0.8125 4.8438c0.78057-0.26418 1.5395-0.2905 2.2051-0.20898l0.64636-3.8533c-0.23318 0.2305-0.41364 0.22022-0.48214 0.21007-0.51767-0.07669-0.62748-0.99295-0.98846-1.1614-0.11104-0.05182-0.29544-0.02624-0.56639 0.16594z" />
</svg>
{{- else if (eq $icon_name "bugcrowd") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
    <path
        d="M24 12L18 1.387H6L0 12l6 10.613h12zm-5.782 1.658c-.003.825-.122 1.569-.354 2.231a5.05 5.05 0 0 1-.99 1.708 4.316 4.316 0 0 1-1.503 1.093 4.69 4.69 0 0 1-1.896.385 4.158 4.158 0 0 1-1.145-.152 3.754 3.754 0 0 1-.868-.36 3.792 3.792 0 0 1-.601-.435 3.023 3.023 0 0 1-.466-.514h-.04l.02.193c.011.166.018.331.02.497v.528H7.961V7.062c0-.151-.04-.263-.114-.337-.077-.074-.19-.109-.33-.109h-.811V4.425h2.452c.473-.003.824.108 1.048.331.222.223.333.576.33 1.049v3.003c-.003.258-.01.467-.02.626l-.02.247h.04a2.898 2.898 0 0 1 .463-.507c.156-.143.354-.284.6-.426.245-.142.538-.261.876-.36.38-.1.77-.15 1.162-.148.702.003 1.334.135 1.894.395a4.118 4.118 0 0 1 1.446 1.11c.4.48.707 1.052.92 1.715.212.658.317 1.392.32 2.198m-2.803 1.406c.138-.399.206-.852.209-1.366-.003-.659-.112-1.231-.328-1.718-.216-.484-.517-.859-.902-1.125a2.347 2.347 0 0 0-1.344-.404 2.57 2.57 0 0 0-.969.186 2.372 2.372 0 0 0-.83.589 2.839 2.839 0 0 0-.579 1.015c-.141.413-.212.906-.216 1.477 0 .397.053.792.159 1.174.101.366.265.712.483 1.02.211.3.486.548.805.722.32.176.698.267 1.127.27.343.002.683-.07.997-.213a2.43 2.43 0 0 0 .824-.623c.24-.273.428-.607.564-1.004Z" />
</svg>
{{- else if (eq $icon_name "buttondown") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 520 520" stroke="none" stroke-width="1" fill="none"
    fill-rule="evenodd">
    <g>
        <g transform="translate(4, 4.075)" fill-rule="nonzero" stroke="currentColor">
            <g transform="translate(256, 255.9625) scale(-1, 1) rotate(-180) translate(-256, -255.9625)translate(0, 0)">
                <path
                    d="M301.6606,14.1373853 C303.688746,15.1698525 310.677734,16.9113405 318.761474,17.4327026 L319.541861,17.4809376 C319.825804,17.4976809 320.110512,17.5135842 320.399561,17.5288479 C343.999067,18.8284973 371.499186,24.4257864 387.885292,31.3591646 C389.181101,31.9620544 390.66612,32.5947748 391.905059,33.118941 C392.457805,33.3527953 392.939556,33.5536822 393.264934,33.7015814 C412.253041,41.8039575 429.258626,53.4407732 443.988462,68.0795656 C458.987342,83.1852739 470.054864,99.5757529 478.566662,119.436613 C479.232992,120.911103 479.797477,122.244579 480.266338,123.348721 C480.69095,124.348659 481.055744,125.201101 481.297832,125.733696 C482.04768,127.342286 483.431159,131.761421 484.827767,136.297068 L485.106229,137.205397 C485.646254,138.974836 486.171716,140.74265 486.644558,142.383076 L486.880758,143.207351 C487.207895,144.356002 487.503394,145.423929 487.751708,146.362309 C490.93928,158.570506 493.630153,177.2304 494.475121,191.67464 C494.489037,191.936321 494.503699,192.197595 494.519062,192.458134 L494.567297,193.238521 C495.088659,201.322261 496.830148,208.311249 497.533797,209.718548 C498.334936,211.178568 497.319844,228.009 497.058098,246.405938 L497.042743,247.557661 C497.037968,247.942166 497.033542,248.327226 497.02949,248.712715 L497.017514,249.984954 C497.005194,251.470665 496.998775,252.960712 496.99958,254.447993 L496.999676,258.181669 C497.000028,258.606948 497.000957,259.032365 497.002432,259.457749 L497.008473,260.73363 C497.011015,261.158776 497.014077,261.583719 497.017629,262.008287 L497.029731,263.280699 L497.036167,263.858626 L497.050699,265.012063 C497.303024,283.630141 498.381851,300.733383 497.862615,301.660591 C496.830148,303.688737 495.088659,310.677724 494.567297,318.761465 L494.519062,319.541851 C494.502319,319.825795 494.486416,320.110503 494.471152,320.399552 C493.171503,343.999057 487.574213,371.499175 480.640835,387.885281 C480.037945,389.18109 479.405225,390.666109 478.881059,391.905047 C478.647204,392.457794 478.446317,392.939544 478.298418,393.264922 C470.196042,412.253029 458.559226,429.258613 443.920433,443.988449 C428.814724,458.987328 412.424245,470.05485 392.563384,478.566648 C391.088894,479.232978 389.755418,479.797462 388.651276,480.266324 C387.651338,480.690936 386.798896,481.055729 386.266301,481.297818 C384.657711,482.047666 380.238576,483.431145 375.702929,484.827753 L374.794599,485.106214 C373.02516,485.64624 371.257346,486.171702 369.61692,486.644544 L368.792645,486.880744 C367.643994,487.207881 366.576067,487.503379 365.637687,487.751694 C353.42949,490.939266 334.769595,493.630139 320.325355,494.475106 C320.063674,494.489023 319.802399,494.503685 319.541861,494.519048 L318.761474,494.567283 C310.677734,495.088645 303.688746,496.830133 302.281447,497.533782 C302.035045,497.661499 301.011128,497.716526 299.363262,497.7223 L298.898489,497.722671 C292.818341,497.712349 279.458647,497.139676 265.150262,496.970881 L263.86424,496.956847 C263.43483,496.952547 263.004741,496.948635 262.574142,496.945135 L261.280986,496.935901 C260.849538,496.933253 260.417748,496.931043 259.985788,496.929298 L258.689562,496.925483 L258.041381,496.924669 L253.657009,496.924794 C253.446174,496.925019 253.235292,496.925408 253.024384,496.925957 L251.758805,496.931136 C250.282339,496.939343 248.806728,496.954997 247.339358,496.976767 L246.083802,496.996893 C231.045475,497.255639 217.102055,498.121167 212.28841,498.144484 L211.908579,498.144446 C211.132148,498.140007 210.660626,498.106798 210.541309,498.036292 C208.804002,497.065047 200.747967,494.947781 191.70142,494.4712 C168.007289,493.171931 140.502731,487.575001 124.114708,480.640821 C122.818899,480.037931 121.33388,479.405211 120.094941,478.881044 C119.542195,478.64719 119.060444,478.446303 118.735066,478.298404 C99.7469589,470.196028 82.741374,458.559212 68.0115377,443.92042 C53.0126581,428.814711 41.9451357,412.424232 33.4333382,392.563372 C32.7670076,391.088883 32.2025234,389.755406 31.7336621,388.651264 C31.3090498,387.651326 30.9442562,386.798884 30.7021677,386.26629 C29.95232,384.6577 28.5688409,380.238565 27.1722326,375.702918 L26.8937715,374.794588 C26.3537459,373.025149 25.828284,371.257335 25.3554418,369.616909 L25.1192419,368.792634 C24.7921049,367.643983 24.4966065,366.576056 24.2482917,365.637676 C21.0607195,353.42948 18.3698466,334.769585 17.5248792,320.325345 C17.5109627,320.063665 17.4963009,319.80239 17.4809377,319.541851 L17.4327026,318.761465 C16.9113405,310.677724 15.1698524,303.688737 14.4662028,302.281438 C13.6650642,300.821417 14.6801556,283.990985 14.9419016,265.594047 L14.9572566,264.442324 C14.9620324,264.057819 14.9664581,263.67276 14.9705103,263.28727 L14.9824855,262.015031 C14.9948063,260.52932 15.0012251,259.039273 15.0004199,257.551993 L15.0003241,253.818317 C14.9999715,253.393037 14.9990434,252.96762 14.9975678,252.542236 L14.991527,251.266356 C14.9889848,250.841209 14.9859234,250.416266 14.982371,249.991698 L14.9702689,248.719286 L14.9638332,248.14136 L14.9493008,246.987923 C14.6969761,228.369845 13.6181487,211.266602 14.1373851,210.339394 C15.1698524,208.311249 16.9113405,201.322261 17.4327026,193.238521 L17.4809376,192.458134 C17.497681,192.174191 17.5135843,191.889482 17.528848,191.600434 C18.8284974,168.000928 24.4257866,140.500811 31.359165,124.114705 C31.9620548,122.818896 32.5947752,121.333877 33.1189414,120.094938 C33.3527958,119.542192 33.5536826,119.060441 33.7015818,118.735063 C41.8039581,99.7469565 53.4407742,82.7413722 68.0795669,68.0115364 C83.1852758,53.0126572 99.5757552,41.945135 119.436616,33.4333378 C120.911106,32.7670072 122.244582,32.202523 123.348724,31.7336617 C124.348662,31.3090494 125.201104,30.9442559 125.733699,30.7021673 C127.342289,29.9523196 131.761424,28.5688406 136.297071,27.1722323 L137.205401,26.8937712 C138.97484,26.3537457 140.742654,25.8282838 142.38308,25.3554416 L143.207355,25.1192417 C144.356006,24.7921047 145.423933,24.4966062 146.362313,24.2482914 C158.57051,21.0607194 177.230405,18.3698465 191.674645,17.5248791 C191.936326,17.5109626 192.197601,17.4963008 192.458139,17.4809376 L193.238526,17.4327026 C201.322266,16.9113405 208.311254,15.1698525 209.718553,14.4662029 C211.178574,13.6650644 228.009006,14.6801556 246.405945,14.9419016 L247.557668,14.9572566 C247.942173,14.9620325 248.327233,14.9664581 248.712722,14.9705103 L249.984961,14.9824855 C251.470672,14.9948063 252.960719,15.0012251 254.448,15.0004199 L258.181676,15.0003241 C258.606956,14.9999715 259.032373,14.9990434 259.457757,14.9975678 L260.733637,14.991527 C261.158784,14.9889848 261.583727,14.9859234 262.008295,14.982371 L263.280707,14.970269 L263.858633,14.9638332 L265.012071,14.9493008 C283.630149,14.6969761 300.733392,13.6181489 301.6606,14.1373853 Z M265.026493,92.0296599 L249.744651,92.029657 C167.461891,92.0425357 153.533809,92.6396122 147.982352,93.9766623 C121.749425,100.534894 104.713136,116.950788 96.7054361,143.900268 C95.2786079,148.894167 94.5374284,160.056741 94.5288557,250.581875 L94.5288556,261.41669 C94.5374284,351.943244 95.2786079,363.105819 96.7477126,368.24491 C104.585874,394.6671 121.509461,411.196166 147.229818,417.884338 C151.997298,419.128018 169.925259,419.767249 256.681942,419.870901 C265.575313,419.880905 273.69874,419.887907 281.123349,419.891007 L283.874959,419.891985 L284.417493,419.892136 L293.747859,419.892182 C352.240621,419.875332 361.867876,419.160649 366.882835,417.906751 C380.083055,414.543234 391.091619,408.294586 399.693108,399.693097 C408.294598,391.091608 414.543245,380.083045 417.923354,366.817091 C419.330777,361.1874 419.957356,349.104459 419.970337,263.831745 L419.970337,248.170524 C419.957356,162.895526 419.330777,150.812585 417.906762,145.11716 C414.543245,131.91694 408.294598,120.908377 399.693108,112.306888 C391.091619,103.705399 380.083055,97.4567518 366.817101,94.0766428 C361.184993,92.6686158 349.194124,92.0426462 265.026493,92.0296599 Z"
                    id="Shape" stroke-width="30"></path>
                <path
                    d="M237.756837,213.880303 C243.697542,212.351025 270.469508,212.355347 276.296906,213.894654 C307.747937,222.419986 319.857121,230.722369 355.205849,265.603984 L364.751388,274.99473 L356.628995,283.164902 L356.006401,283.786883 L355.368551,284.422819 C351.240042,288.534779 347.834019,296.489642 347.482132,296.489642 C347.137754,296.489642 341.927037,286.842876 335.740337,280.770542 C324.562608,269.698323 314.086597,259.727944 312.615545,258.568741 C302.060008,250.029682 293.681914,245.050055 282.218718,240.487036 C280.744798,239.835173 275.247856,238.382783 269.811392,237.366989 L269.035607,237.224979 C268.777443,237.178722 268.519857,237.133588 268.26329,237.089711 C259.560898,235.480011 255.795602,235.511124 248.176661,236.63523 C224.145112,240.365796 209.964715,248.544545 173.648855,285.080499 C172.894405,285.844068 172.174746,286.568578 171.467223,287.277146 L170.547933,288.195658 C168.41448,290.322353 166.776972,296.489642 166.517477,296.489642 C166.141508,296.489642 162.333834,288.123417 157.783584,283.577722 L149.427943,275.22216 L157.641045,267.057087 C193.587122,231.204097 206.428095,222.321851 237.756837,213.880303 Z"
                    id="Path" stroke-width="25"></path>
            </g>
        </g>
    </g>
</svg>
{{- else if (eq $icon_name "buymeacoffee") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 884 1279" fill="none" stroke="currentColor" stroke-width="2">
    <path d="M791.109 297.518L790.231 297.002L788.201 296.383C789.018 297.072 790.04 297.472 791.109 297.518Z"
        fill="currentColor"></path>
    <path d="M803.896 388.891L802.916 389.166L803.896 388.891Z" fill="currentColor"></path>
    <path
        d="M791.484 297.377C791.359 297.361 791.237 297.332 791.118 297.29C791.111 297.371 791.111 297.453 791.118 297.534C791.252 297.516 791.379 297.462 791.484 297.377Z"
        fill="currentColor"></path>
    <path d="M791.113 297.529H791.244V297.447L791.113 297.529Z" fill="currentColor"></path>
    <path
        d="M803.111 388.726L804.591 387.883L805.142 387.573L805.641 387.04C804.702 387.444 803.846 388.016 803.111 388.726Z"
        fill="currentColor"></path>
    <path d="M793.669 299.515L792.223 298.138L791.243 297.605C791.77 298.535 792.641 299.221 793.669 299.515Z"
        fill="currentColor"></path>
    <path
        d="M430.019 1186.18C428.864 1186.68 427.852 1187.46 427.076 1188.45L427.988 1187.87C428.608 1187.3 429.485 1186.63 430.019 1186.18Z"
        fill="currentColor"></path>
    <path
        d="M641.187 1144.63C641.187 1143.33 640.551 1143.57 640.705 1148.21C640.705 1147.84 640.86 1147.46 640.929 1147.1C641.015 1146.27 641.084 1145.46 641.187 1144.63Z"
        fill="currentColor"></path>
    <path
        d="M619.284 1186.18C618.129 1186.68 617.118 1187.46 616.342 1188.45L617.254 1187.87C617.873 1187.3 618.751 1186.63 619.284 1186.18Z"
        fill="currentColor"></path>
    <path
        d="M281.304 1196.06C280.427 1195.3 279.354 1194.8 278.207 1194.61C279.136 1195.06 280.065 1195.51 280.684 1195.85L281.304 1196.06Z"
        fill="currentColor"></path>
    <path
        d="M247.841 1164.01C247.704 1162.66 247.288 1161.35 246.619 1160.16C247.093 1161.39 247.489 1162.66 247.806 1163.94L247.841 1164.01Z"
        fill="currentColor"></path>
    <path
        d="M472.623 590.836C426.682 610.503 374.546 632.802 306.976 632.802C278.71 632.746 250.58 628.868 223.353 621.274L270.086 1101.08C271.74 1121.13 280.876 1139.83 295.679 1153.46C310.482 1167.09 329.87 1174.65 349.992 1174.65C349.992 1174.65 416.254 1178.09 438.365 1178.09C462.161 1178.09 533.516 1174.65 533.516 1174.65C553.636 1174.65 573.019 1167.08 587.819 1153.45C602.619 1139.82 611.752 1121.13 613.406 1101.08L663.459 570.876C641.091 563.237 618.516 558.161 593.068 558.161C549.054 558.144 513.591 573.303 472.623 590.836Z"
        fill="currentColor"></path>
    <path d="M78.6885 386.132L79.4799 386.872L79.9962 387.182C79.5987 386.787 79.1603 386.435 78.6885 386.132Z"
        fill="currentColor"></path>
    <path
        d="M879.567 341.849L872.53 306.352C866.215 274.503 851.882 244.409 819.19 232.898C808.711 229.215 796.821 227.633 788.786 220.01C780.751 212.388 778.376 200.55 776.518 189.572C773.076 169.423 769.842 149.257 766.314 129.143C763.269 111.85 760.86 92.4243 752.928 76.56C742.604 55.2584 721.182 42.8009 699.88 34.559C688.965 30.4844 677.826 27.0375 666.517 24.2352C613.297 10.1947 557.342 5.03277 502.591 2.09047C436.875 -1.53577 370.983 -0.443234 305.422 5.35968C256.625 9.79894 205.229 15.1674 158.858 32.0469C141.91 38.224 124.445 45.6399 111.558 58.7341C95.7448 74.8221 90.5829 99.7026 102.128 119.765C110.336 134.012 124.239 144.078 138.985 150.737C158.192 159.317 178.251 165.846 198.829 170.215C256.126 182.879 315.471 187.851 374.007 189.968C438.887 192.586 503.87 190.464 568.44 183.618C584.408 181.863 600.347 179.758 616.257 177.304C634.995 174.43 647.022 149.928 641.499 132.859C634.891 112.453 617.134 104.538 597.055 107.618C594.095 108.082 591.153 108.512 588.193 108.942L586.06 109.252C579.257 110.113 572.455 110.915 565.653 111.661C551.601 113.175 537.515 114.414 523.394 115.378C491.768 117.58 460.057 118.595 428.363 118.647C397.219 118.647 366.058 117.769 334.983 115.722C320.805 114.793 306.661 113.611 292.552 112.177C286.134 111.506 279.733 110.801 273.333 110.009L267.241 109.235L265.917 109.046L259.602 108.134C246.697 106.189 233.792 103.953 221.025 101.251C219.737 100.965 218.584 100.249 217.758 99.2193C216.932 98.1901 216.482 96.9099 216.482 95.5903C216.482 94.2706 216.932 92.9904 217.758 91.9612C218.584 90.9319 219.737 90.2152 221.025 89.9293H221.266C232.33 87.5721 243.479 85.5589 254.663 83.8038C258.392 83.2188 262.131 82.6453 265.882 82.0832H265.985C272.988 81.6186 280.026 80.3625 286.994 79.5366C347.624 73.2301 408.614 71.0801 469.538 73.1014C499.115 73.9618 528.676 75.6996 558.116 78.6935C564.448 79.3474 570.746 80.0357 577.043 80.8099C579.452 81.1025 581.878 81.4465 584.305 81.7391L589.191 82.4445C603.438 84.5667 617.61 87.1419 631.708 90.1703C652.597 94.7128 679.422 96.1925 688.713 119.077C691.673 126.338 693.015 134.408 694.649 142.03L696.732 151.752C696.786 151.926 696.826 152.105 696.852 152.285C701.773 175.227 706.7 198.169 711.632 221.111C711.994 222.806 712.002 224.557 711.657 226.255C711.312 227.954 710.621 229.562 709.626 230.982C708.632 232.401 707.355 233.6 705.877 234.504C704.398 235.408 702.75 235.997 701.033 236.236H700.895L697.884 236.649L694.908 237.044C685.478 238.272 676.038 239.419 666.586 240.486C647.968 242.608 629.322 244.443 610.648 245.992C573.539 249.077 536.356 251.102 499.098 252.066C480.114 252.57 461.135 252.806 442.162 252.771C366.643 252.712 291.189 248.322 216.173 239.625C208.051 238.662 199.93 237.629 191.808 236.58C198.106 237.389 187.231 235.96 185.029 235.651C179.867 234.928 174.705 234.177 169.543 233.397C152.216 230.798 134.993 227.598 117.7 224.793C96.7944 221.352 76.8005 223.073 57.8906 233.397C42.3685 241.891 29.8055 254.916 21.8776 270.735C13.7217 287.597 11.2956 305.956 7.64786 324.075C4.00009 342.193 -1.67805 361.688 0.472751 380.288C5.10128 420.431 33.165 453.054 73.5313 460.35C111.506 467.232 149.687 472.807 187.971 477.556C338.361 495.975 490.294 498.178 641.155 484.129C653.44 482.982 665.708 481.732 677.959 480.378C681.786 479.958 685.658 480.398 689.292 481.668C692.926 482.938 696.23 485.005 698.962 487.717C701.694 490.429 703.784 493.718 705.08 497.342C706.377 500.967 706.846 504.836 706.453 508.665L702.633 545.797C694.936 620.828 687.239 695.854 679.542 770.874C671.513 849.657 663.431 928.434 655.298 1007.2C653.004 1029.39 650.71 1051.57 648.416 1073.74C646.213 1095.58 645.904 1118.1 641.757 1139.68C635.218 1173.61 612.248 1194.45 578.73 1202.07C548.022 1209.06 516.652 1212.73 485.161 1213.01C450.249 1213.2 415.355 1211.65 380.443 1211.84C343.173 1212.05 297.525 1208.61 268.756 1180.87C243.479 1156.51 239.986 1118.36 236.545 1085.37C231.957 1041.7 227.409 998.039 222.9 954.381L197.607 711.615L181.244 554.538C180.968 551.94 180.693 549.376 180.435 546.76C178.473 528.023 165.207 509.681 144.301 510.627C126.407 511.418 106.069 526.629 108.168 546.76L120.298 663.214L145.385 904.104C152.532 972.528 159.661 1040.96 166.773 1109.41C168.15 1122.52 169.44 1135.67 170.885 1148.78C178.749 1220.43 233.465 1259.04 301.224 1269.91C340.799 1276.28 381.337 1277.59 421.497 1278.24C472.979 1279.07 524.977 1281.05 575.615 1271.72C650.653 1257.95 706.952 1207.85 714.987 1130.13C717.282 1107.69 719.576 1085.25 721.87 1062.8C729.498 988.559 737.115 914.313 744.72 840.061L769.601 597.451L781.009 486.263C781.577 480.749 783.905 475.565 787.649 471.478C791.392 467.391 796.352 464.617 801.794 463.567C823.25 459.386 843.761 452.245 859.023 435.916C883.318 409.918 888.153 376.021 879.567 341.849ZM72.4301 365.835C72.757 365.68 72.1548 368.484 71.8967 369.792C71.8451 367.813 71.9483 366.058 72.4301 365.835ZM74.5121 381.94C74.6842 381.819 75.2003 382.508 75.7337 383.334C74.925 382.576 74.4089 382.009 74.4949 381.94H74.5121ZM76.5597 384.641C77.2996 385.897 77.6953 386.689 76.5597 384.641V384.641ZM80.672 387.979H80.7752C80.7752 388.1 80.9645 388.22 81.0333 388.341C80.9192 388.208 80.7925 388.087 80.6548 387.979H80.672ZM800.796 382.989C793.088 390.319 781.473 393.726 769.996 395.43C641.292 414.529 510.713 424.199 380.597 419.932C287.476 416.749 195.336 406.407 103.144 393.382C94.1102 392.109 84.3197 390.457 78.1082 383.798C66.4078 371.237 72.1548 345.944 75.2003 330.768C77.9878 316.865 83.3218 298.334 99.8572 296.355C125.667 293.327 155.64 304.218 181.175 308.09C211.917 312.781 242.774 316.538 273.745 319.36C405.925 331.405 540.325 329.529 671.92 311.91C695.906 308.686 719.805 304.941 743.619 300.674C764.835 296.871 788.356 289.731 801.175 311.703C809.967 326.673 811.137 346.701 809.778 363.615C809.359 370.984 806.139 377.915 800.779 382.989H800.796Z"
        fill="currentColor"></path>
</svg>
{{- else if (eq $icon_name "codeberg") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" stroke="none">
    <path
        d='M11.955.49A12 12 0 0 0 0 12.49a12 12 0 0 0 1.832 6.373L11.838 5.928a.187.14 0 0 1 .324 0l10.006 12.935A12 12 0 0 0 24 12.49a12 12 0 0 0-12-12 12 12 0 0 0-.045 0zm.375 6.467l4.416 16.553a12 12 0 0 0 5.137-4.213z' />
</svg>
{{- else if (eq $icon_name "codeforces") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -2 24 26" fill="none" stroke="currentColor" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <path
        d="M4.5 7.5C5.328 7.5 6 8.172 6 9v10.5c0 .828-.672 1.5-1.5 1.5h-3C.673 21 0 20.328 0 19.5V9c0-.828.673-1.5 1.5-1.5h3zm9-4.5c.828 0 1.5.672 1.5 1.5v15c0 .828-.672 1.5-1.5 1.5h-3c-.827 0-1.5-.672-1.5-1.5v-15c0-.828.673-1.5 1.5-1.5h3zm9 7.5c.828 0 1.5.672 1.5 1.5v7.5c0 .828-.672 1.5-1.5 1.5h-3c-.828 0-1.5-.672-1.5-1.5V12c0-.828.672-1.5 1.5-1.5h3z" />
</svg>
{{- else if (eq $icon_name "codepen") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <polygon points="12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2"></polygon>
    <line x1="12" y1="22" x2="12" y2="15.5"></line>
    <polyline points="22 8.5 12 15.5 2 8.5"></polyline>
    <polyline points="2 15.5 12 8.5 22 15.5"></polyline>
    <line x1="12" y1="2" x2="12" y2="8.5"></line>
</svg>
{{- else if (eq $icon_name "credly") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 480" fill="currentColor" stroke="none">
    <path
        d="m 366.04603,0.539085 c -9.03598,0 -10.77973,0.42893562 -15.78373,3.8968966 -3.35779,2.3268743 -8.3929,8.1583914 -12.49099,14.4655944 -9.48143,14.593085 -12.15553,15.67658 -23.95415,9.697781 C 288.74714,15.895368 270.59837,11.338625 245.64499,11.484396 205.97913,11.716096 172.05517,25.859207 145.32213,53.309347 104.48601,95.240854 76.020398,154.63994 66.9762,216.79856 c -6.092249,41.86824 -2.974097,92.7649 8.000409,130.64544 19.389663,66.92743 60.256841,104.96526 120.074111,111.75986 11.97899,1.3607 33.24497,0.42096 46.09323,-2.03737 38.22791,-7.31398 76.74467,-29.90075 111.05372,-65.12525 22.65718,-23.26237 39.50239,-47.24087 52.90626,-75.31472 8.23215,-17.2418 9.31001,-23.43292 5.55765,-31.91534 -3.70171,-8.36882 -10.69858,-13.42359 -19.60478,-14.16221 -12.2704,-1.01759 -17.7717,3.62699 -32.96932,27.83274 -26.44919,42.12471 -49.6215,65.49325 -80.30485,80.98223 -29.30931,14.79535 -58.73794,17.48923 -87.25388,7.99255 -25.31711,-8.43163 -44.41812,-28.62159 -53.89487,-56.97053 -6.2792,-18.78312 -7.83604,-33.41725 -7.03795,-66.15048 0.74234,-30.44679 2.42781,-44.77419 8.41626,-71.53553 14.88113,-66.50301 52.31461,-114.886915 94.37029,-121.980722 20.78331,-3.505693 43.1099,0.696677 51.67965,9.726548 11.89366,12.532806 12.23581,25.259094 1.67121,62.227444 -2.89562,10.13204 -5.62965,21.15694 -6.07287,24.49814 -2.85326,21.50809 19.7617,39.5481 39.34034,31.38178 12.3339,-5.14409 18.6741,-15.73544 25.16508,-42.03677 9.05731,-36.69987 21.80795,-68.950595 39.4685,-99.836425 10.05125,-17.57882 12.86723,-25.679207 11.4867,-33.039939 C 393.89772,17.218994 387.8986,8.6159571 381.48718,4.1875215 376.8711,0.99934541 374.91955,0.539085 366.04603,0.539085 Z" />
</svg>
{{- else if (eq $icon_name "cryptohack") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" preserveAspectRatio="xMidYMid meet">
    <g transform="translate(0.000000,57.000000) scale(0.100000,-0.100000)" fill="currentColor" stroke-width="12"
        stroke="currentColor">
        <path
            d="M180 495 c-7 -8 -22 -15 -35 -15 -23 0 -55 -28 -55 -48 0 -6 -12 -23 -26 -37 -18 -18 -24 -33 -21 -48 3 -12 -1 -31 -9 -41 -18 -26 -18 -70 1 -86 8 -7 15 -21 15 -31 0 -36 23 -68 59 -83 21 -8 43 -21 50 -30 19 -23 74 -20 97 5 17 19 19 41 22 204 3 174 2 185 -17 204 -25 25 -63 27 -81 6z m54 -11 c14 -5 16 -32 16 -193 0 -196 -3 -211 -45 -211 -39 0 -47 20 -20 52 14 16 25 40 25 52 0 34 -37 76 -66 76 -31 0 -31 -18 0 -26 30 -7 50 -48 36 -73 -28 -54 -118 -28 -103 29 3 10 -4 27 -16 39 -26 26 -27 46 -2 68 14 12 18 24 14 48 -7 41 12 53 40 27 12 -11 32 -23 44 -26 12 -4 31 -18 42 -32 33 -41 55 -29 25 14 -15 21 -15 25 1 42 22 25 0 38 -25 15 -26 -24 -68 -12 -81 21 -12 32 3 54 36 54 12 0 28 7 35 15 14 17 21 18 44 9z" />
        <path
            d="M309 489 c-19 -19 -20 -30 -17 -204 3 -163 5 -185 22 -204 23 -25 78 -28 97 -5 7 9 29 22 50 30 36 15 59 47 59 83 0 10 7 24 15 31 19 16 19 60 1 86 -8 10 -12 29 -9 41 3 15 -3 30 -19 46 -12 13 -30 37 -38 53 -10 19 -25 30 -42 32 -15 2 -32 10 -38 18 -18 20 -57 17 -81 -7z m71 -14 c7 -8 23 -15 35 -15 34 0 48 -22 34 -54 -10 -20 -19 -26 -46 -26 -34 0 -44 -13 -17 -24 28 -11 47 -7 70 15 30 28 48 16 41 -28 -4 -24 -2 -36 8 -39 20 -8 28 -40 15 -64 -11 -20 -63 -28 -86 -12 -17 11 -36 51 -29 62 3 5 1 11 -5 15 -16 10 -24 -25 -12 -57 9 -24 8 -30 -8 -38 -21 -11 -33 -37 -24 -52 4 -6 16 2 28 17 20 25 26 27 64 20 23 -4 44 -10 47 -14 9 -15 -26 -51 -49 -51 -14 0 -30 -10 -40 -25 -18 -27 -54 -33 -74 -13 -17 17 -17 384 1 391 22 9 34 7 47 -8z" />
    </g>
</svg>
{{- else if (eq $icon_name "ctftime") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 220.000000 200.000000" preserveAspectRatio="xMidYMid meet">
    <g transform="translate(0.000000,200.000000) scale(0.100000,-0.100000)" fill="currentColor" stroke="none">
        <path d="M365 1499 c201 -275 365 -503 365 -507 0 -4 -84 -120 -188 -259 -103
            -139 -263 -355 -356 -480 -93 -125 -173 -229 -178 -231 -45 -19 101 -22 992
            -22 l1000 0 0 1000 0 1000 -1000 0 -999 0 364 -501z m1310 -509 l0 -305 -312
            -3 -313 -2 0 310 0 310 313 -2 312 -3 0 -305z" />
        <path d="M1150 1194 c0 -2 -1 -95 -1 -206 l0 -203 216 -3 215 -2 0 210 0 210
            -157 0 -158 0 98 -98 c53 -53 97 -101 97 -106 0 -4 -42 -48 -92 -97 l-93 -88
            -28 26 -27 27 65 66 65 66 -100 101 c-55 55 -100 99 -100 97z" />
    </g>
</svg>
{{- else if (eq $icon_name "cv") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <path
        d="M4 4v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.342a2 2 0 0 0-.602-1.43l-4.44-4.342A2 2 0 0 0 13.56 2H6a2 2 0 0 0-2 2z" />
    <path d="M9 13h6" />
    <path d="M9 17h3" />
    <path d="M14 2v4a2 2 0 0 0 2 2h4" />
</svg>
{{- else if (eq $icon_name "deezer") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 20" fill="currentColor" stroke="none">
    <path
        d="M18.81 4.16v3.03H24V4.16h-5.19zM6.27 8.38v3.027h5.189V8.38h-5.19zm12.54 0v3.027H24V8.38h-5.19zM6.27 12.594v3.027h5.189v-3.027h-5.19zm6.271 0v3.027h5.19v-3.027h-5.19zm6.27 0v3.027H24v-3.027h-5.19zM0 16.81v3.029h5.19v-3.03H0zm6.27 0v3.029h5.189v-3.03h-5.19zm6.271 0v3.029h5.19v-3.03h-5.19zm6.27 0v3.029H24v-3.03h-5.19Z" />
</svg>
{{- else if (eq $icon_name "dev") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" stroke="none">
    <path
        d="M7.42 10.05c-.18-.16-.46-.23-.84-.23H6l.02 2.44.04 2.45.56-.02c.41 0 .63-.07.83-.26.24-.24.26-.36.26-2.2 0-1.91-.02-1.96-.29-2.18zM0 4.94v14.12h24V4.94H0zM8.56 15.3c-.44.58-1.06.77-2.53.77H4.71V8.53h1.4c1.67 0 2.16.18 2.6.9.27.43.29.6.32 2.57.05 2.23-.02 2.73-.47 3.3zm5.09-5.47h-2.47v1.77h1.52v1.28l-.72.04-.75.03v1.77l1.22.03 1.2.04v1.28h-1.6c-1.53 0-1.6-.01-1.87-.3l-.3-.28v-3.16c0-3.02.01-3.18.25-3.48.23-.31.25-.31 1.88-.31h1.64v1.3zm4.68 5.45c-.17.43-.64.79-1 .79-.18 0-.45-.15-.67-.39-.32-.32-.45-.63-.82-2.08l-.9-3.39-.45-1.67h.76c.4 0 .75.02.75.05 0 .06 1.16 4.54 1.26 4.83.04.15.32-.7.73-2.3l.66-2.52.74-.04c.4-.02.73 0 .73.04 0 .14-1.67 6.38-1.8 6.68z" />
</svg>
{{- else if (eq $icon_name "deviantart") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 167" fill="currentColor" stroke="none">
    <path
        d=" M100 0 L99.96 0 L99.95 0 L71.32 0 L68.26 3.04 L53.67 30.89 L49.41 33.35 L0 33.35 L0 74.97 L26.40 74.97 L29.15 77.72 L0 133.36 L0 166.5 L0 166.61 L0 166.61 L28.70 166.6 L31.77 163.55 L46.39 135.69 L50.56 133.28 L100 133.28 L100 91.68 L73.52 91.68 L70.84 89 L100 33.33 " />
</svg>
{{- else if (eq $icon_name "discogs") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" stroke="none">
    <path
        d="M1.7422 11.982c0-5.6682 4.61-10.2782 10.2758-10.2782 1.8238 0 3.5372.48 5.0251 1.3175l.8135-1.4879C16.1768.588 14.2474.036 12.1908.0024h-.1944C5.4091.0144.072 5.3107 0 11.886v.1152c.0072 3.4389 1.4567 6.5345 3.7748 8.7207l1.1855-1.2814c-1.9798-1.8743-3.218-4.526-3.218-7.4585zM20.362 3.4053l-1.1543 1.2406c1.903 1.867 3.0885 4.4636 3.0885 7.3361 0 5.6658-4.61 10.2758-10.2758 10.2758-1.783 0-3.4605-.456-4.922-1.2575l-.8542 1.5214c1.7086.9384 3.6692 1.4735 5.7546 1.4759C18.6245 23.9976 24 18.6246 24 11.9988c-.0048-3.3717-1.399-6.4146-3.638-8.5935zM1.963 11.982c0 2.8701 1.2119 5.4619 3.146 7.2953l1.1808-1.2767c-1.591-1.5166-2.587-3.6524-2.587-6.0186 0-4.586 3.7293-8.3152 8.3152-8.3152 1.483 0 2.875.3912 4.082 1.0751l.8351-1.5262C15.481 2.395 13.8034 1.927 12.018 1.927 6.4746 1.9246 1.963 6.4362 1.963 11.982zm18.3702 0c0 4.586-3.7293 8.3152-8.3152 8.3152-1.4327 0-2.7837-.3648-3.962-1.0055l-.852 1.5166c1.4303.7823 3.0718 1.2287 4.814 1.2287 5.5434 0 10.055-4.5116 10.055-10.055 0-2.8077-1.1567-5.3467-3.0165-7.1729l-1.183 1.2743c1.519 1.507 2.4597 3.5924 2.4597 5.8986zm-1.9486 0c0 3.5109-2.8558 6.3642-6.3642 6.3642a6.3286 6.3286 0 01-3.0069-.756l-.8471 1.507c1.147.624 2.4597.9768 3.854.9768 4.4636 0 8.0944-3.6308 8.0944-8.0944 0-2.239-.9143-4.2692-2.3902-5.7378l-1.1783 1.267c1.1351 1.152 1.8383 2.731 1.8383 4.4732zm-14.4586 0c0 2.3014.9671 4.382 2.515 5.8578l1.1734-1.2695c-1.207-1.159-1.9606-2.786-1.9606-4.5883 0-3.5108 2.8557-6.3642 6.3642-6.3642 1.1423 0 2.215.3048 3.1437.8352l.8303-1.5167c-1.1759-.6647-2.5317-1.0487-3.974-1.0487-4.4612 0-8.092 3.6308-8.092 8.0944zm12.5292 0c0 2.4502-1.987 4.4372-4.4372 4.4372a4.4192 4.4192 0 01-2.0614-.5088l-.8351 1.4879a6.1135 6.1135 0 002.8965.727c3.3885 0 6.1434-2.7548 6.1434-6.1433 0-1.6774-.6767-3.1989-1.7686-4.3076l-1.1615 1.2503c.7559.7967 1.2239 1.8718 1.2239 3.0573zm-10.5806 0c0 1.7374.7247 3.3069 1.8886 4.4252L8.92 15.1569l.0144.0144c-.8351-.8063-1.3559-1.9366-1.3559-3.1869 0-2.4502 1.9846-4.4372 4.4372-4.4372.8087 0 1.5646.2184 2.2174.5976l.8207-1.4975a6.097 6.097 0 00-3.0381-.8063c-3.3837-.0048-6.141 2.7525-6.141 6.141zm6.681 0c0 .2952-.2424.5351-.5376.5351-.2952 0-.5375-.24-.5375-.5351 0-.2976.24-.5375.5375-.5375.2952 0 .5375.24.5375.5375zm-3.9405 0c0-1.879 1.5239-3.4029 3.4005-3.4029 1.879 0 3.4005 1.5215 3.4005 3.4029 0 1.879-1.5239 3.4005-3.4005 3.4005S8.6151 13.861 8.6151 11.982zm.1488 0c.0048 1.7974 1.4567 3.2493 3.2517 3.2517 1.795 0 3.254-1.4567 3.254-3.2517-.0023-1.7974-1.4566-3.2517-3.254-3.254-1.795 0-3.2517 1.4566-3.2517 3.254Z" />
</svg>
{{- else if (eq $icon_name "discord") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 127.14 96.36" fill="currentColor" stroke="none" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <path
        d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z" />
</svg>
{{- else if (eq $icon_name "douban") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" stroke="none" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <path d="m2.42288,2.08086l19.15349,0l0,2.15751l-19.15349,0l0,-2.15751z" />
    <path
        d="m19.88879,14.92347l0,-8.43444l-15.82351,0l0,8.43444l15.82351,0zm-13.52889,-6.27842l11.25739,0l0,4.1235l-11.25739,0l0,-4.1235z" />
    <path
        d="m16.48864,19.78508c0.6885,-1.05398 1.33827,-2.27636 1.94031,-3.66377l-2.30206,-0.83906c-0.59872,1.64418 -1.29579,3.14745 -2.08899,4.50283l-4.00578,0c-0.66389,-1.75663 -1.41312,-3.25884 -2.25363,-4.50283l-2.11727,0.83906c0.87327,1.30991 1.57742,2.52932 2.11727,3.66377l-5.89733,0l0,2.13406l20.23769,0l0,-2.13406l-5.63021,0z" />
</svg>
{{- else if (eq $icon_name "dreamstime") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <path
        d="M19.834 20.994s4.824-4.08 2.044-12.03C19.252 1.456 6.822-1.223 2.508 7.566c-3.936 8.023 2.18 14.46 7.88 14.374 4.889-.075 8.475-3.226 7.813-8.604-.76-6.18-6.73-6.816-9.275-4.184-2.256 2.334-1.816 7.034.873 7.823 2.241.844 4.661-1.265 3.161-3.215"
        style="font-variation-settings:normal" stroke="currentColor" stroke-linejoin="bevel"
        paint-order="stroke fill markers" />
</svg>
{{- else if (eq $icon_name "dribbble") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <circle style="font-variation-settings:normal" cx="12.004" cy="12" r="9.39" paint-order="stroke fill markers" />
    <path style="font-variation-settings:normal"
        d="M5.858 19.136s2.343-5.79 8.161-6.422c5.818-.633 7.442.479 7.442.479M2.68 10.839s4.91.752 10.112-1.11c5.202-1.863 5.887-4.601 5.887-4.601" />
    <path style="font-variation-settings:normal"
        d="M8.533 3.208s2.888 2.73 5.339 9.235c2.451 6.505 2.344 8.4 2.344 8.4" />
</svg>
{{- else if (eq $icon_name "dzen") -}}
<svg viewBox="0 0 166 167" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path fill-rule="evenodd" clip-rule="evenodd" d="M83.3295 166.23H82.6705C49.7081 166.23 30.436 162.915 17.0154 149.754C3.1854 135.664 0 116.522 0 83.6996V82.7709C0 49.9484 3.1854 30.6762 17.0154 16.7164C30.5658 3.56543 49.7081 0.240234 82.6605 0.240234H83.3295C116.152 0.240234 135.424 3.56543 148.985 16.7164C162.815 30.806 166 49.9484 166 82.7709V83.6996C166 116.532 162.805 135.804 148.985 149.754C135.424 162.905 116.292 166.23 83.3295 166.23ZM145.84 80.771C146.48 80.801 147 81.3308 147 81.9706H146.99V84.6498C146.99 85.2996 146.47 85.8294 145.83 85.8494C122.868 86.7191 108.902 89.6382 99.115 99.4252C89.338 109.202 86.4189 123.148 85.5392 146.071C85.5092 146.71 84.9794 147.23 84.3396 147.23H81.6504C81.0006 147.23 80.4708 146.71 80.4508 146.071C79.5711 123.148 76.652 109.202 66.875 99.4252C57.0981 89.6482 43.1225 86.7191 20.1596 85.8494C19.5198 85.8194 19 85.2896 19 84.6498V81.9706C19 81.3208 19.5198 80.791 20.1596 80.771C43.1225 79.9013 57.0881 76.9822 66.875 67.1952C76.672 57.3983 79.5911 43.4027 80.4608 20.3999C80.4908 19.7601 81.0206 19.2402 81.6604 19.2402H84.3396C84.9894 19.2402 85.5192 19.7601 85.5392 20.3999C86.4089 43.4127 89.328 57.3983 99.125 67.1952C108.902 76.9722 122.878 79.9013 145.84 80.771Z" fill="currentColor"/>
</svg>
{{- else if (eq $icon_name "email") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 21" fill="none" stroke="currentColor" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path>
    <polyline points="22,6 12,13 2,6"></polyline>
</svg>
{{- else if (eq $icon_name "ethereum") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
    <path
        d="M11.944 17.97L4.58 13.62 11.943 24l7.37-10.38-7.372 4.35h.003zM12.056 0L4.69 12.223l7.365 4.354 7.365-4.35L12.056 0z" />
</svg>
{{- else if (eq $icon_name "exercism") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2230.4 1817.9" fill="currentColor" stroke-width="2"
    stroke="currentColor">
    <path d="M0,905.1v-48.3c119-10.6,189.5-56.6,206.8-157.4c14.8-85.8-9.8-249.3-6.7-387.8c3.5-157,107.1-289.2,222.6-305.8
	c48-6.9,83-8.3,121.4-0.3c35,6,63.3,26.3,76.4,52v74.2H508.1c-98,11.1-135.6,76.9-157.4,179.9c-26.1,123,101.7,561.8-170.9,593.6
	c272.6,31.7,144.8,470.5,170.9,593.6c21.8,103,59.3,168.8,157.4,179.9h112.4v74.2c-13.2,25.7-41.4,46-76.4,52
	c-38.4,8-73.4,6.6-121.4-0.3c-115.5-16.6-219.1-148.8-222.6-305.8c-3.1-138.5,21.5-302.1,6.7-387.8C189.5,1010,119,964,0,953.4
	V905.1z M2230.4,912.8v-48.3c-119-10.6-189.5-56.6-206.8-157.4c-14.8-85.8,9.8-249.3,6.7-387.8c-3.5-157-107.1-289.2-222.6-305.8
	c-48-6.9-83-8.3-121.4-0.3c-35,6-63.3,26.3-76.4,52v74.2h112.4c98,11.1,135.6,76.9,157.4,179.9c26.1,123-101.7,561.8,170.9,593.6
	c-272.6,31.7-144.8,470.5-170.9,593.6c-21.8,103-59.3,168.8-157.4,179.9h-112.4v74.2c13.2,25.7,41.4,46,76.4,52
	c38.4,8,73.4,6.6,121.4-0.3c115.5-16.6,219.1-148.8,222.6-305.8c3.1-138.5-21.5-302.1-6.7-387.8c17.3-100.8,87.8-146.8,206.8-157.4
	V912.8z" />
    <path d="M944.3,935.4c0-139.7-112.7-252.9-251.8-252.9S440.7,795.8,440.7,935.4H539c0-85.2,68.7-154.2,153.5-154.2
	S846,850.3,846,935.4H944.3z M1796.4,935.4c0-139.7-112.7-252.9-251.8-252.9s-251.8,113.2-251.8,252.9h98.3
	c0-85.2,68.7-154.2,153.5-154.2c84.8,0,153.5,69,153.5,154.2H1796.4z M1364.7,1269.3c-6.1,118.6-109.4,220.1-233.8,219.2
	c-124.8-0.9-227.3-102.3-233.8-219.2v-74.2h114.7v74.2c5.7,60,59.6,109.2,119.2,107.4c60.5-1.9,116.7-48.2,119.2-107.4v-74.2h114.7
	V1269.3z" />
</svg>
{{- else if (eq $icon_name "facebook") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path>
</svg>
{{- else if (eq $icon_name "farcaster") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" fill="currentColor" stroke="currentColor" stroke-width="2">
    <path d="M257.778 155.556H742.222V844.445H671.111V528.889H670.414C662.554 441.677 589.258 373.333 500 373.333C410.742 373.333 337.446 441.677 329.586 528.889H328.889V844.445H257.778V155.556Z"/>
    <path d="M128.889 253.333L157.778 351.111H182.222V746.667C169.949 746.667 160 756.616 160 768.889V795.556H155.556C143.283 795.556 133.333 805.505 133.333 817.778V844.445H382.222V817.778C382.222 805.505 372.273 795.556 360 795.556H355.556V768.889C355.556 756.616 345.606 746.667 333.333 746.667H306.667V253.333H128.889Z"/>
    <path d="M675.556 746.667C663.283 746.667 653.333 756.616 653.333 768.889V795.556H648.889C636.616 795.556 626.667 805.505 626.667 817.778V844.445H875.556V817.778C875.556 805.505 865.606 795.556 853.333 795.556H848.889V768.889C848.889 756.616 838.94 746.667 826.667 746.667V351.111H851.111L880 253.333H702.222V746.667H675.556Z"/>
</svg>
{{- else if (eq $icon_name "fediverse") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
    <path
        d="M47.923 72.796a18.227 18.227 0 0 1-7.795 7.76l42.798 42.964 10.318-5.229zm56.452 56.67-10.318 5.229 21.686 21.77a18.227 18.227 0 0 1 7.797-7.76zm49.517-39.67-24.23 12.279 1.787 11.427 27.415-13.894a18.227 18.227 0 0 1-4.972-9.812zm-38.295 19.407L58.31 138.237a18.227 18.227 0 0 1 4.973 9.813l54.102-27.42zM97.174 37.686 69.53 91.653l8.162 8.193 29.269-57.138a18.227 18.227 0 0 1-9.787-5.022ZM62.34 105.69l-14.002 27.335a18.227 18.227 0 0 1 9.786 5.021l12.377-24.163ZM39.89 80.675a18.227 18.227 0 0 1-9.106 1.904 18.227 18.227 0 0 1-1.759-.184l8.176 52.297a18.227 18.227 0 0 1 9.106-1.903 18.227 18.227 0 0 1 1.758.184zm23.435 67.634a18.227 18.227 0 0 1 .19 3.672 18.227 18.227 0 0 1-1.922 7.19l52.289 8.391a18.227 18.227 0 0 1-.192-3.672 18.227 18.227 0 0 1 1.924-7.19zM159.048 99.8l-24.135 47.116a18.227 18.227 0 0 1 9.788 5.023l24.134-47.117a18.227 18.227 0 0 1-9.787-5.023zm-32.917-66.64a18.227 18.227 0 0 1-7.797 7.76l37.376 37.52a18.227 18.227 0 0 1 7.797-7.76zm-34.114-5.477L44.77 51.627a18.227 18.227 0 0 1 4.972 9.813L96.99 37.495a18.227 18.227 0 0 1-4.971-9.811zm26.231 13.281a18.227 18.227 0 0 1-9.256 1.98 18.227 18.227 0 0 1-1.595-.168l4.185 26.8 11.42 1.832zm-4.234 44.192 9.896 63.362a18.227 18.227 0 0 1 8.973-1.837 18.227 18.227 0 0 1 1.906.21l-9.354-59.903ZM49.775 61.64a18.227 18.227 0 0 1 .201 3.73 18.227 18.227 0 0 1-1.894 7.139l26.82 4.308 5.271-10.295zm45.968 7.382L90.47 79.318l63.37 10.177a18.227 18.227 0 0 1-.184-3.63 18.227 18.227 0 0 1 1.945-7.229z"
        style="display:inline" transform="matrix(.13855 0 0 .1385 -2.107 -1.132)" />
    <g style="display:inline;opacity:1" transform="matrix(.13834 .00753 -.00754 .1383 -1.182 -5.633)">
        <circle cx="106.266" cy="51.536" r="16.571" />
        <circle cx="171.428" cy="110.193" r="16.571" />
        <circle cx="135.764" cy="190.277" r="16.571" />
        <circle cx="48.559" cy="181.114" r="16.571" />
        <circle cx="30.329" cy="95.367" r="16.571" />
    </g>
</svg>
{{- else if (eq $icon_name "firefish") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
    <path
        d="M16.21.088c-.256.114-.607.485-.7.735-.048.128-.075 1.322-.075 3.46 0 3.083.007 3.286.128 3.522.162.317.378.52.694.654.216.088.721.101 3.492.101 3.559 0 3.491.007 3.889-.411.37-.391.458-.897.256-1.396-.148-.344-6.228-6.45-6.605-6.632-.317-.148-.79-.162-1.079-.033ZM6.107.155C5.79.276 5.473.56 5.352.85c-.074.175-.095.857-.095 3.474 0 3.13.007 3.258.135 3.535.081.162.263.364.418.472l.276.196 3.303.02c3.269.02 3.303.013 3.6-.128.62-.297.882-1.12.565-1.734C13.42 6.43 7.354.337 7.111.21 6.86.081 6.383.054 6.107.155Zm-5.09 10.166a1.25 1.25 0 0 0-.889.695c-.121.263-.128.56-.128 6.139 0 5.842 0 5.869.142 6.166.087.175.256.364.417.472l.277.182 5.864.02c3.95.014 5.951 0 6.113-.054.33-.094.573-.297.755-.627l.148-.284v-5.835c0-4.627-.02-5.889-.087-6.085-.128-.364-.533-.701-.95-.789-.425-.088-11.203-.094-11.661 0zm3.095 6.982c.572.243 1.01.924 1.01 1.579a1.69 1.69 0 0 1-1.705 1.686c-.667 0-1.18-.303-1.496-.89a1.72 1.72 0 0 1 .23-1.957c.47-.54 1.26-.708 1.96-.418zm4.36.04c.162.075.398.257.526.412.944 1.106.169 2.813-1.28 2.813-1.247 0-2.083-1.282-1.557-2.395.242-.533.647-.85 1.287-1.005.23-.054.728.027 1.024.176zm8.028-7.029c-.378.068-.762.351-.923.689-.142.29-.142.37-.142 3.568 0 3.029.013 3.285.128 3.535.148.324.364.533.694.675.216.087.715.1 3.471.1 2.986 0 3.243-.013 3.492-.127.667-.31.97-1.12.647-1.748-.128-.25-6.457-6.624-6.578-6.624-.04 0-.176-.027-.304-.054a1.461 1.461 0 0 0-.485-.014z" />
</svg>
{{- else if (eq $icon_name "flickr") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
    <path
        d="M5.334 6.666C2.3884 6.666 0 9.055 0 12c0 2.9456 2.3884 5.334 5.334 5.334 2.9456 0 5.332-2.3884 5.332-5.334 0-2.945-2.3864-5.334-5.332-5.334zm13.332 0c-2.9456 0-5.332 2.389-5.332 5.334 0 2.9456 2.3864 5.334 5.332 5.334C21.6116 17.334 24 14.9456 24 12c0-2.945-2.3884-5.334-5.334-5.334Z" />
</svg>
{{- else if (eq $icon_name "forgejo") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
    <path
        d="M16.7773 0c1.6018 0 2.9004 1.2986 2.9004 2.9005s-1.2986 2.9004-2.9004 2.9004c-1.0854 0-2.0315-.596-2.5288-1.4787H12.91c-2.3322 0-4.2272 1.8718-4.2649 4.195l-.0007 2.1175a7.0759 7.0759 0 0 1 4.148-1.4205l.1176-.001 1.3385.0002c.4973-.8827 1.4434-1.4788 2.5288-1.4788 1.6018 0 2.9004 1.2986 2.9004 2.9005s-1.2986 2.9004-2.9004 2.9004c-1.0854 0-2.0315-.596-2.5288-1.4787H12.91c-2.3322 0-4.2272 1.8718-4.2649 4.195l-.0007 2.319c.8827.4973 1.4788 1.4434 1.4788 2.5287 0 1.602-1.2986 2.9005-2.9005 2.9005-1.6018 0-2.9004-1.2986-2.9004-2.9005 0-1.0853.596-2.0314 1.4788-2.5287l-.0002-9.9831c0-3.887 3.1195-7.0453 6.9915-7.108l.1176-.001h1.3385C14.7458.5962 15.692 0 16.7773 0ZM7.2227 19.9052c-.6596 0-1.1943.5347-1.1943 1.1943s.5347 1.1943 1.1943 1.1943 1.1944-.5347 1.1944-1.1943-.5348-1.1943-1.1944-1.1943Zm9.5546-10.4644c-.6596 0-1.1944.5347-1.1944 1.1943s.5348 1.1943 1.1944 1.1943c.6596 0 1.1943-.5347 1.1943-1.1943s-.5347-1.1943-1.1943-1.1943Zm0-7.7346c-.6596 0-1.1944.5347-1.1944 1.1943s.5348 1.1943 1.1944 1.1943c.6596 0 1.1943-.5347 1.1943-1.1943s-.5347-1.1943-1.1943-1.1943Z" />
</svg>
{{- else if (eq $icon_name "freepik") -}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <path
        d="M5.737 17.28s3.423.84 7.61.162c4.188-.676 6.862-2.57 6.862-2.57s.28 3.943-4.967 5.33c-5.248 1.388-8.543.657-9.506-2.923zm-.62-3.104s4.491 1.361 8.728.344c4.237-1.016 5.94-2.568 5.94-2.568s-1.81-6.448-7.405-5.648c-5.597.8-8.061 4.414-7.263 7.872z"
        style="font-variation-settings:normal" stroke-li
Download .txt
gitextract_zp21r57h/

├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug.yaml
│   │   ├── config.yml
│   │   └── enhancement.yaml
│   ├── PULL_REQUEST_TEMPLATE.md
│   └── workflows/
│       └── gh-pages.yml
├── LICENSE
├── README.md
├── assets/
│   ├── css/
│   │   ├── common/
│   │   │   ├── 404.css
│   │   │   ├── archive.css
│   │   │   ├── footer.css
│   │   │   ├── header.css
│   │   │   ├── main.css
│   │   │   ├── post-entry.css
│   │   │   ├── post-single.css
│   │   │   ├── profile-mode.css
│   │   │   ├── search.css
│   │   │   └── terms.css
│   │   ├── core/
│   │   │   ├── license.css
│   │   │   ├── reset.css
│   │   │   ├── theme-vars.css
│   │   │   └── zmedia.css
│   │   ├── extended/
│   │   │   └── blank.css
│   │   └── includes/
│   │       ├── chroma-mod.css
│   │       ├── chroma-styles.css
│   │       └── scroll-bar.css
│   └── js/
│       ├── fastsearch.js
│       └── license.js
├── go.mod
├── i18n/
│   ├── ar.yaml
│   ├── be.yaml
│   ├── bg.yaml
│   ├── bn.yaml
│   ├── ca.yaml
│   ├── ckb.yaml
│   ├── cs.yaml
│   ├── da.yaml
│   ├── de.yaml
│   ├── el.yaml
│   ├── en.yaml
│   ├── eo.yaml
│   ├── es.yaml
│   ├── fa.yaml
│   ├── fi.yaml
│   ├── fr.yaml
│   ├── he.yaml
│   ├── hi.yaml
│   ├── hr.yaml
│   ├── hu.yaml
│   ├── id.yaml
│   ├── it.yaml
│   ├── ja.yaml
│   ├── ko.yaml
│   ├── ku.yaml
│   ├── mn.yaml
│   ├── ms.yaml
│   ├── nl.yaml
│   ├── no.yaml
│   ├── oc.yaml
│   ├── pa.yaml
│   ├── pl.yaml
│   ├── pnb.yaml
│   ├── pt.yaml
│   ├── ro.yaml
│   ├── ru.yaml
│   ├── sk.yaml
│   ├── sv.yaml
│   ├── sw.yaml
│   ├── th.yaml
│   ├── tr.yaml
│   ├── uk.yaml
│   ├── uz.yaml
│   ├── vi.yaml
│   ├── zh-tw.yaml
│   └── zh.yaml
├── layouts/
│   ├── 404.html
│   ├── _default/
│   │   ├── _markup/
│   │   │   └── render-image.html
│   │   ├── archives.html
│   │   ├── baseof.html
│   │   ├── index.json
│   │   ├── list.html
│   │   ├── llms.txt
│   │   ├── rss.xml
│   │   ├── search.html
│   │   ├── single.html
│   │   └── terms.html
│   ├── partials/
│   │   ├── anchored_headings.html
│   │   ├── author.html
│   │   ├── breadcrumbs.html
│   │   ├── comments.html
│   │   ├── cover.html
│   │   ├── edit_post.html
│   │   ├── extend_footer.html
│   │   ├── extend_head.html
│   │   ├── footer.html
│   │   ├── head.html
│   │   ├── header.html
│   │   ├── home_info.html
│   │   ├── index_profile.html
│   │   ├── post_canonical.html
│   │   ├── post_meta.html
│   │   ├── post_nav_links.html
│   │   ├── share_icons.html
│   │   ├── social_icons.html
│   │   ├── svg.html
│   │   ├── templates/
│   │   │   ├── _funcs/
│   │   │   │   └── get-page-images.html
│   │   │   ├── opengraph.html
│   │   │   ├── schema_json.html
│   │   │   └── twitter_cards.html
│   │   ├── toc.html
│   │   └── translation_list.html
│   ├── robots.txt
│   └── shortcodes/
│       ├── collapse.html
│       ├── figure.html
│       ├── inTextImg.html
│       ├── ltr.html
│       ├── rawhtml.html
│       └── rtl.html
└── theme.toml
Download .txt
SYMBOL INDEX (2 symbols across 1 files)

FILE: assets/js/fastsearch.js
  function activeToggle (line 55) | function activeToggle(ae) {
  function reset (line 69) | function reset() {
Condensed preview — 118 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (344K chars).
[
  {
    "path": ".github/ISSUE_TEMPLATE/bug.yaml",
    "chars": 4039,
    "preview": "name: Bug Report 🐞\ndescription: Create a report to help us improve\ntitle: \"[Bug]: \"\nlabels: [\"bug\", \"triage\"]\nbody:\n  - "
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 234,
    "preview": "blank_issues_enabled: false\ncontact_links:\n  - name: PaperMod Discussions\n    url: https://github.com/adityatelange/hugo"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/enhancement.yaml",
    "chars": 1583,
    "preview": "name: Enhancement 🚀\ndescription: Propose a new feature or change for enhancing the experience.\ntitle: \"[Enhancement]: \"\n"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "chars": 1791,
    "preview": "<!--\n\n## READ BEFORE OPENING A PR\n\nThank you for contributing to hugo-PaperMod!\nPlease fill out the following questions "
  },
  {
    "path": ".github/workflows/gh-pages.yml",
    "chars": 1877,
    "preview": "name: Deploy Hugo PaperMod Demo to Pages\n\non:\n  push:\n    paths-ignore:\n      - \"images/**\"\n      - \"LICENSE\"\n      - \"R"
  },
  {
    "path": "LICENSE",
    "chars": 1123,
    "preview": "MIT License\n\nCopyright (c) 2020 nanxiaobei and adityatelange\nCopyright (c) 2021-2026 adityatelange\n\nPermission is hereby"
  },
  {
    "path": "README.md",
    "chars": 4738,
    "preview": "<h1 align=center>Hugo PaperMod | <a href=\"https://adityatelange.github.io/hugo-PaperMod/\" rel=\"nofollow\">Demo</a></h1>\n\n"
  },
  {
    "path": "assets/css/common/404.css",
    "chars": 200,
    "preview": ".not-found {\n    position: absolute;\n    left: 0;\n    right: 0;\n    display: flex;\n    align-items: center;\n    justify-"
  },
  {
    "path": "assets/css/common/archive.css",
    "chars": 651,
    "preview": ".archive-posts {\n    width: 100%;\n    font-size: 16px;\n}\n\n.archive-year {\n    margin-top: 40px;\n}\n\n.archive-year:not(:la"
  },
  {
    "path": "assets/css/common/footer.css",
    "chars": 1039,
    "preview": ".footer,\n.top-link {\n    font-size: 12px;\n    color: var(--secondary);\n}\n\n.footer {\n    max-width: calc(var(--main-width"
  },
  {
    "path": "assets/css/common/header.css",
    "chars": 1361,
    "preview": ".nav {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: space-between;\n    max-width: calc(var(--nav-width) "
  },
  {
    "path": "assets/css/common/main.css",
    "chars": 1063,
    "preview": ".main {\n    position: relative;\n    min-height: calc(100vh - var(--header-height) - var(--footer-height));\n    max-width"
  },
  {
    "path": "assets/css/common/post-entry.css",
    "chars": 1773,
    "preview": ".first-entry {\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    m"
  },
  {
    "path": "assets/css/common/post-single.css",
    "chars": 6600,
    "preview": ".page-header,\n.post-header {\n    margin: 24px auto var(--content-gap) auto;\n}\n\n.post-title {\n    margin-bottom: 2px;\n   "
  },
  {
    "path": "assets/css/common/profile-mode.css",
    "chars": 689,
    "preview": ".buttons,\n.main .profile {\n    display: flex;\n    justify-content: center;\n}\n\n.main .profile {\n    align-items: center;\n"
  },
  {
    "path": "assets/css/common/search.css",
    "chars": 782,
    "preview": "#searchbox input {\n    padding: 4px 10px;\n    width: 100%;\n    color: var(--primary);\n    font-weight: bold;\n    border:"
  },
  {
    "path": "assets/css/common/terms.css",
    "chars": 324,
    "preview": ".terms-tags li {\n    display: inline-block;\n    margin: 10px;\n    font-weight: 500;\n}\n\n.terms-tags a {\n    display: bloc"
  },
  {
    "path": "assets/css/core/license.css",
    "chars": 193,
    "preview": "/*\n  PaperMod v8+\n  License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE\n  Copyright (c) 2020"
  },
  {
    "path": "assets/css/core/reset.css",
    "chars": 1342,
    "preview": "*,\n::after,\n::before {\n    box-sizing: border-box;\n}\n\nhtml {\n    -webkit-tap-highlight-color: transparent;\n    overflow-"
  },
  {
    "path": "assets/css/core/theme-vars.css",
    "chars": 969,
    "preview": ":root {\n    --gap: 24px;\n    --content-gap: 20px;\n    --nav-width: 1024px;\n    --main-width: 720px;\n    --header-height:"
  },
  {
    "path": "assets/css/core/zmedia.css",
    "chars": 1023,
    "preview": "@media screen and (max-width: 768px) {\n    /* theme-vars */\n    :root {\n        --gap: 14px;\n    }\n\n    /* profile-mode "
  },
  {
    "path": "assets/css/extended/blank.css",
    "chars": 239,
    "preview": "/*\nThis is just a placeholder blank stylesheet so as to support adding custom styles budled with theme's default styles\n"
  },
  {
    "path": "assets/css/includes/chroma-mod.css",
    "chars": 303,
    "preview": ".chroma {\n    background-color: unset !important;\n}\n\n.chroma .hl {\n    display: flex;\n}\n\n.chroma .lnt {\n    padding: 0 0"
  },
  {
    "path": "assets/css/includes/chroma-styles.css",
    "chars": 5012,
    "preview": "/* Background */ .bg { color: #cad3f5; background-color: #24273a; }\n/* PreWrapper */ .chroma { color: #cad3f5; backgroun"
  },
  {
    "path": "assets/css/includes/scroll-bar.css",
    "chars": 1264,
    "preview": "/* from reset */\n::-webkit-scrollbar-track {\n    background: 0 0;\n}\n\n::-webkit-scrollbar-thumb {\n    background: var(--t"
  },
  {
    "path": "assets/js/fastsearch.js",
    "chars": 5780,
    "preview": "import * as params from '@params';\n\nlet fuse; // holds our search engine\nlet resList = document.getElementById('searchRe"
  },
  {
    "path": "assets/js/license.js",
    "chars": 193,
    "preview": "/*\n  PaperMod v8+\n  License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE\n  Copyright (c) 2020"
  },
  {
    "path": "go.mod",
    "chars": 55,
    "preview": "module github.com/adityatelange/hugo-PaperMod\n\ngo 1.12\n"
  },
  {
    "path": "i18n/ar.yaml",
    "chars": 451,
    "preview": "- id: prev_page\n  translation: \"السابق\"\n\n- id: next_page\n  translation: \"التالي\"\n\n- id: read_time\n  translation:\n    one"
  },
  {
    "path": "i18n/be.yaml",
    "chars": 676,
    "preview": "- id: prev_page\n  translation: \"Папярэдняя\"\n\n- id: next_page\n  translation: \"Наступная\"\n\n- id: read_time\n  translation:\n"
  },
  {
    "path": "i18n/bg.yaml",
    "chars": 267,
    "preview": "- id: prev_page\n  translation: \"Предишна страница\"\n\n- id: next_page\n  translation: \"Следваща страница\"\n\n- id: read_time\n"
  },
  {
    "path": "i18n/bn.yaml",
    "chars": 515,
    "preview": "- id: prev_page\n  translation: \"পূর্ববর্তী\"\n\n- id: next_page\n  translation: \"পরবর্তী\"\n\n- id: read_time\n  translation:\n  "
  },
  {
    "path": "i18n/ca.yaml",
    "chars": 523,
    "preview": "- id: prev_page\n  translation: \"Pàgina anterior\"\n\n- id: next_page\n  translation: \"Pàgina següent\"\n\n- id: read_time\n  tra"
  },
  {
    "path": "i18n/ckb.yaml",
    "chars": 395,
    "preview": "- id: prev_page\n  translation: \"پەڕەی پێشتر\"\n\n- id: next_page\n  translation: \"پەڕەی دواتر\"\n\n- id: read_time\n  translatio"
  },
  {
    "path": "i18n/cs.yaml",
    "chars": 489,
    "preview": "- id: prev_page\n  translation: \"Předchozí\"\n\n- id: next_page\n  translation: \"Další\"\n\n- id: read_time\n  translation:\n    o"
  },
  {
    "path": "i18n/da.yaml",
    "chars": 433,
    "preview": "- id: prev_page\n  translation: \"Forrige Side\"\n\n- id: next_page\n  translation: \"Næste Side\"\n\n- id: read_time\n  translatio"
  },
  {
    "path": "i18n/de.yaml",
    "chars": 514,
    "preview": "- id: prev_page\n  translation: \"Vorherige\"\n\n- id: next_page\n  translation: \"Nächste\"\n\n- id: read_time\n  translation:\n   "
  },
  {
    "path": "i18n/el.yaml",
    "chars": 519,
    "preview": "- id: prev_page\n  translation: \"Προηγούμενο\"\n\n- id: next_page\n  translation: \"Επόμενο\"\n\n- id: read_time\n  translation:\n "
  },
  {
    "path": "i18n/en.yaml",
    "chars": 486,
    "preview": "- id: prev_page\n  translation: \"Prev\"\n\n- id: next_page\n  translation: \"Next\"\n\n- id: read_time\n  translation:\n    one : \""
  },
  {
    "path": "i18n/eo.yaml",
    "chars": 373,
    "preview": "- id: prev_page\n  translation: \"antaŭa paĝo\"\n\n- id: next_page\n  translation: \"sekva paĝo\"\n\n- id: read_time\n  translation"
  },
  {
    "path": "i18n/es.yaml",
    "chars": 511,
    "preview": "- id: prev_page\n  translation: \"Anterior\"\n\n- id: next_page\n  translation: \"Siguiente\"\n\n- id: read_time\n  translation:\n  "
  },
  {
    "path": "i18n/fa.yaml",
    "chars": 412,
    "preview": "- id: prev_page\n  translation: \"صفحه قبلی\"\n\n- id: next_page\n  translation: \"صفحه بعدی\"\n\n- id: read_time\n  translation:\n "
  },
  {
    "path": "i18n/fi.yaml",
    "chars": 508,
    "preview": "- id: prev_page\n  translation: \"Edellinen\"\n\n- id: next_page\n  translation: \"Seuraava\"\n\n- id: read_time\n  translation:\n  "
  },
  {
    "path": "i18n/fr.yaml",
    "chars": 501,
    "preview": "- id: prev_page\n  translation: \"Précédent\"\n\n- id: next_page\n  translation: \"Suivant\"\n\n- id: read_time\n  translation:\n   "
  },
  {
    "path": "i18n/he.yaml",
    "chars": 479,
    "preview": "- id: prev_page\n  translation: \"הקודם\"\n\n- id: next_page\n  translation: \"הבא\"\n\n- id: read_time\n  translation:\n    one: \"ד"
  },
  {
    "path": "i18n/hi.yaml",
    "chars": 287,
    "preview": "- id: prev_page\n  translation: \"पिछला\"\n\n- id: next_page\n  translation: \"अगला\"\n\n- id: read_time\n  translation:\n    one : "
  },
  {
    "path": "i18n/hr.yaml",
    "chars": 538,
    "preview": "- id: prev_page\n  translation: \"Prethodna stranica\"\n\n- id: next_page\n  translation: \"Sljedeća stranica\"\n\n- id: read_time"
  },
  {
    "path": "i18n/hu.yaml",
    "chars": 268,
    "preview": "- id: prev_page\n  translation: \"Előző oldal\"\n\n- id: next_page\n  translation: \"Következő oldal\"\n\n- id: read_time\n  transl"
  },
  {
    "path": "i18n/id.yaml",
    "chars": 500,
    "preview": "- id: prev_page\n  translation: \"Sebelumnya\"\n\n- id: next_page\n  translation: \"Selanjutnya\"\n\n- id: read_time\n  translation"
  },
  {
    "path": "i18n/it.yaml",
    "chars": 509,
    "preview": "- id: prev_page\n  translation: \"Precedente\"\n\n- id: next_page\n  translation: \"Successivo\"\n\n- id: read_time\n  translation:"
  },
  {
    "path": "i18n/ja.yaml",
    "chars": 445,
    "preview": "- id: prev_page\n  translation: \"前へ\"\n\n- id: next_page\n  translation: \"次へ\"\n\n- id: read_time\n  translation:\n    one : \"1 分\""
  },
  {
    "path": "i18n/ko.yaml",
    "chars": 448,
    "preview": "- id: prev_page\n  translation: \"이전 페이지\"\n\n- id: next_page\n  translation: \"다음 페이지\"\n\n- id: read_time\n  translation:\n    one"
  },
  {
    "path": "i18n/ku.yaml",
    "chars": 382,
    "preview": "- id: prev_page\n  translation: \"Rûpela Paş\"\n\n- id: next_page\n  translation: \"Rûpela Pêş\"\n\n- id: read_time\n  translation:"
  },
  {
    "path": "i18n/mn.yaml",
    "chars": 362,
    "preview": "- id: prev_page\n  translation: \"Ѳмнѳх\"\n\n- id: next_page\n  translation: \"Дараах\"\n\n- id: read_time\n  translation:\n    one "
  },
  {
    "path": "i18n/ms.yaml",
    "chars": 439,
    "preview": "- id: prev_page\n  translation: \"Halaman Sebelumnya\"\n\n- id: next_page\n  translation: \"Halaman Seterusnya\"\n\n- id: read_tim"
  },
  {
    "path": "i18n/nl.yaml",
    "chars": 509,
    "preview": "- id: prev_page\n  translation: \"Vorige\"\n\n- id: next_page\n  translation: \"Volgende\"\n\n- id: read_time\n  translation:\n     "
  },
  {
    "path": "i18n/no.yaml",
    "chars": 504,
    "preview": "- id: prev_page\n  translation: \"Forrige Side\"\n\n- id: next_page\n  translation: \"Neste Side\"\n\n- id: read_time\n  translatio"
  },
  {
    "path": "i18n/oc.yaml",
    "chars": 496,
    "preview": "- id: prev_page\n  translation: \"Prec.\"\n\n- id: next_page\n  translation: \"Seg.\"\n\n- id: read_time\n  translation:\n    one : "
  },
  {
    "path": "i18n/pa.yaml",
    "chars": 472,
    "preview": "- id: prev_page\n  translation: \"ਪਿਛਲਾ\"\n\n- id: next_page\n  translation: \"ਅਗਲਾ\"\n\n- id: read_time\n  translation:\n    one: \""
  },
  {
    "path": "i18n/pl.yaml",
    "chars": 509,
    "preview": "- id: prev_page\n  translation: \"Poprzednia\"\n\n- id: next_page\n  translation: \"Następna\"\n\n- id: read_time\n  translation:\n "
  },
  {
    "path": "i18n/pnb.yaml",
    "chars": 474,
    "preview": "- id: prev_page\n  translation: \"پِچھلا\"\n\n- id: next_page\n  translation: \"اگلا\"\n\n- id: read_time\n  translation:\n    one: "
  },
  {
    "path": "i18n/pt.yaml",
    "chars": 516,
    "preview": "- id: prev_page\n  translation: \"Página Anterior\"\n\n- id: next_page\n  translation: \"Próxima Página\"\n\n- id: read_time\n  tra"
  },
  {
    "path": "i18n/ro.yaml",
    "chars": 493,
    "preview": "- id: prev_page\n  translation: \"Înapoi\"\n\n- id: next_page\n  translation: \"Înainte\"\n\n- id: read_time\n  translation:\n    on"
  },
  {
    "path": "i18n/ru.yaml",
    "chars": 676,
    "preview": "- id: prev_page\n  translation: \"Предыдущая\"\n\n- id: next_page\n  translation: \"Следующая\"\n\n- id: read_time\n  translation:\n"
  },
  {
    "path": "i18n/sk.yaml",
    "chars": 487,
    "preview": "- id: prev_page\n  translation: \"Predch\"\n\n- id: next_page\n  translation: \"Ďaľší\"\n\n- id: read_time\n  translation:\n    one "
  },
  {
    "path": "i18n/sv.yaml",
    "chars": 434,
    "preview": "- id: prev_page\n  translation: \"Förra Sidan\"\n\n- id: next_page\n  translation: \"Nästa Sida\"\n\n- id: read_time\n  translation"
  },
  {
    "path": "i18n/sw.yaml",
    "chars": 502,
    "preview": "- id: prev_page\n  translation: \"Uliopita\"\n\n- id: next_page\n  translation: \"Ujao\"\n\n- id: read_time\n  translation:\n    one"
  },
  {
    "path": "i18n/th.yaml",
    "chars": 482,
    "preview": "- id: prev_page\n  translation: \"ก่อนหน้า\"\n\n- id: next_page\n  translation: \"ถัดไป\"\n\n- id: read_time\n  translation:\n    on"
  },
  {
    "path": "i18n/tr.yaml",
    "chars": 498,
    "preview": "- id: prev_page\n  translation: \"Önceki\"\n\n- id: next_page\n  translation: \"Sonraki\"\n\n- id: read_time\n  translation:\n    on"
  },
  {
    "path": "i18n/uk.yaml",
    "chars": 383,
    "preview": "- id: prev_page\n  translation: \"Попередня\"\n\n- id: next_page\n  translation: \"Наступна\"\n\n- id: read_time\n  translation:\n  "
  },
  {
    "path": "i18n/uz.yaml",
    "chars": 335,
    "preview": "- id: prev_page\r\n  translation: \"Oldingi sahifa\"\r\n\r\n- id: next_page\r\n  translation: \"Keyingi sahifa\"\r\n\r\n- id: read_time\r"
  },
  {
    "path": "i18n/vi.yaml",
    "chars": 504,
    "preview": "- id: prev_page\n  translation: \"Trang trước\"\n\n- id: next_page\n  translation: \"Trang tiếp theo\"\n\n- id: read_time\n  transl"
  },
  {
    "path": "i18n/zh-tw.yaml",
    "chars": 473,
    "preview": "- id: prev_page\r\n  translation: \"上一頁\"\r\n\r\n- id: next_page\r\n  translation: \"下一頁\"\r\n\r\n- id: read_time\r\n  translation:\r\n    o"
  },
  {
    "path": "i18n/zh.yaml",
    "chars": 441,
    "preview": "- id: prev_page\n  translation: \"上一页\"\n\n- id: next_page\n  translation: \"下一页\"\n\n- id: read_time\n  translation:\n    one : \"1 "
  },
  {
    "path": "layouts/404.html",
    "chars": 85,
    "preview": "{{- define \"main\" }}\n<div class=\"not-found\">404</div>\n{{- end }}{{/* end main */ -}}\n"
  },
  {
    "path": "layouts/_default/_markup/render-image.html",
    "chars": 730,
    "preview": "{{- $u := urls.Parse .Destination -}}\n{{- $src := $u.String -}}\n{{- if not $u.IsAbs -}}\n  {{- $path := strings.TrimPrefi"
  },
  {
    "path": "layouts/_default/archives.html",
    "chars": 2812,
    "preview": "{{- define \"main\" }}\n\n<header class=\"page-header\">\n  <h1>\n    {{ .Title }}\n    {{- if (.Param \"ShowRssButtonInSectionTer"
  },
  {
    "path": "layouts/_default/baseof.html",
    "chars": 1064,
    "preview": "{{- if lt hugo.Version \"0.146.0\" }}\n{{- errorf \"=> hugo v0.146.0 or greater is required for hugo-PaperMod to build \" }}\n"
  },
  {
    "path": "layouts/_default/index.json",
    "chars": 341,
    "preview": "{{- $.Scratch.Add \"index\" slice -}}\n{{- range site.RegularPages -}}\n    {{- if and (not .Params.searchHidden) (ne .Layou"
  },
  {
    "path": "layouts/_default/list.html",
    "chars": 4046,
    "preview": "{{- define \"main\" }}\n\n{{- if (and site.Params.profileMode.enabled .IsHome) }}\n{{- partial \"index_profile.html\" . }}\n{{- "
  },
  {
    "path": "layouts/_default/llms.txt",
    "chars": 1256,
    "preview": "{{- /* Recursive printer for sections */ -}}\n{{- define \"llms_print_section\" -}}\n{{- $section := .section -}}\n{{- $depth"
  },
  {
    "path": "layouts/_default/rss.xml",
    "chars": 2954,
    "preview": "{{- $authorEmail := \"\" }}\n{{- with site.Params.author }}\n  {{- if reflect.IsMap . }}\n    {{- with .email }}\n      {{- $a"
  },
  {
    "path": "layouts/_default/search.html",
    "chars": 1028,
    "preview": "{{- define \"main\" }}\n\n<header class=\"page-header\">\n    <h1>{{- (printf \"%s&nbsp;\" .Title ) | htmlUnescape -}}\n        <s"
  },
  {
    "path": "layouts/_default/single.html",
    "chars": 2226,
    "preview": "{{- define \"main\" }}\n\n<article class=\"post-single\">\n  <header class=\"post-header\">\n    {{ partial \"breadcrumbs.html\" . }"
  },
  {
    "path": "layouts/_default/terms.html",
    "chars": 643,
    "preview": "{{- define \"main\" }}\n\n{{- if .Title }}\n<header class=\"page-header\">\n    <h1>{{ .Title }}</h1>\n    {{- if .Description }}"
  },
  {
    "path": "layouts/partials/anchored_headings.html",
    "chars": 212,
    "preview": "{{- /* formats .Content headings by adding an anchor */ -}}\n{{ . | replaceRE \"(<h[1-6] id=\\\"([^\\\"]+)\\\".+)(</h[1-6]+>)\" \""
  },
  {
    "path": "layouts/partials/author.html",
    "chars": 316,
    "preview": "{{- if or .Params.author site.Params.author }}\n{{- $author := (.Params.author | default site.Params.author) }}\n{{- $auth"
  },
  {
    "path": "layouts/partials/breadcrumbs.html",
    "chars": 691,
    "preview": "{{- if (.Param \"ShowBreadCrumbs\") -}}\n<div class=\"breadcrumbs\">\n    {{- $url := replace .Parent.Permalink (printf \"%s\" s"
  },
  {
    "path": "layouts/partials/comments.html",
    "chars": 151,
    "preview": "{{- /* Comments area start */ -}}\n{{- /* to add comments read => https://gohugo.io/content-management/comments/ */ -}}\n{"
  },
  {
    "path": "layouts/partials/cover.html",
    "chars": 3042,
    "preview": "{{- with .cxt}} {{/* Apply proper context from dict */}}\n{{- if (and .Params.cover.image (not $.isHidden)) }}\n<figure cl"
  },
  {
    "path": "layouts/partials/edit_post.html",
    "chars": 692,
    "preview": "{{- if and (or .Params.editPost.URL site.Params.editPost.URL) (not (.Param \"editPost.disabled\")) -}}\n{{- $fileUrlPath :="
  },
  {
    "path": "layouts/partials/extend_footer.html",
    "chars": 169,
    "preview": "{{- /* Footer custom content area start */ -}}\n{{- /*     Insert any custom code web-analytics, resources, etc. here */ "
  },
  {
    "path": "layouts/partials/extend_head.html",
    "chars": 313,
    "preview": "{{- /* Head custom content area start */ -}}\n{{- /*     Insert any custom code (web-analytics, resources, etc.) - it wil"
  },
  {
    "path": "layouts/partials/footer.html",
    "chars": 5260,
    "preview": "{{- if not (.Param \"hideFooter\") }}\n<footer class=\"footer\">\n    {{- if not site.Params.footer.hideCopyright }}\n        {"
  },
  {
    "path": "layouts/partials/head.html",
    "chars": 8864,
    "preview": "<meta charset=\"utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"viewport\" content=\"width=device"
  },
  {
    "path": "layouts/partials/header.html",
    "chars": 6259,
    "preview": "<header class=\"header\">\n    <nav class=\"nav\">\n        <div class=\"logo\">\n            {{- $label_text := (site.Params.lab"
  },
  {
    "path": "layouts/partials/home_info.html",
    "chars": 425,
    "preview": "{{- with site.Params.homeInfoParams }}\n<article class=\"first-entry home-info\">\n    <header class=\"entry-header\">\n       "
  },
  {
    "path": "layouts/partials/index_profile.html",
    "chars": 2853,
    "preview": "<div class=\"profile\">\n    {{- with site.Params.profileMode }}\n    <div class=\"profile_inner\">\n        {{- if .imageUrl -"
  },
  {
    "path": "layouts/partials/post_canonical.html",
    "chars": 599,
    "preview": "{{ if and (.Params.canonicalURL) (.Params.ShowCanonicalLink ) -}}\n{{ $url := urls.Parse .Params.canonicalURL }}\n\n{{- if "
  },
  {
    "path": "layouts/partials/post_meta.html",
    "chars": 835,
    "preview": "{{- $scratch := newScratch }}\n\n{{- if not .Date.IsZero -}}\n{{- $scratch.Add \"meta\" (slice (printf \"<span title='%s'>%s</"
  },
  {
    "path": "layouts/partials/post_nav_links.html",
    "chars": 541,
    "preview": "{{- $pages := where site.RegularPages \"Type\" \"in\" site.Params.mainSections }}\n{{- if and (gt (len $pages) 1) (in $pages "
  },
  {
    "path": "layouts/partials/share_icons.html",
    "chars": 10188,
    "preview": "{{- $pageurl := .Permalink }}\n{{- $title := .Title }}\n\n{{- $.Scratch.Set \"tags\" \"\"}}\n\n{{- with .Params.Tags }}\n{{- $hash"
  },
  {
    "path": "layouts/partials/social_icons.html",
    "chars": 320,
    "preview": "<div class=\"social-icons\" {{ with .align}}align=\"{{.}}\" {{- end }}>\n    {{- range site.Params.socialIcons }}\n    <a href"
  },
  {
    "path": "layouts/partials/svg.html",
    "chars": 181218,
    "preview": "{{- $icon_name := ( trim .name \" \" | lower )}}\n{{- if (eq $icon_name \"123rf\") -}}\n<svg xmlns=\"http://www.w3.org/2000/svg"
  },
  {
    "path": "layouts/partials/templates/_funcs/get-page-images.html",
    "chars": 1434,
    "preview": "{{- $imgs := slice }}\n{{- $imgParams := .Params.images }}\n{{- $resources := .Resources.ByType \"image\" -}}\n{{/* Find feat"
  },
  {
    "path": "layouts/partials/templates/opengraph.html",
    "chars": 2628,
    "preview": "<meta property=\"og:url\" content=\"{{ .Permalink }}\">\n\n{{- with or site.Title site.Params.title | plainify }}\n  <meta prop"
  },
  {
    "path": "layouts/partials/templates/schema_json.html",
    "chars": 3951,
    "preview": "{{ if .IsHome }}\n<script type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"{{- ( site.Params"
  },
  {
    "path": "layouts/partials/templates/twitter_cards.html",
    "chars": 1256,
    "preview": "{{- if .Params.cover.image -}}\n<meta name=\"twitter:card\" content=\"summary_large_image\">\n{{- if (ne $.Params.cover.relati"
  },
  {
    "path": "layouts/partials/toc.html",
    "chars": 4430,
    "preview": "{{- $headers := findRE \"<h[1-6].*?>(.|\\n])+?</h[1-6]>\" .Content -}}\n{{- $has_headers := ge (len $headers) 1 -}}\n{{- if $"
  },
  {
    "path": "layouts/partials/translation_list.html",
    "chars": 627,
    "preview": "{{- if .IsTranslated -}}\n{{- if (ne .Layout \"search\") }}\n{{- if or .Params.author site.Params.author (.Param \"ShowReadin"
  },
  {
    "path": "layouts/robots.txt",
    "chars": 164,
    "preview": "User-agent: *\n{{- if hugo.IsProduction | or (eq site.Params.env \"production\") }}\nDisallow:\n{{- else }}\nDisallow: /\n{{- e"
  },
  {
    "path": "layouts/shortcodes/collapse.html",
    "chars": 298,
    "preview": "{{ if .Get \"summary\" }}\n{{ else }}\n{{ warnf \"missing value for param 'summary': %s\" .Position }}\n{{ end }}\n<p><details {"
  },
  {
    "path": "layouts/shortcodes/figure.html",
    "chars": 1435,
    "preview": "<figure{{ if or (.Get \"class\") (eq (.Get \"align\") \"center\") }} class=\"\n           {{- if eq (.Get \"align\") \"center\" }}al"
  },
  {
    "path": "layouts/shortcodes/inTextImg.html",
    "chars": 181,
    "preview": "{{- $Img := (.Get \"url\") }}\n{{- $height := (.Get \"height\") }}\n{{- $alt := (.Get \"alt\") }}\n\n<img class=\"in-text\" height=\""
  },
  {
    "path": "layouts/shortcodes/ltr.html",
    "chars": 286,
    "preview": "{{ $.Scratch.Set \"md\" false }}\n\n{{ if .IsNamedParams }}\n{{ $.Scratch.Set \"md\" (.Get \"md\") }}\n{{ else }}\n{{ $.Scratch.Set"
  },
  {
    "path": "layouts/shortcodes/rawhtml.html",
    "chars": 32,
    "preview": "<!-- raw html -->\n{{- .Inner -}}"
  },
  {
    "path": "layouts/shortcodes/rtl.html",
    "chars": 286,
    "preview": "{{ $.Scratch.Set \"md\" false }}\n\n{{ if .IsNamedParams }}\n{{ $.Scratch.Set \"md\" (.Get \"md\") }}\n{{ else }}\n{{ $.Scratch.Set"
  },
  {
    "path": "theme.toml",
    "chars": 1138,
    "preview": "# theme.toml template for a Hugo theme\n# See https://github.com/gohugoio/hugoThemes#themetoml for an example\n\nname = \"Pa"
  }
]

About this extraction

This page contains the full source code of the adityatelange/hugo-PaperMod GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 118 files (318.3 KB), approximately 151.3k tokens, and a symbol index with 2 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!