mirror of
https://github.com/GenZmeY/casper-i18n.git
synced 2025-07-12 16:56:06 +00:00
Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
505503a63b | |||
bd3fc7c2af | |||
5e0f765852 | |||
4293dab0a7 | |||
f00918589f | |||
0200889148 | |||
248c122f86 | |||
a007415d89 | |||
31188ce3c0 | |||
e1967f8546 | |||
5259d551f5 | |||
115d1d820c | |||
81e4dfd52d | |||
cc4d828575 | |||
ebb2538215 | |||
3767e3d994 | |||
6d290485dc | |||
7da41d344f |
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
File diff suppressed because one or more lines are too long
@ -6,20 +6,19 @@ production stylesheet in assets/built/screen.css
|
||||
|
||||
1. Global Styles
|
||||
2. Layout
|
||||
3. Special Templates
|
||||
4. Site Header
|
||||
5. Site Navigation
|
||||
6. Post Feed
|
||||
7. Single Post
|
||||
7.1. Post Byline
|
||||
7.2. Members Subscribe Form
|
||||
7.4. Related Posts
|
||||
7.5. Koenig Styles
|
||||
7.6 Comments
|
||||
8. Author Template
|
||||
3. Site Header
|
||||
4. Site Navigation
|
||||
5. Post Feed
|
||||
6. Single Post
|
||||
6.1. Post Byline
|
||||
6.2. Subscribe
|
||||
6.3. Read More
|
||||
6.4. Comments
|
||||
7. Author Template
|
||||
8. Tag Template
|
||||
9. Error Template
|
||||
11. Site Footer
|
||||
12. Dark Mode
|
||||
10. Site Footer
|
||||
11. Dark Mode
|
||||
|
||||
*/
|
||||
|
||||
@ -87,7 +86,7 @@ production stylesheet in assets/built/screen.css
|
||||
}
|
||||
|
||||
|
||||
/* 4. Site Header
|
||||
/* 3. Site Header
|
||||
/* ---------------------------------------------------------- */
|
||||
|
||||
.site-header {
|
||||
@ -247,18 +246,18 @@ production stylesheet in assets/built/screen.css
|
||||
font-size: 3.4rem !important;
|
||||
}
|
||||
.site-description {
|
||||
font-size: 2.8rem !important;
|
||||
font-size: 2.2rem !important;
|
||||
}
|
||||
.site-logo + .site-description {
|
||||
margin-top: 12px !important;
|
||||
}
|
||||
.site-title + .site-description {
|
||||
margin-top: 4px !important;
|
||||
margin-top: 12px !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 5. Site Navigation
|
||||
/* 4. Site Navigation
|
||||
/* ---------------------------------------------------------- */
|
||||
|
||||
.gh-head {
|
||||
@ -266,6 +265,7 @@ production stylesheet in assets/built/screen.css
|
||||
font-size: 1.6rem;
|
||||
line-height: 1.3em;
|
||||
background-color: #fff;
|
||||
z-index: 150;
|
||||
}
|
||||
|
||||
.has-cover:not(.home-template) .gh-head {
|
||||
@ -303,17 +303,17 @@ production stylesheet in assets/built/screen.css
|
||||
grid-template-columns: auto 1fr auto;
|
||||
}
|
||||
|
||||
.is-head-left-logo.home-template .gh-head-logo {
|
||||
.is-head-left-logo.home-template .gh-head:not(.is-header-hidden) .gh-head-logo {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.is-head-left-logo.home-template .gh-head-menu {
|
||||
.is-head-left-logo.home-template .gh-head:not(.is-header-hidden) .gh-head-menu {
|
||||
margin-left: -40px;
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.is-head-left-logo .gh-head-menu {
|
||||
margin-right: 32px;
|
||||
margin-right: 64px;
|
||||
margin-left: 16px;
|
||||
}
|
||||
}
|
||||
@ -412,7 +412,7 @@ production stylesheet in assets/built/screen.css
|
||||
}
|
||||
|
||||
.gh-head-logo.no-image {
|
||||
margin-top: -2px;
|
||||
margin-top: -5px;
|
||||
}
|
||||
|
||||
.has-cover .gh-head-logo {
|
||||
@ -566,6 +566,17 @@ production stylesheet in assets/built/screen.css
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.gh-head-members {
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.gh-head-link {
|
||||
font-weight: 500;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.gh-head-button {
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
@ -585,6 +596,14 @@ production stylesheet in assets/built/screen.css
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.gh-head-members {
|
||||
flex-direction: column-reverse;
|
||||
gap: 16px;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Search
|
||||
/* ---------------------------------------------------------- */
|
||||
@ -614,13 +633,13 @@ production stylesheet in assets/built/screen.css
|
||||
margin-right: -4px;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
@media (max-width: 767px) {
|
||||
.gh-head-actions .gh-search {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
@media (min-width: 768px) {
|
||||
.gh-head-brand .gh-search {
|
||||
display: none;
|
||||
}
|
||||
@ -682,7 +701,7 @@ production stylesheet in assets/built/screen.css
|
||||
/* ---------------------------------------------------------- */
|
||||
/* IDs needed to ensure sufficient specificity */
|
||||
|
||||
@media (max-width: 991px) {
|
||||
@media (max-width: 767px) {
|
||||
#gh-head {
|
||||
height: 64px;
|
||||
}
|
||||
@ -744,6 +763,11 @@ production stylesheet in assets/built/screen.css
|
||||
transform: translateY(-4px);
|
||||
}
|
||||
|
||||
#gh-head :is(.gh-head-button, .gh-head-link) {
|
||||
opacity: 0;
|
||||
transform: translateY(8px);
|
||||
}
|
||||
|
||||
#gh-head .gh-head-button {
|
||||
width: 100%;
|
||||
font-size: 1.8rem;
|
||||
@ -754,10 +778,9 @@ production stylesheet in assets/built/screen.css
|
||||
|
||||
.gh-head-open #gh-head {
|
||||
position: fixed;
|
||||
right: 0;
|
||||
left: 0;
|
||||
inset: 0;
|
||||
z-index: 3999999;
|
||||
height: 100vh;
|
||||
height: 100%;
|
||||
overflow-y: scroll;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
@ -794,20 +817,24 @@ production stylesheet in assets/built/screen.css
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
align-items: center;
|
||||
padding: max(4vmin, 20px) 0;
|
||||
padding: max(4vmin, 20px) 0 max(4vmin, 28px);
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.gh-head-open #gh-head .gh-head-button {
|
||||
.gh-head-open #gh-head :is(.gh-head-button, .gh-head-link) {
|
||||
opacity: 1;
|
||||
transition: transform 0.4s, opacity 0.4s;
|
||||
transition-delay: 0.2s;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.gh-head-open #gh-head .gh-head-link {
|
||||
transition-delay: 0.4s;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 6. Post Feed
|
||||
/* 5. Post Feed
|
||||
/* ---------------------------------------------------------- */
|
||||
|
||||
.post-feed {
|
||||
@ -1181,7 +1208,7 @@ html.no-infinite-scroll .pagination {
|
||||
}
|
||||
|
||||
|
||||
/* 7. Single Post
|
||||
/* 6. Single Post
|
||||
/* ---------------------------------------------------------- */
|
||||
|
||||
.article {
|
||||
@ -1660,7 +1687,7 @@ iframe.instagram-media + script + :not([id]) {
|
||||
}
|
||||
|
||||
|
||||
/* 7.1. Post Byline
|
||||
/* 6.1. Post Byline
|
||||
/* ---------------------------------------------------------- */
|
||||
|
||||
.article-byline {
|
||||
@ -1723,7 +1750,7 @@ iframe.instagram-media + script + :not([id]) {
|
||||
}
|
||||
|
||||
|
||||
/* 7.3. Subscribe
|
||||
/* 6.2. Subscribe
|
||||
/* ---------------------------------------------------------- */
|
||||
|
||||
.footer-cta {
|
||||
@ -1773,7 +1800,7 @@ iframe.instagram-media + script + :not([id]) {
|
||||
}
|
||||
|
||||
|
||||
/* 7.4. Read more
|
||||
/* 6.3. Read more
|
||||
/* ---------------------------------------------------------- */
|
||||
|
||||
.read-more-wrap {
|
||||
@ -1812,7 +1839,7 @@ iframe.instagram-media + script + :not([id]) {
|
||||
}
|
||||
}
|
||||
|
||||
/* 7.6. Comments
|
||||
/* 6.4. Comments
|
||||
/* ---------------------------------------------------------- */
|
||||
.comments {
|
||||
display: flex;
|
||||
@ -1850,7 +1877,7 @@ iframe.instagram-media + script + :not([id]) {
|
||||
}
|
||||
|
||||
|
||||
/* 8. Author Template
|
||||
/* 7. Author Template
|
||||
/* ---------------------------------------------------------- */
|
||||
|
||||
.author-profile-pic {
|
||||
@ -1984,7 +2011,7 @@ iframe.instagram-media + script + :not([id]) {
|
||||
}
|
||||
|
||||
|
||||
/* 11. Site Footer
|
||||
/* 10. Site Footer
|
||||
/* ---------------------------------------------------------- */
|
||||
|
||||
.site-footer {
|
||||
@ -2071,7 +2098,7 @@ iframe.instagram-media + script + :not([id]) {
|
||||
}
|
||||
|
||||
|
||||
/* 12. Dark Mode
|
||||
/* 11. Dark Mode
|
||||
/* ---------------------------------------------------------- */
|
||||
|
||||
html.dark-mode body {
|
||||
@ -2096,8 +2123,9 @@ html.dark-mode .gh-head {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html.dark-mode .gh-burger-box {
|
||||
color: #fff;
|
||||
html.dark-mode .gh-burger::before,
|
||||
html.dark-mode .gh-burger::after {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
html.dark-mode .site-header-content {
|
||||
@ -2108,7 +2136,7 @@ html.dark-mode .post-card-image {
|
||||
background: var(--color-darkmode);
|
||||
}
|
||||
|
||||
html.dark-mode :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content) {
|
||||
html.dark-mode :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content, .pagination .page-number) {
|
||||
color: color-mod(var(--color-secondary-text) l(-22%));
|
||||
}
|
||||
|
||||
@ -2124,6 +2152,10 @@ html.dark-mode .post-card-excerpt {
|
||||
color: var(--color-secondary-text);
|
||||
}
|
||||
|
||||
html.dark-mode .pagination a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html.dark-mode .author-profile-location {
|
||||
color: #fff;
|
||||
}
|
||||
@ -2227,7 +2259,7 @@ html.dark-mode .gh-content table:not(.gist table) td {
|
||||
border: color-mod(var(--color-darkmode) l(+8%)) 1px solid;
|
||||
}
|
||||
|
||||
html.dark-mode .gh-content input {
|
||||
html.dark-mode .gh-content :is(input, textarea) {
|
||||
color: color-mod(var(--color-midgrey) l(-30%));
|
||||
}
|
||||
|
||||
@ -2253,6 +2285,12 @@ html.dark-mode .footer-cta-title {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
html.dark-mode .gh-head-open #gh-head .gh-head-actions {
|
||||
background-color: var(--color-darkmode);
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
html.auto-color body {
|
||||
color: rgba(255, 255, 255, 0.75);
|
||||
@ -2276,8 +2314,9 @@ html.dark-mode .footer-cta-title {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html.auto-color .gh-burger-box {
|
||||
color: #fff;
|
||||
html.auto-color .gh-burger::before,
|
||||
html.auto-color .gh-burger::after {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
html.auto-color .site-header-content {
|
||||
@ -2288,7 +2327,7 @@ html.dark-mode .footer-cta-title {
|
||||
background: var(--color-darkmode);
|
||||
}
|
||||
|
||||
html.auto-color :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content) {
|
||||
html.auto-color :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content, .pagination .page-number) {
|
||||
color: color-mod(var(--color-secondary-text) l(-22%));
|
||||
}
|
||||
|
||||
@ -2304,6 +2343,10 @@ html.dark-mode .footer-cta-title {
|
||||
color: var(--color-secondary-text);
|
||||
}
|
||||
|
||||
html.auto-color .pagination a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html.auto-color .author-profile-location {
|
||||
color: #fff;
|
||||
}
|
||||
@ -2407,7 +2450,7 @@ html.dark-mode .footer-cta-title {
|
||||
border: color-mod(var(--color-darkmode) l(+8%)) 1px solid;
|
||||
}
|
||||
|
||||
html.auto-color .gh-content input {
|
||||
html.auto-color .gh-content :is(input, textarea) {
|
||||
color: color-mod(var(--color-midgrey) l(-30%));
|
||||
}
|
||||
|
||||
@ -2432,6 +2475,12 @@ html.dark-mode .footer-cta-title {
|
||||
html.auto-color .footer-cta-title {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
html.auto-color .gh-head-open #gh-head .gh-head-actions {
|
||||
background-color: var(--color-darkmode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1,7 +1,8 @@
|
||||
(function () {
|
||||
const mediaQuery = window.matchMedia('(max-width: 991px)');
|
||||
const mediaQuery = window.matchMedia('(max-width: 767px)');
|
||||
|
||||
const menu = document.querySelector('.gh-head-menu');
|
||||
const head = document.querySelector('.gh-head');
|
||||
const menu = head.querySelector('.gh-head-menu');
|
||||
const nav = menu.querySelector('.nav');
|
||||
if (!nav) return;
|
||||
|
||||
@ -68,7 +69,7 @@
|
||||
});
|
||||
}
|
||||
|
||||
imagesLoaded(logo, function () {
|
||||
imagesLoaded(head, function () {
|
||||
makeDropdown();
|
||||
});
|
||||
|
||||
|
12
author.hbs
12
author.hbs
@ -9,17 +9,17 @@
|
||||
{{#author}}
|
||||
<section class="post-card post-card-large">
|
||||
|
||||
{{#if feature_image}}
|
||||
{{#if cover_image}}
|
||||
<div class="post-card-image-link">
|
||||
{{!-- This is a responsive image, it loads different sizes depending on device
|
||||
https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}}
|
||||
<img class="post-card-image"
|
||||
srcset="{{img_url feature_image size="s"}} 300w,
|
||||
{{img_url feature_image size="m"}} 600w,
|
||||
{{img_url feature_image size="l"}} 1000w,
|
||||
{{img_url feature_image size="xl"}} 2000w"
|
||||
srcset="{{img_url cover_image size="s"}} 300w,
|
||||
{{img_url cover_image size="m"}} 600w,
|
||||
{{img_url cover_image size="l"}} 1000w,
|
||||
{{img_url cover_image size="xl"}} 2000w"
|
||||
sizes="(max-width: 1000px) 400px, 800px"
|
||||
src="{{img_url feature_image size="m"}}"
|
||||
src="{{img_url cover_image size="m"}}"
|
||||
alt="{{title}}"
|
||||
/>
|
||||
</div>
|
||||
|
25
default.hbs
25
default.hbs
@ -21,17 +21,17 @@
|
||||
<body class="{{body_class}} is-head-{{#match @custom.navigation_layout "Logo on cover"}}left-logo{{else match @custom.navigation_layout "Logo in the middle"}}middle-logo{{else}}stacked{{/match}}{{#match @custom.title_font "=" "Elegant serif"}} has-serif-title{{/match}}{{#match @custom.body_font "=" "Modern sans-serif"}} has-sans-body{{/match}}{{#if @custom.show_publication_cover}} has-cover{{/if}}">
|
||||
<div class="viewport">
|
||||
|
||||
<header id="gh-head" class="gh-head outer">
|
||||
<header id="gh-head" class="gh-head outer{{#match @custom.header_style "Hidden"}} is-header-hidden{{/match}}">
|
||||
<div class="gh-head-inner inner">
|
||||
<div class="gh-head-brand">
|
||||
<a class="gh-head-logo" href="{{@site.url}}">
|
||||
<a class="gh-head-logo{{#unless @site.logo}} no-image{{/unless}}" href="{{@site.url}}">
|
||||
{{#if @site.logo}}
|
||||
<img src="{{@site.logo}}" alt="{{@site.title}}">
|
||||
{{else}}
|
||||
{{@site.title}}
|
||||
{{/if}}
|
||||
</a>
|
||||
<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>
|
||||
<button class="gh-burger"></button>
|
||||
</div>
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
{{navigation}}
|
||||
{{#unless @site.members_enabled}}
|
||||
{{#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}}
|
||||
{{/unless}}
|
||||
</nav>
|
||||
@ -51,15 +51,18 @@
|
||||
{{/match}}
|
||||
{{else}}
|
||||
<button class="gh-search gh-icon-btn" data-ghost-search>{{> "icons/search"}}</button>
|
||||
{{#unless @member}}
|
||||
{{#unless @site.members_invite_only}}
|
||||
<a class="gh-head-button" href="#/portal/signup" data-portal="signup">Subscribe</a>
|
||||
<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>
|
||||
{{else}}
|
||||
<a class="gh-head-button" href="#/portal/signin" data-portal="signin">Sign in</a>
|
||||
{{/unless}}
|
||||
{{else}}
|
||||
<a class="gh-head-button" href="#/portal/signin" data-portal="signin">Login</a>
|
||||
<a class="gh-head-button" href="#/portal/account" data-portal="account">Account</a>
|
||||
{{/unless}}
|
||||
{{else}}
|
||||
<a class="gh-head-button" href="#/portal/account" data-portal="account">Account</a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,9 +1,9 @@
|
||||
{{!--
|
||||
|
||||
There are two error files in this theme, one for 404s and one for all other errors.
|
||||
This file is the latter, and handle all 400/500 errors that might occur.
|
||||
This file is the latter, and handles all 400/500 errors that might occur.
|
||||
|
||||
Because 500 errors in particular usuall happen when a server is struggling, this
|
||||
Because 500 errors in particular usually happen when a server is struggling, this
|
||||
template is as simple as possible. No template dependencies, no JS, no API calls.
|
||||
This is to prevent rendering the error-page itself compounding the issue causing
|
||||
the error in the first place.
|
||||
|
@ -2,7 +2,7 @@
|
||||
"name": "casper",
|
||||
"description": "A clean, minimal default theme for the Ghost publishing platform",
|
||||
"demo": "https://demo.ghost.io",
|
||||
"version": "5.4.2",
|
||||
"version": "5.4.7",
|
||||
"engines": {
|
||||
"ghost": ">=5.0.0"
|
||||
},
|
||||
|
Reference in New Issue
Block a user