mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-03 23:00:14 -05:00
2ea7d5432b
closes: https://github.com/TryGhost/Toolbox/issues/193 - Our Casper fixture was several years out of date. - I'd already updated the ghost-api to point to the latest API version, which was the main difference - This makes sure the full fixture is up to date and correct, and therefore that we're truly testing if Ghost right now works - It also adds instructions for how to update it in future GOTCHA: the mock-express-style tests are failing if the API difference between test-theme and casper are different - I've tried to look into why this is - it's something to do with the overridden route settings not working properly if the API version changes - Given that we may not keep this style of testing AND we are definitely not keeping API versions, I'm ignoreing this for now - To get around it, I'm setting both themes to be v4 API, so that Casper is exactly as in main
61 lines
2.7 KiB
Handlebars
61 lines
2.7 KiB
Handlebars
{{!-- This is a partial file used to generate a post "card"
|
|
which templates loop over to generate a list of posts. --}}
|
|
|
|
<article class="post-card {{post_class}} {{#match @custom.feed_layout "!=" "Simple grid"}}{{#is "home"}}{{#match @custom.feed_layout "Dynamic grid"}}{{#has index="0"}}{{#if feature_image}}post-card-large{{/if}}{{/has}}{{else}}post-card-large{{/match}}{{/is}}{{/match}}">
|
|
|
|
{{#if feature_image}}
|
|
<a class="post-card-image-link" href="{{url}}">
|
|
{{!-- 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"
|
|
sizes="(max-width: 1000px) 400px, 800px"
|
|
src="{{img_url feature_image size="m"}}"
|
|
alt="{{#if feature_image_alt}}{{feature_image_alt}}{{else}}{{title}}{{/if}}"
|
|
loading="lazy"
|
|
/>
|
|
</a>
|
|
{{/if}}
|
|
|
|
<div class="post-card-content">
|
|
|
|
<a class="post-card-content-link" href="{{url}}">
|
|
<header class="post-card-header">
|
|
{{#if primary_tag}}
|
|
{{#primary_tag}}
|
|
<div class="post-card-primary-tag">{{name}}</div>
|
|
{{/primary_tag}}
|
|
{{/if}}
|
|
<h2 class="post-card-title">{{title}}</h2>
|
|
</header>
|
|
<div class="post-card-excerpt">
|
|
<p>{{excerpt}}</p>
|
|
</div>
|
|
</a>
|
|
|
|
<footer class="post-card-meta">
|
|
<ul class="author-list">
|
|
{{#foreach authors}}
|
|
<li class="author-list-item">
|
|
{{#if profile_image}}
|
|
<a href="{{url}}" class="static-avatar">
|
|
<img class="author-profile-image" src="{{img_url profile_image size="xs"}}" alt="{{name}}" loading="lazy" />
|
|
</a>
|
|
{{else}}
|
|
<a href="{{url}}" class="static-avatar author-profile-image">{{> "icons/avatar"}}</a>
|
|
{{/if}}
|
|
</li>
|
|
{{/foreach}}
|
|
</ul>
|
|
<div class="post-card-byline-content">
|
|
<span>{{#has author="count:>2"}}Multiple authors{{else}}{{authors}}{{/has}}</span>
|
|
<span class="post-card-byline-date"><time datetime="{{date format="YYYY-MM-DD"}}">{{date}}</time> <span class="bull">•</span> {{reading_time}}</span>
|
|
</div>
|
|
</footer>
|
|
|
|
</div>{{!--/.post-card-content--}}
|
|
|
|
</article>
|