{{ .Content | markdownify }}
+From 29fcd231e3da9b33c237886f3c1bb30a557ad641 Mon Sep 17 00:00:00 2001 From: Indrajith K L Date: Sat, 19 Mar 2022 16:54:23 +0530 Subject: Initial Commit --- themes/PaperMod/LICENSE | 22 + themes/PaperMod/README.md | 90 ++++ themes/PaperMod/assets/css/common/404.css | 11 + themes/PaperMod/assets/css/common/archive.css | 44 ++ themes/PaperMod/assets/css/common/footer.css | 60 +++ themes/PaperMod/assets/css/common/header.css | 97 ++++ themes/PaperMod/assets/css/common/main.css | 68 +++ themes/PaperMod/assets/css/common/post-entry.css | 104 +++++ themes/PaperMod/assets/css/common/post-single.css | 429 +++++++++++++++++ themes/PaperMod/assets/css/common/profile-mode.css | 43 ++ themes/PaperMod/assets/css/common/search.css | 45 ++ themes/PaperMod/assets/css/common/terms.css | 18 + themes/PaperMod/assets/css/core/reset.css | 138 ++++++ themes/PaperMod/assets/css/core/theme-vars.css | 38 ++ themes/PaperMod/assets/css/core/zmedia.css | 58 +++ themes/PaperMod/assets/css/extended/blank.css | 5 + .../PaperMod/assets/css/hljs/an-old-hope.min.css | 63 +++ themes/PaperMod/assets/js/fastsearch.js | 147 ++++++ themes/PaperMod/assets/js/fuse.basic.min.js | 9 + themes/PaperMod/assets/js/highlight.min.js | 44 ++ themes/PaperMod/go.mod | 3 + themes/PaperMod/i18n/ar.yaml | 22 + themes/PaperMod/i18n/bg.yaml | 16 + themes/PaperMod/i18n/bn.yaml | 28 ++ themes/PaperMod/i18n/ca.yaml | 19 + themes/PaperMod/i18n/ckb.yaml | 25 + themes/PaperMod/i18n/da.yaml | 28 ++ themes/PaperMod/i18n/de.yaml | 33 ++ themes/PaperMod/i18n/en.yaml | 33 ++ themes/PaperMod/i18n/eo.yaml | 25 + themes/PaperMod/i18n/es.yaml | 33 ++ themes/PaperMod/i18n/fa.yaml | 28 ++ themes/PaperMod/i18n/fr.yaml | 33 ++ themes/PaperMod/i18n/he.yaml | 19 + themes/PaperMod/i18n/hi.yaml | 16 + themes/PaperMod/i18n/hu.yaml | 16 + themes/PaperMod/i18n/id.yaml | 16 + themes/PaperMod/i18n/it.yaml | 27 ++ themes/PaperMod/i18n/ja.yaml | 16 + themes/PaperMod/i18n/ko.yaml | 25 + themes/PaperMod/i18n/ku.yaml | 25 + themes/PaperMod/i18n/mn.yaml | 25 + themes/PaperMod/i18n/nl.yaml | 33 ++ themes/PaperMod/i18n/pl.yaml | 28 ++ themes/PaperMod/i18n/pt.yaml | 21 + themes/PaperMod/i18n/ru.yaml | 23 + themes/PaperMod/i18n/sv.yaml | 28 ++ themes/PaperMod/i18n/tr.yaml | 25 + themes/PaperMod/i18n/uk.yaml | 25 + themes/PaperMod/i18n/uz.yaml | 20 + themes/PaperMod/i18n/vi.yaml | 25 + themes/PaperMod/i18n/zh-tw.yaml | 28 ++ themes/PaperMod/i18n/zh.yaml | 33 ++ themes/PaperMod/images/screenshot.png | Bin 0 -> 141511 bytes themes/PaperMod/images/tn.png | Bin 0 -> 15898 bytes themes/PaperMod/layouts/404.html | 3 + .../layouts/_default/_markup/render-image.html | 1 + themes/PaperMod/layouts/_default/archives.html | 49 ++ themes/PaperMod/layouts/_default/baseof.html | 23 + themes/PaperMod/layouts/_default/index.json | 7 + themes/PaperMod/layouts/_default/list.html | 89 ++++ themes/PaperMod/layouts/_default/rss.xml | 50 ++ themes/PaperMod/layouts/_default/search.html | 29 ++ themes/PaperMod/layouts/_default/single.html | 59 +++ themes/PaperMod/layouts/_default/terms.html | 27 ++ .../layouts/partials/anchored_headings.html | 2 + themes/PaperMod/layouts/partials/author.html | 9 + themes/PaperMod/layouts/partials/breadcrumbs.html | 19 + themes/PaperMod/layouts/partials/comments.html | 3 + themes/PaperMod/layouts/partials/cover.html | 40 ++ themes/PaperMod/layouts/partials/edit_post.html | 8 + .../PaperMod/layouts/partials/extend_footer.html | 3 + themes/PaperMod/layouts/partials/extend_head.html | 4 + themes/PaperMod/layouts/partials/footer.html | 135 ++++++ themes/PaperMod/layouts/partials/head.html | 163 +++++++ themes/PaperMod/layouts/partials/header.html | 121 +++++ themes/PaperMod/layouts/partials/home_info.html | 13 + .../PaperMod/layouts/partials/index_profile.html | 23 + .../PaperMod/layouts/partials/post_canonical.html | 9 + themes/PaperMod/layouts/partials/post_meta.html | 21 + .../PaperMod/layouts/partials/post_nav_links.html | 19 + themes/PaperMod/layouts/partials/share_icons.html | 71 +++ themes/PaperMod/layouts/partials/social_icons.html | 7 + themes/PaperMod/layouts/partials/svg.html | 518 +++++++++++++++++++++ .../layouts/partials/templates/opengraph.html | 52 +++ .../layouts/partials/templates/schema_json.html | 119 +++++ .../layouts/partials/templates/twitter_cards.html | 33 ++ themes/PaperMod/layouts/partials/toc.html | 97 ++++ .../layouts/partials/translation_list.html | 19 + themes/PaperMod/layouts/robots.txt | 7 + themes/PaperMod/layouts/shortcodes/blockquote.html | 72 +++ themes/PaperMod/layouts/shortcodes/collapse.html | 8 + themes/PaperMod/layouts/shortcodes/figure.html | 31 ++ themes/PaperMod/layouts/shortcodes/ltr.html | 15 + themes/PaperMod/layouts/shortcodes/rawhtml.html | 2 + themes/PaperMod/layouts/shortcodes/rtl.html | 15 + themes/PaperMod/theme.toml | 51 ++ 97 files changed, 4379 insertions(+) create mode 100644 themes/PaperMod/LICENSE create mode 100644 themes/PaperMod/README.md create mode 100644 themes/PaperMod/assets/css/common/404.css create mode 100644 themes/PaperMod/assets/css/common/archive.css create mode 100644 themes/PaperMod/assets/css/common/footer.css create mode 100644 themes/PaperMod/assets/css/common/header.css create mode 100644 themes/PaperMod/assets/css/common/main.css create mode 100644 themes/PaperMod/assets/css/common/post-entry.css create mode 100644 themes/PaperMod/assets/css/common/post-single.css create mode 100644 themes/PaperMod/assets/css/common/profile-mode.css create mode 100644 themes/PaperMod/assets/css/common/search.css create mode 100644 themes/PaperMod/assets/css/common/terms.css create mode 100644 themes/PaperMod/assets/css/core/reset.css create mode 100644 themes/PaperMod/assets/css/core/theme-vars.css create mode 100644 themes/PaperMod/assets/css/core/zmedia.css create mode 100644 themes/PaperMod/assets/css/extended/blank.css create mode 100644 themes/PaperMod/assets/css/hljs/an-old-hope.min.css create mode 100644 themes/PaperMod/assets/js/fastsearch.js create mode 100644 themes/PaperMod/assets/js/fuse.basic.min.js create mode 100644 themes/PaperMod/assets/js/highlight.min.js create mode 100644 themes/PaperMod/go.mod create mode 100644 themes/PaperMod/i18n/ar.yaml create mode 100644 themes/PaperMod/i18n/bg.yaml create mode 100644 themes/PaperMod/i18n/bn.yaml create mode 100644 themes/PaperMod/i18n/ca.yaml create mode 100644 themes/PaperMod/i18n/ckb.yaml create mode 100644 themes/PaperMod/i18n/da.yaml create mode 100644 themes/PaperMod/i18n/de.yaml create mode 100644 themes/PaperMod/i18n/en.yaml create mode 100644 themes/PaperMod/i18n/eo.yaml create mode 100644 themes/PaperMod/i18n/es.yaml create mode 100644 themes/PaperMod/i18n/fa.yaml create mode 100644 themes/PaperMod/i18n/fr.yaml create mode 100644 themes/PaperMod/i18n/he.yaml create mode 100644 themes/PaperMod/i18n/hi.yaml create mode 100644 themes/PaperMod/i18n/hu.yaml create mode 100644 themes/PaperMod/i18n/id.yaml create mode 100644 themes/PaperMod/i18n/it.yaml create mode 100644 themes/PaperMod/i18n/ja.yaml create mode 100644 themes/PaperMod/i18n/ko.yaml create mode 100644 themes/PaperMod/i18n/ku.yaml create mode 100644 themes/PaperMod/i18n/mn.yaml create mode 100644 themes/PaperMod/i18n/nl.yaml create mode 100644 themes/PaperMod/i18n/pl.yaml create mode 100644 themes/PaperMod/i18n/pt.yaml create mode 100644 themes/PaperMod/i18n/ru.yaml create mode 100644 themes/PaperMod/i18n/sv.yaml create mode 100644 themes/PaperMod/i18n/tr.yaml create mode 100644 themes/PaperMod/i18n/uk.yaml create mode 100644 themes/PaperMod/i18n/uz.yaml create mode 100644 themes/PaperMod/i18n/vi.yaml create mode 100644 themes/PaperMod/i18n/zh-tw.yaml create mode 100644 themes/PaperMod/i18n/zh.yaml create mode 100644 themes/PaperMod/images/screenshot.png create mode 100644 themes/PaperMod/images/tn.png create mode 100644 themes/PaperMod/layouts/404.html create mode 100644 themes/PaperMod/layouts/_default/_markup/render-image.html create mode 100644 themes/PaperMod/layouts/_default/archives.html create mode 100644 themes/PaperMod/layouts/_default/baseof.html create mode 100644 themes/PaperMod/layouts/_default/index.json create mode 100644 themes/PaperMod/layouts/_default/list.html create mode 100644 themes/PaperMod/layouts/_default/rss.xml create mode 100644 themes/PaperMod/layouts/_default/search.html create mode 100644 themes/PaperMod/layouts/_default/single.html create mode 100644 themes/PaperMod/layouts/_default/terms.html create mode 100644 themes/PaperMod/layouts/partials/anchored_headings.html create mode 100644 themes/PaperMod/layouts/partials/author.html create mode 100644 themes/PaperMod/layouts/partials/breadcrumbs.html create mode 100644 themes/PaperMod/layouts/partials/comments.html create mode 100644 themes/PaperMod/layouts/partials/cover.html create mode 100644 themes/PaperMod/layouts/partials/edit_post.html create mode 100644 themes/PaperMod/layouts/partials/extend_footer.html create mode 100644 themes/PaperMod/layouts/partials/extend_head.html create mode 100644 themes/PaperMod/layouts/partials/footer.html create mode 100644 themes/PaperMod/layouts/partials/head.html create mode 100644 themes/PaperMod/layouts/partials/header.html create mode 100644 themes/PaperMod/layouts/partials/home_info.html create mode 100644 themes/PaperMod/layouts/partials/index_profile.html create mode 100644 themes/PaperMod/layouts/partials/post_canonical.html create mode 100644 themes/PaperMod/layouts/partials/post_meta.html create mode 100644 themes/PaperMod/layouts/partials/post_nav_links.html create mode 100644 themes/PaperMod/layouts/partials/share_icons.html create mode 100644 themes/PaperMod/layouts/partials/social_icons.html create mode 100644 themes/PaperMod/layouts/partials/svg.html create mode 100644 themes/PaperMod/layouts/partials/templates/opengraph.html create mode 100644 themes/PaperMod/layouts/partials/templates/schema_json.html create mode 100644 themes/PaperMod/layouts/partials/templates/twitter_cards.html create mode 100644 themes/PaperMod/layouts/partials/toc.html create mode 100644 themes/PaperMod/layouts/partials/translation_list.html create mode 100644 themes/PaperMod/layouts/robots.txt create mode 100644 themes/PaperMod/layouts/shortcodes/blockquote.html create mode 100644 themes/PaperMod/layouts/shortcodes/collapse.html create mode 100644 themes/PaperMod/layouts/shortcodes/figure.html create mode 100644 themes/PaperMod/layouts/shortcodes/ltr.html create mode 100644 themes/PaperMod/layouts/shortcodes/rawhtml.html create mode 100644 themes/PaperMod/layouts/shortcodes/rtl.html create mode 100644 themes/PaperMod/theme.toml (limited to 'themes/PaperMod') diff --git a/themes/PaperMod/LICENSE b/themes/PaperMod/LICENSE new file mode 100644 index 0000000..85e428e --- /dev/null +++ b/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. diff --git a/themes/PaperMod/README.md b/themes/PaperMod/README.md new file mode 100644 index 0000000..ce755c7 --- /dev/null +++ b/themes/PaperMod/README.md @@ -0,0 +1,90 @@ +
+ +
+ +--- + +## 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** diff --git a/themes/PaperMod/assets/css/common/404.css b/themes/PaperMod/assets/css/common/404.css new file mode 100644 index 0000000..8a23430 --- /dev/null +++ b/themes/PaperMod/assets/css/common/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; +} diff --git a/themes/PaperMod/assets/css/common/archive.css b/themes/PaperMod/assets/css/common/archive.css new file mode 100644 index 0000000..7e7e245 --- /dev/null +++ b/themes/PaperMod/assets/css/common/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; +} diff --git a/themes/PaperMod/assets/css/common/footer.css b/themes/PaperMod/assets/css/common/footer.css new file mode 100644 index 0000000..5addb1e --- /dev/null +++ b/themes/PaperMod/assets/css/common/footer.css @@ -0,0 +1,60 @@ +.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; +} diff --git a/themes/PaperMod/assets/css/common/header.css b/themes/PaperMod/assets/css/common/header.css new file mode 100644 index 0000000..3cd070e --- /dev/null +++ b/themes/PaperMod/assets/css/common/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; +} diff --git a/themes/PaperMod/assets/css/common/main.css b/themes/PaperMod/assets/css/common/main.css new file mode 100644 index 0000000..50022ac --- /dev/null +++ b/themes/PaperMod/assets/css/common/main.css @@ -0,0 +1,68 @@ +.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; +} diff --git a/themes/PaperMod/assets/css/common/post-entry.css b/themes/PaperMod/assets/css/common/post-entry.css new file mode 100644 index 0000000..885aa2a --- /dev/null +++ b/themes/PaperMod/assets/css/common/post-entry.css @@ -0,0 +1,104 @@ +.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); +} diff --git a/themes/PaperMod/assets/css/common/post-single.css b/themes/PaperMod/assets/css/common/post-single.css new file mode 100644 index 0000000..b9b9709 --- /dev/null +++ b/themes/PaperMod/assets/css/common/post-single.css @@ -0,0 +1,429 @@ +.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 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); +} + +.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 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-top: 0; + border-bottom: 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; +} + +.share-buttons a svg { + height: 30px; + width: 30px; + fill: currentColor; + transition: transform 0.1s; +} + +.share-buttons svg:active { + transform: scale(0.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; + user-select: 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; +} + +.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; +} diff --git a/themes/PaperMod/assets/css/common/profile-mode.css b/themes/PaperMod/assets/css/common/profile-mode.css new file mode 100644 index 0000000..6826d96 --- /dev/null +++ b/themes/PaperMod/assets/css/common/profile-mode.css @@ -0,0 +1,43 @@ +.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%; + 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 0.1s; +} + +.button-inner { + padding: 0 8px; +} + +.button:active { + transform: scale(0.96); +} diff --git a/themes/PaperMod/assets/css/common/search.css b/themes/PaperMod/assets/css/common/search.css new file mode 100644 index 0000000..38d5b6b --- /dev/null +++ b/themes/PaperMod/assets/css/common/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 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); +} diff --git a/themes/PaperMod/assets/css/common/terms.css b/themes/PaperMod/assets/css/common/terms.css new file mode 100644 index 0000000..244614b --- /dev/null +++ b/themes/PaperMod/assets/css/common/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 0.1s; +} + +.terms-tags a:active { + background: var(--tertiary); + transform: scale(0.96); +} diff --git a/themes/PaperMod/assets/css/core/reset.css b/themes/PaperMod/assets/css/core/reset.css new file mode 100644 index 0000000..dfb1caa --- /dev/null +++ b/themes/PaperMod/assets/css/core/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); +} diff --git a/themes/PaperMod/assets/css/core/theme-vars.css b/themes/PaperMod/assets/css/core/theme-vars.css new file mode 100644 index 0000000..fd0c5ee --- /dev/null +++ b/themes/PaperMod/assets/css/core/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: 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); +} diff --git a/themes/PaperMod/assets/css/core/zmedia.css b/themes/PaperMod/assets/css/core/zmedia.css new file mode 100644 index 0000000..1cc6c6e --- /dev/null +++ b/themes/PaperMod/assets/css/core/zmedia.css @@ -0,0 +1,58 @@ +@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); + } +} + +@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; profile-mode; post-single; post-entry; post-entry; search; search */ + .terms-tags a:active, + .button:active, + .share-buttons svg:active, + .post-entry:active, + .top-link, + #searchResults .focus, + #searchResults li:active { + transform: none; + } +} diff --git a/themes/PaperMod/assets/css/extended/blank.css b/themes/PaperMod/assets/css/extended/blank.css new file mode 100644 index 0000000..a577295 --- /dev/null +++ b/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 +*/ diff --git a/themes/PaperMod/assets/css/hljs/an-old-hope.min.css b/themes/PaperMod/assets/css/hljs/an-old-hope.min.css new file mode 100644 index 0000000..b5dabdf --- /dev/null +++ b/themes/PaperMod/assets/css/hljs/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; +} diff --git a/themes/PaperMod/assets/js/fastsearch.js b/themes/PaperMod/assets/js/fastsearch.js new file mode 100644 index 0000000..ea11022 --- /dev/null +++ b/themes/PaperMod/assets/js/fastsearch.js @@ -0,0 +1,147 @@ +import * as params from '@params'; + +var fuse; // holds our search engine +var resList = document.getElementById('searchResults'); +var sInput = document.getElementById('searchInput'); +var first, last, current_elem = null +var resultsAvailable = false; + +// load our search index +window.onload = function () { + 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, + threshold: 0.4, + ignoreLocation: true, + keys: [ + 'title', + 'permalink', + 'summary', + 'content' + ] + }; + if (params.fuseOpts) { + options = { + isCaseSensitive: params.fuseOpts.iscasesensitive ? params.fuseOpts.iscasesensitive : false, + includeScore: params.fuseOpts.includescore ? params.fuseOpts.includescore : false, + includeMatches: params.fuseOpts.includematches ? params.fuseOpts.includematches : false, + minMatchCharLength: params.fuseOpts.minmatchcharlength ? params.fuseOpts.minmatchcharlength : 1, + shouldSort: params.fuseOpts.shouldsort ? params.fuseOpts.shouldsort : true, + findAllMatches: params.fuseOpts.findallmatches ? params.fuseOpts.findallmatches : false, + keys: params.fuseOpts.keys ? params.fuseOpts.keys : ['title', 'permalink', 'summary', 'content'], + location: params.fuseOpts.location ? params.fuseOpts.location : 0, + threshold: params.fuseOpts.threshold ? params.fuseOpts.threshold : 0.4, + distance: params.fuseOpts.distance ? params.fuseOpts.distance : 100, + ignoreLocation: params.fuseOpts.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 += `{{ .Content | markdownify }}
++{{ .Inner | markdownify }}
+
{{ .Get "summary" | markdownify }}
+ {{ .Inner | markdownify }}
+