122 changed files with 7 additions and 5898 deletions
@ -0,0 +1,3 @@ |
|||
[submodule "themes/hugo-coder"] |
|||
path = themes/hugo-coder |
|||
url = https://github.com/luizdepra/hugo-coder.git |
|||
@ -1,112 +0,0 @@ |
|||
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 orther 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.112.4 (Recommended - Minimum version required for PaperMod) |
|||
- Hugo < 0.112.4 (Incompatible - Not recommended to build PaperMod on lower verions) |
|||
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 |
|||
@ -1,5 +0,0 @@ |
|||
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. |
|||
@ -1,32 +0,0 @@ |
|||
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 enahancement form :) |
|||
- Use [Discussions](https://github.com/adityatelange/hugo-PaperMod/discussions) section if you have a query or doubts or any orther 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 |
|||
@ -1,44 +0,0 @@ |
|||
<!-- |
|||
|
|||
## 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. |
|||
@ -1,77 +0,0 @@ |
|||
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.112.4" |
|||
|
|||
# Allow one concurrent deployment |
|||
concurrency: |
|||
group: "pages" |
|||
cancel-in-progress: true |
|||
|
|||
# Default to bash |
|||
defaults: |
|||
run: |
|||
shell: bash |
|||
|
|||
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages |
|||
permissions: |
|||
contents: read |
|||
pages: write |
|||
id-token: write |
|||
|
|||
jobs: |
|||
# Build job |
|||
build: |
|||
runs-on: ubuntu-latest |
|||
env: |
|||
HUGO_VERSION: ${{ github.event.inputs.hugoVersion || '0.112.4' }} |
|||
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@v3 |
|||
with: |
|||
ref: exampleSite |
|||
- name: Setup Pages |
|||
id: pages |
|||
uses: actions/configure-pages@v3 |
|||
- 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@v2 |
|||
with: |
|||
path: ./public |
|||
# Deployment job |
|||
deploy: |
|||
environment: |
|||
name: github-pages |
|||
url: ${{ steps.deployment.outputs.page_url }} |
|||
runs-on: ubuntu-latest |
|||
needs: build |
|||
steps: |
|||
- name: Deploy to GitHub Pages |
|||
id: deployment |
|||
uses: actions/deploy-pages@v2 |
|||
@ -1,22 +0,0 @@ |
|||
MIT License |
|||
|
|||
Copyright (c) 2020 nanxiaobei and adityatelange |
|||
Copyright (c) 2021-2024 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. |
|||
@ -1,106 +0,0 @@ |
|||
<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. |
|||
|
|||
[](https://themes.gohugo.io/themes/hugo-papermod/) |
|||
[](https://github.com/gohugoio/hugo/releases/tag/v0.112.4) |
|||
[](https://discord.gg/ahpmTvhVmp) |
|||
[](https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE) |
|||
 |
|||
[](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 📈 |
|||
|
|||
[](https://starchart.cc/adityatelange/hugo-PaperMod) |
|||
@ -1,11 +0,0 @@ |
|||
.not-found { |
|||
position: absolute; |
|||
left: 0; |
|||
right: 0; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
height: 80%; |
|||
font-size: 160px; |
|||
font-weight: 700; |
|||
} |
|||
@ -1,44 +0,0 @@ |
|||
.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; |
|||
} |
|||
@ -1,60 +0,0 @@ |
|||
.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; |
|||
} |
|||
@ -1,93 +0,0 @@ |
|||
.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; |
|||
} |
|||
|
|||
body.dark #moon { |
|||
vertical-align: middle; |
|||
display: none; |
|||
} |
|||
|
|||
body:not(.dark) #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; |
|||
} |
|||
@ -1,66 +0,0 @@ |
|||
.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; |
|||
} |
|||
@ -1,108 +0,0 @@ |
|||
.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); |
|||
pointer-events: none; |
|||
width: 100%; |
|||
height: auto; |
|||
} |
|||
|
|||
.entry-cover a { |
|||
color: var(--secondary); |
|||
box-shadow: 0 1px 0 var(--primary); |
|||
} |
|||
@ -1,409 +0,0 @@ |
|||
.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; |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
} |
|||
|
|||
.post-meta .i18n_list li { |
|||
display: inline-flex; |
|||
list-style: none; |
|||
margin: auto 3px; |
|||
box-shadow: 0 1px 0 var(--secondary); |
|||
} |
|||
|
|||
.breadcrumbs a { |
|||
font-size: 16px; |
|||
} |
|||
|
|||
.post-content { |
|||
color: var(--content); |
|||
} |
|||
|
|||
.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, |
|||
.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: 0 2px 40px 2px; |
|||
border: 1px solid var(--border); |
|||
background: var(--code-bg); |
|||
border-radius: var(--radius); |
|||
padding: 0.4em; |
|||
} |
|||
|
|||
.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 0; |
|||
padding: 0 10px; |
|||
opacity: 0.9; |
|||
} |
|||
|
|||
.toc li ul { |
|||
margin-inline-start: var(--gap); |
|||
} |
|||
|
|||
.toc summary:focus { |
|||
outline: 0; |
|||
} |
|||
|
|||
.post-footer { |
|||
margin-top: 56px; |
|||
} |
|||
|
|||
.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; |
|||
} |
|||
@ -1,43 +0,0 @@ |
|||
.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); |
|||
} |
|||
@ -1,45 +0,0 @@ |
|||
#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); |
|||
} |
|||
@ -1,18 +0,0 @@ |
|||
.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); |
|||
} |
|||
@ -1,6 +0,0 @@ |
|||
/* |
|||
PaperMod v7 |
|||
License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE |
|||
Copyright (c) 2020 nanxiaobei and adityatelange |
|||
Copyright (c) 2021-2024 adityatelange |
|||
*/ |
|||
@ -1,118 +0,0 @@ |
|||
*, |
|||
::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%; |
|||
} |
|||
@ -1,38 +0,0 @@ |
|||
: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); |
|||
} |
|||
|
|||
.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); |
|||
} |
|||
|
|||
.list { |
|||
background: var(--code-bg); |
|||
} |
|||
|
|||
.dark.list { |
|||
background: var(--theme); |
|||
} |
|||
@ -1,55 +0,0 @@ |
|||
@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; |
|||
} |
|||
} |
|||
@ -1,5 +0,0 @@ |
|||
/* |
|||
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 |
|||
*/ |
|||
@ -1,24 +0,0 @@ |
|||
.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%; |
|||
} |
|||
@ -1,86 +0,0 @@ |
|||
/* 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 { } |
|||
@ -1,63 +0,0 @@ |
|||
/* from reset */ |
|||
::-webkit-scrollbar-track { |
|||
background: 0 0; |
|||
} |
|||
|
|||
.list:not(.dark)::-webkit-scrollbar-track { |
|||
background: var(--code-bg); |
|||
} |
|||
|
|||
::-webkit-scrollbar-thumb { |
|||
background: var(--tertiary); |
|||
border: 5px solid var(--theme); |
|||
border-radius: var(--radius); |
|||
} |
|||
|
|||
.list:not(.dark)::-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; |
|||
} |
|||
} |
|||
@ -1,152 +0,0 @@ |
|||
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} »</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 diff suppressed because one or more lines are too long
@ -1,6 +0,0 @@ |
|||
/* |
|||
PaperMod v7 |
|||
License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE
|
|||
Copyright (c) 2020 nanxiaobei and adityatelange |
|||
Copyright (c) 2021-2024 adityatelange |
|||
*/ |
|||
@ -1,3 +0,0 @@ |
|||
module github.com/adityatelange/hugo-PaperMod |
|||
|
|||
go 1.12 |
|||
@ -1,28 +0,0 @@ |
|||
- 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: "نسخ الكود" |
|||
@ -1,39 +0,0 @@ |
|||
- 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: "скапіявана!" |
|||
@ -1,16 +0,0 @@ |
|||
- id: prev_page |
|||
translation: "Предишна страница" |
|||
|
|||
- id: next_page |
|||
translation: "Следваща страница" |
|||
|
|||
- id: read_time |
|||
translation: |
|||
one : "1 мин" |
|||
other: "{{ .Count }} мин" |
|||
|
|||
- id: toc |
|||
translation: "Съдържание" |
|||
|
|||
- id: translations |
|||
translation: "Преводи" |
|||
@ -1,33 +0,0 @@ |
|||
- 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: "কপি হয়েছে!" |
|||
@ -1,19 +0,0 @@ |
|||
- id: prev_page |
|||
translation: "Pàgina anterior" |
|||
|
|||
- id: next_page |
|||
translation: "Pàgina següent" |
|||
|
|||
- id: read_time |
|||
translation: |
|||
one : "1 min" |
|||
other: "{{ .Count }} min" |
|||
|
|||
- id: toc |
|||
translation: "Taula de Continguts" |
|||
|
|||
- id: translations |
|||
translation: "Traduccions" |
|||
|
|||
- id: home |
|||
translation: "Inici" |
|||
@ -1,25 +0,0 @@ |
|||
- 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: "لەبەر گیرایەوە!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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!" |
|||
@ -1,28 +0,0 @@ |
|||
- 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!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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: "αντιγράφηκε!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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!" |
|||
@ -1,25 +0,0 @@ |
|||
- 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!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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!" |
|||
@ -1,28 +0,0 @@ |
|||
- 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: "کپی شد!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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é !" |
|||
@ -1,33 +0,0 @@ |
|||
- id: prev_page |
|||
translation: "קודם" |
|||
|
|||
- id: next_page |
|||
translation: "הבא" |
|||
|
|||
- id: read_time |
|||
translation: |
|||
one : "דקה אחת" |
|||
other: "דקות {{ .Count }}" |
|||
|
|||
- id: words |
|||
translation: |
|||
one : "word" |
|||
other: "מילים {{ .Count }} " |
|||
|
|||
- id: toc |
|||
translation: "תוכן העניינים" |
|||
|
|||
- id: translations |
|||
translation: "תרגומים" |
|||
|
|||
- id: home |
|||
translation: "בית" |
|||
|
|||
- id: edit_post |
|||
translation: "ערוך" |
|||
|
|||
- id: code_copy |
|||
translation: "העתק" |
|||
|
|||
- id: code_copied |
|||
translation: "!הועתק" |
|||
@ -1,19 +0,0 @@ |
|||
- 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: "अनुवाद" |
|||
@ -1,33 +0,0 @@ |
|||
- 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!" |
|||
@ -1,16 +0,0 @@ |
|||
- 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" |
|||
@ -1,33 +0,0 @@ |
|||
- 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!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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: "コピーされました!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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: "복사 완료!" |
|||
@ -1,25 +0,0 @@ |
|||
- 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!" |
|||
@ -1,25 +0,0 @@ |
|||
- 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: "хуулсан!" |
|||
@ -1,28 +0,0 @@ |
|||
- 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!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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 !" |
|||
@ -1,33 +0,0 @@ |
|||
- 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: "ਕਾਪੀ ਕੀਤੀ ਗਈ!!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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: "کاپی کیتی گئی!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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!" |
|||
@ -1,39 +0,0 @@ |
|||
- 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: "скопировано!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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é!" |
|||
@ -1,28 +0,0 @@ |
|||
- 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!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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: "คัดลอกแล้ว!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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ı!" |
|||
@ -1,25 +0,0 @@ |
|||
- 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: "скопійовано!" |
|||
@ -1,20 +0,0 @@ |
|||
- 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" |
|||
|
|||
@ -1,33 +0,0 @@ |
|||
- 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!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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: "已複製!" |
|||
@ -1,33 +0,0 @@ |
|||
- 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: "已复制!" |
|||
|
Before Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 16 KiB |
@ -1,3 +0,0 @@ |
|||
{{- define "main" }} |
|||
<div class="not-found">404</div> |
|||
{{- end }}{{/* end main */ -}} |
|||
@ -1 +0,0 @@ |
|||
<img loading="lazy" src="{{ .Destination | safeURL }}" alt="{{ .Text }}" {{ with .Title}} title="{{ . }}" {{ end }} /> |
|||
@ -1,83 +0,0 @@ |
|||
{{- 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"> {{ 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"> {{ 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 */}} |
|||
@ -1,27 +0,0 @@ |
|||
{{- if lt hugo.Version "0.112.4" }} |
|||
{{- errorf "=> hugo v0.112.4 or greater is required for hugo-PaperMod to build " }} |
|||
{{- end -}} |
|||
|
|||
<!DOCTYPE html> |
|||
<html lang="{{ site.Language }}" dir="{{ .Language.LanguageDirection | default "auto" }}"> |
|||
|
|||
<head> |
|||
{{- partial "head.html" . }} |
|||
</head> |
|||
|
|||
<body class=" |
|||
{{- if (or (ne .Kind `page` ) (eq .Layout `archives`) (eq .Layout `search`)) -}} |
|||
{{- print "list" -}} |
|||
{{- end -}} |
|||
{{- if eq site.Params.defaultTheme `dark` -}} |
|||
{{- print " dark" }} |
|||
{{- end -}} |
|||
" id="top"> |
|||
{{- partialCached "header.html" . .Page -}} |
|||
<main class="main"> |
|||
{{- block "main" . }}{{ end }} |
|||
</main> |
|||
{{ partialCached "footer.html" . .Layout .Kind (.Param "hideFooter") (.Param "ShowCodeCopyButtons") -}} |
|||
</body> |
|||
|
|||
</html> |
|||
@ -1,7 +0,0 @@ |
|||
{{- $.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 -}} |
|||
@ -1,121 +0,0 @@ |
|||
{{- 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 }}"> |
|||
« {{ i18n "prev_page" }} |
|||
{{- 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" }} |
|||
{{- if (.Param "ShowPageNums") }} |
|||
{{- add 1 $paginator.PageNumber }}/{{ $paginator.TotalPages }} |
|||
{{- end }} » |
|||
</a> |
|||
{{- end }} |
|||
</nav> |
|||
</footer> |
|||
{{- end }} |
|||
|
|||
{{- end }}{{/* end profileMode */}} |
|||
|
|||
{{- end }}{{- /* end main */ -}} |
|||
@ -1,83 +0,0 @@ |
|||
{{- /* Deprecate site.Author.email in favor of site.Params.author.email */}} |
|||
{{- $authorEmail := "" }} |
|||
{{- with site.Params.author }} |
|||
{{- if reflect.IsMap . }} |
|||
{{- with .email }} |
|||
{{- $authorEmail = . }} |
|||
{{- end }} |
|||
{{- end }} |
|||
{{- else }} |
|||
{{- with site.Author.email }} |
|||
{{- $authorEmail = . }} |
|||
{{- warnf "The author key in site configuration is deprecated. Use params.author.email instead." }} |
|||
{{- end }} |
|||
{{- end }} |
|||
|
|||
{{- /* Deprecate site.Author.name in favor of site.Params.author.name */}} |
|||
{{- $authorName := "" }} |
|||
{{- with site.Params.author }} |
|||
{{- if reflect.IsMap . }} |
|||
{{- with .name }} |
|||
{{- $authorName = . }} |
|||
{{- end }} |
|||
{{- else }} |
|||
{{- $authorName = . }} |
|||
{{- end }} |
|||
{{- else }} |
|||
{{- with site.Author.name }} |
|||
{{- $authorName = . }} |
|||
{{- warnf "The author key in site configuration is deprecated. Use params.author.name instead." }} |
|||
{{- end }} |
|||
{{- end }} |
|||
|
|||
{{- $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 -- {{ hugo.Version }}</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> |
|||
@ -1,29 +0,0 @@ |
|||
{{- define "main" }} |
|||
|
|||
<header class="page-header"> |
|||
<h1>{{- (printf "%s " .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 */}} |
|||
@ -1,65 +0,0 @@ |
|||
{{- 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 */}} |
|||
@ -1,27 +0,0 @@ |
|||
{{- 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 */ -}} |
|||
@ -1,2 +0,0 @@ |
|||
{{- /* 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 }} |
|||
@ -1,9 +0,0 @@ |
|||
{{- 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 -}} |
|||
@ -1,19 +0,0 @@ |
|||
{{- 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 " » " | safeHTML -}}<a href="{{ $bc_pg.Permalink }}">{{ $bc_pg.Name }}</a> |
|||
{{- end }} |
|||
|
|||
{{- end -}} |
|||
</div> |
|||
{{- end -}} |
|||
@ -1,3 +0,0 @@ |
|||
{{- /* Comments area start */ -}} |
|||
{{- /* to add comments read => https://gohugo.io/content-management/comments/ */ -}} |
|||
{{- /* Comments area end */ -}} |
|||
@ -1,43 +0,0 @@ |
|||
{{- with .cxt}} {{/* Apply proper context from dict */}} |
|||
{{- if (and .Params.cover.image (not $.isHidden)) }} |
|||
{{- $alt := (.Params.cover.alt | default .Params.cover.caption | plainify) }} |
|||
{{- $loading := cond $.IsSingle "eager" "lazy" }} |
|||
<figure class="entry-cover"> |
|||
{{- $responsiveImages := (.Params.cover.responsiveImages | default site.Params.cover.responsiveImages) | default true }} |
|||
{{- $addLink := (and site.Params.cover.linkFullImages $.IsSingle) }} |
|||
{{- $pageBundleCover := (.Resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }} |
|||
{{- $globalResourcesCover := (resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }} |
|||
{{- $cover := (or $pageBundleCover $globalResourcesCover)}} |
|||
{{- if $cover -}}{{/* i.e it is present in page bundle */}} |
|||
{{- if $addLink }}<a href="{{ (path.Join .RelPermalink .Params.cover.image) | absURL }}" target="_blank" |
|||
rel="noopener noreferrer">{{ end -}} |
|||
{{- $sizes := (slice "360" "480" "720" "1080" "1500") }} |
|||
{{- $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 $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 -}}{{$cover.Permalink }} {{printf "%dw" ($cover.Width)}}" |
|||
sizes="(min-width: 768px) 720px, 100vw" src="{{ $cover.Permalink }}" alt="{{ $alt }}" |
|||
width="{{ $cover.Width }}" height="{{ $cover.Height }}"> |
|||
{{- else }}{{/* Unprocessable image or responsive images disabled */}} |
|||
<img loading="{{$loading}}" src="{{ (path.Join .RelPermalink .Params.cover.image) | absURL }}" alt="{{ $alt }}"> |
|||
{{- end }} |
|||
{{- else }}{{/* For absolute urls and external links, no img processing here */}} |
|||
{{- if $addLink }}<a href="{{ (.Params.cover.image) | absURL }}" target="_blank" |
|||
rel="noopener noreferrer">{{ end -}} |
|||
<img loading="{{$loading}}" src="{{ (.Params.cover.image) | absURL }}" alt="{{ $alt }}"> |
|||
{{- end }} |
|||
{{- if $addLink }}</a>{{ end -}} |
|||
{{/* Display Caption */}} |
|||
{{- if $.IsSingle }} |
|||
{{ with .Params.cover.caption }}<p>{{ . | markdownify }}</p>{{- end }} |
|||
{{- end }} |
|||
</figure> |
|||
{{- end }}{{/* End image */}} |
|||
{{- end -}}{{/* End context */ -}} |
|||
@ -1,8 +0,0 @@ |
|||
{{- 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 }} | {{- end -}} |
|||
<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" target="_blank"> |
|||
{{- .Params.editPost.Text | default (site.Params.editPost.Text | default (i18n "edit_post" | default "Edit")) -}} |
|||
</a> |
|||
{{- end }} |
|||
@ -1,3 +0,0 @@ |
|||
{{- /* Footer custom content area start */ -}} |
|||
{{- /* Insert any custom code web-analytics, resources, etc. here */ -}} |
|||
{{- /* Footer custom content area end */ -}} |
|||
@ -1,4 +0,0 @@ |
|||
{{- /* 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 */ -}} |
|||
@ -1,144 +0,0 @@ |
|||
{{- if not (.Param "hideFooter") }} |
|||
<footer class="footer"> |
|||
{{- if not site.Params.footer.hideCopyright }} |
|||
{{- if site.Copyright }} |
|||
<span>{{ site.Copyright | markdownify }}</span> |
|||
{{- else }} |
|||
<span>© {{ 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) { |
|||
menu.scrollLeft = localStorage.getItem("menu-scroll-position"); |
|||
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", () => { |
|||
if (document.body.className.includes("dark")) { |
|||
document.body.classList.remove('dark'); |
|||
localStorage.setItem("pref-theme", 'light'); |
|||
} else { |
|||
document.body.classList.add('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 }} |
|||
@ -1,157 +0,0 @@ |
|||
<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 }}"> |
|||
{{ 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); |
|||
} |
|||
|
|||
.list { |
|||
background: var(--theme); |
|||
} |
|||
|
|||
.list:not(.dark)::-webkit-scrollbar-track { |
|||
background: 0 0; |
|||
} |
|||
|
|||
.list:not(.dark)::-webkit-scrollbar-thumb { |
|||
border-color: var(--theme); |
|||
} |
|||
} |
|||
|
|||
</style> |
|||
{{- end }} |
|||
</noscript> |
|||
|
|||
{{- partial "extend_head.html" . -}} |
|||
|
|||
{{- /* Misc */}} |
|||
{{- if hugo.IsProduction | or (eq site.Params.env "production") }} |
|||
{{- template "_internal/google_analytics.html" . }} |
|||
{{- template "partials/templates/opengraph.html" . }} |
|||
{{- template "partials/templates/twitter_cards.html" . }} |
|||
{{- template "partials/templates/schema_json.html" . }} |
|||
{{- end -}} |
|||
@ -1,149 +0,0 @@ |
|||
{{- /* 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.body.classList.add('dark'); |
|||
} |
|||
|
|||
</script> |
|||
{{- /* theme is dark */}} |
|||
{{- else if (eq site.Params.defaultTheme "dark") }} |
|||
<script> |
|||
if (localStorage.getItem("pref-theme") === "light") { |
|||
document.body.classList.remove('dark') |
|||
} |
|||
|
|||
</script> |
|||
{{- else }} |
|||
{{- /* theme is auto */}} |
|||
<script> |
|||
if (localStorage.getItem("pref-theme") === "dark") { |
|||
document.body.classList.add('dark'); |
|||
} else if (localStorage.getItem("pref-theme") === "light") { |
|||
document.body.classList.remove('dark') |
|||
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) { |
|||
document.body.classList.add('dark'); |
|||
} |
|||
|
|||
</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.body.classList.add('dark'); |
|||
} |
|||
|
|||
</script> |
|||
{{- end }} |
|||
|
|||
<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)"> |
|||
<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 }} |
|||
|
|||
{{- $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 }} |
|||
</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) }} |
|||
<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> |
|||
@ -1,13 +0,0 @@ |
|||
{{- 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 -}} |
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue