d687d0f099
* Added comments to theme * Cleanup * Updated spacing and typography * Removed bottom border * Added comment counter * Updated theme name and post template * Added search support * Compiled css for search * Removed the border and brackets for comment count * Moved the comments helper into the content block so it gets the same paddings at narrow viewports * Package version bump * Updated comments helper in post template * Final tweaks for the comments support * Revert the package info * Update {{comment_count}} helper usage The helper now outputs a span wrapper by default, so we won't have to add a wrapper in the theme Co-authored-by: Peter Zimon <peter.zimon@gmail.com> Co-authored-by: Sanne de Vries <sannedv@protonmail.com> Co-authored-by: James Morris <moreofmorris@users.noreply.github.com>
140 lines
No EOL
4.8 KiB
Handlebars
140 lines
No EOL
4.8 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">
|
|
{{#foreach authors}}
|
|
<li class="author-list-item">
|
|
{{#if profile_image}}
|
|
<a href="{{url}}" class="author-avatar">
|
|
<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">{{> "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}} |