Compare commits
113 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ba7d3784e9 | ||
![]() |
0d7b4fe2a6 | ||
![]() |
ddf213bf70 | ||
![]() |
e151531988 | ||
![]() |
cec4ee9021 | ||
![]() |
351d7acd6c | ||
![]() |
44bead81ac | ||
![]() |
13fbe85077 | ||
e8ab3521af | |||
83d34c87f5 | |||
![]() |
a53d658b05 | ||
![]() |
3ca67aafe8 | ||
![]() |
a737f16c9f | ||
![]() |
037dd8a8e2 | ||
![]() |
7331fade3c | ||
![]() |
e29691b46e | ||
![]() |
d9942b8a1b | ||
![]() |
6c4397a3f9 | ||
![]() |
cdaa6b3c0b | ||
![]() |
ca89c358bf | ||
![]() |
d147bb158e | ||
![]() |
01f2b67810 | ||
![]() |
0c8725217b | ||
![]() |
36e886a668 | ||
![]() |
219fee2d84 | ||
![]() |
bf3617a726 | ||
![]() |
6d8cc3ae66 | ||
![]() |
ee360b80af | ||
![]() |
f13641dd7e | ||
![]() |
46c586644d | ||
![]() |
d54f249306 | ||
![]() |
87395c500f | ||
![]() |
3ce7861a0a | ||
![]() |
331257ea29 | ||
![]() |
4f1958d3b5 | ||
![]() |
8c677a4d57 | ||
![]() |
6b6b6a7e69 | ||
![]() |
04d38dc829 | ||
![]() |
aa270b35a9 | ||
![]() |
a511bd56f6 | ||
![]() |
cf2cc8b725 | ||
![]() |
7a790020cb | ||
67be55c9d8 | |||
263b6eedec | |||
![]() |
b6e5a17393 | ||
![]() |
3b485c14a1 | ||
![]() |
abc3799b82 | ||
![]() |
8af6945386 | ||
![]() |
6ee46686bc | ||
![]() |
fa7f9e57fc | ||
![]() |
4c6d33f3df | ||
![]() |
cf569ac7b3 | ||
![]() |
aca62bd2ff | ||
![]() |
276e2c9d01 | ||
![]() |
15fcd98965 | ||
![]() |
4d3319d05c | ||
![]() |
43688cfa01 | ||
0c770e598e | |||
![]() |
592226b75e | ||
![]() |
0b3fdc5d19 | ||
![]() |
9f9348544e | ||
![]() |
90a7c1a1e2 | ||
![]() |
840b1b9c50 | ||
![]() |
51eec34da9 | ||
![]() |
cc3fca004f | ||
![]() |
62af05d95b | ||
![]() |
f8b34f9786 | ||
![]() |
b9f5d591d3 | ||
![]() |
bd75010b26 | ||
![]() |
a60e3e976a | ||
![]() |
d9c9390e17 | ||
![]() |
8e326a6870 | ||
![]() |
84f201d293 | ||
![]() |
c7fdfb7479 | ||
![]() |
542f519619 | ||
![]() |
d3483498d4 | ||
![]() |
c7857a263f | ||
![]() |
b1b8b2212a | ||
![]() |
c305cc5342 | ||
![]() |
95b55ac4cf | ||
![]() |
155c048bc1 | ||
![]() |
206decaf50 | ||
![]() |
613f44b604 | ||
4f215f485d | |||
bba2a33711 | |||
f85ad79103 | |||
21adc1d09e | |||
686a1505e9 | |||
e02cd1edbf | |||
6408f4e428 | |||
920fb0a5c5 | |||
7d503a7491 | |||
e33dbab15e | |||
3ecb99326f | |||
fac92b46e2 | |||
ea1becaed1 | |||
![]() |
a701293a4e | ||
cb29e6583c | |||
b5d0fa0a9e | |||
d4cca6d6c1 | |||
e351f54392 | |||
9c8babbd17 | |||
e6f27f307c | |||
46373ac725 | |||
fdce6d76ce | |||
5ea8cd312b | |||
f1e7821d7b | |||
5c79215e4a | |||
7e040f69b2 | |||
e58d74c1d5 | |||
3c002dfddc | |||
72ea6524ce | |||
cacbd0b01b |
31
.github/workflows/autoupdate.yml
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
name: autoupdate
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
merge-upstream:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: Setup bot
|
||||||
|
run: |
|
||||||
|
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
||||||
|
git config --local user.name "github-actions"
|
||||||
|
git config --local pull.rebase false
|
||||||
|
- name: Add upstream repo
|
||||||
|
run: git remote add upstream https://github.com/TryGhost/Casper.git
|
||||||
|
- name: Checkout master
|
||||||
|
run: git checkout master
|
||||||
|
- name: Merge upstream
|
||||||
|
run: git pull upstream main --tags
|
||||||
|
- name: Push changes
|
||||||
|
uses: ad-m/github-push-action@master
|
||||||
|
with:
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
branch: ${{ github.ref }}
|
||||||
|
tags: true
|
2
LICENSE
@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2013-2022 Ghost Foundation
|
Copyright (c) 2013-2025 Ghost Foundation
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person
|
Permission is hereby granted, free of charge, to any person
|
||||||
obtaining a copy of this software and associated documentation
|
obtaining a copy of this software and associated documentation
|
||||||
|
92
README.md
@ -1,69 +1,39 @@
|
|||||||
# Casper
|
# Casper-i18n
|
||||||
|
|
||||||
The default theme for [Ghost](http://github.com/tryghost/ghost/). This is the latest development version of Casper! If you're just looking to download the latest release, head over to the [releases](https://github.com/TryGhost/Casper/releases) page.
|
[](https://github.com/GenZmeY/Casper-i18n/actions/workflows/autoupdate.yml)
|
||||||
|
[](https://github.com/GenZmeY/Casper-i18n/tags)
|
||||||
|
[](LICENSE)
|
||||||
|
|
||||||
|
The same [casper](https://github.com/TryGhost/Casper), but with localization support.
|
||||||
|
For more detailed information about theme, see the [casper page](https://github.com/TryGhost/Casper).
|
||||||
|
|
||||||

|
# Available languages
|
||||||
|
- Chinese (zh)
|
||||||
|
- Croatian (hr)
|
||||||
|
- Dutch (nl)
|
||||||
|
- English (en)
|
||||||
|
- Finnish (fi)
|
||||||
|
- French (fr)
|
||||||
|
- German (de)
|
||||||
|
- Hungarian (hu)
|
||||||
|
- Indonesian (id)
|
||||||
|
- Italian (it)
|
||||||
|
- Latvian (lv)
|
||||||
|
- Lithuanian (lt)
|
||||||
|
- Norwegian Bokmål (nb)
|
||||||
|
- Polish (pl)
|
||||||
|
- Romanian (ro)
|
||||||
|
- Russian (ru)
|
||||||
|
- Spanish (es)
|
||||||
|
- Swedish (sv)
|
||||||
|
- Turkish (tr)
|
||||||
|
|
||||||
|
# Contribution
|
||||||
|
|
||||||
# First time using a Ghost theme?
|
|
||||||
|
|
||||||
Ghost uses a simple templating language called [Handlebars](http://handlebarsjs.com/) for its themes.
|
|
||||||
|
|
||||||
This theme has lots of code comments to help explain what's going on just by reading the code. Once you feel comfortable with how everything works, we also have full [theme API documentation](https://ghost.org/docs/themes/) which explains every possible Handlebars helper and template.
|
|
||||||
|
|
||||||
**The main files are:**
|
|
||||||
|
|
||||||
- `default.hbs` - The parent template file, which includes your global header/footer
|
|
||||||
- `index.hbs` - The main template to generate a list of posts, usually the home page
|
|
||||||
- `post.hbs` - The template used to render individual posts
|
|
||||||
- `page.hbs` - Used for individual pages
|
|
||||||
- `tag.hbs` - Used for tag archives, eg. "all posts tagged with `news`"
|
|
||||||
- `author.hbs` - Used for author archives, eg. "all posts written by Jamie"
|
|
||||||
|
|
||||||
One neat trick is that you can also create custom one-off templates by adding the slug of a page to a template file. For example:
|
|
||||||
|
|
||||||
- `page-about.hbs` - Custom template for an `/about/` page
|
|
||||||
- `tag-news.hbs` - Custom template for `/tag/news/` archive
|
|
||||||
- `author-ali.hbs` - Custom template for `/author/ali/` archive
|
|
||||||
|
|
||||||
|
|
||||||
# Development
|
|
||||||
|
|
||||||
Casper styles are compiled using Gulp/PostCSS to polyfill future CSS spec. You'll need [Node](https://nodejs.org/), [Yarn](https://yarnpkg.com/) and [Gulp](https://gulpjs.com) installed globally. After that, from the theme's root directory:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# install dependencies
|
|
||||||
yarn install
|
|
||||||
|
|
||||||
# run development server
|
|
||||||
yarn dev
|
|
||||||
```
|
|
||||||
|
|
||||||
Now you can edit `/assets/css/` files, which will be compiled to `/assets/built/` automatically.
|
|
||||||
|
|
||||||
The `zip` Gulp task packages the theme files into `dist/<theme-name>.zip`, which you can then upload to your site.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# create .zip file
|
|
||||||
yarn zip
|
|
||||||
```
|
|
||||||
|
|
||||||
# PostCSS Features Used
|
|
||||||
|
|
||||||
- Autoprefixer - Don't worry about writing browser prefixes of any kind, it's all done automatically with support for the latest 2 major versions of every browser.
|
|
||||||
- [Color Mod](https://github.com/jonathantneal/postcss-color-mod-function)
|
|
||||||
|
|
||||||
|
|
||||||
# SVG Icons
|
|
||||||
|
|
||||||
Casper uses inline SVG icons, included via Handlebars partials. You can find all icons inside `/partials/icons`. To use an icon just include the name of the relevant file, eg. To include the SVG icon in `/partials/icons/rss.hbs` - use `{{> "icons/rss"}}`.
|
|
||||||
|
|
||||||
You can add your own SVG icons in the same manner.
|
|
||||||
|
|
||||||
|
I had to use google translate in some places, so translation corrections are welcome.
|
||||||
|
And you can also add a new translation.
|
||||||
|
If your contribution is not related to translation - contribute it to the original [casper](https://github.com/TryGhost/Casper).
|
||||||
|
|
||||||
# Copyright & License
|
# Copyright & License
|
||||||
|
|
||||||
Copyright (c) 2013-2022 Ghost Foundation - Released under the [MIT license](LICENSE).
|
Copyright (c) 2013-2025 Ghost Foundation - Released under the [MIT license](LICENSE).
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
a,abbr,acronym,address,applet,article,aside,audio,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,ul,var,video{border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}body{line-height:1}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}img{display:block;height:auto;max-width:100%}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;box-sizing:border-box;font-family:sans-serif}*,:after,:before{box-sizing:inherit}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn,em,i{font-style:italic}h1{font-size:2em;margin:.67em 0}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}mark{background-color:#fdffb6}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}kbd{background:#f6f8fa;border:1px solid rgba(124,139,154,.25);border-radius:6px;box-shadow:inset 0 -1px 0 rgba(124,139,154,.25);font-family:var(--font-mono);font-size:1.5rem;padding:3px 5px}@media (max-width:600px){kbd{font-size:1.3rem}}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{border:none;overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input:focus{outline:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:62.5%}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-font-feature-settings:"liga" on;background:#fff;color:var(--color-darkgrey);font-family:var(--font-sans);font-size:1.6rem;font-style:normal;font-weight:400;letter-spacing:0;line-height:1.6em}::-moz-selection{background:#daf2fd;text-shadow:none}::selection{background:#daf2fd;text-shadow:none}hr{border:0;border-top:1px solid #f0f0f0;display:block;height:1px;margin:2.5em 0 3.5em;padding:0;position:relative;width:100%}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}::not(.gh-content) blockquote,::not(.gh-content) dl,::not(.gh-content) ol,::not(.gh-content) p,::not(.gh-content) ul{margin:0 0 1.5em}ol,ul{padding-left:1.3em;padding-right:1.5em}ol ol,ol ul,ul ol,ul ul{margin:.5em 0}ol,ul{max-width:100%}li{line-height:1.6em;padding-left:.3em}li+li{margin-top:.5em}dt{color:#daf2fd;float:left;font-weight:500;margin:0 20px 0 0;text-align:right;width:120px}dd{margin:0 0 5px;text-align:left}blockquote{border-left:#daf2fd;margin:1.5em 0;padding:0 1.6em}blockquote small{display:inline-block;font-size:.9em;margin:.8em 0 .8em 1.5em;opacity:.8}blockquote small:before{content:"\2014 \00A0"}blockquote cite{font-weight:700}blockquote cite a{font-weight:400}a{color:#15171a;text-decoration:none}h1,h2,h3,h4,h5,h6{text-rendering:optimizeLegibility;font-weight:600;letter-spacing:-.01em;line-height:1.15;margin-top:0}h1{font-size:4.8rem;font-weight:700;letter-spacing:-.015em;margin:0 0 .5em}@media (max-width:600px){h1{font-size:2.8rem}}h2{font-size:2.8rem;font-weight:700;margin:1.5em 0 .5em}@media (max-width:600px){h2{font-size:2.3rem}}h3{font-size:2.4rem;font-weight:600;margin:1.5em 0 .5em}@media (max-width:600px){h3{font-size:1.7rem}}h4{font-size:2rem;margin:1.5em 0 .5em}@media (max-width:600px){h4{font-size:1.7rem}}h5{font-size:2rem}h5,h6{margin:1.5em 0 .5em}h6{font-size:1.8rem}
|
a,abbr,acronym,address,applet,article,aside,audio,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,ul,var,video{border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}body{line-height:1}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}img{display:block;height:auto;max-width:100%}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;box-sizing:border-box;font-family:sans-serif}*,:after,:before{box-sizing:inherit}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn,em,i{font-style:italic}h1{font-size:2em;margin:.67em 0}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}mark{background-color:#fdffb6}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}kbd{background:#f6f8fa;border:1px solid rgba(124,139,154,.25);border-radius:6px;box-shadow:inset 0 -1px 0 rgba(124,139,154,.25);font-family:var(--font-mono);font-size:1.5rem;padding:3px 5px}@media (max-width:600px){kbd{font-size:1.3rem}}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{border:none;overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input:focus{outline:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:62.5%}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-font-feature-settings:"liga" on;background:#fff;color:var(--color-darkgrey);font-family:var(--gh-font-body,var(--font-sans));font-size:1.6rem;font-style:normal;font-weight:400;letter-spacing:0;line-height:1.6em}::-moz-selection{background:#daf2fd;text-shadow:none}::selection{background:#daf2fd;text-shadow:none}hr{border:0;border-top:1px solid #f0f0f0;display:block;height:1px;margin:2.5em 0 3.5em;padding:0;position:relative;width:100%}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}::not(.gh-content) blockquote,::not(.gh-content) dl,::not(.gh-content) ol,::not(.gh-content) p,::not(.gh-content) ul{margin:0 0 1.5em}ol,ul{padding-left:1.3em;padding-right:1.5em}ol ol,ol ul,ul ol,ul ul{margin:.5em 0}ol,ul{max-width:100%}li{line-height:1.6em;padding-left:.3em}li+li{margin-top:.5em}dt{color:#daf2fd;float:left;font-weight:500;margin:0 20px 0 0;text-align:right;width:120px}dd{margin:0 0 5px;text-align:left}blockquote{border-left:#daf2fd;margin:1.5em 0;padding:0 1.6em}blockquote small{display:inline-block;font-size:.9em;margin:.8em 0 .8em 1.5em;opacity:.8}blockquote small:before{content:"\2014 \00A0"}blockquote cite{font-weight:700}blockquote cite a{font-weight:400}a{color:#15171a;text-decoration:none}h1,h2,h3,h4,h5,h6{text-rendering:optimizeLegibility;font-family:var(--gh-font-heading,var(--font-sans));font-weight:600;letter-spacing:-.01em;line-height:1.15;margin-top:0}h1{font-size:4.8rem;font-weight:700;letter-spacing:-.015em;margin:0 0 .5em}@media (max-width:600px){h1{font-size:2.8rem}}h2{font-size:2.8rem;font-weight:700;margin:1.5em 0 .5em}@media (max-width:600px){h2{font-size:2.3rem}}h3{font-size:2.4rem;font-weight:600;margin:1.5em 0 .5em}@media (max-width:600px){h3{font-size:1.7rem}}h4{font-size:2rem;margin:1.5em 0 .5em}@media (max-width:600px){h4{font-size:1.7rem}}h5{font-size:2rem}h5,h6{margin:1.5em 0 .5em}h6{font-size:1.8rem}
|
||||||
/*# sourceMappingURL=global.css.map */
|
/*# sourceMappingURL=global.css.map */
|
@ -272,7 +272,7 @@ html {
|
|||||||
}
|
}
|
||||||
body {
|
body {
|
||||||
color: var(--color-darkgrey);
|
color: var(--color-darkgrey);
|
||||||
font-family: var(--font-sans);
|
font-family: var(--gh-font-body, var(--font-sans));
|
||||||
font-size: 1.6rem;
|
font-size: 1.6rem;
|
||||||
line-height: 1.6em;
|
line-height: 1.6em;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
@ -407,6 +407,7 @@ h5,
|
|||||||
h6 {
|
h6 {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
line-height: 1.15;
|
line-height: 1.15;
|
||||||
|
font-family: var(--gh-font-heading, var(--font-sans));
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
text-rendering: optimizeLegibility;
|
text-rendering: optimizeLegibility;
|
||||||
letter-spacing: -0.01em;
|
letter-spacing: -0.01em;
|
||||||
|
@ -19,6 +19,7 @@ production stylesheet in assets/built/screen.css
|
|||||||
9. Error Template
|
9. Error Template
|
||||||
10. Site Footer
|
10. Site Footer
|
||||||
11. Dark Mode
|
11. Dark Mode
|
||||||
|
12. Lightbox
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -167,8 +168,8 @@ production stylesheet in assets/built/screen.css
|
|||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
}
|
}
|
||||||
|
|
||||||
.has-serif-title .site-title {
|
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .site-title {
|
||||||
font-family: var(--font-serif);
|
font-family: var(--gh-font-heading, var(--font-serif));
|
||||||
}
|
}
|
||||||
|
|
||||||
.has-cover .site-title {
|
.has-cover .site-title {
|
||||||
@ -192,6 +193,14 @@ production stylesheet in assets/built/screen.css
|
|||||||
line-height: 1.1;
|
line-height: 1.1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.site-description:first-child {
|
||||||
|
font-family: var(--gh-font-heading, var(--font-sans));
|
||||||
|
}
|
||||||
|
|
||||||
|
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .site-description:first-child {
|
||||||
|
font-family: var(--gh-font-heading, var(--font-serif));
|
||||||
|
}
|
||||||
|
|
||||||
:is(.site-logo, .site-title) + .site-description {
|
:is(.site-logo, .site-title) + .site-description {
|
||||||
max-width: 640px;
|
max-width: 640px;
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
@ -405,6 +414,7 @@ production stylesheet in assets/built/screen.css
|
|||||||
|
|
||||||
.gh-head-logo {
|
.gh-head-logo {
|
||||||
display: block;
|
display: block;
|
||||||
|
font-family: var(--gh-font-heading, var(--font-sans));
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
font-size: 2.6rem;
|
font-size: 2.6rem;
|
||||||
letter-spacing: -0.02em;
|
letter-spacing: -0.02em;
|
||||||
@ -985,8 +995,8 @@ production stylesheet in assets/built/screen.css
|
|||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.has-serif-title .post-card-title {
|
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .post-card-title {
|
||||||
font-family: var(--font-serif);
|
font-family: var(--gh-font-heading, var(--font-serif));
|
||||||
letter-spacing: -0.005em;
|
letter-spacing: -0.005em;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1013,8 +1023,8 @@ production stylesheet in assets/built/screen.css
|
|||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
.has-sans-body .post-card-excerpt {
|
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .post-card-excerpt {
|
||||||
font-family: var(--font-sans);
|
font-family: var(--gh-font-body, var(--font-sans));
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-card:not(.post-card-large):not(.post-card-full):not(.dynamic):not(.no-image) .post-card-excerpt {
|
.post-card:not(.post-card-large):not(.post-card-full):not(.dynamic):not(.no-image) .post-card-excerpt {
|
||||||
@ -1070,7 +1080,6 @@ production stylesheet in assets/built/screen.css
|
|||||||
|
|
||||||
.author-list {
|
.author-list {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
|
||||||
margin: 0 0 0 4px;
|
margin: 0 0 0 4px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
@ -1218,20 +1227,19 @@ html.no-infinite-scroll .pagination {
|
|||||||
/* ---------------------------------------------------------- */
|
/* ---------------------------------------------------------- */
|
||||||
|
|
||||||
.article {
|
.article {
|
||||||
padding: max(8vmin, 40px) 0 max(8vmin, 64px);
|
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
.page-template .article {
|
.post-template .article {
|
||||||
padding-top: max(12vmin, 64px);
|
padding: max(8vmin, 40px) 0 max(8vmin, 64px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.article-header {
|
.post-template .article-header {
|
||||||
padding: 0 0 max(6.4vmin, 40px) 0;
|
padding: 0 0 max(6.4vmin, 40px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.page-template .article-header {
|
.page-template .article-header {
|
||||||
padding-bottom: max(3.2vmin, 28px);
|
padding: max(12vmin, 64px) 0 max(3.2vmin, 28px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.article-tag {
|
.article-tag {
|
||||||
@ -1251,8 +1259,8 @@ html.no-infinite-scroll .pagination {
|
|||||||
color: var(--color-darkgrey);
|
color: var(--color-darkgrey);
|
||||||
}
|
}
|
||||||
|
|
||||||
.has-serif-title .article-title {
|
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .article-title {
|
||||||
font-family: var(--font-serif);
|
font-family: var(--gh-font-heading, var(--font-serif));
|
||||||
}
|
}
|
||||||
|
|
||||||
.article-excerpt {
|
.article-excerpt {
|
||||||
@ -1347,14 +1355,19 @@ headings, text, images and lists. We deal with cards lower down. */
|
|||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Remove space between full-width cards */
|
||||||
|
.gh-content > .kg-width-full + .kg-width-full:not(.kg-width-full.kg-card-hascaption + .kg-width-full) {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* [id] represents all headings h1-h6, reset all margins */
|
/* [id] represents all headings h1-h6, reset all margins */
|
||||||
.gh-content > [id] {
|
.gh-content > [id] {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
color: var(--color-darkgrey);
|
color: var(--color-darkgrey);
|
||||||
}
|
}
|
||||||
|
|
||||||
.has-serif-title .gh-content > [id] {
|
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-content > [id] {
|
||||||
font-family: var(--font-serif);
|
font-family: var(--gh-font-heading, var(--font-serif));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add back a top margin to all headings, unless a heading
|
/* Add back a top margin to all headings, unless a heading
|
||||||
@ -1391,12 +1404,24 @@ is the very first element in the post content */
|
|||||||
.gh-content > ul,
|
.gh-content > ul,
|
||||||
.gh-content > dl,
|
.gh-content > dl,
|
||||||
.gh-content > p {
|
.gh-content > p {
|
||||||
font-family: var(--font-serif);
|
font-family: var(--gh-font-body, var(--font-serif));
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 2rem;
|
font-size: 2rem;
|
||||||
line-height: 1.6em;
|
line-height: 1.6em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.gh-content > p img {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-template .gh-content:only-child > *:first-child:not(.kg-width-full) {
|
||||||
|
margin-top: max(12vmin, 64px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-template .gh-content > *:last-child:not(.kg-width-full) {
|
||||||
|
margin-bottom: max(12vmin, 64px);
|
||||||
|
}
|
||||||
|
|
||||||
.gh-content .kg-callout-card .kg-callout-text,
|
.gh-content .kg-callout-card .kg-callout-text,
|
||||||
.gh-content .kg-toggle-card .kg-toggle-content > ol,
|
.gh-content .kg-toggle-card .kg-toggle-content > ol,
|
||||||
.gh-content .kg-toggle-card .kg-toggle-content > ul,
|
.gh-content .kg-toggle-card .kg-toggle-content > ul,
|
||||||
@ -1423,16 +1448,16 @@ is the very first element in the post content */
|
|||||||
font-size: 2.0rem;
|
font-size: 2.0rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.has-sans-body .gh-content > blockquote,
|
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > blockquote,
|
||||||
.has-sans-body .gh-content > ol,
|
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > ol,
|
||||||
.has-sans-body .gh-content > ul,
|
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > ul,
|
||||||
.has-sans-body .gh-content > dl,
|
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > dl,
|
||||||
.has-sans-body .gh-content > p,
|
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > p,
|
||||||
.has-sans-body .gh-content .kg-callout-card .kg-callout-text,
|
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content .kg-callout-card .kg-callout-text,
|
||||||
.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > ol,
|
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content .kg-toggle-card .kg-toggle-content > ol,
|
||||||
.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > ul,
|
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content .kg-toggle-card .kg-toggle-content > ul,
|
||||||
.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > p {
|
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content .kg-toggle-card .kg-toggle-content > p {
|
||||||
font-family: var(--font-sans);
|
font-family: var(--gh-font-body, var(--font-sans));
|
||||||
}
|
}
|
||||||
|
|
||||||
.gh-content > ul,
|
.gh-content > ul,
|
||||||
@ -1529,11 +1554,9 @@ make sure they look good, and are given a bit of extra spacing. */
|
|||||||
except for when immediately preceeded by a heading */
|
except for when immediately preceeded by a heading */
|
||||||
.gh-content :not(.kg-card):not([id]) + .kg-card {
|
.gh-content :not(.kg-card):not([id]) + .kg-card {
|
||||||
margin-top: 6vmin;
|
margin-top: 6vmin;
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
}
|
||||||
.gh-content .kg-card + :not(.kg-card) {
|
.gh-content .kg-card + :not(.kg-card) {
|
||||||
margin-top: 6vmin;
|
margin-top: 6vmin;
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This keeps small embeds centered */
|
/* This keeps small embeds centered */
|
||||||
@ -1549,8 +1572,13 @@ except for when immediately preceeded by a heading */
|
|||||||
margin: auto;
|
margin: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.has-serif-title .kg-toggle-card .kg-toggle-heading-text {
|
.kg-image[width][height],
|
||||||
font-family: var(--font-serif);
|
.kg-gallery-image {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .kg-toggle-card .kg-toggle-heading-text {
|
||||||
|
font-family: var(--gh-font-heading, var(--font-serif));
|
||||||
}
|
}
|
||||||
|
|
||||||
.gh-content .kg-callout-card-accent a {
|
.gh-content .kg-callout-card-accent a {
|
||||||
@ -1562,8 +1590,8 @@ except for when immediately preceeded by a heading */
|
|||||||
color: var(--color-midgrey);
|
color: var(--color-midgrey);
|
||||||
}
|
}
|
||||||
|
|
||||||
.has-sans-body .kg-blockquote-alt {
|
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .kg-blockquote-alt {
|
||||||
font-family: var(--font-sans);
|
font-family: var(--gh-font-body, var(--font-sans));
|
||||||
}
|
}
|
||||||
|
|
||||||
.kg-card.kg-header-card.kg-style-dark {
|
.kg-card.kg-header-card.kg-style-dark {
|
||||||
@ -1574,8 +1602,8 @@ except for when immediately preceeded by a heading */
|
|||||||
color: color-mod(var(--color-darkgrey) l(-5%));
|
color: color-mod(var(--color-darkgrey) l(-5%));
|
||||||
}
|
}
|
||||||
|
|
||||||
.has-serif-title .kg-header-card h2.kg-header-card-header {
|
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .kg-header-card h2.kg-header-card-header {
|
||||||
font-family: var(--font-serif);
|
font-family: var(--gh-font-heading, var(--font-serif));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1755,6 +1783,12 @@ iframe.instagram-media + script + :not([id]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 767px) {
|
@media (max-width: 767px) {
|
||||||
|
.article-byline-content {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: flex-start;
|
||||||
|
gap: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
.article-byline-content .author-list {
|
.article-byline-content .author-list {
|
||||||
padding-right: 12px;
|
padding-right: 12px;
|
||||||
}
|
}
|
||||||
@ -1778,8 +1812,8 @@ iframe.instagram-media + script + :not([id]) {
|
|||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
}
|
}
|
||||||
|
|
||||||
.has-serif-title .footer-cta-title {
|
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .footer-cta-title {
|
||||||
font-family: var(--font-serif);
|
font-family: var(--gh-font-heading, var(--font-serif));
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer-cta-button {
|
.footer-cta-button {
|
||||||
@ -1914,7 +1948,7 @@ iframe.instagram-media + script + :not([id]) {
|
|||||||
|
|
||||||
.author-profile-meta {
|
.author-profile-meta {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 10px;
|
gap: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.author-profile-social-link {
|
.author-profile-social-link {
|
||||||
@ -2037,6 +2071,10 @@ iframe.instagram-media + script + :not([id]) {
|
|||||||
background: color-mod(var(--color-darkgrey) l(-5%));
|
background: color-mod(var(--color-darkgrey) l(-5%));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.page-template .site-footer {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.site-footer .inner {
|
.site-footer .inner {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-gap: 40px;
|
grid-gap: 40px;
|
||||||
@ -2146,6 +2184,10 @@ html.dark-mode .site-header-content {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html.dark-mode .site-header-cover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
html.dark-mode .post-card-image {
|
html.dark-mode .post-card-image {
|
||||||
background: var(--color-darkmode);
|
background: var(--color-darkmode);
|
||||||
}
|
}
|
||||||
@ -2229,14 +2271,6 @@ html.dark-mode .gh-content :not(pre) > code {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
html.dark-mode .gh-content strong {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.dark-mode .gh-content em {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.dark-mode .gh-content code {
|
html.dark-mode .gh-content code {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background: #000;
|
background: #000;
|
||||||
@ -2295,6 +2329,12 @@ html.dark-mode .kg-header-card h3.kg-header-card-subheader {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html.dark-mode .kg-bookmark-card a.kg-bookmark-container,
|
||||||
|
html.dark-mode .kg-bookmark-card a.kg-bookmark-container:hover {
|
||||||
|
background: var(--color-darkmode) !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
html.dark-mode .footer-cta-title {
|
html.dark-mode .footer-cta-title {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
@ -2338,6 +2378,10 @@ html.dark-mode .footer-cta-title {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html.auto-color .site-header-cover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
html.auto-color .post-card-image {
|
html.auto-color .post-card-image {
|
||||||
background: var(--color-darkmode);
|
background: var(--color-darkmode);
|
||||||
}
|
}
|
||||||
@ -2421,14 +2465,6 @@ html.dark-mode .footer-cta-title {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
html.auto-color .gh-content strong {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.auto-color .gh-content em {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.auto-color .gh-content code {
|
html.auto-color .gh-content code {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background: #000;
|
background: #000;
|
||||||
@ -2487,6 +2523,12 @@ html.dark-mode .footer-cta-title {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html.auto-color .kg-bookmark-card a.kg-bookmark-container,
|
||||||
|
html.auto-color .kg-bookmark-card a.kg-bookmark-container:hover {
|
||||||
|
background: var(--color-darkmode) !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
html.auto-color .footer-cta-title {
|
html.auto-color .footer-cta-title {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
@ -2499,6 +2541,503 @@ html.dark-mode .footer-cta-title {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 12. Lightbox
|
||||||
|
/* ---------------------------------------------------------- */
|
||||||
|
|
||||||
|
.pswp {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 3999999;
|
||||||
|
display: none;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
-ms-touch-action: none;
|
||||||
|
touch-action: none;
|
||||||
|
outline: none;
|
||||||
|
backface-visibility: hidden;
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp img {
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--animate_opacity {
|
||||||
|
opacity: 0.001;
|
||||||
|
transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
|
||||||
|
will-change: opacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--open {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--zoom-allowed .pswp__img {
|
||||||
|
cursor: zoom-in;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--zoomed-in .pswp__img {
|
||||||
|
cursor: grab;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--dragging .pswp__img {
|
||||||
|
cursor: grabbing;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__bg {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: rgba(0, 0, 0, 0.85);
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
|
||||||
|
transform: translateZ(0);
|
||||||
|
backface-visibility: hidden;
|
||||||
|
will-change: opacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__scroll-wrap {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__container,
|
||||||
|
.pswp__zoom-wrap {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
touch-action: none;
|
||||||
|
backface-visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__container,
|
||||||
|
.pswp__img {
|
||||||
|
user-select: none;
|
||||||
|
-webkit-tap-highlight-color: transparent;
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__zoom-wrap {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
|
||||||
|
transform-origin: left top;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--animated-in .pswp__bg,
|
||||||
|
.pswp--animated-in .pswp__zoom-wrap {
|
||||||
|
transition: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__item {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__img {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__img--placeholder {
|
||||||
|
backface-visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__img--placeholder--blank {
|
||||||
|
background: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--ie .pswp__img {
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100% !important;
|
||||||
|
height: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__error-msg {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
margin-top: -8px;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 16px;
|
||||||
|
color: var(--color-secondary-text);
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__error-msg a {
|
||||||
|
color: var(--color-secondary-text);
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button {
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
float: right;
|
||||||
|
width: 44px;
|
||||||
|
height: 44px;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
overflow: visible;
|
||||||
|
appearance: none;
|
||||||
|
cursor: pointer;
|
||||||
|
background: none;
|
||||||
|
border: 0;
|
||||||
|
box-shadow: none;
|
||||||
|
transition: opacity 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button:focus,
|
||||||
|
.pswp__button:hover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button:active {
|
||||||
|
outline: none;
|
||||||
|
opacity: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button::-moz-focus-inner {
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__ui--over-close .pswp__button--close {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button,
|
||||||
|
.pswp__button--arrow--left::before,
|
||||||
|
.pswp__button--arrow--right::before {
|
||||||
|
width: 44px;
|
||||||
|
height: 44px;
|
||||||
|
background: url("../images/default-skin.png") 0 0 no-repeat;
|
||||||
|
background-size: 264px 88px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
|
||||||
|
.pswp--svg .pswp__button,
|
||||||
|
.pswp--svg .pswp__button--arrow--left::before,
|
||||||
|
.pswp--svg .pswp__button--arrow--right::before {
|
||||||
|
background-image: url("../images/default-skin.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--svg .pswp__button--arrow--left,
|
||||||
|
.pswp--svg .pswp__button--arrow--right {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button--close {
|
||||||
|
background-position: 0 -44px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button--share {
|
||||||
|
background-position: -44px -44px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button--fs {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--supports-fs .pswp__button--fs {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--fs .pswp__button--fs {
|
||||||
|
background-position: -44px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button--zoom {
|
||||||
|
display: none;
|
||||||
|
background-position: -88px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--zoom-allowed .pswp__button--zoom {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--zoomed-in .pswp__button--zoom {
|
||||||
|
background-position: -132px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--touch .pswp__button--arrow--left,
|
||||||
|
.pswp--touch .pswp__button--arrow--right {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button--arrow--left,
|
||||||
|
.pswp__button--arrow--right {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
width: 70px;
|
||||||
|
height: 100px;
|
||||||
|
margin-top: -50px;
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button--arrow--left {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button--arrow--right {
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button--arrow--left::before,
|
||||||
|
.pswp__button--arrow--right::before {
|
||||||
|
position: absolute;
|
||||||
|
top: 35px;
|
||||||
|
width: 32px;
|
||||||
|
height: 30px;
|
||||||
|
content: "";
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button--arrow--left::before {
|
||||||
|
left: 6px;
|
||||||
|
background-position: -138px -44px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__button--arrow--right::before {
|
||||||
|
right: 6px;
|
||||||
|
background-position: -94px -44px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__counter {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
height: 44px;
|
||||||
|
padding: 0 15px;
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 44px;
|
||||||
|
color: #fff;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__caption {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
min-height: 44px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__caption__center {
|
||||||
|
max-width: 420px;
|
||||||
|
padding: 25px 15px 30px;
|
||||||
|
margin: 0 auto;
|
||||||
|
font-size: 11px;
|
||||||
|
line-height: 1.6;
|
||||||
|
color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__caption__center .post-caption-title {
|
||||||
|
margin-bottom: 7px;
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: 500;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__caption__center .post-caption-meta-item + .post-caption-meta-item::before {
|
||||||
|
padding: 0 4px;
|
||||||
|
content: "\02022";
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__caption--empty {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__caption--fake {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__preloader {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 50%;
|
||||||
|
width: 44px;
|
||||||
|
height: 44px;
|
||||||
|
margin-left: -22px;
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 0.25s ease-out;
|
||||||
|
direction: ltr;
|
||||||
|
will-change: opacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__preloader__icn {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__preloader--active {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__preloader--active .pswp__preloader__icn {
|
||||||
|
background: url("../images/preloader.gif") 0 0 no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--css_animation .pswp__preloader--active {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
|
||||||
|
animation: clockwise 500ms linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
|
||||||
|
animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--css_animation .pswp__preloader__icn {
|
||||||
|
position: absolute;
|
||||||
|
top: 15px;
|
||||||
|
left: 15px;
|
||||||
|
width: 14px;
|
||||||
|
height: 14px;
|
||||||
|
margin: 0;
|
||||||
|
background: none;
|
||||||
|
opacity: 0.75;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--css_animation .pswp__preloader__cut {
|
||||||
|
position: relative;
|
||||||
|
width: 7px;
|
||||||
|
height: 14px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--css_animation .pswp__preloader__donut {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 14px;
|
||||||
|
height: 14px;
|
||||||
|
margin: 0;
|
||||||
|
background: none;
|
||||||
|
border: 2px solid #fff;
|
||||||
|
border-bottom-color: transparent;
|
||||||
|
border-left-color: transparent;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 1024px) {
|
||||||
|
.pswp__preloader {
|
||||||
|
position: relative;
|
||||||
|
top: auto;
|
||||||
|
left: auto;
|
||||||
|
float: right;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes clockwise {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes donut-rotate {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: rotate(-140deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: rotate(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__ui {
|
||||||
|
z-index: 1550;
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 1;
|
||||||
|
-webkit-font-smoothing: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__top-bar {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 44px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__caption,
|
||||||
|
.pswp__top-bar,
|
||||||
|
.pswp--has_mouse .pswp__button--arrow--left,
|
||||||
|
.pswp--has_mouse .pswp__button--arrow--right {
|
||||||
|
backface-visibility: hidden;
|
||||||
|
transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
|
||||||
|
will-change: opacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--has_mouse .pswp__button--arrow--left,
|
||||||
|
.pswp--has_mouse .pswp__button--arrow--right {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__ui--idle .pswp__top-bar {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__ui--idle .pswp__button--arrow--left,
|
||||||
|
.pswp__ui--idle .pswp__button--arrow--right {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__ui--hidden .pswp__top-bar,
|
||||||
|
.pswp__ui--hidden .pswp__caption,
|
||||||
|
.pswp__ui--hidden .pswp__button--arrow--left,
|
||||||
|
.pswp__ui--hidden .pswp__button--arrow--right {
|
||||||
|
opacity: 0.001;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__ui--one-slide .pswp__button--arrow--left,
|
||||||
|
.pswp__ui--one-slide .pswp__button--arrow--right,
|
||||||
|
.pswp__ui--one-slide .pswp__counter {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp__element--disabled {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pswp--minimal--dark .pswp__top-bar {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
Hey! You reached the end.
|
Hey! You reached the end.
|
||||||
|
BIN
assets/images/default-skin.png
Executable file
After Width: | Height: | Size: 547 B |
1
assets/images/default-skin.svg
Executable file
@ -0,0 +1 @@
|
|||||||
|
<svg width="264" height="88" viewBox="0 0 264 88" xmlns="http://www.w3.org/2000/svg"><title>default-skin 2</title><g fill="none" fill-rule="evenodd"><g><path d="M67.002 59.5v3.768c-6.307.84-9.184 5.75-10.002 9.732 2.22-2.83 5.564-5.098 10.002-5.098V71.5L73 65.585 67.002 59.5z" id="Shape" fill="#fff"/><g fill="#fff"><path d="M13 29v-5h2v3h3v2h-5zM13 15h5v2h-3v3h-2v-5zM31 15v5h-2v-3h-3v-2h5zM31 29h-5v-2h3v-3h2v5z" id="Shape"/></g><g fill="#fff"><path d="M62 24v5h-2v-3h-3v-2h5zM62 20h-5v-2h3v-3h2v5zM70 20v-5h2v3h3v2h-5zM70 24h5v2h-3v3h-2v-5z"/></g><path d="M20.586 66l-5.656-5.656 1.414-1.414L22 64.586l5.656-5.656 1.414 1.414L23.414 66l5.656 5.656-1.414 1.414L22 67.414l-5.656 5.656-1.414-1.414L20.586 66z" fill="#fff"/><path d="M111.785 65.03L110 63.5l3-3.5h-10v-2h10l-3-3.5 1.785-1.468L117 59l-5.215 6.03z" fill="#fff"/><path d="M152.215 65.03L154 63.5l-3-3.5h10v-2h-10l3-3.5-1.785-1.468L147 59l5.215 6.03z" fill="#fff"/><g><path id="Rectangle-11" fill="#fff" d="M160.957 28.543l-3.25-3.25-1.413 1.414 3.25 3.25z"/><path d="M152.5 27c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5z" id="Oval-1" stroke="#fff" stroke-width="1.5"/><path fill="#fff" d="M150 21h5v1h-5z"/></g><g><path d="M116.957 28.543l-1.414 1.414-3.25-3.25 1.414-1.414 3.25 3.25z" fill="#fff"/><path d="M108.5 27c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5z" stroke="#fff" stroke-width="1.5"/><path fill="#fff" d="M106 21h5v1h-5z"/><path fill="#fff" d="M109.043 19.008l-.085 5-1-.017.085-5z"/></g></g></g></svg>
|
After Width: | Height: | Size: 1.5 KiB |
BIN
assets/images/preloader.gif
Executable file
After Width: | Height: | Size: 866 B |
4
assets/js/lib/photoswipe-ui-default.min.js
vendored
Executable file
4
assets/js/lib/photoswipe.min.js
vendored
Executable file
109
assets/js/lightbox.js
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
function lightbox(trigger) {
|
||||||
|
var onThumbnailsClick = function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
var items = [];
|
||||||
|
var index = 0;
|
||||||
|
|
||||||
|
var prevSibling = e.target.closest('.kg-card').previousElementSibling;
|
||||||
|
|
||||||
|
while (prevSibling && (prevSibling.classList.contains('kg-image-card') || prevSibling.classList.contains('kg-gallery-card'))) {
|
||||||
|
var prevItems = [];
|
||||||
|
|
||||||
|
prevSibling.querySelectorAll('img').forEach(function (item) {
|
||||||
|
prevItems.push({
|
||||||
|
src: item.getAttribute('src'),
|
||||||
|
msrc: item.getAttribute('src'),
|
||||||
|
w: item.getAttribute('width'),
|
||||||
|
h: item.getAttribute('height'),
|
||||||
|
el: item,
|
||||||
|
})
|
||||||
|
|
||||||
|
index += 1;
|
||||||
|
});
|
||||||
|
prevSibling = prevSibling.previousElementSibling;
|
||||||
|
|
||||||
|
items = prevItems.concat(items);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e.target.classList.contains('kg-image')) {
|
||||||
|
items.push({
|
||||||
|
src: e.target.getAttribute('src'),
|
||||||
|
msrc: e.target.getAttribute('src'),
|
||||||
|
w: e.target.getAttribute('width'),
|
||||||
|
h: e.target.getAttribute('height'),
|
||||||
|
el: e.target,
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
var reachedCurrentItem = false;
|
||||||
|
|
||||||
|
e.target.closest('.kg-gallery-card').querySelectorAll('img').forEach(function (item) {
|
||||||
|
items.push({
|
||||||
|
src: item.getAttribute('src'),
|
||||||
|
msrc: item.getAttribute('src'),
|
||||||
|
w: item.getAttribute('width'),
|
||||||
|
h: item.getAttribute('height'),
|
||||||
|
el: item,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!reachedCurrentItem && item !== e.target) {
|
||||||
|
index += 1;
|
||||||
|
} else {
|
||||||
|
reachedCurrentItem = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var nextSibling = e.target.closest('.kg-card').nextElementSibling;
|
||||||
|
|
||||||
|
while (nextSibling && (nextSibling.classList.contains('kg-image-card') || nextSibling.classList.contains('kg-gallery-card'))) {
|
||||||
|
nextSibling.querySelectorAll('img').forEach(function (item) {
|
||||||
|
items.push({
|
||||||
|
src: item.getAttribute('src'),
|
||||||
|
msrc: item.getAttribute('src'),
|
||||||
|
w: item.getAttribute('width'),
|
||||||
|
h: item.getAttribute('height'),
|
||||||
|
el: item,
|
||||||
|
})
|
||||||
|
});
|
||||||
|
nextSibling = nextSibling.nextElementSibling;
|
||||||
|
}
|
||||||
|
|
||||||
|
var pswpElement = document.querySelectorAll('.pswp')[0];
|
||||||
|
|
||||||
|
var options = {
|
||||||
|
bgOpacity: 0.9,
|
||||||
|
closeOnScroll: true,
|
||||||
|
fullscreenEl: false,
|
||||||
|
history: false,
|
||||||
|
index: index,
|
||||||
|
shareEl: false,
|
||||||
|
zoomEl: false,
|
||||||
|
getThumbBoundsFn: function(index) {
|
||||||
|
var thumbnail = items[index].el,
|
||||||
|
pageYScroll = window.pageYOffset || document.documentElement.scrollTop,
|
||||||
|
rect = thumbnail.getBoundingClientRect();
|
||||||
|
|
||||||
|
return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options);
|
||||||
|
gallery.init();
|
||||||
|
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
var triggers = document.querySelectorAll(trigger);
|
||||||
|
triggers.forEach(function (trig) {
|
||||||
|
trig.addEventListener('click', function (e) {
|
||||||
|
onThumbnailsClick(e);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
lightbox(
|
||||||
|
'.kg-image-card > .kg-image[width][height], .kg-gallery-image > img'
|
||||||
|
);
|
||||||
|
})();
|
25
author.hbs
@ -49,10 +49,31 @@
|
|||||||
<a class="author-profile-social-link" href="{{website}}" target="_blank" rel="noopener">{{website}}</a>
|
<a class="author-profile-social-link" href="{{website}}" target="_blank" rel="noopener">{{website}}</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if twitter}}
|
{{#if twitter}}
|
||||||
<a class="author-profile-social-link" href="{{twitter_url}}" target="_blank" rel="noopener">{{> "icons/twitter"}}</a>
|
<a class="author-profile-social-link" href="{{social_url type="twitter"}}" target="_blank" rel="noopener">{{> "icons/twitter"}}</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if facebook}}
|
{{#if facebook}}
|
||||||
<a class="author-profile-social-link" href="{{facebook_url}}" target="_blank" rel="noopener">{{> "icons/facebook"}}</a>
|
<a class="author-profile-social-link" href="{{social_url type="facebook"}}" target="_blank" rel="noopener">{{> "icons/facebook"}}</a>
|
||||||
|
{{/if}}
|
||||||
|
{{#if linkedin}}
|
||||||
|
<a class="author-profile-social-link" href="{{social_url type="linkedin"}}" target="_blank" rel="noopener">{{> "icons/linkedin"}}</a>
|
||||||
|
{{/if}}
|
||||||
|
{{#if bluesky}}
|
||||||
|
<a class="author-profile-social-link" href="{{social_url type="bluesky"}}" target="_blank" rel="noopener">{{> "icons/bluesky"}}</a>
|
||||||
|
{{/if}}
|
||||||
|
{{#if threads}}
|
||||||
|
<a class="author-profile-social-link" href="{{social_url type="threads"}}" target="_blank" rel="noopener">{{> "icons/threads"}}</a>
|
||||||
|
{{/if}}
|
||||||
|
{{#if mastodon}}
|
||||||
|
<a class="author-profile-social-link" href="{{social_url type="mastodon"}}" target="_blank" rel="noopener">{{> "icons/mastodon"}}</a>
|
||||||
|
{{/if}}
|
||||||
|
{{#if tiktok}}
|
||||||
|
<a class="author-profile-social-link" href="{{social_url type="tiktok"}}" target="_blank" rel="noopener">{{> "icons/tiktok"}}</a>
|
||||||
|
{{/if}}
|
||||||
|
{{#if youtube}}
|
||||||
|
<a class="author-profile-social-link" href="{{social_url type="youtube"}}" target="_blank" rel="noopener">{{> "icons/youtube"}}</a>
|
||||||
|
{{/if}}
|
||||||
|
{{#if instagram}}
|
||||||
|
<a class="author-profile-social-link" href="{{social_url type="instagram"}}" target="_blank" rel="noopener">{{> "icons/instagram"}}</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
19
default.hbs
@ -36,7 +36,7 @@
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
</a>
|
</a>
|
||||||
<button class="gh-search gh-icon-btn" aria-label="Search this site" data-ghost-search>{{> "icons/search"}}</button>
|
<button class="gh-search gh-icon-btn" aria-label="Search this site" data-ghost-search>{{> "icons/search"}}</button>
|
||||||
<button class="gh-burger"></button>
|
<button class="gh-burger" aria-label="Main Menu"></button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<nav class="gh-head-menu">
|
<nav class="gh-head-menu">
|
||||||
@ -51,20 +51,20 @@
|
|||||||
<div class="gh-head-actions">
|
<div class="gh-head-actions">
|
||||||
{{#unless @site.members_enabled}}
|
{{#unless @site.members_enabled}}
|
||||||
{{^match @custom.navigation_layout "Stacked"}}
|
{{^match @custom.navigation_layout "Stacked"}}
|
||||||
<button class="gh-search gh-icon-btn" data-ghost-search>{{> "icons/search"}}</button>
|
<button class="gh-search gh-icon-btn" aria-label="Search this site" data-ghost-search>{{> "icons/search"}}</button>
|
||||||
{{/match}}
|
{{/match}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<button class="gh-search gh-icon-btn" data-ghost-search>{{> "icons/search"}}</button>
|
<button class="gh-search gh-icon-btn" aria-label="Search this site" data-ghost-search>{{> "icons/search"}}</button>
|
||||||
<div class="gh-head-members">
|
<div class="gh-head-members">
|
||||||
{{#unless @member}}
|
{{#unless @member}}
|
||||||
{{#unless @site.members_invite_only}}
|
{{#unless @site.members_invite_only}}
|
||||||
<a class="gh-head-link" href="#/portal/signin" data-portal="signin">Sign in</a>
|
<a class="gh-head-link" href="#/portal/signin" data-portal="signin">{{t "Sign in"}}</a>
|
||||||
<a class="gh-head-button" href="#/portal/signup" data-portal="signup">Subscribe</a>
|
<a class="gh-head-button" href="#/portal/signup" data-portal="signup">{{t "Subscribe"}}</a>
|
||||||
{{else}}
|
{{else}}
|
||||||
<a class="gh-head-button" href="#/portal/signin" data-portal="signin">Sign in</a>
|
<a class="gh-head-button" href="#/portal/signin" data-portal="signin">{{t "Sign in"}}</a>
|
||||||
{{/unless}}
|
{{/unless}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<a class="gh-head-button" href="#/portal/account" data-portal="account">Account</a>
|
<a class="gh-head-button" href="#/portal/account" data-portal="account">{{t "Account"}}</a>
|
||||||
{{/unless}}
|
{{/unless}}
|
||||||
</div>
|
</div>
|
||||||
{{/unless}}
|
{{/unless}}
|
||||||
@ -84,13 +84,16 @@
|
|||||||
<nav class="site-footer-nav">
|
<nav class="site-footer-nav">
|
||||||
{{navigation type="secondary"}}
|
{{navigation type="secondary"}}
|
||||||
</nav>
|
</nav>
|
||||||
<div class="gh-powered-by"><a href="https://ghost.org/" target="_blank" rel="noopener">Powered by Ghost</a></div>
|
<div><a href="{{@site.url}}" target="_blank" rel="noopener">{{t "Latest Posts"}}</a></div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{{!-- /.viewport --}}
|
{{!-- /.viewport --}}
|
||||||
|
|
||||||
|
{{#is "post, page"}}
|
||||||
|
{{> "lightbox"}}
|
||||||
|
{{/is}}
|
||||||
|
|
||||||
{{!-- Scripts - handle member signups, responsive videos, infinite scroll, floating headers, and galleries --}}
|
{{!-- Scripts - handle member signups, responsive videos, infinite scroll, floating headers, and galleries --}}
|
||||||
<script
|
<script
|
||||||
|
@ -17,7 +17,7 @@ Keep this template as lightweight as you can!
|
|||||||
<section class="error-message">
|
<section class="error-message">
|
||||||
<h1 class="error-code">{{statusCode}}</h1>
|
<h1 class="error-code">{{statusCode}}</h1>
|
||||||
<p class="error-description">{{message}}</p>
|
<p class="error-description">{{message}}</p>
|
||||||
<a class="error-link" href="{{@site.url}}">Go to the front page →</a>
|
<a class="error-link" href="{{@site.url}}">{{t "Go to the front page"}} →</a>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
@ -46,7 +46,7 @@ Keep this template as lightweight as you can!
|
|||||||
<section class="error-message">
|
<section class="error-message">
|
||||||
<h1 class="error-code">{{statusCode}}</h1>
|
<h1 class="error-code">{{statusCode}}</h1>
|
||||||
<p class="error-description">{{message}}</p>
|
<p class="error-description">{{message}}</p>
|
||||||
<a class="error-link" href="{{@site.url}}">Go to the front page →</a>
|
<a class="error-link" href="{{@site.url}}">{{t "Go to the front page"}} →</a>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{{#if errorDetails}}
|
{{#if errorDetails}}
|
||||||
@ -58,8 +58,8 @@ Keep this template as lightweight as you can!
|
|||||||
<em class="error-stack-function">{{{rule}}}</em>
|
<em class="error-stack-function">{{{rule}}}</em>
|
||||||
|
|
||||||
{{#foreach failures}}
|
{{#foreach failures}}
|
||||||
<p><span class="error-stack-file">Ref: {{ref}}</span></p>
|
<p><span class="error-stack-file">{{t "Ref"}} {{ref}}</span></p>
|
||||||
<p><span class="error-stack-file">Message: {{message}}</span></p>
|
<p><span class="error-stack-file">{{t "Message"}} {{message}}</span></p>
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
</li>
|
</li>
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
|
21
locales/de.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Geben sie ihre E-Mail Adresse ein",
|
||||||
|
"Account": "Konto",
|
||||||
|
"Subscribe": "Abonnieren",
|
||||||
|
"Subscribe to {blogtitle}": "Abonniere {blogtitle}",
|
||||||
|
"A collection of posts": "Eine Sammlung von Artikeln",
|
||||||
|
"A collection of 1 post": "Eine Sammlung von einem Artikel",
|
||||||
|
"A collection of % posts": "Eine Sammlung von % Artikeln",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Erhalte die neusten Artikel direkt in dein Postfach",
|
||||||
|
"Go to the front page": "Gehe zur Startseite",
|
||||||
|
"Latest Posts": "Neuste Artikel",
|
||||||
|
"Message": "Fehlermeldung",
|
||||||
|
"No posts": "Keine Artikel",
|
||||||
|
"Ref": "Ref",
|
||||||
|
"1 post": "1 Artikel",
|
||||||
|
"% posts": "% Artikel",
|
||||||
|
"1 min read": "Lesezeit: 1 Min.",
|
||||||
|
"% min read": "Lesezeit: % Min.",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Großartig!</strong> Überprüfen Sie Ihren Posteingang und klicken Sie auf den Link, um Ihr Abonnement zu bestätigen.",
|
||||||
|
"Please enter a valid email address!": "Bitte geben Sie eine gültige E-Mail-Adresse ein!"
|
||||||
|
}
|
21
locales/en.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Enter your email",
|
||||||
|
"Account": "Account",
|
||||||
|
"Subscribe": "Subscribe",
|
||||||
|
"Subscribe to {blogtitle}": "Subscribe to {blogtitle}",
|
||||||
|
"A collection of posts": "A collection of posts",
|
||||||
|
"A collection of 1 post": "A collection of 1 post",
|
||||||
|
"A collection of % posts": "A collection of % posts",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Get the latest posts delivered right to your inbox",
|
||||||
|
"Go to the front page": "Go to the front page",
|
||||||
|
"Latest Posts": "Latest Posts",
|
||||||
|
"Message": "Message",
|
||||||
|
"No posts": "No posts",
|
||||||
|
"Ref": "Ref",
|
||||||
|
"1 post": "1 post",
|
||||||
|
"% posts": "% posts",
|
||||||
|
"1 min read": "1 min read",
|
||||||
|
"% min read": "% min read",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.",
|
||||||
|
"Please enter a valid email address!": "Please enter a valid email address!"
|
||||||
|
}
|
21
locales/es.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Introduce tu correo electrónico",
|
||||||
|
"Account": "Cuenta ",
|
||||||
|
"Subscribe": "Suscríbete",
|
||||||
|
"Subscribe to {blogtitle}": "Suscríbete a {blogtitle}",
|
||||||
|
"A collection of posts": "Una colección de artículos",
|
||||||
|
"A collection of 1 post": "Una colección de 1 artículo",
|
||||||
|
"A collection of % posts": "Una colección de % artículos",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Recibe los últimos artículos directamente en tu buzón",
|
||||||
|
"Go to the front page": "Ir a la página de inicio",
|
||||||
|
"Latest Posts": "Últimos Artículos",
|
||||||
|
"Message": "Mensaje",
|
||||||
|
"No posts": "No hay artículos",
|
||||||
|
"Ref": "Ref",
|
||||||
|
"1 post": "1 artículo",
|
||||||
|
"% posts": "% artículos",
|
||||||
|
"1 min read": "1 min de lectura",
|
||||||
|
"% min read": "% min de lectura",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>¡Excelente!</strong> Revise su bandeja de entrada y haga clic en el enlace para confirmar su suscripción.",
|
||||||
|
"Please enter a valid email address!": "¡Por favor, introduce una dirección de correo electrónico válida!"
|
||||||
|
}
|
21
locales/fi.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Syötä sähköpostiosoitteesi",
|
||||||
|
"Account": "Tili",
|
||||||
|
"Subscribe": "Tilaa",
|
||||||
|
"Subscribe to {blogtitle}": "Tilaa blogi {blogtitle}",
|
||||||
|
"A collection of posts": "Artikkelien kokoelma",
|
||||||
|
"A collection of 1 post": "Kokoelmassa 1 artikkeli",
|
||||||
|
"A collection of % posts": "Kokoelmassa % artikkelia",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Tilaa uusimmat artikkelit suoraan sähköpostiisi",
|
||||||
|
"Go to the front page": "Go to the front page",
|
||||||
|
"Latest Posts": "Uusimmat artikkelit",
|
||||||
|
"Message": "Viesti",
|
||||||
|
"No posts": "Ei artikkeleita",
|
||||||
|
"Ref": "Ref",
|
||||||
|
"1 post": "Yksi artikkeli",
|
||||||
|
"% posts": "% artikkelia",
|
||||||
|
"1 min read": "Lukuaika 1 minuutti",
|
||||||
|
"% min read": "Lukuaika % minuuttia",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Loistava!</strong> Tarkista postilaatikkosi ja vahvista tilauksesi napsauttamalla linkkiä.",
|
||||||
|
"Please enter a valid email address!": "Ole hyvä ja syötä toimiva sähköpostiosoite!"
|
||||||
|
}
|
21
locales/fr.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Entrer votre Email",
|
||||||
|
"Account": "Compte",
|
||||||
|
"Subscribe": "S’abonner",
|
||||||
|
"Subscribe to {blogtitle}": "S’abonner à {blogtitle}",
|
||||||
|
"A collection of posts": "Une catégorie d’articles",
|
||||||
|
"A collection of 1 post": "Une catégorie avec un article",
|
||||||
|
"A collection of % posts": "Une catégorie avec % articles",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Recevez les derniers articles directement dans votre boîte aux lettres.",
|
||||||
|
"Go to the front page": "Aller sur la page d’accueil",
|
||||||
|
"Latest Posts": "Derniers articles",
|
||||||
|
"Message": "Message",
|
||||||
|
"No posts": "Aucun article",
|
||||||
|
"Ref": "Réf",
|
||||||
|
"1 post": "Un article",
|
||||||
|
"% posts": "% articles",
|
||||||
|
"1 min read": "1 min de lecture",
|
||||||
|
"% min read": "% min de lecture",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Génial!</strong> Vérifiez votre boîte de réception et cliquez sur le lien pour confirmer votre abonnement.",
|
||||||
|
"Please enter a valid email address!": "S'il vous plaît, mettez une adresse email valide!"
|
||||||
|
}
|
21
locales/hr.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Upiši svoj email",
|
||||||
|
"Account": "Račun",
|
||||||
|
"Subscribe": "Pretplati se",
|
||||||
|
"Subscribe to {blogtitle}": "Pretplati se na {blogtitle}",
|
||||||
|
"A collection of posts": "Kolekcija postova",
|
||||||
|
"A collection of 1 post": "Kolekcija s jednim postom",
|
||||||
|
"A collection of % posts": "Kolekcija sa % postova",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Najnoviji postovi će biti dostavljeni u tvoj inbox",
|
||||||
|
"Go to the front page": "Go to the front page",
|
||||||
|
"Latest Posts": "Noviji Postovi",
|
||||||
|
"Message": "Poruka",
|
||||||
|
"No posts": "Nema postova",
|
||||||
|
"Ref": "Ref",
|
||||||
|
"1 post": "1 post",
|
||||||
|
"% posts": "% postova",
|
||||||
|
"1 min read": "1 min čitanja",
|
||||||
|
"% min read": "% min čitanja",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Sjajno!</strong> Provjerite pristiglu poštu i kliknite vezu da biste potvrdili pretplatu.",
|
||||||
|
"Please enter a valid email address!": "Unesite valjanu adresu e-pošte!"
|
||||||
|
}
|
21
locales/hu.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Írd be az email címed",
|
||||||
|
"Account": "fiók",
|
||||||
|
"Subscribe": "Feliratkozás",
|
||||||
|
"Subscribe to {blogtitle}": "Iratkozz fel a {blogtitle}re",
|
||||||
|
"A collection of posts": "Cikkek gyűjteménye",
|
||||||
|
"A collection of 1 post": "Itt csupán egy cikk van",
|
||||||
|
"A collection of % posts": "% cikk gyűjteménye",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Olvasd a legfrissebb cikkeket egyenesen a virtuális postaládádból",
|
||||||
|
"Go to the front page": "Vissza a kezdőlapra",
|
||||||
|
"Latest Posts": "Legfrissebb cikkek",
|
||||||
|
"Message": "Üzenet:",
|
||||||
|
"No posts": "Nincsenek cikkek",
|
||||||
|
"Ref": "Ref",
|
||||||
|
"1 post": "1 cikk",
|
||||||
|
"% posts": "% cikk",
|
||||||
|
"1 min read": "1 perces",
|
||||||
|
"% min read": "% perces",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Nagy!</strong> Ellenőrizze a beérkező leveleket, és kattintson a linkre az előfizetés megerősítéséhez.",
|
||||||
|
"Please enter a valid email address!": "Kérjük valós e-mail címet adjon meg!"
|
||||||
|
}
|
21
locales/id.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Masukkan email Anda",
|
||||||
|
"Account": "Akun",
|
||||||
|
"Subscribe": "Langganan",
|
||||||
|
"Subscribe to {blogtitle}": "Langganan ke {blogtitle}",
|
||||||
|
"A collection of posts": "Koleksi artikel-artikel",
|
||||||
|
"A collection of 1 post": "Koleksi berisi 1 artikel",
|
||||||
|
"A collection of % posts": "Koleksi berisi % artikel",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Langganan via email",
|
||||||
|
"Go to the front page": "Ke halaman depan",
|
||||||
|
"Latest Posts": "Artikel terbaru",
|
||||||
|
"Message": "Pesan",
|
||||||
|
"No posts": "Tidak ada artikel",
|
||||||
|
"Ref": "Ref",
|
||||||
|
"1 post": "1 artikel",
|
||||||
|
"% posts": "% artikel",
|
||||||
|
"1 min read": "Bacaan 1 menit",
|
||||||
|
"% min read": "Bacaan % menit",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Bagus!</strong> Periksa kotak masuk Anda dan klik tautan untuk mengonfirmasi langganan Anda.",
|
||||||
|
"Please enter a valid email address!": "Silakan isi alamat email!"
|
||||||
|
}
|
21
locales/it.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Inserisci la tua email",
|
||||||
|
"Account": "Account",
|
||||||
|
"Subscribe": "Iscriviti",
|
||||||
|
"Subscribe to {blogtitle}": "Iscriviti a {blogtitle}",
|
||||||
|
"A collection of posts": "Una collezione di articoli",
|
||||||
|
"A collection of 1 post": "Una collezione di 1 articolo",
|
||||||
|
"A collection of % posts": "Una collezione di % articoli",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Ricevi gli articoli più recenti direttamente nella tua casella di posta",
|
||||||
|
"Go to the front page": "Go to the front page",
|
||||||
|
"Latest Posts": "Ultimi articoli",
|
||||||
|
"Message": "Messaggio",
|
||||||
|
"No posts": "Nessun articolo",
|
||||||
|
"Ref": "Rif",
|
||||||
|
"1 post": "1 articolo",
|
||||||
|
"% posts": "% articoli",
|
||||||
|
"1 min read": "1 minuto di lettura",
|
||||||
|
"% min read": "% minuti di lettura",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Ottimo!</strong> Controlla la posta in arrivo e fai clic sul link per confermare l'iscrizione.",
|
||||||
|
"Please enter a valid email address!": "Si prega di inserire un indirizzo email valido!"
|
||||||
|
}
|
21
locales/lt.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Įrašykite savo el. paštą",
|
||||||
|
"Account": "Sąskaita",
|
||||||
|
"Subscribe": "Prenumeruoti",
|
||||||
|
"Subscribe to {blogtitle}": "Prenumeruoti {blogtitle}",
|
||||||
|
"A collection of posts": "A collection of posts",
|
||||||
|
"A collection of 1 post": "A collection of 1 post",
|
||||||
|
"A collection of % posts": "A collection of % posts",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Gaukite naujienas į savo pašto dėžutę",
|
||||||
|
"Go to the front page": "Go to the front page",
|
||||||
|
"Latest Posts": "Paskutiniai įrašai",
|
||||||
|
"Message": "Pranešimas",
|
||||||
|
"No posts": "Nėra įrašų",
|
||||||
|
"Ref": "Nuoroda",
|
||||||
|
"1 post": "1 įrašas",
|
||||||
|
"% posts": "% įrašų",
|
||||||
|
"1 min read": "1 min skaitymo",
|
||||||
|
"% min read": "% min skaitymo",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Puiku!</strong> Patikrinkite gautuosius ir spustelėkite nuorodą, kad patvirtintumėte prenumeratą.",
|
||||||
|
"Please enter a valid email address!": "Prašome įvesti galiojantį elektroninio pašto adresą!"
|
||||||
|
}
|
21
locales/lv.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Ievadiet savu e-pastu",
|
||||||
|
"Account": "Konts",
|
||||||
|
"Subscribe": "Abonēt",
|
||||||
|
"Subscribe to {blogtitle}": "Abonēt {blogtitle}",
|
||||||
|
"A collection of posts": "Ziņu kolekcija",
|
||||||
|
"A collection of 1 post": "1 ziņa kolekcija",
|
||||||
|
"A collection of % posts": "% ziņu kolekcija",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Saņemiet jaunākās ziņas tieši jūsu iesūtnē",
|
||||||
|
"Go to the front page": "Dodieties uz sākumlapu",
|
||||||
|
"Latest Posts": "Dodieties uz sākumlapu",
|
||||||
|
"Message": "Ziņojums",
|
||||||
|
"No posts": "Nav ziņu",
|
||||||
|
"Ref": "Atsauce",
|
||||||
|
"1 post": "1 ziņa",
|
||||||
|
"% posts": "% ziņas",
|
||||||
|
"1 min read": "1 minūte lasīt",
|
||||||
|
"% min read": "% minūtes lasīts",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Lieliski!</strong> Pārbaudiet savu iesūtni un noklikšķiniet uz saites, lai apstiprinātu abonementu.",
|
||||||
|
"Please enter a valid email address!": "Lūdzu, ievadiet derīgu e-pasta adresi!"
|
||||||
|
}
|
21
locales/nb.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Skriv inn din email",
|
||||||
|
"Account": "Regnskap",
|
||||||
|
"Subscribe": "Abbonér",
|
||||||
|
"Subscribe to {blogtitle}": "Abbonér på {blogtitle}",
|
||||||
|
"A collection of posts": "En samling innlegg",
|
||||||
|
"A collection of 1 post": "En samling av 1 innlegg",
|
||||||
|
"A collection of % posts": "En samling % innlegg",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Få siste innlegg levert rett til din innboks",
|
||||||
|
"Go to the front page": "Go to the front page",
|
||||||
|
"Latest Posts": "Siste innlegg",
|
||||||
|
"Message": "Beskjed",
|
||||||
|
"No posts": "Ingen innlegg",
|
||||||
|
"Ref": "Ref",
|
||||||
|
"1 post": "1 innlegg",
|
||||||
|
"% posts": "% innlegg",
|
||||||
|
"1 min read": "1 min lesetid",
|
||||||
|
"% min read": "% min lesetid",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Flott!</strong> Sjekk innboksen din, og klikk på lenken for å bekrefte abonnementet.",
|
||||||
|
"Please enter a valid email address!": "Vennligst skriv inn en gyldig e-post adresse!"
|
||||||
|
}
|
22
locales/nl.json
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Voer je mailadres in ",
|
||||||
|
"Account": "Account",
|
||||||
|
"Subscribe": "Abonneren",
|
||||||
|
"Sign in": "Inloggen",
|
||||||
|
"Subscribe to {blogtitle}": "Abonneer je op {blogtitle}",
|
||||||
|
"A collection of posts": "Een collectie van berichten",
|
||||||
|
"A collection of 1 post": "Een collectie van 1 bericht",
|
||||||
|
"A collection of % posts": "Een collectie van % berichten",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Krijg nieuwe berichten direct in je inbox",
|
||||||
|
"Go to the front page": "Ga naar de voorpagina",
|
||||||
|
"Latest Posts": "Laatste berichten",
|
||||||
|
"Message": "Melding",
|
||||||
|
"No posts": "Geen berichten",
|
||||||
|
"Ref": "Ref",
|
||||||
|
"1 post": "1 bericht",
|
||||||
|
"% posts": "% bericht",
|
||||||
|
"1 min read": "1 minuut leestijd",
|
||||||
|
"% min read": "% minuten leestijd",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Geweldig!</strong> Controleer je inbox en klik op de link om je abonnement te bevestigen.",
|
||||||
|
"Please enter a valid email address!": "Voer alsjeblieft geen geldig e-mailadres in!"
|
||||||
|
}
|
21
locales/pl.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Wprowadź swój email",
|
||||||
|
"Account": "Rachunek",
|
||||||
|
"Subscribe": "Subskrybuj",
|
||||||
|
"Subscribe to {blogtitle}": "Subskrybuj {blogtitle}",
|
||||||
|
"A collection of posts": "Kolekcja wpisów",
|
||||||
|
"A collection of 1 post": "Kolekcja 1 wpisu",
|
||||||
|
"A collection of % posts": "Kolekcja % wpisów",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Otrzymuj najnowsze wpisy na skrzynkę pocztową",
|
||||||
|
"Go to the front page": "Przejdź do strony głównej",
|
||||||
|
"Latest Posts": "Najnowsze wpisy",
|
||||||
|
"Message": "Wiadomość",
|
||||||
|
"No posts": "Brak wpisów",
|
||||||
|
"Ref": "Ref",
|
||||||
|
"1 post": "1 wpis",
|
||||||
|
"% posts": "% wpisów",
|
||||||
|
"1 min read": "lektura na 1 min",
|
||||||
|
"% min read": "lektura na % min",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Świetnie!</strong> Sprawdź swoją skrzynkę odbiorczą i kliknij link, aby potwierdzić subskrypcję.",
|
||||||
|
"Please enter a valid email address!": "Proszę wpisać aktualny adres e-mail!"
|
||||||
|
}
|
21
locales/ro.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Introduceți adresa dvs. de email",
|
||||||
|
"Account": "Cont",
|
||||||
|
"Subscribe": "Înscrie-te",
|
||||||
|
"Subscribe to {blogtitle}": "Înscrie-te la {blogtitle}",
|
||||||
|
"A collection of posts": "O colecție de articole",
|
||||||
|
"A collection of 1 post": "O colecție de un articol",
|
||||||
|
"A collection of % posts": "O colecție de % articole",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Citește ultimele articole livrate direct în inbox-ul tău",
|
||||||
|
"Go to the front page": "Go to the front page",
|
||||||
|
"Latest Posts": "Ultimele Articole",
|
||||||
|
"Message": "Mesaj",
|
||||||
|
"No posts": "Nu există articole",
|
||||||
|
"Ref": "Ref",
|
||||||
|
"1 post": "1 articol",
|
||||||
|
"% posts": "% articole",
|
||||||
|
"1 min read": "lectură de 1 min",
|
||||||
|
"% min read": "lectură de % min",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Minunat!</strong> Verificați căsuța de e-mail și dați clic pe link pentru a vă confirma abonamentul.",
|
||||||
|
"Please enter a valid email address!": "Te rog introdu o adresa de email valida!"
|
||||||
|
}
|
21
locales/ru.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Введите адрес электронной почты",
|
||||||
|
"Account": "Аккаунт",
|
||||||
|
"Subscribe": "Подписаться",
|
||||||
|
"Subscribe to": "Подписаться на",
|
||||||
|
"A collection of posts": "Коллекция статей",
|
||||||
|
"A collection of 1 post": "Коллекция из 1 статьи",
|
||||||
|
"A collection of % posts": "Коллекция из % статей",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Получайте свежие статьи прямо на свою почту",
|
||||||
|
"Go to the front page": "На главную",
|
||||||
|
"Latest Posts": "Последние статьи",
|
||||||
|
"Message": "Сообщение",
|
||||||
|
"No posts": "Статьи отсутствуют",
|
||||||
|
"Ref": "Ссылка",
|
||||||
|
"1 post": "1 статья",
|
||||||
|
"% posts": "% статьи(-ей)",
|
||||||
|
"1 min read": "1 мин на чтение",
|
||||||
|
"% min read": "% мин на чтение",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Отлично!</strong> Проверьте свой почтовый ящик и нажмите ссылку, чтобы подтвердить подписку",
|
||||||
|
"Please enter a valid email address!": "Пожалуйста, введите действительный адрес электронной почты!"
|
||||||
|
}
|
21
locales/sv.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "Skriv in din e-postadress",
|
||||||
|
"Account": "Konto",
|
||||||
|
"Subscribe": "Prenumerera",
|
||||||
|
"Subscribe to {blogtitle}": "Prenumerera på {blogtitle}",
|
||||||
|
"A collection of posts": "En samling artiklar",
|
||||||
|
"A collection of 1 post": "En samling av 1 artikel",
|
||||||
|
"A collection of % posts": "En samling av % artiklar",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Få de senaste artiklarna levererade direkt till din inkorg",
|
||||||
|
"Go to the front page": "Go to the front page",
|
||||||
|
"Latest Posts": "Senaste artiklarna",
|
||||||
|
"Message": "Meddelande",
|
||||||
|
"No posts": "Inga artiklar",
|
||||||
|
"Ref": "Ref",
|
||||||
|
"1 post": "1 artikel",
|
||||||
|
"% posts": "% artiklar",
|
||||||
|
"1 min read": "1 minuts läsning",
|
||||||
|
"% min read": "% minuters läsning",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Bra!</strong> Kontrollera din inkorg och klicka på länken för att bekräfta din prenumeration.",
|
||||||
|
"Please enter a valid email address!": "Ange en giltig e-postadress!"
|
||||||
|
}
|
21
locales/tr.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "E-postanızı giriniz",
|
||||||
|
"Account": "Hesap",
|
||||||
|
"Subscribe": "Abone Ol",
|
||||||
|
"Subscribe to {blogtitle}": "{blogtitle} abone ol",
|
||||||
|
"A collection of posts": "Yazılar",
|
||||||
|
"A collection of 1 post": "1 yazı",
|
||||||
|
"A collection of % posts": "% yazı",
|
||||||
|
"Get the latest posts delivered right to your inbox": "Son paylaşılan içerikler gelen kutuna gelsin",
|
||||||
|
"Go to the front page": "Anasayfaya git",
|
||||||
|
"Latest Posts": "Son Yazılar",
|
||||||
|
"Message": "İleti",
|
||||||
|
"No posts": "İçerik Yok",
|
||||||
|
"Ref": "Ref",
|
||||||
|
"1 post": "1 yazı",
|
||||||
|
"% posts": "% yazı",
|
||||||
|
"1 min read": "1 dakikalık okuma",
|
||||||
|
"% min read": "% dakikalık okuma",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>Harika!</strong> Gelen kutunuzu kontrol edin ve aboneliğinizi onaylamak için bağlantıyı tıklayın.",
|
||||||
|
"Please enter a valid email address!": "Geçerli bir e!"
|
||||||
|
}
|
21
locales/zh.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Enter your email": "输入你的电子邮箱",
|
||||||
|
"Account": "帐户",
|
||||||
|
"Subscribe": "订阅",
|
||||||
|
"Subscribe to {blogtitle}": "订阅{blogtitle}",
|
||||||
|
"A collection of posts": "文章集合",
|
||||||
|
"A collection of 1 post": "共1篇文章",
|
||||||
|
"A collection of % posts": "共%篇文章",
|
||||||
|
"Get the latest posts delivered right to your inbox": "最新文章直达邮箱",
|
||||||
|
"Go to the front page": "Go to the front page",
|
||||||
|
"Latest Posts": "最新文章",
|
||||||
|
"Message": "信息",
|
||||||
|
"No posts": "没有文章",
|
||||||
|
"Ref": "参考",
|
||||||
|
"1 post": "1 篇文章",
|
||||||
|
"% posts": "% 篇文章",
|
||||||
|
"1 min read": "1 min read",
|
||||||
|
"% min read": "% min read",
|
||||||
|
"<strong>Great!</strong> Check your inbox and click the link to confirm your subscription.": "<strong>好极了!</strong> 检查您的收件箱,然后单击链接以确认您的订阅。",
|
||||||
|
"Please enter a valid email address!": "请输入有效的电子邮件地址!"
|
||||||
|
}
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"name": "casper",
|
"name": "casper-i18n",
|
||||||
"description": "A clean, minimal default theme for the Ghost publishing platform",
|
"description": "The same casper theme, but with localization support",
|
||||||
"demo": "https://demo.ghost.io",
|
"demo": "https://demo.ghost.io",
|
||||||
"version": "5.5.3",
|
"version": "5.9.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
"ghost": ">=5.0.0"
|
"ghost": ">=5.0.0"
|
||||||
},
|
},
|
||||||
@ -49,7 +49,7 @@
|
|||||||
"autoprefixer": "10.4.7",
|
"autoprefixer": "10.4.7",
|
||||||
"beeper": "2.1.0",
|
"beeper": "2.1.0",
|
||||||
"cssnano": "5.1.12",
|
"cssnano": "5.1.12",
|
||||||
"gscan": "4.36.1",
|
"gscan": "4.48.0",
|
||||||
"gulp": "4.0.2",
|
"gulp": "4.0.2",
|
||||||
"gulp-concat": "2.6.1",
|
"gulp-concat": "2.6.1",
|
||||||
"gulp-livereload": "4.0.2",
|
"gulp-livereload": "4.0.2",
|
||||||
|
2
page.hbs
@ -10,6 +10,7 @@ into the {body} tag of the default.hbs template --}}
|
|||||||
<main id="site-main" class="site-main">
|
<main id="site-main" class="site-main">
|
||||||
<article class="article {{post_class}}">
|
<article class="article {{post_class}}">
|
||||||
|
|
||||||
|
{{#match @page.show_title_and_feature_image}}
|
||||||
<header class="article-header gh-canvas">
|
<header class="article-header gh-canvas">
|
||||||
|
|
||||||
<h1 class="article-title">{{title}}</h1>
|
<h1 class="article-title">{{title}}</h1>
|
||||||
@ -34,6 +35,7 @@ into the {body} tag of the default.hbs template --}}
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
{{/match}}
|
||||||
|
|
||||||
<section class="gh-content gh-canvas">
|
<section class="gh-content gh-canvas">
|
||||||
{{content}}
|
{{content}}
|
||||||
|
3
partials/icons/bluesky.hbs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg class="icon" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M11.8868 11.3624C10.8107 9.1288 7.87874 4.96656 5.15331 2.91348C3.18679 1.43245 0 0.28612 0 3.93314C0 4.66121 0.416033 10.0519 0.660462 10.927C1.50889 13.9693 4.60131 14.7453 7.352 14.2758C2.54378 15.0967 1.32092 17.8158 3.9624 20.535C8.97901 25.6994 11.1728 19.2393 11.7346 17.584C11.8385 17.2784 11.8868 17.1365 11.8868 17.262C11.8868 17.1365 11.9351 17.2784 12.0391 17.584C12.6008 19.2393 14.7946 25.6994 19.8113 20.535C22.4527 17.8158 21.2298 15.0967 16.4217 14.2758C19.1723 14.7453 22.2648 13.9693 23.1132 10.927C23.3576 10.0519 23.7736 4.66121 23.7736 3.93314C23.7736 0.28612 20.5872 1.43245 18.6204 2.91348C15.8949 4.96656 12.963 9.1288 11.8868 11.3624Z" fill="currentColor"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 789 B |
5
partials/icons/instagram.hbs
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<svg class="icon" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M12 2.982C14.937 2.982 15.285 2.993 16.445 3.046C17.1424 3.05412 17.8331 3.18233 18.487 3.425C18.965 3.60111 19.3973 3.88237 19.752 4.248C20.1176 4.60269 20.3989 5.035 20.575 5.513C20.8177 6.16685 20.9459 6.85762 20.954 7.555C21.007 8.715 21.018 9.063 21.018 12C21.018 14.937 21.007 15.285 20.954 16.445C20.9459 17.1424 20.8177 17.8331 20.575 18.487C20.3919 18.9615 20.1116 19.3924 19.752 19.752C19.3924 20.1116 18.9615 20.3919 18.487 20.575C17.8331 20.8177 17.1424 20.9459 16.445 20.954C15.285 21.007 14.937 21.018 12 21.018C9.063 21.018 8.715 21.007 7.555 20.954C6.85762 20.9459 6.16685 20.8177 5.513 20.575C5.035 20.3989 4.60269 20.1176 4.248 19.752C3.88237 19.3973 3.60111 18.965 3.425 18.487C3.18233 17.8331 3.05412 17.1424 3.046 16.445C2.993 15.285 2.982 14.937 2.982 12C2.982 9.063 2.993 8.715 3.046 7.555C3.05412 6.85762 3.18233 6.16685 3.425 5.513C3.60111 5.035 3.88237 4.60269 4.248 4.248C4.60269 3.88237 5.035 3.60111 5.513 3.425C6.16685 3.18233 6.85762 3.05412 7.555 3.046C8.715 2.993 9.063 2.982 12 2.982ZM12 1C9.013 1 8.638 1.013 7.465 1.066C6.55258 1.08486 5.6499 1.25762 4.795 1.577C4.06355 1.86017 3.3994 2.29319 2.84521 2.84824C2.29102 3.40329 1.85904 4.06811 1.577 4.8C1.25762 5.6549 1.08486 6.55758 1.066 7.47C1.013 8.638 1 9.013 1 12C1 14.987 1.013 15.362 1.066 16.535C1.08486 17.4474 1.25762 18.3501 1.577 19.205C1.86017 19.9365 2.29319 20.6006 2.84824 21.1548C3.40329 21.709 4.06811 22.141 4.8 22.423C5.6549 22.7424 6.55758 22.9151 7.47 22.934C8.638 22.987 9.013 23 12 23C14.987 23 15.362 22.987 16.535 22.934C17.4474 22.9151 18.3501 22.7424 19.205 22.423C19.9365 22.1398 20.6006 21.7068 21.1548 21.1518C21.709 20.5967 22.141 19.9319 22.423 19.2C22.7424 18.3451 22.9151 17.4424 22.934 16.53C22.987 15.362 23 14.987 23 12C23 9.013 22.987 8.638 22.934 7.465C22.9151 6.55258 22.7424 5.6499 22.423 4.795C22.1398 4.06355 21.7068 3.3994 21.1518 2.84521C20.5967 2.29102 19.9319 1.85904 19.2 1.577C18.3451 1.25762 17.4424 1.08486 16.53 1.066C15.362 1.013 14.987 1 12 1Z" fill="currentColor"/>
|
||||||
|
<path d="M11.9996 6.35107C10.8823 6.35107 9.79015 6.68238 8.86117 7.3031C7.9322 7.92382 7.20815 8.80608 6.78059 9.8383C6.35303 10.8705 6.24116 12.0063 6.45913 13.1021C6.6771 14.1979 7.21512 15.2045 8.00514 15.9945C8.79517 16.7845 9.80172 17.3226 10.8975 17.5405C11.9933 17.7585 13.1291 17.6466 14.1614 17.2191C15.1936 16.7915 16.0758 16.0675 16.6966 15.1385C17.3173 14.2095 17.6486 13.1173 17.6486 12.0001C17.6486 10.5019 17.0534 9.06502 15.994 8.00563C14.9346 6.94624 13.4978 6.35107 11.9996 6.35107ZM11.9996 15.6671C11.2743 15.6671 10.5653 15.452 9.96231 15.0491C9.35928 14.6461 8.88927 14.0734 8.61172 13.4034C8.33418 12.7333 8.26156 11.996 8.40305 11.2847C8.54454 10.5734 8.89379 9.91995 9.40663 9.40711C9.91947 8.89427 10.5729 8.54503 11.2842 8.40353C11.9955 8.26204 12.7328 8.33466 13.4029 8.61221C14.0729 8.88975 14.6457 9.35976 15.0486 9.9628C15.4515 10.5658 15.6666 11.2748 15.6666 12.0001C15.6666 12.9726 15.2802 13.9053 14.5925 14.593C13.9049 15.2807 12.9721 15.6671 11.9996 15.6671Z" fill="currentColor"/>
|
||||||
|
<path d="M17.8718 7.44811C18.6008 7.44811 19.1918 6.85712 19.1918 6.12811C19.1918 5.39909 18.6008 4.80811 17.8718 4.80811C17.1427 4.80811 16.5518 5.39909 16.5518 6.12811C16.5518 6.85712 17.1427 7.44811 17.8718 7.44811Z" fill="currentColor"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.3 KiB |
3
partials/icons/linkedin.hbs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg class="icon" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M22.2 0H1.8C1.32261 0 0.864773 0.18964 0.527213 0.527213C0.18964 0.864773 0 1.32261 0 1.8V22.2C0 22.6773 0.18964 23.1352 0.527213 23.4728C0.864773 23.8104 1.32261 24 1.8 24H22.2C22.6773 24 23.1352 23.8104 23.4728 23.4728C23.8104 23.1352 24 22.6773 24 22.2V1.8C24 1.32261 23.8104 0.864773 23.4728 0.527213C23.1352 0.18964 22.6773 0 22.2 0ZM7.2 20.4H3.6V9.6H7.2V20.4ZM5.4 7.5C4.98741 7.48821 4.58747 7.35509 4.25011 7.11729C3.91275 6.87949 3.65293 6.54755 3.50316 6.16293C3.35337 5.77832 3.32025 5.35809 3.40793 4.95476C3.4956 4.55144 3.7002 4.18288 3.99613 3.89517C4.29208 3.60745 4.66624 3.41332 5.07188 3.33704C5.47752 3.26075 5.89664 3.30569 6.27688 3.46625C6.65712 3.6268 6.98163 3.89585 7.20983 4.23977C7.43804 4.58371 7.55983 4.98725 7.56 5.4C7.55052 5.96441 7.318 6.50213 6.91327 6.89564C6.50852 7.28913 5.96447 7.50643 5.4 7.5ZM20.4 20.4H16.8V14.712C16.8 13.008 16.08 12.396 15.144 12.396C14.8696 12.4143 14.6015 12.4865 14.3551 12.6088C14.1087 12.7309 13.8888 12.9007 13.7081 13.108C13.5276 13.3155 13.3896 13.5565 13.3024 13.8173C13.2152 14.0781 13.1804 14.3536 13.2 14.628C13.194 14.6839 13.194 14.7401 13.2 14.796V20.4H9.6V9.6H13.08V11.16C13.4311 10.626 13.9133 10.1911 14.4807 9.89693C15.048 9.6028 15.6813 9.4592 16.32 9.48C18.18 9.48 20.352 10.512 20.352 13.872L20.4 20.4Z" fill="currentColor"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
3
partials/icons/mastodon.hbs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg class="icon" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.68 18.2926C19.6352 17.9336 22.2083 16.0807 22.5317 14.3878C23.0412 11.7208 22.9992 7.87958 22.9992 7.87958C22.9992 2.67325 19.647 1.14719 19.647 1.14719C17.9569 0.357269 15.0545 0.0250852 12.0393 0H11.9652C8.94993 0.0250852 6.04953 0.357269 4.35923 1.14719C4.35923 1.14719 1.00697 2.67325 1.00697 7.87958C1.00697 8.19521 1.00537 8.52719 1.0037 8.87279C0.999066 9.83259 0.993924 10.8974 1.02121 12.0089C1.14294 17.1004 1.93853 22.1184 6.56468 23.3644C8.69769 23.9389 10.529 24.0591 12.004 23.9766C14.6787 23.8257 16.1801 23.0053 16.1801 23.0053L16.092 21.0305C16.092 21.0305 14.1806 21.6438 12.0339 21.5691C9.90716 21.4949 7.66194 21.3357 7.31796 18.6786C7.28619 18.4452 7.2703 18.1957 7.2703 17.9336C7.2703 17.9336 9.35808 18.4528 12.004 18.5762C13.6218 18.6517 15.1391 18.4797 16.68 18.2926ZM19.045 14.5875V8.28346C19.045 6.99507 18.7227 5.97123 18.0752 5.21376C17.4074 4.45629 16.5328 4.06799 15.4474 4.06799C14.1913 4.06799 13.2402 4.55922 12.6114 5.54181L12 6.58465L11.3886 5.54181C10.7598 4.55922 9.80863 4.06799 8.55266 4.06799C7.46709 4.06799 6.59259 4.45629 5.92483 5.21376C5.27728 5.97123 4.9549 6.99507 4.9549 8.28346V14.5875H7.40928V8.46875C7.40928 7.17894 7.94259 6.52427 9.00936 6.52427C10.1888 6.52427 10.7801 7.30087 10.7801 8.8365V12.1856H13.22V8.8365C13.22 7.30087 13.8111 6.52427 14.9906 6.52427C16.0573 6.52427 16.5907 7.17894 16.5907 8.46875V14.5875H19.045Z" fill="currentColor"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
3
partials/icons/threads.hbs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg class="icon" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M17.5609 11.1236C17.4575 11.074 17.3526 11.0263 17.2462 10.9806C17.0611 7.56727 15.1967 5.61312 12.0661 5.59312C12.0519 5.59304 12.0379 5.59304 12.0237 5.59304C10.1512 5.59304 8.59388 6.39262 7.63537 7.84759L9.35708 9.0291C10.0732 7.94229 11.1969 7.7106 12.0245 7.7106C12.034 7.7106 12.0436 7.7106 12.0531 7.71068C13.0839 7.71726 13.8618 8.01708 14.3652 8.60175C14.7315 9.02742 14.9765 9.61563 15.0978 10.3579C14.1839 10.2026 13.1956 10.1548 12.139 10.2155C9.16261 10.387 7.24916 12.1235 7.37767 14.5365C7.44288 15.7605 8.05242 16.8135 9.09393 17.5014C9.97446 18.0829 11.1087 18.3673 12.2874 18.3029C13.844 18.2175 15.0652 17.6234 15.9171 16.5371C16.564 15.712 16.9732 14.6429 17.154 13.2958C17.8957 13.7436 18.4455 14.333 18.7492 15.0414C19.2655 16.2459 19.2956 18.225 17.6814 19.8385C16.267 21.2521 14.5669 21.8635 11.9976 21.8824C9.14756 21.8613 6.9921 20.9468 5.59068 19.1646C4.27836 17.4958 3.60015 15.0852 3.57484 12C3.60015 8.91472 4.27836 6.5042 5.59068 4.83533C6.9921 3.05312 9.14752 2.13875 11.9976 2.11756C14.8684 2.13891 17.0614 3.05767 18.5164 4.8485C19.2299 5.7267 19.7677 6.8311 20.1224 8.11879L22.14 7.58028C21.7102 5.99527 21.0338 4.62946 20.1135 3.49675C18.248 1.20083 15.5199 0.024398 12.0046 0H11.9906C8.48249 0.0243044 5.78485 1.20522 3.97257 3.50991C2.3599 5.5608 1.52804 8.41446 1.50008 11.9916L1.5 12L1.50008 12.0084C1.52804 15.5855 2.3599 18.4393 3.97257 20.4901C5.78485 22.7947 8.48249 23.9758 11.9906 24H12.0046C15.1235 23.9783 17.3219 23.1615 19.1329 21.3513C21.5024 18.9833 21.431 16.0149 20.6501 14.1927C20.0898 12.8859 19.0216 11.8245 17.5609 11.1236ZM12.1759 16.1884C10.8715 16.2619 9.51623 15.6761 9.44937 14.4215C9.39984 13.4913 10.1111 12.4533 12.256 12.3296C12.5016 12.3154 12.7427 12.3085 12.9794 12.3085C13.7585 12.3085 14.4874 12.3842 15.1499 12.5292C14.9028 15.6169 13.4532 16.1183 12.1759 16.1884Z" fill="currentColor"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
3
partials/icons/tiktok.hbs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg class="icon" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M10.1891 8.937V13.059C9.66997 12.9221 9.12673 12.9034 8.59942 13.0044C8.07212 13.1054 7.57419 13.3234 7.14234 13.6424C6.7105 13.9613 6.35575 14.3732 6.10423 14.8475C5.85272 15.3218 5.71085 15.8466 5.6891 16.383C5.65937 16.8449 5.72887 17.3078 5.89293 17.7405C6.057 18.1733 6.31182 18.5659 6.64027 18.892C6.96872 19.2181 7.36318 19.4701 7.79713 19.631C8.23108 19.7919 8.69446 19.8581 9.1561 19.825C9.62242 19.8608 10.0909 19.7949 10.5293 19.6319C10.9677 19.4689 11.3654 19.2126 11.6951 18.8809C12.0247 18.5491 12.2784 18.1498 12.4387 17.7104C12.5989 17.271 12.6618 16.8021 12.6231 16.336V0H16.7001C17.3931 4.315 19.5511 5.316 22.4401 5.778V9.913C20.438 9.74881 18.5067 9.09645 16.8151 8.013V16.18C16.8151 19.88 14.6251 24 9.1881 24C8.16806 23.9955 7.15918 23.7875 6.22058 23.3881C5.28199 22.9886 4.43258 22.4059 3.72213 21.6739C3.01168 20.942 2.4545 20.0755 2.08325 19.1254C1.712 18.1754 1.53414 17.1607 1.5601 16.141C1.59241 15.0794 1.84936 14.0366 2.31401 13.0815C2.77866 12.1265 3.44047 11.2807 4.2558 10.6C5.07114 9.9193 6.02148 9.41915 7.0442 9.1325C8.06691 8.84586 9.13876 8.77923 10.1891 8.937Z" fill="currentColor"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
@ -1 +1,3 @@
|
|||||||
<svg class="icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><path d="M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z"/></svg>
|
<svg class="icon" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M18.2439 2.25H21.5519L14.3249 10.51L22.8269 21.75H16.1699L10.9559 14.933L4.98991 21.75H1.67991L9.40991 12.915L1.25391 2.25H8.07991L12.7929 8.481L18.2439 2.25ZM17.0829 19.77H18.9159L7.08391 4.126H5.11691L17.0829 19.77Z" fill="currentColor"/>
|
||||||
|
</svg>
|
Before Width: | Height: | Size: 752 B After Width: | Height: | Size: 346 B |
3
partials/icons/youtube.hbs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg class="icon" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M21.3763 2.59736C22.4096 2.92662 23.2216 3.89324 23.4982 5.12324C23.9979 7.35042 24 12 24 12C24 12 24 16.6496 23.4982 18.8768C23.2216 20.1068 22.4096 21.0734 21.3763 21.4026C19.5055 22 12 22 12 22C12 22 4.49456 22 2.62363 21.4026C1.59039 21.0734 0.7784 20.1068 0.501806 18.8768C0 16.6496 0 12 0 12C0 12 0 7.35042 0.501806 5.12324C0.7784 3.89324 1.59039 2.92662 2.62363 2.59736C4.49456 2 12 2 12 2C12 2 19.5055 2 21.3763 2.59736ZM16.0153 12.0004L9.48326 15.8822V8.11841L16.0153 12.0004Z" fill="currentColor"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 654 B |
41
partials/lightbox.hbs
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">
|
||||||
|
<div class="pswp__bg"></div>
|
||||||
|
|
||||||
|
<div class="pswp__scroll-wrap">
|
||||||
|
<div class="pswp__container">
|
||||||
|
<div class="pswp__item"></div>
|
||||||
|
<div class="pswp__item"></div>
|
||||||
|
<div class="pswp__item"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pswp__ui pswp__ui--hidden">
|
||||||
|
<div class="pswp__top-bar">
|
||||||
|
<div class="pswp__counter"></div>
|
||||||
|
|
||||||
|
<button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
|
||||||
|
<button class="pswp__button pswp__button--share" title="Share"></button>
|
||||||
|
<button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
|
||||||
|
<button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
|
||||||
|
|
||||||
|
<div class="pswp__preloader">
|
||||||
|
<div class="pswp__preloader__icn">
|
||||||
|
<div class="pswp__preloader__cut">
|
||||||
|
<div class="pswp__preloader__donut"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
|
||||||
|
<div class="pswp__share-tooltip"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"></button>
|
||||||
|
<button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"></button>
|
||||||
|
|
||||||
|
<div class="pswp__caption">
|
||||||
|
<div class="pswp__caption__center"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -1,7 +1,7 @@
|
|||||||
{{!-- This is a partial file used to generate a post "card"
|
{{!-- This is a partial file used to generate a post "card"
|
||||||
which templates loop over to generate a list of posts. --}}
|
which templates loop over to generate a list of posts. --}}
|
||||||
|
|
||||||
<article class="post-card {{post_class}}{{#match @custom.feed_layout "Classic"}}{{#is "home"}}{{#has index="0"}} post-card-large{{/has}}{{#has index="1,2"}} dynamic{{/has}}{{/is}}{{/match}}{{#match @custom.feed_layout "Grid"}} keep-ratio{{/match}}{{#match @custom.feed_layout "List"}}{{#is "home, paged"}} post-card-large{{/is}}{{/match}}{{#unless access}} post-access-{{visibility}}{{/unless}}">
|
<article class="post-card {{post_class}}{{#match @custom.feed_layout "Classic"}}{{#is "home"}}{{#has index="0"}} post-card-large{{/has}}{{#has index="1,2"}} dynamic{{/has}}{{/is}}{{/match}}{{#match @custom.feed_layout "Grid"}} keep-ratio{{/match}}{{#match @custom.feed_layout "List"}}{{^is "tag, author"}} post-card-large{{/is}}{{/match}}{{#unless access}} post-access-{{visibility}}{{/unless}}">
|
||||||
|
|
||||||
{{#if feature_image}}
|
{{#if feature_image}}
|
||||||
<a class="post-card-image-link" href="{{url}}">
|
<a class="post-card-image-link" href="{{url}}">
|
||||||
@ -64,9 +64,9 @@ which templates loop over to generate a list of posts. --}}
|
|||||||
</a>
|
</a>
|
||||||
|
|
||||||
<footer class="post-card-meta">
|
<footer class="post-card-meta">
|
||||||
<time class="post-card-meta-date" datetime="{{date format="YYYY-MM-DD"}}">{{date}}</time>
|
<time class="post-card-meta-date" datetime="{{date format="YYYY-MM-DD"}}">{{date format="DD MMM YYYY"}}</time>
|
||||||
{{#if reading_time}}
|
{{#if reading_time}}
|
||||||
<span class="post-card-meta-length">{{reading_time}}</span>
|
<span class="post-card-meta-length">{{reading_time minute=(t "1 min read") minutes=(t "% min read")}}</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if @site.comments_enabled}}
|
{{#if @site.comments_enabled}}
|
||||||
{{comment_count}}
|
{{comment_count}}
|
||||||
|
40
partials/site-nav.hbs
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<nav class="site-nav">
|
||||||
|
<div class="site-nav-left-wrapper">
|
||||||
|
<div class="site-nav-left">
|
||||||
|
{{#if @site.logo}}
|
||||||
|
<a class="site-nav-logo" href="{{@site.url}}"><img src="{{@site.logo}}" alt="{{@site.title}}" /></a>
|
||||||
|
{{else}}
|
||||||
|
<a class="site-nav-logo" href="{{@site.url}}">{{@site.title}}</a>
|
||||||
|
{{/if}}
|
||||||
|
<div class="site-nav-content">
|
||||||
|
{{#if @site.navigation}}
|
||||||
|
{{navigation}}
|
||||||
|
{{/if}}
|
||||||
|
{{#is "post"}}
|
||||||
|
<span class="nav-post-title {{#unless @site.logo}}dash{{/unless}}">{{post.title}}</span>
|
||||||
|
{{/is}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="site-nav-right">
|
||||||
|
{{#if @site.secondary_navigation}}
|
||||||
|
{{navigation type="secondary"}}
|
||||||
|
{{else}}
|
||||||
|
<div class="social-links">
|
||||||
|
{{#if @site.facebook}}
|
||||||
|
<a class="social-link social-link-fb" href="{{facebook_url @site.facebook}}" title="Facebook" target="_blank" rel="noopener">{{> "icons/facebook"}}</a>
|
||||||
|
{{/if}}
|
||||||
|
{{#if @site.twitter}}
|
||||||
|
<a class="social-link social-link-tw" href="{{twitter_url @site.twitter}}" title="Twitter" target="_blank" rel="noopener">{{> "icons/twitter"}}</a>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
||||||
|
{{#unless @site.members_enabled}}
|
||||||
|
<a class="rss-button" href="https://feedly.com/i/subscription/feed/{{@site.url}}/rss/" title="RSS" target="_blank" rel="noopener">{{> "icons/rss"}}</a>
|
||||||
|
{{/unless}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if @site.members_enabled}}
|
||||||
|
<a class="subscribe-button" href="#subscribe">{{t "Subscribe"}}</a>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
||||||
|
</nav>
|
19
partials/subscribe-form.hbs
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<section class="subscribe-form">
|
||||||
|
<h3 class="subscribe-form-title">{{t "Subscribe to"}} {{@site.title}}</h3>
|
||||||
|
<p class="subscribe-form-description">{{t "Get the latest posts delivered right to your inbox"}}</p>
|
||||||
|
<form data-members-form="subscribe">
|
||||||
|
<div class="form-group">
|
||||||
|
<input class="subscribe-email" data-members-email placeholder="youremail@example.com" autocomplete="false" />
|
||||||
|
<button class="button primary" type="submit">
|
||||||
|
<span class="button-content">{{t "Subscribe"}}</span>
|
||||||
|
<span class="button-loader">{{> "icons/loader"}}</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="message-success">
|
||||||
|
{{t "<strong>Great!</strong> Check your inbox and click the link to confirm your subscription."}}
|
||||||
|
</div>
|
||||||
|
<div class="message-error">
|
||||||
|
{{t "Please enter a valid email address!"}}
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</section>
|
16
post.hbs
@ -32,15 +32,15 @@ into the {body} tag of the default.hbs template --}}
|
|||||||
<div class="article-byline">
|
<div class="article-byline">
|
||||||
<section class="article-byline-content">
|
<section class="article-byline-content">
|
||||||
|
|
||||||
<ul class="author-list">
|
<ul class="author-list instapaper_ignore">
|
||||||
{{#foreach authors}}
|
{{#foreach authors}}
|
||||||
<li class="author-list-item">
|
<li class="author-list-item">
|
||||||
{{#if profile_image}}
|
{{#if profile_image}}
|
||||||
<a href="{{url}}" class="author-avatar">
|
<a href="{{url}}" class="author-avatar" aria-label="Read more of {{name}}">
|
||||||
<img class="author-profile-image" src="{{img_url profile_image size="xs"}}" alt="{{name}}" />
|
<img class="author-profile-image" src="{{img_url profile_image size="xs"}}" alt="{{name}}" />
|
||||||
</a>
|
</a>
|
||||||
{{else}}
|
{{else}}
|
||||||
<a href="{{url}}" class="author-avatar author-profile-image">{{> "icons/avatar"}}</a>
|
<a href="{{url}}" class="author-avatar author-profile-image" aria-label="Read more of {{name}}">{{> "icons/avatar"}}</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</li>
|
</li>
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
@ -49,9 +49,9 @@ into the {body} tag of the default.hbs template --}}
|
|||||||
<div class="article-byline-meta">
|
<div class="article-byline-meta">
|
||||||
<h4 class="author-name">{{authors}}</h4>
|
<h4 class="author-name">{{authors}}</h4>
|
||||||
<div class="byline-meta-content">
|
<div class="byline-meta-content">
|
||||||
<time class="byline-meta-date" datetime="{{date format="YYYY-MM-DD"}}">{{date}}</time>
|
<time class="byline-meta-date" datetime="{{date format="YYYY-MM-DD"}}">{{date format="DD MMM YYYY"}}</time>
|
||||||
{{#if reading_time}}
|
{{#if reading_time}}
|
||||||
<span class="byline-reading-time"><span class="bull">•</span> {{reading_time}}</span>
|
<span class="byline-reading-time"><span class="bull">•</span> {{reading_time minute=(t "1 min read") minutes=(t "% min read")}}</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -104,8 +104,8 @@ into the {body} tag of the default.hbs template --}}
|
|||||||
<div class="inner">
|
<div class="inner">
|
||||||
{{#if @custom.email_signup_text}}<h2 class="footer-cta-title">{{@custom.email_signup_text}}</h2>{{/if}}
|
{{#if @custom.email_signup_text}}<h2 class="footer-cta-title">{{@custom.email_signup_text}}</h2>{{/if}}
|
||||||
<a class="footer-cta-button" href="#/portal" data-portal>
|
<a class="footer-cta-button" href="#/portal" data-portal>
|
||||||
<div class="footer-cta-input">Enter your email</div>
|
<div class="footer-cta-input">{{t "Enter your email"}}</div>
|
||||||
<span>Subscribe</span>
|
<span>{{t "Subscribe"}}</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@ -114,7 +114,6 @@ into the {body} tag of the default.hbs template --}}
|
|||||||
{{/unless}}
|
{{/unless}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
|
||||||
{{!-- Read more links, just above the footer --}}
|
{{!-- Read more links, just above the footer --}}
|
||||||
{{#if @custom.show_recent_posts_footer}}
|
{{#if @custom.show_recent_posts_footer}}
|
||||||
{{!-- The {#get} helper below fetches some of the latest posts here
|
{{!-- The {#get} helper below fetches some of the latest posts here
|
||||||
@ -133,7 +132,6 @@ into the {body} tag of the default.hbs template --}}
|
|||||||
</div>
|
</div>
|
||||||
</aside>
|
</aside>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{/get}}
|
{{/get}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|