Add text variant
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
4
partials/common/comments.hbs
Normal file
@@ -0,0 +1,4 @@
|
||||
<section class="gh-comments gh-canvas">
|
||||
<div id="commento"></div>
|
||||
<script defer src="https://blog.karaolidis.com/comments/js/commento.js"></script>
|
||||
</section>
|
26
partials/common/content-cta.hbs
Normal file
@@ -0,0 +1,26 @@
|
||||
{{{html}}}
|
||||
|
||||
<div class="gh-cta-gradient"></div>
|
||||
|
||||
<section class="gh-cta">
|
||||
{{#has visibility="paid"}}
|
||||
<h4 class="gh-cta-title">This post is for paying subscribers only</h4>
|
||||
{{/has}}
|
||||
{{#has visibility="members"}}
|
||||
<h4 class="gh-cta-title">This post is for subscribers only</h4>
|
||||
{{/has}}
|
||||
{{#has visibility="filter"}}
|
||||
<h4 class="gh-cta-title">This post is for subscribers on the {{tiers}} only</h4>
|
||||
{{/has}}
|
||||
|
||||
<div class="gh-cta-actions">
|
||||
{{#if @member}}
|
||||
<button class="gh-btn gh-primary-btn" href="#/portal/account/plans" data-portal="account/plans">
|
||||
Upgrade now
|
||||
</button>
|
||||
{{else}}
|
||||
<button class="gh-btn gh-primary-btn" href="#/portal/signup" data-portal="signup">Subscribe now</button>
|
||||
<span class="gh-cta-link" href="#/portal/signin" data-portal="signin">Already have an account? Sign in.</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</section>
|
11
partials/common/feature-image.hbs
Normal file
@@ -0,0 +1,11 @@
|
||||
{{#if feature_image}}
|
||||
<figure class="gh-article-image">
|
||||
<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="{{#if feature_image_alt}}{{feature_image_alt}}{{else}}{{title}}{{/if}}">
|
||||
{{#if feature_image_caption}}
|
||||
<figcaption>{{feature_image_caption}}</figcaption>
|
||||
{{/if}}
|
||||
</figure>
|
||||
{{/if}}
|
12
partials/common/footer.hbs
Normal file
@@ -0,0 +1,12 @@
|
||||
<footer class="gh-foot{{#unless @site.secondary_navigation}} no-menu{{/unless}} gh-outer">
|
||||
<div class="gh-foot-inner gh-inner">
|
||||
{{#if @site.secondary_navigation}}
|
||||
<nav class="gh-foot-menu">
|
||||
{{navigation type="secondary"}}
|
||||
</nav>
|
||||
{{/if}}
|
||||
<div class="gh-copyright">
|
||||
{{@site.title}} © {{date format="YYYY"}}
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
62
partials/common/header.hbs
Normal file
@@ -0,0 +1,62 @@
|
||||
<header id="gh-head" class="gh-head gh-outer">
|
||||
<div class="gh-head-inner gh-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>
|
||||
</div>
|
||||
<button class="gh-search gh-icon-btn" aria-label="Search this site" data-ghost-search>
|
||||
{{> icons/search}}
|
||||
</button>
|
||||
<button class="gh-burger" aria-label="Toggle menu"></button>
|
||||
</div>
|
||||
|
||||
<nav class="gh-head-menu">
|
||||
{{navigation}}
|
||||
{{#unless @site.members_enabled}}
|
||||
{{#match @custom.navigation_layout "Stacked"}}
|
||||
<button class="gh-search gh-icon-btn" aria-label="Search this site" data-ghost-search>
|
||||
{{> icons/search}}
|
||||
</button>
|
||||
{{/match}}
|
||||
{{/unless}}
|
||||
</nav>
|
||||
|
||||
<div class="gh-head-actions">
|
||||
{{#unless @site.members_enabled}}
|
||||
{{^match @custom.navigation_layout "Stacked"}}
|
||||
<button class="gh-search gh-icon-btn" aria-label="Search this site" data-ghost-search>
|
||||
{{> icons/search}}
|
||||
</button>
|
||||
{{/match}}
|
||||
{{else}}
|
||||
<button class="gh-search gh-icon-btn" aria-label="Search this site" data-ghost-search>
|
||||
{{> icons/search}}
|
||||
</button>
|
||||
<div class="gh-head-members">
|
||||
{{#unless @member}}
|
||||
{{#unless @site.members_invite_only}}
|
||||
<a class="gh-head-link" href="#/portal/signin" data-portal="signin">Sign in</a>
|
||||
<a class="gh-head-btn gh-btn gh-primary-btn" href="#/portal/signup" data-portal="signup">
|
||||
Subscribe
|
||||
</a>
|
||||
{{else}}
|
||||
<a class="gh-head-btn gh-btn gh-primary-btn" href="#/portal/signin" data-portal="signin">
|
||||
Sign in
|
||||
</a>
|
||||
{{/unless}}
|
||||
{{else}}
|
||||
<a class="gh-head-btn gh-btn gh-primary-btn" href="#/portal/account" data-portal="account">
|
||||
Account
|
||||
</a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
15
partials/common/lib/footer/prism.hbs
Normal file
@@ -0,0 +1,15 @@
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-core.min.js"
|
||||
integrity="sha512-9khQRAUBYEJDCDVP2yw3LRUQvjJ0Pjx0EShmaQjcHa6AXiOv6qHQu9lCAIR8O+/D8FtaCoJ2c0Tf9Xo7hYH01Q=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/autoloader/prism-autoloader.min.js"
|
||||
integrity="sha512-SkmBfuA2hqjzEVpmnMt/LINrjop3GKWqsuLSSB3e7iBmYK7JuWw4ldmmxwD9mdm2IRTTi0OxSAfEGvgEi0i2Kw=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.js"
|
||||
integrity="sha512-BttltKXFyWnGZQcRWj6osIg7lbizJchuAMotOkdLxHxwt/Hyo+cl47bZU0QADg+Qt5DJwni3SbYGXeGMB5cBcw=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/command-line/prism-command-line.min.js"
|
||||
integrity="sha512-6nsaJ4jytF/0bh+5QJY4SOLuZZmcd/TAXHBkLIX/SH1ENpWezpQDJ4LpK2D1IfpjKVyhJQQaNSSvfsQjuYfTow=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-highlight/prism-line-highlight.min.js"
|
||||
integrity="sha512-255MpVHZHmxNdOj/PivQ+WSTYFjBxTMfmIszxwsJobUeaoDNUAnAQjYF5TznbiZXrXqpCy8q4QyvJzhykpof3Q=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
3
partials/common/lib/footer/tocbot.hbs
Normal file
@@ -0,0 +1,3 @@
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.29.0/tocbot.min.js"
|
||||
integrity="sha512-+9XzRSJjnUN2OI106uAbbVZ3f+z1ncIRZFOr56hEdaxbQeZ8i1+B7OVjdF8tG4YhgxM/rWP73K2SiG93x6UJoQ=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
1
partials/common/lib/header/fonts.hbs
Normal file
@@ -0,0 +1 @@
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter|Lora">
|
15
partials/common/lib/header/prism.hbs
Normal file
@@ -0,0 +1,15 @@
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css"
|
||||
integrity="sha512-vswe+cgvic/XBoF1OcM/TeJ2FW0OofqAVdCZiEYkd6dwGXthvkSFWOoGGJgS2CW70VK5dQM5Oh+7ne47s74VTg=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.css"
|
||||
integrity="sha512-cbQXwDFK7lj2Fqfkuxbo5iD1dSbLlJGXGpfTDqbggqjHJeyzx88I3rfwjS38WJag/ihH7lzuGlGHpDBymLirZQ=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/command-line/prism-command-line.min.css"
|
||||
integrity="sha512-EgIkdlA87NL5dPmI6HztTCpg7XKfZRFQHbpEdDF3hCT45HjjmIJOx8K73r+YZha0vKyOcMpzC7fZ4RajCX25tg=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-highlight/prism-line-highlight.min.css"
|
||||
integrity="sha512-nXlJLUeqPMp1Q3+Bd8Qds8tXeRVQscMscwysJm821C++9w6WtsFbJjPenZ8cQVMXyqSAismveQJc0C1splFDCA=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer" />
|
41
partials/common/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>
|
4
partials/icons/arrow-left.hbs
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<line x1="19" y1="12" x2="5" y2="12"></line>
|
||||
<polyline points="12 19 5 12 12 5"></polyline>
|
||||
</svg>
|
After Width: | Height: | Size: 288 B |
4
partials/icons/arrow-right.hbs
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<line x1="5" y1="12" x2="19" y2="12"></line>
|
||||
<polyline points="12 5 19 12 12 19"></polyline>
|
||||
</svg>
|
After Width: | Height: | Size: 289 B |
7
partials/icons/avatar.hbs
Normal file
@@ -0,0 +1,7 @@
|
||||
<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: 376 B |
6
partials/icons/email.hbs
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" stroke="currentColor" xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
d="M3.33332 3.33334H16.6667C17.5833 3.33334 18.3333 4.08334 18.3333 5.00001V15C18.3333 15.9167 17.5833 16.6667 16.6667 16.6667H3.33332C2.41666 16.6667 1.66666 15.9167 1.66666 15V5.00001C1.66666 4.08334 2.41666 3.33334 3.33332 3.33334Z"
|
||||
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M18.3333 5L9.99999 10.8333L1.66666 5" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
|
||||
</svg>
|
After Width: | Height: | Size: 576 B |
5
partials/icons/facebook.hbs
Normal file
@@ -0,0 +1,5 @@
|
||||
<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: 550 B |
4
partials/icons/search.hbs
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"
|
||||
width="20" height="20">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 259 B |
3
partials/icons/star.hbs
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="11" height="11" viewBox="0 0 12 12" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6 1L7.545 4.13L11 4.635L8.5 7.07L9.09 10.51L6 8.885L2.91 10.51L3.5 7.07L1 4.635L4.455 4.13L6 1Z" />
|
||||
</svg>
|
After Width: | Height: | Size: 225 B |
5
partials/icons/twitter.hbs
Normal file
@@ -0,0 +1,5 @@
|
||||
<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 |
21
partials/text/feed.hbs
Normal file
@@ -0,0 +1,21 @@
|
||||
<div class="post-feed gh-feed">
|
||||
{{#foreach posts}}
|
||||
<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-meta">
|
||||
<time class="gh-card-date" datetime="{{date format=" YYYY-MM-DD"}}">{{date}}</time>
|
||||
<span class="gh-card-duration">{{reading_time}}</span>
|
||||
{{^has visibility="public"}}
|
||||
{{> icons/star}}
|
||||
{{/has}}
|
||||
</footer>
|
||||
</a>
|
||||
</article>
|
||||
{{/foreach}}
|
||||
</div>
|
21
partials/text/more.hbs
Normal file
@@ -0,0 +1,21 @@
|
||||
<nav class="gh-navigation">
|
||||
<div class="gh-navigation-previous">
|
||||
{{#prev_post}}
|
||||
<a class="gh-navigation-link" href="{{url}}">
|
||||
<span class="gh-navigation-label">{{> icons/arrow-left}} Previous issue</span>
|
||||
<h4 class="gh-navigation-title">{{title}}</h4>
|
||||
</a>
|
||||
{{/prev_post}}
|
||||
</div>
|
||||
|
||||
<div class="gh-navigation-middle"></div>
|
||||
|
||||
<div class="gh-navigation-next">
|
||||
{{#next_post}}
|
||||
<a class="gh-navigation-link" href="{{url}}">
|
||||
<span class="gh-navigation-label">Next issue {{> icons/arrow-right}}</span>
|
||||
<h4 class="gh-navigation-title">{{title}}</h4>
|
||||
</a>
|
||||
{{/next_post}}
|
||||
</div>
|
||||
</nav>
|