Start using a better theme #66
| @@ -41,8 +41,9 @@ steps: | ||||
|     environment: | ||||
|       GIT_LFS_SKIP_SMUDGE: 1 | ||||
|     commands: | ||||
|       - git clone $DRONE_REMOTE_URL --recurse-submodules . | ||||
|       - git clone $DRONE_REMOTE_URL . | ||||
|       - git checkout $DRONE_BRANCH | ||||
|       - git submodule update --init --recursive | ||||
|  | ||||
|   - name: Test a build | ||||
|     image: git.badhouseplants.net/badhouseplants/hugo-builder | ||||
|   | ||||
							
								
								
									
										6
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							| @@ -1,3 +1,3 @@ | ||||
| [submodule "themes/papermod"] | ||||
| 	path = src/themes/papermod | ||||
| 	url = https://github.com/adityatelange/hugo-PaperMod.git | ||||
| [submodule "src/themes/hugo-profile"] | ||||
| 	path = src/themes/hugo-profile | ||||
| 	url = https://github.com/gurusabarish/hugo-profile.git | ||||
|   | ||||
							
								
								
									
										24
									
								
								docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| version: "3.9" | ||||
|  | ||||
| services: | ||||
|   rclone: | ||||
|     image: rclone | ||||
|     command: sh -c "rclone copy -P badhouseplants-public:/badhouseplants-net-main /static" | ||||
|   hugo: | ||||
|     build: | ||||
|       context: . | ||||
|       dockerfile: Containerfile | ||||
|     volumes: | ||||
|       - cache_vol:/var/cache | ||||
|       - run_vol:/run | ||||
|  | ||||
| volumes: | ||||
|   public: | ||||
|     driver_opts: | ||||
|       type: tmpfs | ||||
|       device: tmpfs | ||||
|   static: | ||||
|     driver_opts: | ||||
|       type: tmpfs | ||||
|       device: tmpfs | ||||
|  | ||||
							
								
								
									
										0
									
								
								src/.hugo_build.lock
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								src/.hugo_build.lock
									
									
									
									
									
										Normal file
									
								
							| @@ -1,7 +1,7 @@ | ||||
| --- | ||||
| languageCode: 'en-us' | ||||
| title: 'Bad Houseplants' | ||||
| theme: 'papermod' | ||||
| theme: 'hugo-profile' | ||||
| menu: | ||||
|   main: | ||||
|     - name: Posts | ||||
|   | ||||
							
								
								
									
										1
									
								
								src/themes/hugo-profile
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								src/themes/hugo-profile
									
									
									
									
									
										Submodule
									
								
							 Submodule src/themes/hugo-profile added at 828be0d1c0
									
								
							| @@ -1,50 +0,0 @@ | ||||
| --- | ||||
| name: Bug report | ||||
| about: Create a report to help us improve | ||||
| title: "[BUG]" | ||||
| labels: bug | ||||
| assignees: '' | ||||
|  | ||||
| --- | ||||
|  | ||||
| <!-- | ||||
|  | ||||
| ## READ BEFORE OPENING ISSUES | ||||
|  | ||||
| Please fill the template below | ||||
| - **DO NOT** ask for instructions. | ||||
| - Use Discussions section if you need help | ||||
| - See project wiki https://github.com/adityatelange/hugo-PaperMod/wiki | ||||
| - Read FAQs section https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs | ||||
| - Search for previous issues/ pull requests | ||||
|  | ||||
| --> | ||||
|  | ||||
| **Describe the bug** | ||||
| <!-- A clear and concise description of what the bug is. --> | ||||
|  | ||||
|  - Device/Os: [e.g. Android 10] | ||||
|  - Type: [e.g. Desktop/Mobile] | ||||
|  - Browser and version [e.g. Chrome 86.0]: | ||||
|  - Hugo Version [ >=0.83.0 expected]: | ||||
|  - Theme Version [e.g. v4.0, master, or commit-id ]: | ||||
|  | ||||
| **Steps to reproduce the behavior:** | ||||
| <!-- | ||||
| 1. Go to '...' | ||||
| 2. Click on '....' | ||||
| 3. Scroll down to '....' | ||||
| 4. See error | ||||
| --> | ||||
|  | ||||
| **Expected behavior**: | ||||
| <!-- A clear and concise description of what you expected to happen. --> | ||||
|  | ||||
| **Repo/Source where this issue can be reproduced**: | ||||
| <!-- Please link source code of website where the said issue can be reproduced --> | ||||
|  | ||||
| **Screenshots** | ||||
| <!-- If applicable, add screenshots to help explain your problem. --> | ||||
|  | ||||
| **Additional context** | ||||
| <!--Add any other context about the problem here. --> | ||||
| @@ -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,7 +0,0 @@ | ||||
| --- | ||||
| name: New Blank Issue | ||||
| about: Anything other than bug report | ||||
| title: "" | ||||
| labels: "" | ||||
| assignees: "" | ||||
| --- | ||||
| @@ -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. | ||||
							
								
								
									
										17
									
								
								src/themes/papermod/.github/stale.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								src/themes/papermod/.github/stale.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,17 +0,0 @@ | ||||
| # Number of days of inactivity before an issue becomes stale | ||||
| daysUntilStale: 7 | ||||
| # Number of days of inactivity before a stale issue is closed | ||||
| daysUntilClose: 3 | ||||
| # Issues with these labels will never be considered stale | ||||
| exemptLabels: | ||||
|   - pinned | ||||
|   - keep | ||||
| # Label to use when marking an issue as stale | ||||
| staleLabel: stale | ||||
| # Comment to post when marking an issue as stale. Set to `false` to disable | ||||
| markComment: > | ||||
|   This issue has been automatically marked as stale because it has not had | ||||
|   recent activity. It will be closed if no further activity occurs. Thank you | ||||
|   for your contributions. | ||||
| # Comment to post when closing a stale issue. Set to `false` to disable | ||||
| closeComment: false | ||||
| @@ -1,80 +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.83.0" | ||||
|  | ||||
| # 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: "0.83.0" | ||||
|     steps: | ||||
|       - name: Check version | ||||
|         if: ${{ github.event.inputs.hugoVersion }} | ||||
|         run: export HUGO_VERSION="${{ github.event.inputs.hugoVersion }}" | ||||
|       - 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-64bit.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@v1 | ||||
|       - 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 --verbose \ | ||||
|             --baseURL ${{ steps.pages.outputs.base_url }} | ||||
|       - name: Upload artifact | ||||
|         uses: actions/upload-pages-artifact@v1 | ||||
|         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@v1 | ||||
| @@ -1,22 +0,0 @@ | ||||
| MIT License | ||||
|  | ||||
| Copyright (c) 2020 nanxiaobei and adityatelange | ||||
| Copyright (c) 2021-2022 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,96 +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). | ||||
| > The goal of this project is to add more features and customization to the og theme. | ||||
|  | ||||
| The [demo](https://adityatelange.github.io/hugo-PaperMod/) includes a lot of documentation about Installation, Features with a few more stuff. Make sure you visit it, to get an awesome hands-on experience and get to know about the features ... | ||||
|  | ||||
| **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://github.com/gohugoio/hugo/releases/tag/v0.83.0) | ||||
| [](https://github.com/adityatelange/hugo-PaperMod/deployments/activity_log?environment=github-pages) | ||||
| [](https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE) | ||||
| [](https://themes.gohugo.io/themes/hugo-papermod/) | ||||
| [](https://sonarcloud.io/dashboard?id=adityatelange_hugo-PaperMod) | ||||
|  | ||||
| [](https://discord.gg/ahpmTvhVmp) | ||||
|  | ||||
| --- | ||||
|  | ||||
| <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 | ||||
| -   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)** | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## Social-Icons/Share-Icons 🖼️ | ||||
|  | ||||
| Read Wiki For More Details => **[PaperMod-Icons](https://github.com/adityatelange/hugo-PaperMod/wiki/Icons)** | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## FAQs / How To's Guide 🙋 | ||||
|  | ||||
| Read Wiki For More Details => **[PaperMod-FAQs](https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs)** | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## 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/) 👀 | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## 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 📈 | ||||
|  | ||||
| <kbd>[](https://starchart.cc/adityatelange/hugo-PaperMod)</kbd> | ||||
|  | ||||
| @@ -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,68 +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 { | ||||
|     padding: 12px 0; | ||||
| } | ||||
|  | ||||
| .social-icons a:not(:last-of-type) { | ||||
|     margin-inline-end: 12px; | ||||
| } | ||||
|  | ||||
| .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,104 +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-cover, | ||||
| .entry-isdraft { | ||||
|     font-size: 14px; | ||||
|     color: var(--secondary); | ||||
| } | ||||
|  | ||||
| .entry-cover { | ||||
|     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,403 +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: none; | ||||
|     background: linear-gradient(to right, var(--primary) 100%, transparent 0) 0 50%/1px 1px repeat-x; | ||||
| } | ||||
|  | ||||
| .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: 32px; | ||||
| } | ||||
|  | ||||
| .post-content table th, | ||||
| .post-content table:not(.highlighttable, .highlight table, .gist .highlight) td { | ||||
|     min-width: 80px; | ||||
|     padding: 12px 8px; | ||||
|     line-height: 1.5; | ||||
|     border-bottom: 1px solid var(--border); | ||||
| } | ||||
|  | ||||
| .post-content table th { | ||||
|     font-size: 14px; | ||||
|     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(--hljs-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: block; | ||||
|     margin: auto 0; | ||||
|     padding: 10px; | ||||
|     color: rgb(213, 213, 214); | ||||
|     background: var(--hljs-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: 20px; | ||||
| } | ||||
|  | ||||
| .toc details[open] summary { | ||||
|     cursor: zoom-out; | ||||
| } | ||||
|  | ||||
| .toc .details { | ||||
|     display: inline; | ||||
|     font-weight: 500; | ||||
| } | ||||
|  | ||||
| .toc .inner { | ||||
|     margin: 0 20px; | ||||
|     padding: 10px 20px; | ||||
| } | ||||
|  | ||||
| .toc li ul { | ||||
|     margin-inline-start: var(--gap); | ||||
| } | ||||
|  | ||||
| .toc summary:focus { | ||||
|     outline: 0; | ||||
| } | ||||
|  | ||||
| .post-footer { | ||||
|     margin-top: 56px; | ||||
| } | ||||
|  | ||||
| .post-tags li { | ||||
|     display: inline-block; | ||||
|     margin-inline-end: 3px; | ||||
|     margin-bottom: 5px; | ||||
| } | ||||
|  | ||||
| .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-inline-start: 14px; | ||||
|     padding-inline-end: 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 { | ||||
|     margin: 14px 0; | ||||
|     padding-inline-start: var(--radius); | ||||
|     display: flex; | ||||
|     justify-content: center; | ||||
|     overflow-x: auto; | ||||
| } | ||||
|  | ||||
| .share-buttons a { | ||||
|     margin-top: 10px; | ||||
| } | ||||
|  | ||||
| .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 { | ||||
|     margin: 10px 0; | ||||
|     display: flex; | ||||
|     line-height: 30px; | ||||
|     border-radius: var(--radius); | ||||
| } | ||||
|  | ||||
| .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,42 +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 h1 { | ||||
|     padding: 12px 0; | ||||
| } | ||||
|  | ||||
| .profile img { | ||||
|     display: inline-table; | ||||
|     border-radius: 50%; | ||||
| } | ||||
|  | ||||
| .buttons { | ||||
|     flex-wrap: wrap; | ||||
|     max-width: 400px; | ||||
|     margin: 0 auto; | ||||
| } | ||||
|  | ||||
| .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 v6 | ||||
|   License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE | ||||
|   Copyright (c) 2020 nanxiaobei and adityatelange | ||||
|   Copyright (c) 2021-2022 adityatelange | ||||
| */ | ||||
| @@ -1,116 +0,0 @@ | ||||
| *, | ||||
| ::after, | ||||
| ::before { | ||||
|     box-sizing: border-box; | ||||
| } | ||||
|  | ||||
| html { | ||||
|     -webkit-tap-highlight-color: transparent; | ||||
|     overflow-y: scroll; | ||||
| } | ||||
|  | ||||
| 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); | ||||
|     --hljs-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); | ||||
|     --hljs-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,49 +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 (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,63 +0,0 @@ | ||||
| .hljs-comment, | ||||
| .hljs-quote { | ||||
|     color: #b6b18b; | ||||
| } | ||||
|  | ||||
| .hljs-deletion, | ||||
| .hljs-name, | ||||
| .hljs-regexp, | ||||
| .hljs-selector-class, | ||||
| .hljs-selector-id, | ||||
| .hljs-tag, | ||||
| .hljs-template-variable, | ||||
| .hljs-variable { | ||||
|     color: #eb3c54; | ||||
| } | ||||
|  | ||||
| .hljs-built_in, | ||||
| .hljs-builtin-name, | ||||
| .hljs-link, | ||||
| .hljs-literal, | ||||
| .hljs-meta, | ||||
| .hljs-number, | ||||
| .hljs-params, | ||||
| .hljs-type { | ||||
|     color: #e7ce56; | ||||
| } | ||||
|  | ||||
| .hljs-attribute { | ||||
|     color: #ee7c2b; | ||||
| } | ||||
|  | ||||
| .hljs-addition, | ||||
| .hljs-bullet, | ||||
| .hljs-string, | ||||
| .hljs-symbol { | ||||
|     color: #4fb4d7; | ||||
| } | ||||
|  | ||||
| .hljs-section, | ||||
| .hljs-title { | ||||
|     color: #78bb65; | ||||
| } | ||||
|  | ||||
| .hljs-keyword, | ||||
| .hljs-selector-tag { | ||||
|     color: #b45ea4; | ||||
| } | ||||
|  | ||||
| .hljs { | ||||
|     display: block; | ||||
|     overflow-x: auto; | ||||
|     background: #1c1d21; | ||||
|     color: #c0c5ce; | ||||
|     padding: .5em; | ||||
| } | ||||
|  | ||||
| .hljs-emphasis { | ||||
|     font-style: italic; | ||||
| } | ||||
|  | ||||
| .hljs-strong { | ||||
|     font-weight: 700; | ||||
| } | ||||
| @@ -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(--hljs-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,147 +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) { | ||||
|         const 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
											
										
									
								
							
							
								
								
									
										44
									
								
								src/themes/papermod/assets/js/highlight.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										44
									
								
								src/themes/papermod/assets/js/highlight.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,6 +0,0 @@ | ||||
| /* | ||||
|   PaperMod v6 | ||||
|   License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE | ||||
|   Copyright (c) 2020 nanxiaobei and adityatelange | ||||
|   Copyright (c) 2021-2022 adityatelange | ||||
| */ | ||||
| @@ -1,3 +0,0 @@ | ||||
| module github.com/adityatelange/hugo-PaperMod | ||||
|  | ||||
| go 1.12 | ||||
| @@ -1,22 +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: "الصفحة الرئيسية" | ||||
| @@ -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,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: "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: "Page précédente" | ||||
|  | ||||
| - id: next_page | ||||
|   translation: "Page suivante" | ||||
|  | ||||
| - 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,27 +0,0 @@ | ||||
| - id: prev_page | ||||
|   translation: "Pag Prec" | ||||
|  | ||||
| - id: next_page | ||||
|   translation: "Pag Succ" | ||||
|  | ||||
| - id: read_time | ||||
|   translation: | ||||
|     one: "1 minuto" | ||||
|     other: "{{ .Count }} minuti" | ||||
|  | ||||
| - id: words | ||||
|   translation: | ||||
|     one : "parola" | ||||
|     other: "{{ .Count }} parole" | ||||
|  | ||||
| - id: toc | ||||
|   translation: "Tabella dei Contenuti" | ||||
|  | ||||
| - id: translations | ||||
|   translation: "Traduzioni" | ||||
|  | ||||
| - 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,28 +0,0 @@ | ||||
| - id: prev_page | ||||
|   translation: "Poprzednia strona" | ||||
|  | ||||
| - id: next_page | ||||
|   translation: "Następna strona" | ||||
|  | ||||
| - id: read_time | ||||
|   translation: | ||||
|       one: "1 min" | ||||
|       other: "{{ .Count }} min" | ||||
|  | ||||
| - 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,21 +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" | ||||
| @@ -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,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: "Önceki" | ||||
|  | ||||
| - id: next_page | ||||
|   translation: "Sonraki" | ||||
|  | ||||
| - id: read_time | ||||
|   translation: | ||||
|     one : "1 dk" | ||||
|     other: "{{ .Count }} dk" | ||||
|  | ||||
| - id: words | ||||
|   translation: | ||||
|     one : "kelime" | ||||
|     other: "{{ .Count }} kelime" | ||||
|  | ||||
| - id: toc | ||||
|   translation: "İçindekiler" | ||||
|  | ||||
| - id: translations | ||||
|   translation: "Çeviriler" | ||||
|  | ||||
| - id: home | ||||
|   translation: "Anasayfa" | ||||
|  | ||||
| - 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,25 +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: toc | ||||
|   translation: "Mục lục" | ||||
|  | ||||
| - id: translations | ||||
|   translation: "Bản dịch" | ||||
|  | ||||
| - id: home | ||||
|   translation: "Trang chủ" | ||||
|  | ||||
| - 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: "已复制!" | ||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 138 KiB | 
										
											Binary file not shown.
										
									
								
							| 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,49 +0,0 @@ | ||||
| {{- define "main" }} | ||||
|  | ||||
| <header class="page-header"> | ||||
|   <h1>{{ .Title }}</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"> | ||||
|   <h2 class="archive-year-header"> | ||||
|     {{- replace .Key "0001" "" }}<sup class="archive-count">  {{ len .Pages }}</sup> | ||||
|   </h2> | ||||
|   {{- range .Pages.GroupByDate "January" }} | ||||
|   <div class="archive-month"> | ||||
|     <h3 class="archive-month-header">{{- .Key }}<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"> | ||||
|           {{- .Title | markdownify }} | ||||
|           {{- if .Draft }}<sup><span class="entry-isdraft">  [draft]</span></sup>{{- 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,23 +0,0 @@ | ||||
| <!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,112 +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") }} | ||||
|     <a href="index.xml" 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 }} | ||||
|   </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 := (site.Params.cover.hidden | default site.Params.cover.hiddenInList) }} | ||||
|   {{- partial "cover.html" (dict "cxt" . "IsHome" true "isHidden" $isHidden) }} | ||||
|   <header class="entry-header"> | ||||
|     <h2> | ||||
|       {{- .Title }} | ||||
|       {{- if .Draft }}<sup><span class="entry-isdraft">  [draft]</span></sup>{{- 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,50 +0,0 @@ | ||||
| {{- $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> | ||||
|       <url>{{ index . 0 | absURL }}</url> | ||||
|       <link>{{ index . 0 | absURL }}</link> | ||||
|     </image> | ||||
|     {{- end }} | ||||
|     <generator>Hugo -- gohugo.io</generator>{{ with site.LanguageCode }} | ||||
|     <language>{{.}}</language>{{end}}{{ with site.Author.email }} | ||||
|     <managingEditor>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with site.Author.email }} | ||||
|     <webMaster>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with site.Copyright }} | ||||
|     <copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }} | ||||
|     <lastBuildDate>{{ .Date.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>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate> | ||||
|       {{ with site.Author.email }}<author>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</author>{{end}} | ||||
|       <guid>{{ .Permalink }}</guid> | ||||
|       <description>{{ with .Description | html }}{{ . }}{{ else }}{{ .Summary | html }}{{ end -}}</description> | ||||
|       {{- if site.Params.ShowFullTextinRSS }} | ||||
|       <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"> | ||||
|     <ul id="searchResults" aria-label="search results"></ul> | ||||
| </div> | ||||
|  | ||||
| {{- end }}{{/* end main */}} | ||||
| @@ -1,58 +0,0 @@ | ||||
| {{- define "main" }} | ||||
|  | ||||
| <article class="post-single"> | ||||
|   <header class="post-header"> | ||||
|     {{ partial "breadcrumbs.html" . }} | ||||
|     <h1 class="post-title"> | ||||
|       {{ .Title }} | ||||
|       {{- if .Draft }}<sup><span class="entry-isdraft">  [draft]</span></sup>{{- 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 := .Params.cover.hidden | default site.Params.cover.hiddenInSingle | default site.Params.cover.hidden }} | ||||
|   {{- partial "cover.html" (dict "cxt" . "IsHome" false "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.BaseURL) "" }} | ||||
|     {{- $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,40 +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) }} | ||||
| <figure class="entry-cover"> | ||||
|     {{- $responsiveImages := (.Params.cover.responsiveImages | default site.Params.cover.responsiveImages) | default true }} | ||||
|     {{- $addLink := (and site.Params.cover.linkFullImages (not $.IsHome)) }} | ||||
|     {{- $cover := (.Resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }} | ||||
|     {{- 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="lazy" 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="lazy" 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="lazy" src="{{ (.Params.cover.image) | absURL }}" alt="{{ $alt }}"> | ||||
|     {{- end }} | ||||
|     {{- if $addLink }}</a>{{ end -}} | ||||
|     {{/*  Display Caption  */}} | ||||
|     {{- if not $.IsHome }} | ||||
|         {{ with .Params.cover.caption }}<p>{{ . | markdownify }}</p>{{- end }} | ||||
|     {{- end }} | ||||
| </figure> | ||||
| {{- end }}{{/* End image */}} | ||||
| {{- end -}}{{/* End context */ -}} | ||||
| @@ -1,8 +0,0 @@ | ||||
| {{- if or .Params.editPost.URL site.Params.editPost.URL -}} | ||||
| {{- $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,135 +0,0 @@ | ||||
| {{- if not (.Param "hideFooter") }} | ||||
| <footer class="footer"> | ||||
|     {{- if site.Copyright }} | ||||
|     <span>{{ site.Copyright | markdownify }}</span> | ||||
|     {{- else }} | ||||
|     <span>© {{ now.Year }} <a href="{{ "" | absLangURL }}">{{ site.Title }}</a></span> | ||||
|     {{- 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,170 +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" }} | ||||
|  | ||||
| {{- /* include `an-old-hope` if hljs is on */}} | ||||
| {{- $isHLJSdisabled := (site.Params.assets.disableHLJS | default false) }} | ||||
| {{- $hljs := (cond ($isHLJSdisabled) (".chroma { background-color: unset !important;}" | resources.FromString "assets/css/hljs-blank.css") (resources.Get "css/hljs/an-old-hope.min.css")) }} | ||||
|  | ||||
| {{- /* order is important */}} | ||||
| {{- $core := (slice $theme_vars $reset $common $hljs $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 -}} | ||||
|  | ||||
| {{- /* Highlight.js */}} | ||||
| {{- $isHLJSdisabled := (site.Params.assets.disableHLJS | default .Params.disableHLJS ) }} | ||||
| {{- if (and (eq .Kind "page") (ne .Layout "archives") (ne .Layout "search") (not $isHLJSdisabled)) }} | ||||
| {{- if not site.Params.assets.disableFingerprinting }} | ||||
| {{- $highlight := slice (resources.Get "js/highlight.min.js") | resources.Concat "assets/js/highlight.js" | fingerprint }} | ||||
| <script defer crossorigin="anonymous" src="{{ $highlight.RelPermalink }}" integrity="{{ $highlight.Data.Integrity }}" | ||||
|     onload="hljs.initHighlightingOnLoad();"></script> | ||||
| {{- else }} | ||||
| {{- $highlight := slice (resources.Get "js/highlight.min.js") | resources.Concat "assets/js/highlight.js" }} | ||||
| <script defer crossorigin="anonymous" src="{{ $highlight.RelPermalink }}" onload="hljs.initHighlightingOnLoad();"></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); | ||||
|                 --hljs-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.AllTranslations }} | ||||
|                 <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" site.Params.socialIcons }} | ||||
|     </footer> | ||||
| </article> | ||||
| {{- end -}} | ||||
| @@ -1,58 +0,0 @@ | ||||
| <div class="profile"> | ||||
|     {{- with site.Params.profileMode }} | ||||
|     <div class="profile_inner"> | ||||
|         {{- if .imageUrl -}} | ||||
|         {{- $img := "" }} | ||||
|         {{- if not (urls.Parse .imageUrl).IsAbs }} | ||||
|             {{- $img = resources.Get .imageUrl }} | ||||
|         {{- end }} | ||||
|         {{- if $img }} | ||||
|             {{- $processableFormats := (slice "jpg" "jpeg" "png" "tif" "bmp" "gif") -}} | ||||
|             {{- if hugo.IsExtended -}} | ||||
|                 {{- $processableFormats = $processableFormats | append "webp" -}} | ||||
|             {{- end -}} | ||||
|             {{- $prod := (hugo.IsProduction | or (eq site.Params.env "production")) }} | ||||
|             {{- if and (in $processableFormats $img.MediaType.SubType) (eq $prod true)}} | ||||
|                 {{- if (not (and (not .imageHeight) (not .imageWidth))) }} | ||||
|                     {{- $img = $img.Resize (printf "%dx%d" .imageWidth .imageHeight) }} | ||||
|                 {{- else if .imageHeight }} | ||||
|                     {{- $img = $img.Resize (printf "x%d" .imageHeight) }} | ||||
|                 {{ else if .imageWidth }} | ||||
|                     {{- $img = $img.Resize (printf "%dx" .imageWidth) }} | ||||
|                 {{ else }} | ||||
|                     {{- $img = $img.Resize "150x150" }} | ||||
|                 {{- end }} | ||||
|             {{- end }} | ||||
|             <img draggable="false" src="{{ $img.Permalink }}" alt="{{ .imageTitle | default "profile image" }}" title="{{ .imageTitle }}" | ||||
|                 height="{{ .imageHeight | default 150 }}" width="{{ .imageWidth | default 150 }}" /> | ||||
|         {{- else }} | ||||
|         <img draggable="false" src="{{ .imageUrl | absURL }}" alt="{{ .imageTitle | default "profile image" }}" title="{{ .imageTitle }}" | ||||
|             height="{{ .imageHeight | default 150 }}" width="{{ .imageWidth | default 150 }}" /> | ||||
|         {{- end }} | ||||
|         {{- end }} | ||||
|         <h1>{{ .title | default site.Title | markdownify }}</h1> | ||||
|         <span>{{ .subtitle | markdownify }}</span> | ||||
|         {{- partial "social_icons.html" site.Params.socialIcons -}} | ||||
|  | ||||
|         {{- with .buttons }} | ||||
|         <div class="buttons"> | ||||
|             {{- range . }} | ||||
|             <a class="button" href="{{ trim .url " " }}" rel="noopener" title="{{ .name }}"> | ||||
|                 <span class="button-inner"> | ||||
|                     {{ .name }} | ||||
|                     {{- 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="14" width="14"> | ||||
|                         <path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path> | ||||
|                         <path d="M15 3h6v6"></path> | ||||
|                         <path d="M10 14L21 3"></path> | ||||
|                     </svg> | ||||
|                     {{- end }} | ||||
|                 </span> | ||||
|             </a> | ||||
|             {{- end }} | ||||
|         </div> | ||||
|         {{- end }} | ||||
|     </div> | ||||
|     {{- end}} | ||||
| </div> | ||||
| @@ -1,9 +0,0 @@ | ||||
| {{ if and (.Params.canonicalURL) (.Params.ShowCanonicalLink ) -}} | ||||
| {{ $url := urls.Parse .Params.canonicalURL }} | ||||
|  | ||||
| {{- if or .Params.author site.Params.author (.Param "ShowReadingTime") (not .Date.IsZero) .IsTranslated (or .Params.editPost.URL site.Params.editPost.URL) }} | {{- end -}} | ||||
| <span> | ||||
|     {{- (site.Params.CanonicalLinkText | default .Params.CanonicalLinkText) | default "Originally published at" -}} | ||||
|      <a href="{{ trim .Params.canonicalURL " " }}" title="{{ trim .Params.canonicalURL " " }}" target="_blank" rel="noopener noreferrer">{{ $url.Host }}</a> | ||||
| </span> | ||||
| {{- end }} | ||||
| @@ -1,21 +0,0 @@ | ||||
| {{- $scratch := newScratch }} | ||||
|  | ||||
| {{- if not .Date.IsZero -}} | ||||
| {{- $scratch.Add "meta" (slice (printf "<span title='%s'>%s</span>" (.Date) (.Date | time.Format (default "January 2, 2006" site.Params.DateFormat)))) }} | ||||
| {{- end }} | ||||
|  | ||||
| {{- if (.Param "ShowReadingTime") -}} | ||||
| {{- $scratch.Add "meta" (slice (i18n "read_time" .ReadingTime | default (printf "%d min" .ReadingTime))) }} | ||||
| {{- end }} | ||||
|  | ||||
| {{- if (.Param "ShowWordCount") -}} | ||||
| {{- $scratch.Add "meta" (slice (i18n "words" .WordCount | default (printf "%d words" .WordCount))) }} | ||||
| {{- end }} | ||||
|  | ||||
| {{- with (partial "author.html" .) }} | ||||
| {{- $scratch.Add "meta" (slice .) }} | ||||
| {{- end }} | ||||
|  | ||||
| {{- with ($scratch.Get "meta") }} | ||||
| {{- delimit . " · " -}} | ||||
| {{- end -}} | ||||
| @@ -1,19 +0,0 @@ | ||||
| {{- $pages := where site.RegularPages "Type" "in" site.Params.mainSections }} | ||||
| {{- if and (gt (len $pages) 1) (in $pages . ) }} | ||||
| <nav class="paginav"> | ||||
|   {{- with $pages.Next . }} | ||||
|   <a class="prev" href="{{ .Permalink }}"> | ||||
|     <span class="title">« {{ i18n "prev_page" }}</span> | ||||
|     <br> | ||||
|     <span>{{- .Name -}}</span> | ||||
|   </a> | ||||
|   {{- end }} | ||||
|   {{- with $pages.Prev . }} | ||||
|   <a class="next" href="{{ .Permalink }}"> | ||||
|     <span class="title">{{ i18n "next_page" }} »</span> | ||||
|     <br> | ||||
|     <span>{{- .Name -}}</span> | ||||
|   </a> | ||||
|   {{- end }} | ||||
| </nav> | ||||
| {{- end }} | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user