mirror of
https://github.com/GenZmeY/casper-i18n.git
synced 2025-04-03 13:23:30 +00:00
Compare commits
87 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
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 | ||
![]() |
04d38dc829 | ||
![]() |
cf2cc8b725 | ||
67be55c9d8 | |||
263b6eedec | |||
![]() |
b6e5a17393 | ||
![]() |
3b485c14a1 | ||
![]() |
abc3799b82 | ||
![]() |
8af6945386 | ||
![]() |
6ee46686bc | ||
![]() |
fa7f9e57fc | ||
![]() |
aca62bd2ff | ||
![]() |
15fcd98965 | ||
0c770e598e | |||
![]() |
0b3fdc5d19 | ||
![]() |
90a7c1a1e2 | ||
![]() |
51eec34da9 | ||
![]() |
62af05d95b | ||
![]() |
bd75010b26 | ||
![]() |
8e326a6870 | ||
![]() |
542f519619 | ||
![]() |
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
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
2
LICENSE
@ -1,4 +1,4 @@
|
||||
Copyright (c) 2013-2023 Ghost Foundation
|
||||
Copyright (c) 2013-2025 Ghost Foundation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
|
92
README.md
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)
|
||||
|
||||
|
||||
|
||||
# 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.
|
||||
# Contribution
|
||||
|
||||
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 (c) 2013-2023 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 */
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -272,7 +272,7 @@ html {
|
||||
}
|
||||
body {
|
||||
color: var(--color-darkgrey);
|
||||
font-family: var(--font-sans);
|
||||
font-family: var(--gh-font-body, var(--font-sans));
|
||||
font-size: 1.6rem;
|
||||
line-height: 1.6em;
|
||||
font-weight: 400;
|
||||
@ -407,6 +407,7 @@ h5,
|
||||
h6 {
|
||||
margin-top: 0;
|
||||
line-height: 1.15;
|
||||
font-family: var(--gh-font-heading, var(--font-sans));
|
||||
font-weight: 600;
|
||||
text-rendering: optimizeLegibility;
|
||||
letter-spacing: -0.01em;
|
||||
|
@ -168,8 +168,8 @@ production stylesheet in assets/built/screen.css
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.has-serif-title .site-title {
|
||||
font-family: var(--font-serif);
|
||||
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .site-title {
|
||||
font-family: var(--gh-font-heading, var(--font-serif));
|
||||
}
|
||||
|
||||
.has-cover .site-title {
|
||||
@ -193,6 +193,14 @@ production stylesheet in assets/built/screen.css
|
||||
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 {
|
||||
max-width: 640px;
|
||||
margin-top: 16px;
|
||||
@ -406,6 +414,7 @@ production stylesheet in assets/built/screen.css
|
||||
|
||||
.gh-head-logo {
|
||||
display: block;
|
||||
font-family: var(--gh-font-heading, var(--font-sans));
|
||||
font-weight: 800;
|
||||
font-size: 2.6rem;
|
||||
letter-spacing: -0.02em;
|
||||
@ -986,8 +995,8 @@ production stylesheet in assets/built/screen.css
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.has-serif-title .post-card-title {
|
||||
font-family: var(--font-serif);
|
||||
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .post-card-title {
|
||||
font-family: var(--gh-font-heading, var(--font-serif));
|
||||
letter-spacing: -0.005em;
|
||||
}
|
||||
|
||||
@ -1014,8 +1023,8 @@ production stylesheet in assets/built/screen.css
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.has-sans-body .post-card-excerpt {
|
||||
font-family: var(--font-sans);
|
||||
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .post-card-excerpt {
|
||||
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 {
|
||||
@ -1071,7 +1080,6 @@ production stylesheet in assets/built/screen.css
|
||||
|
||||
.author-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin: 0 0 0 4px;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
@ -1251,8 +1259,8 @@ html.no-infinite-scroll .pagination {
|
||||
color: var(--color-darkgrey);
|
||||
}
|
||||
|
||||
.has-serif-title .article-title {
|
||||
font-family: var(--font-serif);
|
||||
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .article-title {
|
||||
font-family: var(--gh-font-heading, var(--font-serif));
|
||||
}
|
||||
|
||||
.article-excerpt {
|
||||
@ -1358,8 +1366,8 @@ headings, text, images and lists. We deal with cards lower down. */
|
||||
color: var(--color-darkgrey);
|
||||
}
|
||||
|
||||
.has-serif-title .gh-content > [id] {
|
||||
font-family: var(--font-serif);
|
||||
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-content > [id] {
|
||||
font-family: var(--gh-font-heading, var(--font-serif));
|
||||
}
|
||||
|
||||
/* Add back a top margin to all headings, unless a heading
|
||||
@ -1396,7 +1404,7 @@ is the very first element in the post content */
|
||||
.gh-content > ul,
|
||||
.gh-content > dl,
|
||||
.gh-content > p {
|
||||
font-family: var(--font-serif);
|
||||
font-family: var(--gh-font-body, var(--font-serif));
|
||||
font-weight: 400;
|
||||
font-size: 2rem;
|
||||
line-height: 1.6em;
|
||||
@ -1440,16 +1448,16 @@ is the very first element in the post content */
|
||||
font-size: 2.0rem;
|
||||
}
|
||||
|
||||
.has-sans-body .gh-content > blockquote,
|
||||
.has-sans-body .gh-content > ol,
|
||||
.has-sans-body .gh-content > ul,
|
||||
.has-sans-body .gh-content > dl,
|
||||
.has-sans-body .gh-content > p,
|
||||
.has-sans-body .gh-content .kg-callout-card .kg-callout-text,
|
||||
.has-sans-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 .gh-content .kg-toggle-card .kg-toggle-content > p {
|
||||
font-family: var(--font-sans);
|
||||
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > blockquote,
|
||||
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > ol,
|
||||
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > ul,
|
||||
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > dl,
|
||||
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > p,
|
||||
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-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-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 > ul,
|
||||
.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(--gh-font-body, var(--font-sans));
|
||||
}
|
||||
|
||||
.gh-content > ul,
|
||||
@ -1569,8 +1577,8 @@ except for when immediately preceeded by a heading */
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.has-serif-title .kg-toggle-card .kg-toggle-heading-text {
|
||||
font-family: var(--font-serif);
|
||||
.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 {
|
||||
@ -1582,8 +1590,8 @@ except for when immediately preceeded by a heading */
|
||||
color: var(--color-midgrey);
|
||||
}
|
||||
|
||||
.has-sans-body .kg-blockquote-alt {
|
||||
font-family: var(--font-sans);
|
||||
.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .kg-blockquote-alt {
|
||||
font-family: var(--gh-font-body, var(--font-sans));
|
||||
}
|
||||
|
||||
.kg-card.kg-header-card.kg-style-dark {
|
||||
@ -1594,8 +1602,8 @@ except for when immediately preceeded by a heading */
|
||||
color: color-mod(var(--color-darkgrey) l(-5%));
|
||||
}
|
||||
|
||||
.has-serif-title .kg-header-card h2.kg-header-card-header {
|
||||
font-family: var(--font-serif);
|
||||
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .kg-header-card h2.kg-header-card-header {
|
||||
font-family: var(--gh-font-heading, var(--font-serif));
|
||||
}
|
||||
|
||||
|
||||
@ -1775,6 +1783,12 @@ iframe.instagram-media + script + :not([id]) {
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.article-byline-content {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.article-byline-content .author-list {
|
||||
padding-right: 12px;
|
||||
}
|
||||
@ -1798,8 +1812,8 @@ iframe.instagram-media + script + :not([id]) {
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.has-serif-title .footer-cta-title {
|
||||
font-family: var(--font-serif);
|
||||
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .footer-cta-title {
|
||||
font-family: var(--gh-font-heading, var(--font-serif));
|
||||
}
|
||||
|
||||
.footer-cta-button {
|
||||
@ -2170,6 +2184,10 @@ html.dark-mode .site-header-content {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html.dark-mode .site-header-cover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
html.dark-mode .post-card-image {
|
||||
background: var(--color-darkmode);
|
||||
}
|
||||
@ -2253,14 +2271,6 @@ html.dark-mode .gh-content :not(pre) > code {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html.dark-mode .gh-content strong {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html.dark-mode .gh-content em {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html.dark-mode .gh-content code {
|
||||
color: #fff;
|
||||
background: #000;
|
||||
@ -2319,6 +2329,12 @@ html.dark-mode .kg-header-card h3.kg-header-card-subheader {
|
||||
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 {
|
||||
color: #fff;
|
||||
}
|
||||
@ -2362,6 +2378,10 @@ html.dark-mode .footer-cta-title {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html.auto-color .site-header-cover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
html.auto-color .post-card-image {
|
||||
background: var(--color-darkmode);
|
||||
}
|
||||
@ -2445,14 +2465,6 @@ html.dark-mode .footer-cta-title {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html.auto-color .gh-content strong {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html.auto-color .gh-content em {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html.auto-color .gh-content code {
|
||||
color: #fff;
|
||||
background: #000;
|
||||
@ -2511,6 +2523,12 @@ html.dark-mode .footer-cta-title {
|
||||
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 {
|
||||
color: #fff;
|
||||
}
|
||||
|
10
default.hbs
10
default.hbs
@ -58,13 +58,13 @@
|
||||
<div class="gh-head-members">
|
||||
{{#unless @member}}
|
||||
{{#unless @site.members_invite_only}}
|
||||
<a class="gh-head-link" href="#/portal/signin" data-portal="signin">Sign in</a>
|
||||
<a class="gh-head-button" href="#/portal/signup" data-portal="signup">Subscribe</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">{{t "Subscribe"}}</a>
|
||||
{{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}}
|
||||
{{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}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
@ -84,7 +84,7 @@
|
||||
<nav class="site-footer-nav">
|
||||
{{navigation type="secondary"}}
|
||||
</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>
|
||||
</footer>
|
||||
|
||||
|
@ -17,7 +17,7 @@ Keep this template as lightweight as you can!
|
||||
<section class="error-message">
|
||||
<h1 class="error-code">{{statusCode}}</h1>
|
||||
<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>
|
||||
</div>
|
||||
</section>
|
||||
|
@ -46,7 +46,7 @@ Keep this template as lightweight as you can!
|
||||
<section class="error-message">
|
||||
<h1 class="error-code">{{statusCode}}</h1>
|
||||
<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>
|
||||
|
||||
{{#if errorDetails}}
|
||||
@ -58,8 +58,8 @@ Keep this template as lightweight as you can!
|
||||
<em class="error-stack-function">{{{rule}}}</em>
|
||||
|
||||
{{#foreach failures}}
|
||||
<p><span class="error-stack-file">Ref: {{ref}}</span></p>
|
||||
<p><span class="error-stack-file">Message: {{message}}</span></p>
|
||||
<p><span class="error-stack-file">{{t "Ref"}} {{ref}}</span></p>
|
||||
<p><span class="error-stack-file">{{t "Message"}} {{message}}</span></p>
|
||||
{{/foreach}}
|
||||
</li>
|
||||
{{/foreach}}
|
||||
|
21
locales/de.json
Normal file
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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",
|
||||
"description": "A clean, minimal default theme for the Ghost publishing platform",
|
||||
"name": "casper-i18n",
|
||||
"description": "The same casper theme, but with localization support",
|
||||
"demo": "https://demo.ghost.io",
|
||||
"version": "5.7.1",
|
||||
"version": "5.8.1",
|
||||
"engines": {
|
||||
"ghost": ">=5.0.0"
|
||||
},
|
||||
@ -49,7 +49,7 @@
|
||||
"autoprefixer": "10.4.7",
|
||||
"beeper": "2.1.0",
|
||||
"cssnano": "5.1.12",
|
||||
"gscan": "4.36.1",
|
||||
"gscan": "4.43.1",
|
||||
"gulp": "4.0.2",
|
||||
"gulp-concat": "2.6.1",
|
||||
"gulp-livereload": "4.0.2",
|
||||
|
@ -64,9 +64,9 @@ which templates loop over to generate a list of posts. --}}
|
||||
</a>
|
||||
|
||||
<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}}
|
||||
<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 @site.comments_enabled}}
|
||||
{{comment_count}}
|
||||
|
40
partials/site-nav.hbs
Normal file
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
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>
|
12
post.hbs
12
post.hbs
@ -32,7 +32,7 @@ into the {body} tag of the default.hbs template --}}
|
||||
<div class="article-byline">
|
||||
<section class="article-byline-content">
|
||||
|
||||
<ul class="author-list">
|
||||
<ul class="author-list instapaper_ignore">
|
||||
{{#foreach authors}}
|
||||
<li class="author-list-item">
|
||||
{{#if profile_image}}
|
||||
@ -49,9 +49,9 @@ into the {body} tag of the default.hbs template --}}
|
||||
<div class="article-byline-meta">
|
||||
<h4 class="author-name">{{authors}}</h4>
|
||||
<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}}
|
||||
<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}}
|
||||
</div>
|
||||
</div>
|
||||
@ -104,8 +104,8 @@ into the {body} tag of the default.hbs template --}}
|
||||
<div class="inner">
|
||||
{{#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>
|
||||
<div class="footer-cta-input">Enter your email</div>
|
||||
<span>Subscribe</span>
|
||||
<div class="footer-cta-input">{{t "Enter your email"}}</div>
|
||||
<span>{{t "Subscribe"}}</span>
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
@ -114,7 +114,6 @@ into the {body} tag of the default.hbs template --}}
|
||||
{{/unless}}
|
||||
{{/if}}
|
||||
|
||||
|
||||
{{!-- Read more links, just above the footer --}}
|
||||
{{#if @custom.show_recent_posts_footer}}
|
||||
{{!-- 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>
|
||||
</aside>
|
||||
{{/if}}
|
||||
|
||||
{{/get}}
|
||||
{{/if}}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user