141 lines
4.9 KiB
Handlebars
141 lines
4.9 KiB
Handlebars
|
{{!< default}}
|
||
|
|
||
|
{{!-- The tag above means: insert everything in this file
|
||
|
into the {body} tag of the default.hbs template --}}
|
||
|
|
||
|
|
||
|
{{#post}}
|
||
|
{{!-- Everything inside the #post block pulls data from the post --}}
|
||
|
|
||
|
<main id="site-main" class="site-main">
|
||
|
<article class="article {{post_class}} {{#match @custom.post_image_style "Full"}}image-full{{else match @custom.post_image_style "=" "Small"}}image-small{{/match}}">
|
||
|
|
||
|
<header class="article-header gh-canvas">
|
||
|
|
||
|
<div class="article-tag post-card-tags">
|
||
|
{{#primary_tag}}
|
||
|
<span class="post-card-primary-tag">
|
||
|
<a href="{{url}}">{{name}}</a>
|
||
|
</span>
|
||
|
{{/primary_tag}}
|
||
|
{{#if featured}}
|
||
|
<span class="post-card-featured">{{> "icons/fire"}} Featured</span>
|
||
|
{{/if}}
|
||
|
</div>
|
||
|
|
||
|
<h1 class="article-title">{{title}}</h1>
|
||
|
|
||
|
{{#if custom_excerpt}}
|
||
|
<p class="article-excerpt">{{custom_excerpt}}</p>
|
||
|
{{/if}}
|
||
|
|
||
|
<div class="article-byline">
|
||
|
<section class="article-byline-content">
|
||
|
|
||
|
<ul class="author-list instapaper_ignore">
|
||
|
{{#foreach authors}}
|
||
|
<li class="author-list-item">
|
||
|
{{#if profile_image}}
|
||
|
<a href="{{url}}" class="author-avatar" aria-label="Read more of {{name}}">
|
||
|
<img class="author-profile-image" src="{{img_url profile_image size="xs"}}" alt="{{name}}" />
|
||
|
</a>
|
||
|
{{else}}
|
||
|
<a href="{{url}}" class="author-avatar author-profile-image" aria-label="Read more of {{name}}">{{> "icons/avatar"}}</a>
|
||
|
{{/if}}
|
||
|
</li>
|
||
|
{{/foreach}}
|
||
|
</ul>
|
||
|
|
||
|
<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>
|
||
|
{{#if reading_time}}
|
||
|
<span class="byline-reading-time"><span class="bull">•</span> {{reading_time}}</span>
|
||
|
{{/if}}
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
</section>
|
||
|
</div>
|
||
|
|
||
|
{{#match @custom.post_image_style "!=" "Hidden"}}
|
||
|
{{#if feature_image}}
|
||
|
<figure class="article-image">
|
||
|
{{!-- 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
|
||
|
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"
|
||
|
sizes="(min-width: 1400px) 1400px, 92vw"
|
||
|
src="{{img_url feature_image size="xl"}}"
|
||
|
alt="{{#if feature_image_alt}}{{feature_image_alt}}{{else}}{{title}}{{/if}}"
|
||
|
/>
|
||
|
{{#if feature_image_caption}}
|
||
|
<figcaption>{{feature_image_caption}}</figcaption>
|
||
|
{{/if}}
|
||
|
</figure>
|
||
|
{{/if}}
|
||
|
{{/match}}
|
||
|
|
||
|
</header>
|
||
|
|
||
|
<section class="gh-content gh-canvas">
|
||
|
{{content}}
|
||
|
</section>
|
||
|
|
||
|
{{#if comments}}
|
||
|
<section class="article-comments gh-canvas">
|
||
|
{{comments}}
|
||
|
</section>
|
||
|
{{/if}}
|
||
|
|
||
|
</article>
|
||
|
</main>
|
||
|
|
||
|
{{!-- A signup call to action is displayed here, unless viewed as a logged-in member --}}
|
||
|
{{#if @site.members_enabled}}
|
||
|
{{#unless @member}}
|
||
|
{{#unless @site.comments_enabled}}
|
||
|
{{#if access}}
|
||
|
<section class="footer-cta outer">
|
||
|
<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>
|
||
|
</a>
|
||
|
</div>
|
||
|
</section>
|
||
|
{{/if}}
|
||
|
{{/unless}}
|
||
|
{{/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
|
||
|
so that people have something else to read when they finish this one.
|
||
|
|
||
|
This query gets the latest 3 posts on the site, but adds a filter to
|
||
|
exclude the post we're currently on from being included. --}}
|
||
|
{{#get "posts" filter="id:-{{id}}" limit="3" as |more_posts|}}
|
||
|
|
||
|
{{#if more_posts}}
|
||
|
<aside class="read-more-wrap outer">
|
||
|
<div class="read-more inner">
|
||
|
{{#foreach more_posts}}
|
||
|
{{> "post-card"}}
|
||
|
{{/foreach}}
|
||
|
</div>
|
||
|
</aside>
|
||
|
{{/if}}
|
||
|
|
||
|
{{/get}}
|
||
|
{{/if}}
|
||
|
|
||
|
{{/post}}
|