Browse Source

Add Nix flake package

main
Leo Maroni 1 month ago
parent
commit
2538d56a08
Signed by: em0lar GPG Key ID: B1ADA545CD2CBACD
  1. 28
      .github/workflows/build.yml
  2. 39
      .github/workflows/deploy.yml
  3. 1
      .gitignore
  4. 6
      .gitmodules
  5. 4
      config.yaml
  6. 43
      flake.lock
  7. 36
      flake.nix
  8. 1
      themes/PaperMod
  9. 12
      themes/PaperMod/.github/FUNDING.yml
  10. 17
      themes/PaperMod/.github/stale.yml
  11. 32
      themes/PaperMod/.github/workflows/build.yml
  12. 42
      themes/PaperMod/.github/workflows/gh-pages.yml
  13. 22
      themes/PaperMod/LICENSE
  14. 87
      themes/PaperMod/README.md
  15. 11
      themes/PaperMod/assets/css/404.css
  16. 63
      themes/PaperMod/assets/css/an-old-hope.min.css
  17. 44
      themes/PaperMod/assets/css/archive.css
  18. 5
      themes/PaperMod/assets/css/extended/blank.css
  19. 56
      themes/PaperMod/assets/css/footer.css
  20. 97
      themes/PaperMod/assets/css/header.css
  21. 45
      themes/PaperMod/assets/css/main.css
  22. 106
      themes/PaperMod/assets/css/post-entry.css
  23. 431
      themes/PaperMod/assets/css/post-single.css
  24. 46
      themes/PaperMod/assets/css/profile-mode.css
  25. 138
      themes/PaperMod/assets/css/reset.css
  26. 45
      themes/PaperMod/assets/css/search.css
  27. 18
      themes/PaperMod/assets/css/terms.css
  28. 38
      themes/PaperMod/assets/css/theme-vars.css
  29. 72
      themes/PaperMod/assets/css/zmedia.css
  30. 130
      themes/PaperMod/assets/js/fastsearch.js
  31. 9
      themes/PaperMod/assets/js/fuse.js
  32. 44
      themes/PaperMod/assets/js/highlight.min.js
  33. 3
      themes/PaperMod/go.mod
  34. 22
      themes/PaperMod/i18n/ar.yaml
  35. 16
      themes/PaperMod/i18n/bg.yaml
  36. 19
      themes/PaperMod/i18n/ca.yaml
  37. 16
      themes/PaperMod/i18n/de.yaml
  38. 19
      themes/PaperMod/i18n/en.yaml
  39. 16
      themes/PaperMod/i18n/es.yaml
  40. 16
      themes/PaperMod/i18n/fa.yaml
  41. 5
      themes/PaperMod/i18n/fr.yaml
  42. 19
      themes/PaperMod/i18n/he.yaml
  43. 16
      themes/PaperMod/i18n/hi.yaml
  44. 16
      themes/PaperMod/i18n/hu.yaml
  45. 16
      themes/PaperMod/i18n/id.yaml
  46. 16
      themes/PaperMod/i18n/it.yaml
  47. 16
      themes/PaperMod/i18n/ja.yaml
  48. 5
      themes/PaperMod/i18n/ko.yaml
  49. 16
      themes/PaperMod/i18n/pt.yaml
  50. 14
      themes/PaperMod/i18n/ru.yaml
  51. 20
      themes/PaperMod/i18n/uz.yaml
  52. 16
      themes/PaperMod/i18n/zh.yaml
  53. BIN
      themes/PaperMod/images/screenshot.png
  54. BIN
      themes/PaperMod/images/tn.png
  55. 3
      themes/PaperMod/layouts/404.html
  56. 43
      themes/PaperMod/layouts/_default/archives.html
  57. 24
      themes/PaperMod/layouts/_default/baseof.html
  58. 7
      themes/PaperMod/layouts/_default/index.json
  59. 79
      themes/PaperMod/layouts/_default/list.html
  60. 28
      themes/PaperMod/layouts/_default/search.html
  61. 78
      themes/PaperMod/layouts/_default/single.html
  62. 27
      themes/PaperMod/layouts/_default/terms.html
  63. 2
      themes/PaperMod/layouts/partials/anchored_headings.html
  64. 9
      themes/PaperMod/layouts/partials/author.html
  65. 19
      themes/PaperMod/layouts/partials/breadcrumbs.html
  66. 5
      themes/PaperMod/layouts/partials/comments.html
  67. 35
      themes/PaperMod/layouts/partials/cover.html
  68. 5
      themes/PaperMod/layouts/partials/extend_footer.html
  69. 5
      themes/PaperMod/layouts/partials/extend_head.html
  70. 84
      themes/PaperMod/layouts/partials/footer.html
  71. 85
      themes/PaperMod/layouts/partials/head.html
  72. 126
      themes/PaperMod/layouts/partials/header.html
  73. 13
      themes/PaperMod/layouts/partials/home_info.html
  74. 21
      themes/PaperMod/layouts/partials/index_profile.html
  75. 17
      themes/PaperMod/layouts/partials/post_meta.html
  76. 55
      themes/PaperMod/layouts/partials/share_icons.html
  77. 6
      themes/PaperMod/layouts/partials/social_icons.html
  78. 379
      themes/PaperMod/layouts/partials/svg.html
  79. 65
      themes/PaperMod/layouts/partials/templates/opengraph.html
  80. 119
      themes/PaperMod/layouts/partials/templates/schema_json.html
  81. 38
      themes/PaperMod/layouts/partials/templates/twitter_cards.html
  82. 84
      themes/PaperMod/layouts/partials/toc.html
  83. 19
      themes/PaperMod/layouts/partials/translation_list.html
  84. 7
      themes/PaperMod/layouts/robots.txt
  85. 72
      themes/PaperMod/layouts/shortcodes/blockquote.html
  86. 12
      themes/PaperMod/layouts/shortcodes/collapse.html
  87. 31
      themes/PaperMod/layouts/shortcodes/figure.html
  88. 2
      themes/PaperMod/layouts/shortcodes/rawhtml.html
  89. 51
      themes/PaperMod/theme.toml

28
.github/workflows/build.yml

@ -1,28 +0,0 @@
name: build
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.79.1'
- name: Build
run: hugo --minify
- uses: actions/upload-artifact@v2
with:
name: hugo-build-${{ github.sha }}
path: public/

39
.github/workflows/deploy.yml

@ -1,39 +0,0 @@
name: deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Wait for build to succeed
uses: fountainhead/action-wait-for-check@v1.0.0
id: wait-for-build
with:
token: ${{ secrets.GITHUB_TOKEN }}
checkName: build
ref: ${{ github.sha }}
- name: Do not run if build failed
run: exit 1
if: steps.wait-for-build.outputs.conclusion == 'failure'
- name: Get artifact details
uses: octokit/request-action@v2.x
id: get_artifact_details
with:
route: GET /repos/${{ github.repository }}/actions/artifacts
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Send deploy request to host
id: http_deploy_request
uses: fjogeleit/http-request-action@master
with:
url: 'https://webhooks.titan.int.sig.de.labcode.de/update.php?repository=${{ github.repository }}&artifact_id=${{ fromJson(steps.get_artifact_details.outputs.data).artifacts[0].id }}'
method: 'GET'
username: ${{ secrets.WEBHOOK_USER }}
password: ${{ secrets.WEBHOOK_PASSWORD }}

1
.gitignore

@ -3,3 +3,4 @@
# Generated files by hugo
/public/
/resources/_gen/
result

6
.gitmodules

@ -1,6 +0,0 @@
[submodule "themes/PaperMod"]
path = themes/PaperMod
url = https://github.com/adityatelange/hugo-PaperMod
[submodule "static/themes/PaperMod"]
path = static/themes/PaperMod
url = https://github.com/adityatelange/hugo-PaperMod

4
config.yaml

@ -1,6 +1,6 @@
baseURL: "https://em0lar.de/"
baseURL: "https://em0lar.dev/"
languageCode: "en-us"
title: "em0lar.de"
title: "em0lar.dev"
theme: "PaperMod"
params:

43
flake.lock

@ -0,0 +1,43 @@
{
"nodes": {
"flake-utils": {
"locked": {
"lastModified": 1614513358,
"narHash": "sha256-LakhOx3S1dRjnh0b5Dg3mbZyH0ToC9I8Y2wKSkBaTzU=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5466c5bbece17adaab2d82fae80b46e807611bf3",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1615823709,
"narHash": "sha256-H/P0Hfic16ufepwlZT4oMlyFQjIMbBlVH0oASJaRtc4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "01c6925eba5c3a88efdf776bf3238eac6e1949c0",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "master",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

36
flake.nix

@ -0,0 +1,36 @@
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/master";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
{
overlay = final: prev: {
em0lar-dev-website = with final; stdenv.mkDerivation {
name = "em0lar-dev-website";
src = self;
buildInputs = [ hugo ];
buildPhase = "hugo --minify -d $out";
dontInstall = true;
};
};
} // (
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ self.overlay ];
};
in {
packages.em0lar-dev-website = pkgs.em0lar-dev-website;
defaultPackage = pkgs.em0lar-dev-website;
devShell = pkgs.mkShell {
packages = with pkgs; [
hugo
];
};
}
)
);
}

1
themes/PaperMod

@ -1 +0,0 @@
Subproject commit 471e4caba2240d8ae29276f75044ab92ef04ad01

12
themes/PaperMod/.github/FUNDING.yml

@ -0,0 +1,12 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: adityatelange
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: ['https://www.buymeacoffee.com/adityatelange']

17
themes/PaperMod/.github/stale.yml

@ -0,0 +1,17 @@
# 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

32
themes/PaperMod/.github/workflows/build.yml

@ -0,0 +1,32 @@
name: Build
on:
pull_request:
branches:
- master
- exampleSite
workflow_dispatch:
# manual run
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v2
with:
ref: exampleSite
- name: Get Theme
run: git submodule update --init --recursive
- name: Update theme to Latest commit
run: git submodule update --remote --merge
- name: Setup hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
- name: Build
run: hugo --buildDrafts --gc --verbose --minify

42
themes/PaperMod/.github/workflows/gh-pages.yml

@ -0,0 +1,42 @@
name: Build GH-Pages
on:
push:
paths-ignore:
- 'images/**'
- 'LICENSE'
- 'README.md'
branches:
- master
- exampleSite
workflow_dispatch:
# manual run
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v2
with:
ref: exampleSite
- name: Get Theme
run: git submodule update --init --recursive
- name: Update theme to Latest commit
run: git submodule update --remote --merge
- name: Setup hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
- name: Build
run: hugo --buildDrafts --gc --verbose --minify
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.TOKEN }}
publish_dir: ./public

22
themes/PaperMod/LICENSE

@ -0,0 +1,22 @@
MIT License
Copyright (c) 2020 nanxiaobei and adityatelange
Copyright (c) 2021 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.

87
themes/PaperMod/README.md

@ -0,0 +1,87 @@
# PaperMod | [Demo](https://adityatelange.github.io/hugo-PaperMod/)
☄️ Fast | ☁️ Fluent | 🌙 Smooth | 📱 Responsive
Hugo PaperMod is a theme based on [hugo-paper](https://github.com/nanxiaobei/hugo-paper).
The goal of this project is add more Features and customization to the og theme.
The [demo site](https://adityatelange.github.io/hugo-PaperMod/) includes a lot of documentation about Installation, Features with few more stuff. Make sure you visit it, to get the awesome hands-on experience and get known about the features ...
ExampleSite can be found here: [exampleSite](https://github.com/adityatelange/hugo-PaperMod/tree/exampleSite). Demo is built up with exampleSite as source.
![Build GH-Pages](https://github.com/adityatelange/hugo-PaperMod/workflows/Build%20GH-Pages/badge.svg)
![GitHub](https://img.shields.io/github/license/adityatelange/hugo-PaperMod)
[![hugo-papermod](https://img.shields.io/badge/Hugo--Themes-@PaperMod-blue)](https://themes.gohugo.io/hugo-papermod/)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=adityatelange_hugo-PaperMod&metric=alert_status)](https://sonarcloud.io/dashboard?id=adityatelange_hugo-PaperMod)
![code-size](https://img.shields.io/github/languages/code-size/adityatelange/hugo-PaperMod)
---
<p align="center">
<kbd><img width=600px src="https://raw.githubusercontent.com/adityatelange/hugo-PaperMod/exampleSite/content/posts/papermod/papermod-features/images/homeinfo.jpg" alt="HomeInfo" /></kbd>
<kbd><img width=153px src="https://i.ibb.co/LNgGcrt/mobileview.png" alt="HomeInfo" /></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 post.
- 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.
- Muliple Author support.
- Search Page with Fuse.js
- Other Posts suggestion below a post
- BreadCrumb Navigation
- No webpack, nodejs and other depedencies 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)**
---
## [LightHouse Report (100% ?)](https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fadityatelange.github.io%2Fhugo-PaperMod%2F)
---
## Special Thanks 🌟
- [**Highlight.js**](https://github.com/highlightjs/highlight.js)
- [**Fuse.js**](https://github.com/krisk/fuse)
- [**Feather Icons**](https://github.com/feathericons/feather)
- **All Contributors and Supporters**

11
themes/PaperMod/assets/css/404.css

@ -0,0 +1,11 @@
.not-found {
position: absolute;
left: 0;
right: 0;
display: flex;
align-items: center;
justify-content: center;
height: 80%;
font-size: 160px;
font-weight: 700
}

63
themes/PaperMod/assets/css/an-old-hope.min.css

@ -0,0 +1,63 @@
.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
}

44
themes/PaperMod/assets/css/archive.css

@ -0,0 +1,44 @@
.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
}

5
themes/PaperMod/assets/css/extended/blank.css

@ -0,0 +1,5 @@
/*
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
*/

56
themes/PaperMod/assets/css/footer.css

@ -0,0 +1,56 @@
.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 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 .5s, opacity .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
}

97
themes/PaperMod/assets/css/header.css

@ -0,0 +1,97 @@
.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 {
display: inline;
vertical-align: middle;
pointer-events: none;
transform: translate(0, -10%);
border-radius: 6px;
margin-inline-end: 8px
}
#theme-toggle svg {
height: 18px;
}
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
}

45
themes/PaperMod/assets/css/main.css

@ -0,0 +1,45 @@
.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
}

106
themes/PaperMod/assets/css/post-entry.css

@ -0,0 +1,106 @@
.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 .1s;
border: 1px solid var(--border);
}
.post-entry:active {
transform: scale(.96)
}
.tag-entry .entry-cover {
display: none
}
.entry-header h2 {
font-size: 24px
}
.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-isdraft {
display: inline
}
.entry-cover {
margin-bottom: var(--gap);
text-align: center
}
.entry-cover img {
border-radius: var(--radius);
pointer-events: none;
width: 100%
}
.entry-cover a {
color: var(--secondary);
box-shadow: 0 1px 0 var(--primary)
}

431
themes/PaperMod/assets/css/post-single.css

@ -0,0 +1,431 @@
.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
}
.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 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),
.post-content pre {
margin: 10px auto;
background: var(--hljs-bg) !important;
border-radius: var(--radius)
}
.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 .highlighttable td .highlight pre code::-webkit-scrollbar {
display: none
}
.post-content .highlight span {
background: 0 0 !important
}
.post-content code {
margin: auto 4px;
padding: 4px 6px;
font-family: Menlo, Monaco, 'Courier New', Courier, monospace;
font-size: .78em;
line-height: 1.5;
background: var(--code-bg);
border-radius: 2px
}
.post-content pre code {
display: block;
margin: auto 0;
padding: 10px;
color: rgba(255, 255, 255, .8);
background: 0 0;
border-radius: 0;
overflow-x: auto
}
.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-top: 0;
border-bottom: 0
}
.post-content iframe {
max-width: 100%
}
.post-content img {
border-radius: 4px
}
.post-content img[src*='#center'] {
margin: 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: .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
}
.share-buttons a svg {
height: 30px;
width: 30px;
fill: currentColor;
transition: transform .1s
}
.share-buttons svg:active {
transform: scale(.96)
}
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
}
.post-content :not(table) ::-webkit-scrollbar-thumb {
border: 2px solid var(--hljs-bg);
background: rgba(255, 255, 255, 0.32)
}
.post-content :not(table) ::-webkit-scrollbar-thumb:hover {
background: rgba(255, 255, 255, 0.56)
}
.gist table::-webkit-scrollbar-thumb {
border: 2px solid rgb(255, 255, 255);
background: rgba(0, 0, 0, 0.32)
}
.gist table::-webkit-scrollbar-thumb:hover {
background: rgba(0, 0, 0, 0.56)
}
.post-content table::-webkit-scrollbar-thumb {
border-width: 2px;
}
.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;
}

46
themes/PaperMod/assets/css/profile-mode.css

@ -0,0 +1,46 @@
.buttons,
.main .profile {
display: flex;
justify-content: center
}
.main .profile {
position: absolute;
left: 0;
right: 0;
align-items: center;
height: 80%;
text-align: center
}
.profile .profile_inner h1 {
padding: 12px 0
}
.profile img {
display: inline-table;
border-radius: 50%;
pointer-events: none
}
.buttons {
flex-wrap: wrap;
max-width: 400px;
margin: 0 auto
}
.button {
background: var(--tertiary);
border-radius: var(--radius);
margin: 8px;
padding: 6px;
transition: transform .1s
}
.button-inner {
padding: 0 8px
}
.button:active {
transform: scale(.96)
}

138
themes/PaperMod/assets/css/reset.css

@ -0,0 +1,138 @@
*,
::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%
}
::-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)
}

45
themes/PaperMod/assets/css/search.css

@ -0,0 +1,45 @@
#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 .1s;
transform: scale(.98);
}
#searchResults a {
position: absolute;
width: 100%;
height: 100%;
top: 0px;
left: 0px;
outline: none;
}
#searchResults .focus {
transform: scale(.98);
border: 2px solid var(--tertiary)
}

18
themes/PaperMod/assets/css/terms.css

@ -0,0 +1,18 @@
.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 .1s
}
.terms-tags a:active {
background: var(--tertiary);
transform: scale(.96)
}

38
themes/PaperMod/assets/css/theme-vars.css

@ -0,0 +1,38 @@
:root {
--gap: 24px;
--content-gap: 20px;
--nav-width: 1024px;
--main-width: 720px;
--header-height: 60px;
--footer-height: 60px;
--radius: 8px;
--theme: #fff;
--entry: #fff;
--primary: rgba(0, 0, 0, 0.88);
--secondary: rgba(0, 0, 0, 0.56);
--tertiary: rgba(0, 0, 0, 0.16);
--content: rgba(0, 0, 0, 0.88);
--hljs-bg: #1c1d21;
--code-bg: #f5f5f5;
--border: #eee;
}
.dark {
--theme: #1d1e20;
--entry: #2e2e33;
--primary: rgba(255, 255, 255, 0.84);
--secondary: rgba(255, 255, 255, 0.56);
--tertiary: rgba(255, 255, 255, 0.16);
--content: rgba(255, 255, 255, 0.74);
--hljs-bg: #2e2e33;
--code-bg: #37383e;
--border: #333;
}
.list {
background: var(--code-bg);
}
.dark.list {
background: var(--theme);
}

72
themes/PaperMod/assets/css/zmedia.css

@ -0,0 +1,72 @@
@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;
}
}
@media screen and (min-width: 768px) {
/* reset */
::-webkit-scrollbar {
width: 19px;
height: 11px;
}
}
/* footer */
@media screen and (max-width: 900px) {
.list .top-link {
transform: translateY(-5rem);
}
}
@media (prefers-reduced-motion) {
/* terms */
.terms-tags a:active {
transform: none;
}
/* profile-mode */
.button:active {
transform: none;
}
/* post-single */
.share-buttons svg:active {
transform: none;
}
/* post-entry */
.post-entry:active {
transform: none;
}
/* footer */
.top-link {
transition: none;
}
/* search */
#searchResults .active {
transform: none;
}
}

130
themes/PaperMod/assets/js/fastsearch.js

@ -0,0 +1,130 @@
var fuse; // holds our search engine
var resList = document.getElementById('searchResults');
var sInput = document.getElementById('searchInput');
var first, last = null
var resultsAvailable = false;
// load our search index, only executed onload
function loadSearch() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
var data = JSON.parse(xhr.responseText);
if (data) {
// fuse.js options; check fuse.js website for details
var options = {
distance: 100,