You've already forked Ghost-Theme-Source
Compare commits
16 Commits
renovate/m
...
v1.2.3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a2f77a5b9 | ||
|
|
b9ae39eab9 | ||
|
|
62cb3da424 | ||
|
|
f749b4bed0 | ||
|
|
daf120397f | ||
|
|
539464ac9b | ||
|
|
2cfe4e2016 | ||
|
|
3b99c9e881 | ||
|
|
0beef28a44 | ||
|
|
652105318e | ||
|
|
6e29abe79a | ||
|
|
dc3e6cb539 | ||
|
|
a2846beab2 | ||
|
|
ebc4792154 | ||
|
|
c060944364 | ||
|
|
d046267a3a |
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
@@ -59,9 +59,9 @@ production stylesheet in assets/built/screen.css
|
||||
--color-darker-gray: #15171a;
|
||||
--color-black: #000;
|
||||
--color-primary-text: var(--color-darker-gray);
|
||||
--color-secondary-text: rgb(0 0 0 / 0.5);
|
||||
--color-secondary-text: rgb(0 0 0 / 0.55);
|
||||
--color-border: rgb(0 0 0 / 0.08);
|
||||
--color-dark-border: rgb(0 0 0 / 0.5);
|
||||
--color-dark-border: rgb(0 0 0 / 0.55);
|
||||
--font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
|
||||
--font-serif: "EB Garamond", Georgia, Times, serif;
|
||||
--font-serif-alt: Georgia, Times, serif;
|
||||
@@ -238,7 +238,6 @@ a:hover {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
max-width: 560px;
|
||||
width: 100%;
|
||||
height: 56px;
|
||||
@@ -365,11 +364,20 @@ button.gh-form-input {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.gh-form [data-members-error] {
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
margin-top: 10px;
|
||||
width: 100%;
|
||||
font-size: 1.4rem;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
@media (max-width: 576px) {
|
||||
.gh-form {
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
|
||||
|
||||
.gh-form .gh-button {
|
||||
padding-inline: 12px;
|
||||
}
|
||||
@@ -515,6 +523,11 @@ button.gh-form-input {
|
||||
gap: 24px;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
background-color: var(--background-color);
|
||||
}
|
||||
|
||||
.gh-navigation.has-accent-color .gh-navigation-actions {
|
||||
background-color: var(--ghost-accent-color);
|
||||
}
|
||||
|
||||
.gh-navigation-members {
|
||||
@@ -972,7 +985,6 @@ Search LOGO Login Subscribe
|
||||
display: -webkit-box;
|
||||
overflow-y: hidden;
|
||||
margin-top: 8px;
|
||||
max-width: 720px;
|
||||
font-size: 1.45rem;
|
||||
line-height: 1.4;
|
||||
-webkit-line-clamp: 2;
|
||||
@@ -983,6 +995,7 @@ Search LOGO Login Subscribe
|
||||
display: flex;
|
||||
gap: 4px;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
padding-bottom: 1px;
|
||||
font-size: 1.25rem;
|
||||
font-weight: 500;
|
||||
@@ -991,6 +1004,13 @@ Search LOGO Login Subscribe
|
||||
color: var(--color-secondary-text);
|
||||
}
|
||||
|
||||
.gh-card-meta svg {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-right: 2px;
|
||||
margin-top: -2px;
|
||||
}
|
||||
|
||||
.gh-card-meta:not(:empty) {
|
||||
margin-top: 12px;
|
||||
}
|
||||
@@ -1377,6 +1397,7 @@ Search LOGO Login Subscribe
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 48px;
|
||||
overflow: unset;
|
||||
margin: auto;
|
||||
max-width: 1020px;
|
||||
text-align: center;
|
||||
@@ -2127,6 +2148,20 @@ unless a heading is the very first element in the post content */
|
||||
margin-top: calc(56px * var(--content-spacing-factor, 1));
|
||||
}
|
||||
|
||||
/* Add drop cap setting */
|
||||
.post-template .gh-content.drop-cap > p:first-of-type:first-letter {
|
||||
margin :0 0.2em 0em 0;
|
||||
font-size: 3.1em;
|
||||
float:left;
|
||||
line-height: 1;
|
||||
margin-left: -1px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.has-serif-body.post-template .gh-content.drop-cap > p:first-of-type:first-letter {
|
||||
font-size: 3.2em;
|
||||
}
|
||||
|
||||
/* Add a small margin between a heading and paragraph after it */
|
||||
.gh-content > [id] + p {
|
||||
margin-top: calc(12px * var(--content-spacing-factor, 1));
|
||||
@@ -2143,6 +2178,11 @@ unless a heading is the very first element in the post content */
|
||||
}
|
||||
|
||||
/* Now the content typography styles */
|
||||
.gh-content h1 {
|
||||
font-size: calc(2.2em * var(--factor, 1));
|
||||
letter-spacing: -0.02em;
|
||||
}
|
||||
|
||||
.gh-content h2 {
|
||||
font-size: calc(1.6em * var(--factor, 1));
|
||||
letter-spacing: -0.02em;
|
||||
@@ -2198,51 +2238,63 @@ unless a heading is the very first element in the post content */
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.gh-content table:not(.gist table) {
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
overflow-x: auto;
|
||||
.gh-content .gh-table {
|
||||
overflow-x: scroll;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
.gh-content .gh-table table {
|
||||
width: 100%;
|
||||
font-family: var(--font-sans);
|
||||
font-size: 1.6rem;
|
||||
font-size: 1.5rem;
|
||||
white-space: nowrap;
|
||||
vertical-align: top;
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
background: radial-gradient(ellipse at left, rgb(0 0 0 / 0.2) 0%, rgb(0 0 0 / 0) 75%) 0 center, radial-gradient(ellipse at right, rgb(0 0 0 / 0.2) 0%, rgb(0 0 0 / 0) 75%) 100% center;
|
||||
background-repeat: no-repeat;
|
||||
background-attachment: scroll, scroll;
|
||||
background-size: 10px 100%, 10px 100%;
|
||||
}
|
||||
|
||||
.gh-content table:not(.gist table) td:first-child {
|
||||
background-image: linear-gradient(to right, rgb(255 255 255 / 1) 50%, rgb(255 255 255 / 0) 100%);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 20px 100%;
|
||||
}
|
||||
|
||||
.gh-content table:not(.gist table) td:last-child {
|
||||
background-image: linear-gradient(to left, rgb(255 255 255 / 1) 50%, rgb(255 255 255 / 0) 100%);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 100% 0;
|
||||
background-size: 20px 100%;
|
||||
}
|
||||
|
||||
.gh-content table:not(.gist table) th {
|
||||
.gh-content .gh-table table th {
|
||||
font-size: 1.2rem;
|
||||
font-weight: 700;
|
||||
color: var(--color-darkgrey);
|
||||
text-align: left;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.2px;
|
||||
background-color: var(--color-white);
|
||||
}
|
||||
|
||||
.gh-content table:not(.gist table) th,
|
||||
.gh-content table:not(.gist table) td {
|
||||
.gh-content .gh-table table :is(th, td),
|
||||
.gh-content .gh-table table td {
|
||||
padding: 6px 12px;
|
||||
border: 1px solid var(--color-light-gray);
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
}
|
||||
|
||||
.gh-content .gh-table table :is(th, td):first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.gh-content .gh-table table :is(th, td):last-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.gh-content pre {
|
||||
overflow: auto;
|
||||
padding: 16px;
|
||||
font-size: 1.5rem;
|
||||
line-height: 1.5em;
|
||||
background: var(--color-lighter-gray);
|
||||
border-radius: 6px;
|
||||
font-family: var(--font-mono);
|
||||
}
|
||||
|
||||
.gh-content :not(pre) > code {
|
||||
vertical-align: baseline;
|
||||
padding: 0.15em 0.4em;
|
||||
font-weight: 400;
|
||||
font-size: 0.95em;
|
||||
line-height: 1em;
|
||||
background: var(--color-lighter-gray);
|
||||
border-radius: 0.25em;
|
||||
font-family: var(--font-mono);
|
||||
}
|
||||
|
||||
/* 16. Cards
|
||||
@@ -2335,7 +2387,11 @@ blockquote.kg-blockquote-alt {
|
||||
/* Button */
|
||||
|
||||
.kg-card.kg-button-card .kg-btn {
|
||||
height: unset;
|
||||
padding: .6em 1.2em;
|
||||
text-align: center;
|
||||
font-size: 1em;
|
||||
line-height: 1.2em;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
|
||||
@@ -7,8 +7,10 @@
|
||||
burger.addEventListener('click', function () {
|
||||
if (!navigation.classList.contains('is-open')) {
|
||||
navigation.classList.add('is-open');
|
||||
document.documentElement.style.overflowY = 'hidden';
|
||||
} else {
|
||||
navigation.classList.remove('is-open');
|
||||
document.documentElement.style.overflowY = null;
|
||||
}
|
||||
});
|
||||
})();
|
||||
@@ -43,4 +45,16 @@
|
||||
if (!document.body.classList.contains('home-template') && !document.body.classList.contains('post-template')) {
|
||||
pagination();
|
||||
}
|
||||
})();
|
||||
|
||||
/* Responsive HTML table */
|
||||
(function () {
|
||||
const tables = document.querySelectorAll('.gh-content > table:not(.gist table)');
|
||||
|
||||
tables.forEach(function (table) {
|
||||
const wrapper = document.createElement('div');
|
||||
wrapper.className = 'gh-table';
|
||||
table.parentNode.insertBefore(wrapper, table);
|
||||
wrapper.appendChild(table);
|
||||
});
|
||||
})();
|
||||
@@ -26,6 +26,11 @@
|
||||
https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */
|
||||
var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color');
|
||||
accentColor = accentColor.trim().slice(1);
|
||||
|
||||
if (accentColor.length === 3) {
|
||||
accentColor = accentColor[0] + accentColor[0] + accentColor[1] + accentColor[1] + accentColor[2] + accentColor[2];
|
||||
}
|
||||
|
||||
var r = parseInt(accentColor.substr(0, 2), 16);
|
||||
var g = parseInt(accentColor.substr(2, 2), 16);
|
||||
var b = parseInt(accentColor.substr(4, 2), 16);
|
||||
|
||||
17
package.json
17
package.json
@@ -2,7 +2,7 @@
|
||||
"name": "source",
|
||||
"description": "A default theme for the Ghost publishing platform",
|
||||
"demo": "https://source.ghost.io",
|
||||
"version": "1.1.2",
|
||||
"version": "1.2.3",
|
||||
"engines": {
|
||||
"ghost": ">=5.0.0"
|
||||
},
|
||||
@@ -191,6 +191,21 @@
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"group": "homepage"
|
||||
},
|
||||
"show_post_metadata": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"group": "post"
|
||||
},
|
||||
"enable_drop_caps_on_posts": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"group": "post"
|
||||
},
|
||||
"show_related_articles": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"group": "post"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
{{#if @custom.signup_subheading}}{{@custom.signup_subheading}}{{else}}{{@site.description}}{{/if}}
|
||||
</p>
|
||||
</div>
|
||||
{{> "email-subscription"}}
|
||||
{{> "email-subscription" email_field_id="cta-email"}}
|
||||
</div>
|
||||
</section>
|
||||
{{/match}}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
Powered by <a href="https://ghost.org/" target="_blank" rel="noopener">Ghost</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{{#if @site.members_enabled}}
|
||||
{{#unless @member}}
|
||||
<section class="gh-footer-signup">
|
||||
@@ -26,7 +26,7 @@
|
||||
<p class="gh-footer-signup-subhead is-body">
|
||||
{{#if @custom.signup_subheading}}{{@custom.signup_subheading}}{{else}}{{@site.description}}{{/if}}
|
||||
</p>
|
||||
{{> "email-subscription"}}
|
||||
{{> "email-subscription" email_field_id="footer-email"}}
|
||||
</section>
|
||||
{{/unless}}
|
||||
{{/if}}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<section class="gh-header is-{{#match headerStyle "Magazine"}}magazine{{else match headerStyle "Highlight"}}highlight{{else}}classic{{/match}}{{#if @custom.background_image}}{{#if @site.cover_image}} has-image{{/if}}{{/if}} gh-outer">
|
||||
|
||||
|
||||
{{!-- Background image --}}
|
||||
{{#if @custom.background_image}}
|
||||
{{#match headerStyle "!=" "Magazine"}}
|
||||
@@ -64,7 +64,7 @@
|
||||
{{!-- Landing layout --}}
|
||||
{{#match headerStyle "Landing"}}
|
||||
<h1 class="gh-header-title is-title">{{#if @custom.header_text}}{{@custom.header_text}}{{else}}{{@site.description}}{{/if}}</h1>
|
||||
{{> "email-subscription"}}
|
||||
{{> "email-subscription" email_field_id="header-email"}}
|
||||
{{/match}}
|
||||
|
||||
{{!-- Search layout --}}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
{{/if}}
|
||||
</a>
|
||||
{{> "search-toggle"}}
|
||||
<button class="gh-burger gh-icon-button">
|
||||
<button class="gh-burger gh-icon-button" aria-label="Menu">
|
||||
{{> "icons/burger"}}
|
||||
{{> "icons/close"}}
|
||||
</button>
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
<form class="gh-form" data-members-form>
|
||||
<input class="gh-form-input" type="email" placeholder="jamie@example.com" required data-members-email>
|
||||
<button class="gh-button" type="submit">
|
||||
<input class="gh-form-input" id="{{email_field_id}}" type="email" placeholder="jamie@example.com" required data-members-email>
|
||||
<button class="gh-button" type="submit" aria-label="Subscribe">
|
||||
<span><span>Subscribe</span> {{> "icons/arrow"}}</span>
|
||||
{{> "icons/loader"}}
|
||||
{{> "icons/checkmark"}}
|
||||
</button>
|
||||
<p data-members-error></p>
|
||||
</form>
|
||||
@@ -1,5 +1 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16.25 6.875H3.75C3.40482 6.875 3.125 7.15482 3.125 7.5V16.25C3.125 16.5952 3.40482 16.875 3.75 16.875H16.25C16.5952 16.875 16.875 16.5952 16.875 16.25V7.5C16.875 7.15482 16.5952 6.875 16.25 6.875Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
<path d="M7.1875 6.875V4.0625C7.1875 3.31658 7.48382 2.60121 8.01126 2.07376C8.53871 1.54632 9.25408 1.25 10 1.25C10.7459 1.25 11.4613 1.54632 11.9887 2.07376C12.5162 2.60121 12.8125 3.31658 12.8125 4.0625V6.875" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
<path d="M10 13.125C10.6904 13.125 11.25 12.5654 11.25 11.875C11.25 11.1846 10.6904 10.625 10 10.625C9.30964 10.625 8.75 11.1846 8.75 11.875C8.75 12.5654 9.30964 13.125 10 13.125Z" fill="currentColor"></path>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" height="20" width="20" id="Lock-1--Streamline-Ultimate"><defs></defs><title>lock-1</title><path d="M4.375 8.125h11.25s1.25 0 1.25 1.25v8.75s0 1.25 -1.25 1.25H4.375s-1.25 0 -1.25 -1.25v-8.75s0 -1.25 1.25 -1.25" fill="none" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M5.625 8.125V5a4.375 4.375 0 0 1 8.75 0v3.125" fill="none" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="m10 12.5 0 2.5" fill="none" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></svg>
|
||||
|
Before Width: | Height: | Size: 932 B After Width: | Height: | Size: 678 B |
@@ -21,10 +21,20 @@
|
||||
<p class="gh-card-tag">{{primary_tag.name}}</p>
|
||||
{{/if}}
|
||||
<h3 class="gh-card-title is-title">{{title}}</h3>
|
||||
{{#if excerpt}}
|
||||
<p class="gh-card-excerpt is-body">{{excerpt}}</p>
|
||||
{{#if custom_excerpt}}
|
||||
<p class="gh-card-excerpt is-body">{{custom_excerpt}}</p>
|
||||
{{/if}}
|
||||
<footer class="gh-card-meta"><!--
|
||||
{{#unless custom_excerpt}}
|
||||
{{#if excerpt}}
|
||||
<p class="gh-card-excerpt is-body">{{excerpt}}</p>
|
||||
{{/if}}
|
||||
{{/unless}}
|
||||
<footer class="gh-card-meta">
|
||||
{{#unless access}}
|
||||
{{^has visibility="public"}}
|
||||
{{> "icons/lock"}}
|
||||
{{/has}}
|
||||
{{/unless}}<!--
|
||||
-->{{#if @custom.show_author}}
|
||||
<span class="gh-card-author">By {{#foreach authors}}{{#if @first}}{{name}}{{else}}, {{name}}{{/if}}{{/foreach}}</span>
|
||||
{{/if}}
|
||||
|
||||
32
post.hbs
32
post.hbs
@@ -17,6 +17,7 @@
|
||||
<p class="gh-article-excerpt is-body">{{custom_excerpt}}</p>
|
||||
{{/if}}
|
||||
|
||||
{{#if @custom.show_post_metadata}}
|
||||
<div class="gh-article-meta">
|
||||
<div class="gh-article-author-image">
|
||||
{{#foreach authors}}
|
||||
@@ -39,12 +40,13 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{> "feature-image"}}
|
||||
|
||||
</header>
|
||||
|
||||
<section class="gh-content gh-canvas is-body">
|
||||
<section class="gh-content gh-canvas is-body{{#if @custom.enable_drop_caps_on_posts}} drop-cap{{/if}}">
|
||||
{{content}}
|
||||
</section>
|
||||
|
||||
@@ -60,17 +62,19 @@
|
||||
|
||||
{{/post}}
|
||||
|
||||
{{#get "posts" include="authors" filter="id:-{{post.id}}" limit="4" as |next|}}
|
||||
{{#if next}}
|
||||
<section class="gh-container is-grid gh-outer">
|
||||
<div class="gh-container-inner gh-inner">
|
||||
<h2 class="gh-container-title">Read more</h2>
|
||||
<div class="gh-feed">
|
||||
{{#foreach next}}
|
||||
{{> "post-card" lazyLoad=true}}
|
||||
{{/foreach}}
|
||||
{{#if @custom.show_related_articles}}
|
||||
{{#get "posts" include="authors" filter="id:-{{post.id}}" limit="4" as |next|}}
|
||||
{{#if next}}
|
||||
<section class="gh-container is-grid gh-outer">
|
||||
<div class="gh-container-inner gh-inner">
|
||||
<h2 class="gh-container-title">Read more</h2>
|
||||
<div class="gh-feed">
|
||||
{{#foreach next}}
|
||||
{{> "post-card" lazyLoad=true}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{/if}}
|
||||
{{/get}}
|
||||
</section>
|
||||
{{/if}}
|
||||
{{/get}}
|
||||
{{/if}}
|
||||
Reference in New Issue
Block a user