New theme
2
assets/built/main.min.js
vendored
Normal file
1
assets/built/main.min.js.map
Normal file
2
assets/built/screen.css
Normal file
1
assets/built/screen.css.map
Normal file
485
assets/css/screen.css
Normal file
@@ -0,0 +1,485 @@
|
||||
@import "shared/assets/css/screen.css";
|
||||
|
||||
@font-face {
|
||||
font-family: Mulish;
|
||||
font-style: normal;
|
||||
font-weight: 100 900;
|
||||
font-display: optional;
|
||||
src: url("/fonts/mulish-var.woff2") format("woff2");
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
|
||||
:root {
|
||||
--font-sans: Mulish, -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif; /* stylelint-disable-line value-keyword-case */
|
||||
--content-font-name: var(--font-sans);
|
||||
--content-font-size: 1.9rem;
|
||||
--content-letter-spacing: -0.01em;
|
||||
}
|
||||
|
||||
.gh-head {
|
||||
font-size: 1.7rem;
|
||||
}
|
||||
|
||||
.gh-head-brand-wrapper {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.gh-head-logo {
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.gh-head-description {
|
||||
position: relative;
|
||||
padding-left: 2.4rem;
|
||||
margin-left: 2.4rem;
|
||||
color: var(--color-secondary-text);
|
||||
}
|
||||
|
||||
.gh-head-description::before {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 0;
|
||||
width: 1px;
|
||||
height: 40px;
|
||||
margin-top: -20px;
|
||||
content: "";
|
||||
background-color: var(--color-light-gray);
|
||||
}
|
||||
|
||||
.gh-head-menu,
|
||||
.gh-head-actions {
|
||||
font-size: 1.3rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.01em;
|
||||
}
|
||||
|
||||
.gh-section + .gh-section {
|
||||
margin-top: 6.4rem;
|
||||
}
|
||||
|
||||
.gh-section-title {
|
||||
position: relative;
|
||||
margin-bottom: 6.4rem;
|
||||
font-size: 1.4rem;
|
||||
color: var(--ghost-accent-color);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.02em;
|
||||
}
|
||||
|
||||
.gh-section-title span {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.gh-section-title::after,
|
||||
.gh-section-title span::after {
|
||||
position: absolute;
|
||||
bottom: -12px;
|
||||
left: 0;
|
||||
z-index: 1;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
content: "";
|
||||
background-color: var(--color-light-gray);
|
||||
}
|
||||
|
||||
.gh-section-title span::after {
|
||||
z-index: 10;
|
||||
height: 4px;
|
||||
margin-bottom: 1px;
|
||||
background-color: var(--ghost-accent-color);
|
||||
}
|
||||
|
||||
.gh-feed .gh-card + .gh-card {
|
||||
padding-top: 4.8rem;
|
||||
margin-top: 4.8rem;
|
||||
border-top: 1px solid var(--color-darker-gray);
|
||||
}
|
||||
|
||||
.gh-card-link {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.gh-card-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 1.2rem;
|
||||
}
|
||||
|
||||
.gh-card-title {
|
||||
font-size: 3.2rem;
|
||||
font-weight: 800;
|
||||
transition: color 0.1s ease-in-out;
|
||||
}
|
||||
|
||||
.gh-card-link:hover .gh-card-title {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.gh-card-excerpt {
|
||||
font-size: 1.7rem;
|
||||
line-height: 1.5;
|
||||
color: var(--color-secondary-text);
|
||||
}
|
||||
|
||||
.gh-card-footer {
|
||||
margin-top: 2.4rem;
|
||||
line-height: 1;
|
||||
color: var(--color-secondary-text);
|
||||
}
|
||||
|
||||
.gh-card-date {
|
||||
font-size: 1.2rem;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.gh-featured .gh-card {
|
||||
margin: 0 -3.2rem;
|
||||
background: linear-gradient(315deg, #efefef, #fafafa);
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.gh-featured .gh-card + .gh-card {
|
||||
margin-top: 2.4rem;
|
||||
}
|
||||
|
||||
.gh-featured .gh-card-link {
|
||||
padding: 3.6rem 3.2rem;
|
||||
}
|
||||
|
||||
.gh-subscribe {
|
||||
padding: max(6.4vmin, 4rem) 2.4rem max(7.2vmin, 4rem);
|
||||
margin-top: 12vmin;
|
||||
margin-bottom: 4vmin;
|
||||
text-align: center;
|
||||
background: linear-gradient(315deg, #efefef, #fafafa);
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.gh-subscribe-title {
|
||||
font-size: var(--h1-size);
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.gh-subscribe-description {
|
||||
margin-top: 1.6rem;
|
||||
font-size: 1.8rem;
|
||||
line-height: 1.4;
|
||||
color: var(--color-secondary-text);
|
||||
}
|
||||
|
||||
.gh-subscribe-form-input {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
max-width: 560px;
|
||||
height: 56px;
|
||||
padding: 0 8px 0 2.4rem;
|
||||
margin: 4.8rem auto 0;
|
||||
font-size: 1.8rem;
|
||||
color: var(--color-secondary-text);
|
||||
background-color: var(--color-white);
|
||||
border-radius: 28px;
|
||||
transition: box-shadow 0.2s ease-in-out;
|
||||
}
|
||||
|
||||
.gh-subscribe-form-input:hover {
|
||||
box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.gh-subscribe-btn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: calc(100% - 16px);
|
||||
padding: 0 1.2rem 0 1.6rem;
|
||||
font-size: 1.3rem;
|
||||
font-weight: 800;
|
||||
color: var(--color-white);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.01em;
|
||||
background-color: var(--ghost-accent-color);
|
||||
border-radius: 28px;
|
||||
}
|
||||
|
||||
.gh-subscribe .gh-subscribe-btn svg {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.post-template .gh-head,
|
||||
.post-template .gh-article-header,
|
||||
.page-template .gh-head,
|
||||
.page-template .gh-article-header {
|
||||
background-color: var(--color-lighter-gray);
|
||||
}
|
||||
|
||||
.gh-article {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.gh-article-header {
|
||||
padding: 8vmin 0 calc(8vmin + 4rem);
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.no-image .gh-article-header,
|
||||
.home-template .gh-article-header {
|
||||
padding-bottom: max(4.8vmin, 3rem);
|
||||
}
|
||||
|
||||
.gh-article-header-wrapper {
|
||||
display: grid;
|
||||
grid-template-columns: 3fr 2fr;
|
||||
grid-column: wide-start/wide-end;
|
||||
column-gap: 4.8rem;
|
||||
}
|
||||
|
||||
.gh-article-meta {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 1.6rem;
|
||||
font-size: 1.3rem;
|
||||
font-weight: 600;
|
||||
line-height: 1;
|
||||
color: var(--color-secondary-text);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.gh-article-label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 1.6rem;
|
||||
font-weight: 700;
|
||||
color: var(--ghost-accent-color);
|
||||
}
|
||||
|
||||
.gh-article-label-indicator {
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
margin-top: -1px;
|
||||
margin-right: 0.6rem;
|
||||
background-color: var(--ghost-accent-color);
|
||||
border-radius: 50%;
|
||||
box-shadow: 0 0 0 0 var(--ghost-accent-color);
|
||||
transform: scale(1);
|
||||
-webkit-animation: pulse 2s infinite;
|
||||
animation: pulse 2s infinite;
|
||||
}
|
||||
|
||||
.gh-article-title {
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.gh-article-image {
|
||||
grid-column: auto;
|
||||
margin-top: -8vmin;
|
||||
}
|
||||
|
||||
.home-template .gh-article-image {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.gh-article-image img {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.gh-article-footer {
|
||||
margin-top: max(6.4vmin, 4.8rem);
|
||||
}
|
||||
|
||||
.gh-article-navigation {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr auto 1fr;
|
||||
padding-top: 2rem;
|
||||
font-size: 1.3rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.01em;
|
||||
border-top: 2px solid var(--color-darker-gray);
|
||||
}
|
||||
|
||||
.gh-article-navigation-previous {
|
||||
display: flex;
|
||||
margin-left: -5px;
|
||||
}
|
||||
|
||||
.gh-article-navigation-all {
|
||||
color: var(--ghost-accent-color);
|
||||
}
|
||||
|
||||
.gh-article-navigation-next {
|
||||
margin-right: -5px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.gh-pagehead {
|
||||
display: flex;
|
||||
margin: 8vmin 0 max(8vmin, 4.8rem);
|
||||
}
|
||||
|
||||
.author-template .gh-pagehead {
|
||||
position: relative;
|
||||
padding: 8rem 3.2rem 4rem;
|
||||
margin-top: calc(8vmin + 32px);
|
||||
margin-right: -3.2rem;
|
||||
margin-left: -3.2rem;
|
||||
background: linear-gradient(135deg, #efefef, #fafafa);
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.gh-pagehead-title {
|
||||
font-size: var(--h1-size);
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.gh-pagehead-description {
|
||||
margin-top: 1.2rem;
|
||||
font-size: 1.8rem;
|
||||
line-height: 1.5;
|
||||
color: var(--color-secondary-text);
|
||||
}
|
||||
|
||||
.gh-tag-name {
|
||||
color: var(--ghost-accent-color);
|
||||
}
|
||||
|
||||
.gh-author-image {
|
||||
position: absolute;
|
||||
top: -64px;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
margin-right: 3.2rem;
|
||||
background-color: var(--color-white);
|
||||
border: 4px solid var(--color-white);
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.gh-author-meta {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 2.4rem;
|
||||
}
|
||||
|
||||
.gh-author-meta > * + * {
|
||||
margin-left: 2rem;
|
||||
}
|
||||
|
||||
.gh-author-twitter,
|
||||
.gh-author-facebook {
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
.gh-author-facebook {
|
||||
margin-left: 1.2rem;
|
||||
}
|
||||
|
||||
.u-hover,
|
||||
.u-hover-inner {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.u-hover span {
|
||||
line-height: 0;
|
||||
transition: all 0.2s ease-in-out;
|
||||
}
|
||||
|
||||
.u-hover span:nth-of-type(2) {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
opacity: 0;
|
||||
transform: translateX(-5px);
|
||||
}
|
||||
|
||||
.u-hover.reverse span:nth-of-type(2) {
|
||||
right: auto;
|
||||
left: 0;
|
||||
transform: translateX(5px);
|
||||
}
|
||||
|
||||
.u-hover:hover span:nth-of-type(1) {
|
||||
opacity: 0;
|
||||
transform: translateX(5px);
|
||||
}
|
||||
|
||||
.u-hover.reverse:hover span:nth-of-type(1) {
|
||||
transform: translateX(-5px);
|
||||
}
|
||||
|
||||
.u-hover:hover span:nth-of-type(2) {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
.u-hover svg {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.gh-head-description {
|
||||
padding-left: 1.6rem;
|
||||
margin-left: 1.6rem;
|
||||
}
|
||||
|
||||
.gh-head-description::before {
|
||||
height: 32px;
|
||||
margin-top: -16px;
|
||||
}
|
||||
|
||||
.gh-section-featured {
|
||||
grid-column: full-start / full-end;
|
||||
}
|
||||
|
||||
.gh-section-featured .gh-section-title {
|
||||
margin-right: 4vmin;
|
||||
margin-left: 4vmin;
|
||||
}
|
||||
|
||||
.gh-featured .gh-card {
|
||||
margin: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.gh-featured .gh-card-link {
|
||||
padding-right: 4vmin;
|
||||
padding-left: 4vmin;
|
||||
}
|
||||
|
||||
.gh-article-navigation-all span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.author-template .gh-pagehead {
|
||||
grid-column: full-start / full-end;
|
||||
padding: 7.2rem 4vmin 3.2rem;
|
||||
margin-right: 0;
|
||||
margin-left: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.gh-author-image {
|
||||
top: -44px;
|
||||
width: 88px;
|
||||
height: 88px;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
0% {
|
||||
box-shadow: 0 0 0 0 rgba(255, 26, 117, 0.7);
|
||||
}
|
||||
|
||||
70% {
|
||||
box-shadow: 0 0 0 4px rgba(255, 26, 117, 0);
|
||||
}
|
||||
|
||||
100% {
|
||||
box-shadow: 0 0 0 0 rgba(255, 26, 117, 0);
|
||||
}
|
||||
}
|
||||
BIN
assets/images/default-skin.png
Executable file
|
After Width: | Height: | Size: 547 B |
1
assets/images/default-skin.svg
Executable file
@@ -0,0 +1 @@
|
||||
<svg width="264" height="88" viewBox="0 0 264 88" xmlns="http://www.w3.org/2000/svg"><title>default-skin 2</title><g fill="none" fill-rule="evenodd"><g><path d="M67.002 59.5v3.768c-6.307.84-9.184 5.75-10.002 9.732 2.22-2.83 5.564-5.098 10.002-5.098V71.5L73 65.585 67.002 59.5z" id="Shape" fill="#fff"/><g fill="#fff"><path d="M13 29v-5h2v3h3v2h-5zM13 15h5v2h-3v3h-2v-5zM31 15v5h-2v-3h-3v-2h5zM31 29h-5v-2h3v-3h2v5z" id="Shape"/></g><g fill="#fff"><path d="M62 24v5h-2v-3h-3v-2h5zM62 20h-5v-2h3v-3h2v5zM70 20v-5h2v3h3v2h-5zM70 24h5v2h-3v3h-2v-5z"/></g><path d="M20.586 66l-5.656-5.656 1.414-1.414L22 64.586l5.656-5.656 1.414 1.414L23.414 66l5.656 5.656-1.414 1.414L22 67.414l-5.656 5.656-1.414-1.414L20.586 66z" fill="#fff"/><path d="M111.785 65.03L110 63.5l3-3.5h-10v-2h10l-3-3.5 1.785-1.468L117 59l-5.215 6.03z" fill="#fff"/><path d="M152.215 65.03L154 63.5l-3-3.5h10v-2h-10l3-3.5-1.785-1.468L147 59l5.215 6.03z" fill="#fff"/><g><path id="Rectangle-11" fill="#fff" d="M160.957 28.543l-3.25-3.25-1.413 1.414 3.25 3.25z"/><path d="M152.5 27c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5z" id="Oval-1" stroke="#fff" stroke-width="1.5"/><path fill="#fff" d="M150 21h5v1h-5z"/></g><g><path d="M116.957 28.543l-1.414 1.414-3.25-3.25 1.414-1.414 3.25 3.25z" fill="#fff"/><path d="M108.5 27c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5z" stroke="#fff" stroke-width="1.5"/><path fill="#fff" d="M106 21h5v1h-5z"/><path fill="#fff" d="M109.043 19.008l-.085 5-1-.017.085-5z"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
BIN
assets/images/preloader.gif
Executable file
|
After Width: | Height: | Size: 866 B |
3
assets/js/main.js
Normal file
@@ -0,0 +1,3 @@
|
||||
(function () {
|
||||
pagination(false);
|
||||
})();
|
||||
44
author.hbs
Normal file
@@ -0,0 +1,44 @@
|
||||
{{!< default}}
|
||||
|
||||
<main class="gh-main gh-canvas">
|
||||
{{#author}}
|
||||
<section class="gh-pagehead">
|
||||
{{#if profile_image}}
|
||||
<img class="gh-author-image gh-pagehead-image" src="{{profile_image}}" alt="{{name}}">
|
||||
{{else}}
|
||||
<span class="gh-author-icon">{{> icons/avatar}}</span>
|
||||
{{/if}}
|
||||
|
||||
<header class="gh-pagehead-content">
|
||||
<h1 class="gh-author-name gh-pagehead-title">{{name}}</h1>
|
||||
|
||||
{{#if bio}}
|
||||
<div class="gh-author-bio gh-pagehead-description">{{bio}}</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="gh-author-meta">
|
||||
{{#if location}}
|
||||
<span class="gh-author-location">📍 {{location}}</span>
|
||||
{{/if}}
|
||||
{{#if website}}
|
||||
<a class="gh-author-website" href="{{website}}" target="_blank" rel="noopener">{{website}}</a>
|
||||
{{/if}}
|
||||
{{#if twitter}}
|
||||
<a class="gh-author-twitter" href="{{twitter_url}}" target="_blank" rel="noopener">{{> icons/twitter}}</a>
|
||||
{{/if}}
|
||||
{{#if facebook}}
|
||||
<a class="gh-author-facebook" href="{{facebook_url}}" target="_blank" rel="noopener">{{> icons/facebook}}</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<div class="gh-feed">
|
||||
{{#get "posts" filter="primary_author:{{slug}}" limit="all"}}
|
||||
{{#foreach posts}}
|
||||
{{> loop}}
|
||||
{{/foreach}}
|
||||
{{/get}}
|
||||
</div>
|
||||
{{/author}}
|
||||
</main>
|
||||
98
default.hbs
Normal file
@@ -0,0 +1,98 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{@site.locale}}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{{meta_title}}</title>
|
||||
<link rel="preload" href="/fonts/mulish-var.woff2" as="font" type="font/woff2" crossOrigin="anonymous">
|
||||
<link rel="stylesheet" href="{{asset "built/screen.css"}}">
|
||||
|
||||
{{ghost_head}}
|
||||
</head>
|
||||
|
||||
<body class="{{body_class}} is-head-b--a_n">
|
||||
<div class="gh-site">
|
||||
<header id="gh-head" class="gh-head gh-outer">
|
||||
<div class="gh-head-inner">
|
||||
<div class="gh-head-brand">
|
||||
<div class="gh-head-brand-wrapper">
|
||||
<a class="gh-head-logo" href="{{@site.url}}">
|
||||
{{#if @site.logo}}
|
||||
<img src="{{@site.logo}}" alt="{{@site.title}}">
|
||||
{{else}}
|
||||
{{@site.title}}
|
||||
{{/if}}
|
||||
</a>
|
||||
|
||||
<span class="gh-head-description">{{@site.description}}</span>
|
||||
</div>
|
||||
<button class="gh-burger"></button>
|
||||
</div>
|
||||
|
||||
<nav class="gh-head-menu">
|
||||
{{navigation}}
|
||||
</nav>
|
||||
|
||||
<div class="gh-head-actions">
|
||||
{{#unless @member}}
|
||||
<a class="gh-head-btn u-hover" href="#/portal/signup">
|
||||
Subscribe
|
||||
<span>{{> icons/chevron-right}}</span>
|
||||
<span>{{> icons/chevron-right}}</span>
|
||||
</a>
|
||||
{{else}}
|
||||
<a class="gh-head-btn" href="#/portal/account">Account</a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{{body}}}
|
||||
|
||||
<div class="gh-subscribe-wrapper gh-canvas">
|
||||
<section class="gh-subscribe">
|
||||
<h3 class="gh-subscribe-title">Subscribe to {{@site.title}}</h3>
|
||||
|
||||
<div class="gh-subscribe-description">Sign up now to get access to the library of members-only issues.</div>
|
||||
|
||||
<a class="gh-subscribe-form-input u-hover" href="#/portal/signup">
|
||||
Jamie Larson
|
||||
<div class="gh-subscribe-btn">
|
||||
<div class="u-hover-inner">
|
||||
Subscribe
|
||||
<span>{{> icons/chevron-right}}</span>
|
||||
<span>{{> icons/chevron-right}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<footer class="gh-foot gh-outer">
|
||||
<div class="gh-foot-inner gh-inner">
|
||||
<div class="gh-copyright">
|
||||
{{@site.title}} © {{date format="YYYY"}}
|
||||
</div>
|
||||
|
||||
<nav class="gh-foot-menu">
|
||||
{{navigation type="secondary"}}
|
||||
</nav>
|
||||
|
||||
<div class="gh-powered-by">
|
||||
<a href="https://ghost.org/" target="_blank" rel="noopener">Powered by Ghost</a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
{{#is "post, page"}}
|
||||
{{> pswp}}
|
||||
{{/is}}
|
||||
|
||||
<script src="{{asset "built/main.min.js"}}"></script>
|
||||
|
||||
{{ghost_foot}}
|
||||
</body>
|
||||
|
||||
</html>
|
||||
BIN
fonts/inter-var-latin.woff2
Normal file
BIN
fonts/mulish-var.woff2
Normal file
45
index.hbs
Normal file
@@ -0,0 +1,45 @@
|
||||
{{!< default}}
|
||||
|
||||
<main class="gh-main gh-canvas">
|
||||
<section class="gh-pagehead">
|
||||
<header class="gh-pagehead-content">
|
||||
<h1 class="gh-pagehead-title">Archive</h1>
|
||||
|
||||
<div class="gh-pagehead-description">
|
||||
{{#if description}}
|
||||
{{description}}
|
||||
{{else}}
|
||||
A collection of {{plural pagination.total empty='zero issues' singular='% issue' plural='% issues'}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
{{#get "posts" filter="featured:true" limit="all" as |featured|}}
|
||||
{{#if featured}}
|
||||
<section class="gh-section gh-section-featured">
|
||||
<h3 class="gh-section-title"><span>Featured</span></h3>
|
||||
|
||||
<div class="gh-featured">
|
||||
{{#foreach featured}}
|
||||
{{> loop}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</section>
|
||||
{{/if}}
|
||||
{{/get}}
|
||||
|
||||
<section class="gh-section">
|
||||
<h3 class="gh-section-title"><span>Latest</span></h3>
|
||||
|
||||
<div class="gh-feed">
|
||||
{{#get "posts" limit="all"}}
|
||||
{{#foreach posts}}
|
||||
{{> loop}}
|
||||
{{/foreach}}
|
||||
{{/get}}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{!-- <button class="gh-loadmore">Load more</button> --}}
|
||||
</main>
|
||||
43
package.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "journal",
|
||||
"description": "A Ghost theme",
|
||||
"version": "1.0.0",
|
||||
"engines": {
|
||||
"ghost": ">=4.0.0",
|
||||
"ghost-api": "v4"
|
||||
},
|
||||
"license": "MIT",
|
||||
"author": {
|
||||
"name": "Ghost Foundation",
|
||||
"email": "hello@ghost.org",
|
||||
"url": "https://ghost.org"
|
||||
},
|
||||
"keywords": [
|
||||
"ghost",
|
||||
"theme",
|
||||
"ghost-theme"
|
||||
],
|
||||
"config": {
|
||||
"posts_per_page": 1,
|
||||
"image_sizes": {
|
||||
"xs": {
|
||||
"width": 150
|
||||
},
|
||||
"s": {
|
||||
"width": 300
|
||||
},
|
||||
"m": {
|
||||
"width": 720
|
||||
},
|
||||
"l": {
|
||||
"width": 960
|
||||
},
|
||||
"xl": {
|
||||
"width": 1200
|
||||
},
|
||||
"xxl": {
|
||||
"width": 2000
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
66
partials/content.hbs
Normal file
@@ -0,0 +1,66 @@
|
||||
<header class="gh-article-header gh-canvas">
|
||||
{{#is "post, home"}}
|
||||
<div class="gh-article-meta">
|
||||
{{#is "home"}}
|
||||
<span class="gh-article-label">
|
||||
<span class="gh-article-label-indicator"></span>
|
||||
Latest issue
|
||||
</span>
|
||||
{{/is}}
|
||||
<time class="gh-article-date" datetime="{{date format="YYYY-MM-DD"}}">{{date}}</time>
|
||||
</div>
|
||||
{{/is}}
|
||||
|
||||
<h1 class="gh-article-title">{{title}}</h1>
|
||||
|
||||
{{#if custom_excerpt}}
|
||||
<p class="gh-article-excerpt">{{custom_excerpt}}</p>
|
||||
{{/if}}
|
||||
</header>
|
||||
|
||||
{{#if feature_image}}
|
||||
<figure class="gh-article-image gh-canvas">
|
||||
<img
|
||||
srcset="{{img_url feature_image size="s"}} 300w,
|
||||
{{img_url feature_image size="m"}} 720w,
|
||||
{{img_url feature_image size="l"}} 960w,
|
||||
{{img_url feature_image size="xl"}} 1200w,
|
||||
{{img_url feature_image size="xxl"}} 2000w"
|
||||
sizes="(max-width: 1200px) 100vw, 1200px"
|
||||
src="{{img_url feature_image size="xl"}}"
|
||||
alt="{{title}}"
|
||||
>
|
||||
</figure>
|
||||
{{/if}}
|
||||
|
||||
<section class="gh-content gh-canvas">
|
||||
{{content}}
|
||||
</section>
|
||||
|
||||
{{#is "post, home"}}
|
||||
<footer class="gh-article-footer gh-canvas">
|
||||
<nav class="gh-article-navigation">
|
||||
<div class="gh-article-navigation-previous">
|
||||
{{#prev_post}}
|
||||
<a class="u-hover reverse" href="{{url}}">
|
||||
<span>{{> icons/chevron-left}}</span>
|
||||
<span>{{> icons/chevron-left}}</span>
|
||||
Previous issue
|
||||
</a>
|
||||
{{/prev_post}}
|
||||
</div>
|
||||
|
||||
<a class="gh-article-navigation-all" href="/page/2"><span>Browse</span> all issues</a>
|
||||
|
||||
<div class="gh-article-navigation-next">
|
||||
{{#next_post}}
|
||||
<a class="u-hover" href="{{url}}">
|
||||
Next issue
|
||||
<span>{{> icons/chevron-right}}</span>
|
||||
<span>{{> icons/chevron-right}}</span>
|
||||
</a>
|
||||
{{/next_post}}
|
||||
</div>
|
||||
</nav>
|
||||
</footer>
|
||||
{{/is}}
|
||||
1
partials/icons/avatar.hbs
Normal file
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><g fill="none" fill-rule="evenodd"><path d="M3.513 18.998C4.749 15.504 8.082 13 12 13s7.251 2.504 8.487 5.998C18.47 21.442 15.417 23 12 23s-6.47-1.558-8.487-4.002zM12 12c2.21 0 4-2.79 4-5s-1.79-4-4-4-4 1.79-4 4 1.79 5 4 5z" fill="#FFF"/></g></svg>
|
||||
|
After Width: | Height: | Size: 331 B |
3
partials/icons/chevron-left.hbs
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="currentColor">
|
||||
<path d="M20.547 22.107L14.44 16l6.107-6.12L18.667 8l-8 8 8 8 1.88-1.893z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 175 B |
3
partials/icons/chevron-right.hbs
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="currentColor">
|
||||
<path d="M11.453 22.107L17.56 16l-6.107-6.12L13.333 8l8 8-8 8-1.88-1.893z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 174 B |
3
partials/icons/facebook.hbs
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 8.04865C16 3.63065 12.418 0.048645 8 0.048645C3.582 0.048645 0 3.63065 0 8.04865C0 12.042 2.92533 15.3513 6.75 15.9513V10.3613H4.71867V8.04798H6.75V6.28665C6.75 4.28198 7.94467 3.17398 9.772 3.17398C10.6467 3.17398 11.5627 3.33065 11.5627 3.33065V5.29931H10.5533C9.55933 5.29931 9.24933 5.91598 9.24933 6.54865V8.04865H11.468L11.1133 10.362H9.24933V15.952C13.0747 15.3513 16 12.0413 16 8.04865Z" fill="#888888"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 529 B |
3
partials/icons/twitter.hbs
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15.9687 3.04665C15.3697 3.31039 14.7351 3.48448 14.0853 3.56332C14.7694 3.15215 15.2816 2.50735 15.5273 1.74799C14.8933 2.11799 14.1907 2.38732 13.4427 2.53732C12.9492 2.00961 12.2952 1.6596 11.5824 1.54165C10.8696 1.42371 10.1378 1.54442 9.50062 1.88505C8.86345 2.22567 8.35657 2.76715 8.0587 3.4254C7.76083 4.08365 7.68864 4.82183 7.85333 5.52532C5.12667 5.39665 2.71133 4.08665 1.09333 2.10799C0.799196 2.60786 0.645776 3.178 0.649333 3.75799C0.649333 4.89799 1.22933 5.89999 2.108 6.48865C1.58724 6.47208 1.07798 6.33128 0.622667 6.07799V6.11799C0.622371 6.87558 0.884179 7.60995 1.36367 8.19649C1.84316 8.78304 2.51081 9.18564 3.25333 9.33599C2.7722 9.46491 2.26828 9.48427 1.77867 9.39265C1.98941 10.0447 2.39844 10.6146 2.94868 11.023C3.49891 11.4314 4.1629 11.6578 4.848 11.6707C3.68769 12.5813 2.25498 13.0755 0.78 13.074C0.52 13.074 0.260667 13.0587 0 13.0293C1.50381 13.9922 3.25234 14.5033 5.038 14.502C11.0733 14.502 14.37 9.50465 14.37 5.17865C14.37 5.03865 14.37 4.89865 14.36 4.75865C15.004 4.29523 15.5595 3.71987 16 3.05999L15.9687 3.04665Z" fill="#888888"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
13
partials/loop.hbs
Normal file
@@ -0,0 +1,13 @@
|
||||
<article class="gh-card {{post_class}}">
|
||||
<a class="gh-card-link" href="{{url}}">
|
||||
<header class="gh-card-header">
|
||||
<h2 class="gh-card-title">{{title}}</h2>
|
||||
</header>
|
||||
|
||||
<div class="gh-card-excerpt">{{excerpt}}</div>
|
||||
|
||||
<footer class="gh-card-footer">
|
||||
<time class="gh-card-date" datetime="{{date format="YYYY-MM-DD"}}">{{date}}</time>
|
||||
</footer>
|
||||
</a>
|
||||
</article>
|
||||
41
partials/pswp.hbs
Normal file
@@ -0,0 +1,41 @@
|
||||
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="pswp__bg"></div>
|
||||
|
||||
<div class="pswp__scroll-wrap">
|
||||
<div class="pswp__container">
|
||||
<div class="pswp__item"></div>
|
||||
<div class="pswp__item"></div>
|
||||
<div class="pswp__item"></div>
|
||||
</div>
|
||||
|
||||
<div class="pswp__ui pswp__ui--hidden">
|
||||
<div class="pswp__top-bar">
|
||||
<div class="pswp__counter"></div>
|
||||
|
||||
<button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
|
||||
<button class="pswp__button pswp__button--share" title="Share"></button>
|
||||
<button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
|
||||
<button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
|
||||
|
||||
<div class="pswp__preloader">
|
||||
<div class="pswp__preloader__icn">
|
||||
<div class="pswp__preloader__cut">
|
||||
<div class="pswp__preloader__donut"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
|
||||
<div class="pswp__share-tooltip"></div>
|
||||
</div>
|
||||
|
||||
<button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"></button>
|
||||
<button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"></button>
|
||||
|
||||
<div class="pswp__caption">
|
||||
<div class="pswp__caption__center"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
11
post.hbs
Normal file
@@ -0,0 +1,11 @@
|
||||
{{!< default}}
|
||||
|
||||
{{#post}}
|
||||
|
||||
<main class="gh-main">
|
||||
<article class="gh-article {{post_class}}">
|
||||
{{> content}}
|
||||
</article>
|
||||
</main>
|
||||
|
||||
{{/post}}
|
||||
27
tag.hbs
Normal file
@@ -0,0 +1,27 @@
|
||||
{{!< default}}
|
||||
|
||||
<main class="gh-main gh-canvas">
|
||||
{{#tag}}
|
||||
<section class="gh-pagehead">
|
||||
<header class="gh-pagehead-content">
|
||||
<h1 class="gh-tag-name gh-pagehead-title">{{name}}</h1>
|
||||
|
||||
<div class="gh-tag-description gh-pagehead-description">
|
||||
{{#if description}}
|
||||
{{description}}
|
||||
{{else}}
|
||||
A collection of {{plural ../pagination.total empty='zero issues' singular='% issue' plural='% issues'}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<div class="gh-feed">
|
||||
{{#get "posts" filter="primary_tag:{{slug}}" limit="all"}}
|
||||
{{#foreach posts}}
|
||||
{{> loop}}
|
||||
{{/foreach}}
|
||||
{{/get}}
|
||||
</div>
|
||||
{{/tag}}
|
||||
</main>
|
||||