simple-jekyll-theme 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 94cbd156d14e902cd391866d0a99dc1a0bb49a478121ba1a4d1ec3294e5cfd4c
4
+ data.tar.gz: 8c4a72a7e9ac17b259ca57f7491f05cc678c1ffbe61f36f3d50120dcea732e10
5
+ SHA512:
6
+ metadata.gz: 2a438d8ee1e6d2decb682985a263f29c5a7d0274acc2381c58cd9c49b4c67c9e4c18b6519dadb7dddfe85ed937b49a4d13729903ebe60f710575a138a3780a16
7
+ data.tar.gz: 7a7060f23aa7bd6e702fc29abcff2c7e6305453dd39b7d5fcfb784513c0c814d64cef1892cc73c6d59b7e6d2a6ffdb79b5a3be6d389baf65b6dac1089fe962fb
@@ -0,0 +1,15 @@
1
+ ---
2
+ layout: default
3
+ title: "404: Page not found"
4
+ permalink: ./404.html
5
+ ---
6
+
7
+ <div style="text-align: center;">
8
+ {% if site.font-awesome-kit %}
9
+ <i class="fas fa-dizzy" style="font-size: 500%"></i>
10
+ {% else %}
11
+ <svg class="icon" style="font-size: 500%"><use xlink:href="#icon-dizzy-solid"></use></svg>
12
+ {% endif %}
13
+ <h1 class="header">404: Page not found</h1>
14
+ <p>Oops, I may have misplaced that link.</p>
15
+ </div>
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2020 Weixuan Zhang
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,267 @@
1
+ ![Simple](/docs/head.png)
2
+
3
+ <p align="center">
4
+ <a aria-label="build" href="https://github.com/WeixuanZ/simple-jekyll-theme/actions" target="_blank">
5
+ <img alt="GitHub Workflow Status" src="https://img.shields.io/github/workflow/status/weixuanz/simple-jekyll-theme/Gem%20Publish?style=flat-square">
6
+ </a>
7
+ <a aria-label="version" href="https://github.com/WeixuanZ/simple-jekyll-theme/blob/master/CHANGELOG.md">
8
+ <img alt="Version" src="https://img.shields.io/github/package-json/v/weixuanz/simple-jekyll-theme?style=flat-square">
9
+ </a>
10
+ <a aria-label="license" href="#license" target="_blank">
11
+ <img alt="License: MIT" src="https://img.shields.io/github/license/weixuanz/simple-jekyll-theme?style=flat-square">
12
+ </a>
13
+ </p>
14
+
15
+ A minimalistic Jekyll theme created for my blog - https://weixuanz.github.io.
16
+
17
+ * GitHub Pages compatible
18
+ * Optimised for speed (perfect score on PageSpeed Insight):
19
+ * No JQuery
20
+ * Minified HTML, CSS and JS
21
+ * Asynchronous loading of non-critical CSS
22
+ * Image lazy-loading
23
+ * And more...
24
+ * Dark mode support, with animated transition
25
+ * Mobile friendly
26
+ * Tag system, with sorted tag clouds
27
+ * Ajax pagination
28
+ * Dynamic TOC
29
+ * Code listings with copy button
30
+ * RSS Feed and SEO
31
+ * Google Tag Manager
32
+
33
+ <p align="center">
34
+ <a href="https://weixuanz.github.io/simple-jekyll-theme"><img alt="theme screenshot" src="/screenshot.png" width="400"></a>
35
+ </p>
36
+
37
+ ---
38
+
39
+ This repository is a clone of that for my website, with commits not related to the theme stripped out, also with modifications for generalisation. For the commenting system (not included in this theme), check out [my fork of Utterances](https://github.com/WeixuanZ/utterances).
40
+
41
+ * [Installation](#installation)
42
+ * [Usage](#usage)
43
+ * [Metadata](#metadata)
44
+ * [Google Analytics \(optional\)](#google-analytics-optional)
45
+ * [Font Awesome Kit \(optional\)](#font-awesome-kit-optional)
46
+ * [Navigation](#navigation)
47
+ * [Homepage](#homepage)
48
+ * [Blog Posts](#blog-posts)
49
+ * [Customising](#customising)
50
+ * [Contributing](#contributing)
51
+ * [Development](#development)
52
+ * [License](#license)
53
+
54
+
55
+ ## Installation
56
+
57
+ > If you are hosting your site on GitHub Pages, fork this repository and follow the [Development](#development) setup **instead**, and rename it to `<username>.github.io`. Alternatively, you can use `remote_theme: WeixuanZ/simple-jekyll-theme` by including a whitelisted gem called _jekyll-remote-theme_ in your `_config.yml`, [more details here](https://docs.github.com/en/free-pro-team@latest/github/working-with-github-pages/adding-a-theme-to-your-github-pages-site-using-jekyll#adding-a-jekyll-theme-in-your-sites-_configyml-file).
58
+
59
+ Add this line to your Jekyll site's `Gemfile`:
60
+
61
+ ```ruby
62
+ gem "simple-jekyll-theme"
63
+ ```
64
+
65
+ And then execute:
66
+
67
+ ```bash
68
+ $ bundle
69
+ ```
70
+
71
+ ## Usage
72
+
73
+ Add this line to your Jekyll site's `_config.yml`:
74
+
75
+ ```yaml
76
+ theme: simple-jekyll-theme
77
+ ```
78
+
79
+ The theme provides four layouts:
80
+
81
+ * `default.html` — The base layout that lays the foundation for subsequent layouts, can be used for standalone pages.
82
+ * `home.html` — The layout for your landing-page / home-page / index-page. [[More Info](#homepage)]
83
+ * `post.html` — The layout for your posts.
84
+ * `tagpage.html` — The layout for your tag pages.
85
+
86
+ Note that you would have to include the corresponding font-matter to specify the layout, since Jekyll’s default settings cannot be overridden by a theme-config.
87
+
88
+
89
+ ### Metadata
90
+
91
+ Overwrite the default values shown below by providing alternatives in your `_config.yml`.
92
+
93
+ ```yaml
94
+ title: Simple Jekyll Theme
95
+ author: W Zhang
96
+ tagline: "A minimalistic theme for blogs"
97
+ description: "Theme for my personal blog https://weixuanz.github.io"
98
+ url: "https://weixuanz.github.io/simple-jekyll-theme" # no "/" at the end
99
+ lang: en
100
+ paginate: 5 # number of posts displayed on each page
101
+ ```
102
+
103
+
104
+ #### Google Analytics (optional)
105
+
106
+ You can add Google Analytics through Google Tag Manager, add the following to your `_config.yml`:
107
+
108
+ ```yaml
109
+ google-tag-manager-id: GTM-xxxxxx
110
+ ```
111
+
112
+ #### Font Awesome Kit (optional)
113
+
114
+ You can use the Font Awesome Kit instead of using the default hardcoded svg icons. This is useful if you want to include more icons than the ones defined in `./_includes/icons.html`. You can register for a free kit at https://fontawesome.com.
115
+
116
+ ```yaml
117
+ font-awesome-kit: xxxxxxxxxx
118
+ ```
119
+
120
+ If the above is specified in `_config.yml`, svg icon definitions will not be included, and `<i />` will be used.
121
+
122
+
123
+ ### Navigation
124
+
125
+ Add names and paths under the `navigation` key in `_config.yml` to specify links in the navigation bar:
126
+
127
+ ```yaml
128
+ navigation:
129
+ - name: Home
130
+ link: /
131
+ - name: About
132
+ link: /about/
133
+ ```
134
+
135
+ Note that the default permalink setting is `pretty`, you need to include `permalink: pretty` in `_config.yml`, or use the corresponding format when specifying `navigation`.
136
+
137
+
138
+ ### Homepage
139
+
140
+ Add the following to `index.html` of your site:
141
+
142
+ ```yaml
143
+ ---
144
+ layout: home
145
+ title: Home
146
+ pagination:
147
+ enabled: true
148
+ ---
149
+ ```
150
+
151
+ Please note that for pagination to work, the index file must be in `.html` instead of `.md`.
152
+
153
+ All content from the file (if there's any) will be injected above the generated post list by the `home` layout. This will allow you to include non-posts related content to be published on the landing page.
154
+
155
+
156
+ ### Blog Posts
157
+
158
+ Name your blog posts as `yyyy-mm-dd-name.md` and put them in `./_posts/`. Some important front matter configurations are listed below:
159
+
160
+ ```yaml
161
+ ---
162
+ layout: post
163
+ title: Example
164
+ author: W Zhang
165
+ description: This is an example post
166
+ tag: [example, jekyll]
167
+ toc: true
168
+ mathjax: true
169
+ ---
170
+ ```
171
+
172
+ A rather unfortunate result of supporting GitHub Pages is that the fantastic Jekyll tag gems cannot be used. I wrote a Python script `./scripts/tag_generator.py` based on [Long Qian's fantastic solution](https://longqian.me/2017/02/09/github-jekyll-tag/). You will need to download it separately if you are using the gem approach, perhaps using:
173
+
174
+ ```bash
175
+ wget https://raw.githubusercontent.com/WeixuanZ/simple-jekyll-theme/master/tag_generator.py
176
+ ```
177
+
178
+ You can use the provided `./scripts/pre-commit` git hook for automatic execution, or use `yarn run tag` if you cloned this repository.
179
+
180
+ On the other hand, if you prefer doing it manually, you simply need to create `.md` files under `./tag/`. For example, `./tag/jekyll.md` for a tag named _jekyll_ may contain the following:
181
+
182
+ ```yaml
183
+ ---
184
+ layout: tagpage
185
+ title: "Tag: jekyll"
186
+ tag: jekyll
187
+ ---
188
+ ```
189
+
190
+ Other than `blockquotes`, this theme also provides `.hint` and `.danger`, with blue and red left border respectively. They are implemented as classes on top of `blockquotes`, you can use the Kramdown syntax:
191
+
192
+ ```markdown
193
+ > This is a hint
194
+ {:.hint}
195
+ ```
196
+
197
+ The theme also includes the [lazysizes](https://github.com/aFarkas/lazysizes) package, to enable lazy-loading of images, use `data-src` instead of `src`, and add `lazyload` class.
198
+
199
+ ```html
200
+ <figure>
201
+ <img data-src="/assets/images/example.png" class="lazyload">
202
+ <figcaption>Example figure</figcaption>
203
+ </figure>
204
+ ```
205
+
206
+
207
+ ### Customising
208
+
209
+ To override the default structure and style, simply create the concerned directory at the root of your site, copy the file you wish to customise to that directory, and then edit the file.
210
+
211
+ The files you may be particularly interested in:
212
+
213
+ ```
214
+ .
215
+ ├── _includes
216
+ │   ├── footer.html
217
+ │   ├── head.html -> <head /> in default layout
218
+ │   ├── custom-head.html -> placeholder for adding more metadata to <head />, e.g. png favicons
219
+ │   └── comment.html -> placeholder for commenting system
220
+ ├── _sass
221
+ │   ├── blog.scss -> critical and non-critical styles related to blog posts, e.g. toc
222
+ │   ├── code.scss
223
+ │   ├── definitions.scss -> colour, font and mixin definitions
224
+ │   ├── main.scss -> critical styles
225
+ │   ├── mobile.scss -> media queries
226
+ │   └── print.scss
227
+ └── assets
228
+    └── js
229
+    ├── main.js ┬> note that the minified versions xxxx.min.js are used
230
+    └── pagination.js ┘
231
+ ```
232
+
233
+ ## Contributing
234
+
235
+ Bug reports and pull requests are welcome on GitHub at https://github.com/weixuanz/simple-jekyll-theme. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](https://contributor-covenant.org) code of conduct.
236
+
237
+
238
+ ## Development
239
+
240
+ To set up your environment to develop this theme, run `bundle install` and `yarn install`.
241
+
242
+ To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using the theme. Add pages, documents, data, etc. like normal to test the theme's contents. As you make modifications to the theme and content, the site will regenerate and you should see the changes in the browser after a refresh, just like normal.
243
+
244
+ I recommend using Google's Closure-compiler for minifying JavaScripts. If you have Homebrew installed, it's simply `brew install closure-compiler`. For automatic execution, you can also use the provided git hook.
245
+
246
+ When the theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled. To add a custom directory to the theme-gem, please edit the regexp in `simple-jekyll-theme.gemspec` accordingly.
247
+
248
+ ## License
249
+
250
+ The theme is available as open source under the terms of the [MIT License](/LICENSE.md). Please link to this repository in the footer if you overwrite the default one.
251
+
252
+ By default, svg icons used (in `./_includes/icons.html`) are from Font Awesome, which are licensed under the [Creative Commons Attribution 4.0 International license](https://creativecommons.org/licenses/by/4.0/). No modifications were made.
253
+
254
+ Amazing open-source code used:
255
+ * Source-codes included in this gem:
256
+ * [Monokai theme colour definitions](https://gist.github.com/asaaki/1007420)
257
+ * [Theme switching script by Koos Looijesteijn](https://gist.github.com/kslstn/20f654fd27eb29619040c74fa6526919) (_Modified_)
258
+ * [jekyll-compress-html](https://github.com/penibelst/jekyll-compress-html) MIT
259
+ * [jekyll-toc](https://github.com/allejo/jekyll-toc) MIT (_Modification merged upstream_)
260
+ * Dependencies:
261
+ * JS libraries:
262
+ * [Clipboard.js](https://clipboardjs.com)
263
+ * [lazysizes](https://github.com/aFarkas/lazysizes)
264
+ * Jekyll plug-ins:
265
+ * [jekyll-seo-tag](https://github.com/jekyll/jekyll-seo-tag)
266
+ * [jekyll-sitemap](https://github.com/jekyll/jekyll-sitemap)
267
+ * [jekyll-feed](https://github.com/jekyll/jekyll-feed)
File without changes
File without changes
@@ -0,0 +1,6 @@
1
+ <footer id="main-footer" class="no-select">
2
+ <p id="copyleft">Copyleft <span style="display: inline-block; transform: rotate(180deg);">&copy;</span> {{ 'now' | date: "%Y" }} {{ site.author }}</p>
3
+ <div>
4
+ Powered by <a href="https://jekyllrb.com" aria-label="jekyll">Jekyll</a> & <a href="https://github.com/WeixuanZ/simple-jekyll-theme" aria-label="theme">Simple</a>.
5
+ </div>
6
+ </footer>
@@ -0,0 +1,40 @@
1
+ <head>
2
+ {% if site.google-tag-manager-id %}
3
+ <!-- Google Tag Manager -->
4
+ <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
5
+ new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
6
+ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
7
+ 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
8
+ })(window,document,'script','dataLayer','{{ site.google-tag-manager-id }}');</script>
9
+ <!-- End Google Tag Manager -->
10
+ {% endif%}
11
+
12
+ <!-- Meta -->
13
+ <meta charset="utf-8">
14
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
15
+ <title>{{ page.title }} &middot; {{ site.title }}</title>
16
+ <!-- Fonts -->
17
+ <link href='https://fonts.gstatic.com' rel='preconnect' crossorigin>
18
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Black+Ops+One&display=swap">
19
+ <!-- Stylesheets -->
20
+ <link rel="stylesheet" type="text/css" href="{{ site.url }}/assets/css/styles.css">
21
+ <link rel="stylesheet" href="{{ site.url }}/assets/css/styles_noncritical.css" media="print" onload="this.media='all'">
22
+ <noscript><link rel="stylesheet" href="{{ site.url }}/assets/css/styles_noncritical.css"></noscript> <!-- Fallback -->
23
+
24
+ {% if site.font-awesome-kit %}
25
+ <script defer src="https://kit.fontawesome.com/{{ site.font-awesome-kit }}.js" crossorigin="anonymous"></script>
26
+ {% endif %}
27
+
28
+ {% if page.content contains "lazyload" %}
29
+ <script async src="https://cdn.jsdelivr.net/npm/lazysizes@5/lazysizes.min.js"></script>
30
+ {% endif %}
31
+
32
+ {% if page.mathjax %}
33
+ {% include mathjax.html %}
34
+ {% endif %}
35
+
36
+ {% feed_meta %}
37
+ {% seo title=false %}
38
+
39
+ {% include custom-head.html %}
40
+ </head>
@@ -0,0 +1,19 @@
1
+ <svg aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <defs>
3
+ <symbol id="icon-dizzy-solid" viewBox="0 0 31 32">
4
+ <path d="M15.5 0.5c-8.563 0-15.5 6.938-15.5 15.5s6.938 15.5 15.5 15.5 15.5-6.938 15.5-15.5-6.938-15.5-15.5-15.5zM9.5 13.412l-1.794 1.794c-0.925 0.925-2.362-0.469-1.413-1.412l1.794-1.794-1.794-1.794c-0.938-0.938 0.481-2.35 1.413-1.412l1.794 1.794 1.794-1.794c0.938-0.938 2.35 0.481 1.412 1.412l-1.794 1.794 1.794 1.794c0.95 0.95-0.494 2.337-1.412 1.412l-1.794-1.794zM15.5 26c-2.206 0-4-1.794-4-4s1.794-4 4-4 4 1.794 4 4-1.794 4-4 4zM24.706 13.794c0.95 0.95-0.494 2.337-1.413 1.412l-1.794-1.794-1.794 1.794c-0.925 0.925-2.363-0.469-1.413-1.412l1.794-1.794-1.794-1.794c-0.938-0.938 0.481-2.35 1.413-1.412l1.794 1.794 1.794-1.794c0.938-0.938 2.35 0.481 1.413 1.412l-1.794 1.794 1.794 1.794z"></path>
5
+ </symbol>
6
+ <symbol id="icon-adjust-solid" viewBox="0 0 32 32">
7
+ <path d="M0.5 16c0 8.56 6.94 15.5 15.5 15.5s15.5-6.94 15.5-15.5-6.94-15.5-15.5-15.5-15.5 6.94-15.5 15.5zM16 27.5v-23c6.357 0 11.5 5.144 11.5 11.5 0 6.357-5.144 11.5-11.5 11.5z"></path>
8
+ </symbol>
9
+ <symbol id="icon-share-solid" viewBox="0 0 32 32">
10
+ <path d="M31.481 11.865l-11-9.499c-0.963-0.832-2.48-0.156-2.48 1.135v5.003c-10.039 0.115-18 2.127-18 11.641 0 3.84 2.474 7.644 5.208 9.633 0.853 0.621 2.069-0.158 1.755-1.164-2.834-9.063 1.344-11.469 11.037-11.609v5.495c0 1.294 1.519 1.966 2.48 1.135l11-9.5c0.692-0.598 0.693-1.672 0-2.271z"></path>
11
+ </symbol>
12
+ <symbol id="icon-tag-solid" viewBox="0 0 32 32">
13
+ <path d="M0 15.757v-12.757c0-1.657 1.343-3 3-3h12.757c0.828 0 1.578 0.336 2.121 0.879l13.243 13.243c1.172 1.172 1.172 3.071 0 4.243l-12.757 12.757c-1.172 1.172-3.071 1.172-4.243 0l-13.243-13.243c-0.543-0.543-0.879-1.293-0.879-2.121v0zM7 4c-1.657 0-3 1.343-3 3s1.343 3 3 3 3-1.343 3-3-1.343-3-3-3z"></path>
14
+ </symbol>
15
+ <symbol id="icon-clone-solid" viewBox="0 0 32 32">
16
+ <path d="M29 0c1.657 0 3 1.343 3 3v18c0 1.657-1.343 3-3 3h-18c-1.657 0-3-1.343-3-3v-18c0-1.657 1.343-3 3-3h18zM11 26c-2.757 0-5-2.243-5-5v-13h-3c-1.657 0-3 1.343-3 3v18c0 1.657 1.343 3 3 3h18c1.657 0 3-1.343 3-3v-3h-13z"></path>
17
+ </symbol>
18
+ </defs>
19
+ </svg>
@@ -0,0 +1,21 @@
1
+ <script defer type="text/javascript">
2
+ MathJax = {
3
+ options: {
4
+ renderActions: {
5
+ find_script_mathtex: [10, function (doc) {
6
+ for (const node of document.querySelectorAll('script[type^="math/tex"]')) {
7
+ const display = !!node.type.match(/; *mode=display/);
8
+ const math = new doc.options.MathItem(node.textContent, doc.inputJax[0], display);
9
+ const text = document.createTextNode('');
10
+ node.parentNode.replaceChild(text, node);
11
+ math.start = {node: text, delim: '', n: 0};
12
+ math.end = {node: text, delim: '', n: 0};
13
+ doc.math.push(math);
14
+ }
15
+ }, '']
16
+ }
17
+ }
18
+ };
19
+ </script>
20
+ <script defer src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
21
+ <script defer id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
@@ -0,0 +1,26 @@
1
+ <nav id="navbar" class="no-select">
2
+ <div class="container">
3
+ {% for item in site.navigation %}
4
+ <a {% if page.url == item.link %}class="current"{% else %}href="{{ site.url }}{{ item.link }}"{% endif %}>{{ item.name }}</a>
5
+ {% endfor %}
6
+ <input type="checkbox" id="dark-toggle-box">
7
+ <label for="dark-toggle-box" id="dark-toggle-label">
8
+ {% if site.font-awesome-kit %}
9
+ <i class="fas fa-adjust"></i>
10
+ {% else %}
11
+ <svg class="icon"><use xlink:href="#icon-adjust-solid"></use></svg>
12
+ {% endif %}
13
+ </label>
14
+ </div>
15
+ </nav>
16
+ <script type="text/javascript">
17
+ const navbar = document.querySelector('#navbar');
18
+ const nav_init = navbar.offsetTop;
19
+ window.addEventListener('scroll', function() {
20
+ if (this.scrollY >= nav_init) {
21
+ navbar.classList.add("sticky");
22
+ } else {
23
+ navbar.classList.remove("sticky");
24
+ }
25
+ })
26
+ </script>
@@ -0,0 +1,20 @@
1
+ <a href="{{ site.url }}{{ post.url }}">
2
+ <div class="card">
3
+ <div class="post-meta">
4
+ <span class="date">{{ post.date | date: "%b %-d, %Y" }}</span>
5
+ {% if post.tags.size > 0 %}
6
+ &verbar;
7
+ <span class="tag">
8
+ {%- if site.font-awesome-kit -%}
9
+ <i class="fas fa-tag"></i>
10
+ {%- else -%}
11
+ <svg class="icon"><use xlink:href="#icon-tag-solid"></use></svg>
12
+ {%- endif -%}
13
+ {% for tag in post.tags %}<code>{{ tag }}</code>{% endfor %}
14
+ </span>
15
+ {% endif %}
16
+ </div>
17
+ <span class="post-title">{{ post.title }}</span><br>
18
+ <span class="post-description">{{ post.description }}</span>
19
+ </div>
20
+ </a>