jekyll-theme-horizon-flow 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +675 -0
- data/_config.yml +103 -0
- data/_includes/404.html +26 -0
- data/_includes/footer.html +104 -0
- data/_includes/header.html +23 -0
- data/_includes/read_time.html +39 -0
- data/_includes/toc.html +182 -0
- data/_layouts/archive.html +82 -0
- data/_layouts/categories.html +85 -0
- data/_layouts/default.html +26 -0
- data/_layouts/home.html +58 -0
- data/_layouts/post.html +73 -0
- data/_layouts/search.html +45 -0
- data/_layouts/tags.html +77 -0
- data/_posts/2021-01-01-markdown-test-page.md +179 -0
- data/_posts/2022-01-18-pirates.md +44 -0
- data/_posts/2022-06-21-leopards.md +42 -0
- data/_posts/2022-12-12-chatgpt-testpost-all-markdown-elements.md +121 -0
- data/_posts/2023-06-01-getting-started-with-jekyll.md +49 -0
- data/_posts/2023-06-03-customizing-your-jekyll-site.md +25 -0
- data/_posts/2023-06-06-welcome-to-jekyll.md +29 -0
- data/_posts/2023-07-13-title-for-champions.md +284 -0
- data/_sass/default/_base.scss +31 -0
- data/_sass/default/_footer.scss +162 -0
- data/_sass/default/_header.scss +62 -0
- data/_sass/external/_highlighter_rougify_base16dark.scss +84 -0
- data/_sass/external/_normalize.scss +349 -0
- data/_sass/functions/_mixins.scss +192 -0
- data/_sass/functions/_values.scss +21 -0
- data/_sass/jekyll-theme-horizon-flow.scss +16 -0
- data/_sass/layouts/_archive.scss +89 -0
- data/_sass/layouts/_categories.scss +93 -0
- data/_sass/layouts/_home.scss +120 -0
- data/_sass/layouts/_post.scss +322 -0
- data/_sass/layouts/_search.scss +66 -0
- data/_sass/layouts/_tags.scss +91 -0
- data/assets/search.json +20 -0
- data/assets/style.scss +6 -0
- metadata +182 -0
data/README.md
ADDED
@@ -0,0 +1,675 @@
|
|
1
|
+
# Horizon Flow Jekyll Theme
|
2
|
+
|
3
|
+
- [Installation](#installation)
|
4
|
+
- [Ruby Gem Method](#ruby-gem-method)
|
5
|
+
- [GitHub Pages Method](#github-pages-method)
|
6
|
+
- [Structure](#structure)
|
7
|
+
- [Starting Fresh](#starting-fresh)
|
8
|
+
- [Starting from `jekyll new`](#starting-from-jekyll-new)
|
9
|
+
- [Configuration](#configuration)
|
10
|
+
- [Site URL](#site-url)
|
11
|
+
- [Site Base URL](#site-base-url)
|
12
|
+
- [Navigation](#navigation)
|
13
|
+
- [Footer](#footer)
|
14
|
+
- [Footer Sidebar](#footer-sidebar)
|
15
|
+
- [Table of Contents](#table-of-contents)
|
16
|
+
- [paginate](#paginate)
|
17
|
+
- [default plugins](#default-plugins)
|
18
|
+
- [Front Matter](#front-matter)
|
19
|
+
- [Layouts](#layouts)
|
20
|
+
- [`layout: default`](#layout-default)
|
21
|
+
- [`layout: post`](#layout-post)
|
22
|
+
- [`layout: archive`](#layout-archive)
|
23
|
+
- [`layout: home`](#layout-home)
|
24
|
+
- [`layout: categories`](#layout-categories)
|
25
|
+
- [`layout: search`](#layout-search)
|
26
|
+
- [`layout: tags`](#layout-tags)
|
27
|
+
|
28
|
+
|
29
|
+
[![LICENSE](https://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat-square)](https://raw.githubusercontent.com/papierkorp/jekyll-theme-horizon-flow/main/LICENSE.txt)
|
30
|
+
[![Jekyll](https://img.shields.io/badge/jekyll-%3E%3D%203.6-blue.svg?style=flat-square)](https://jekyllrb.com/)
|
31
|
+
[![Ruby gem](https://img.shields.io/gem/v/jekyll-theme-so-simple.svg?style=flat-square)]()
|
32
|
+
|
33
|
+
This is my first ever theme or anything like this so I got a whole damn LOT of Inspiration and Ideas of the [So Simple](https://github.com/mmistakes/so-simple-theme/tree/master) theme from [mmistakes](https://github.com/mmistakes). Also i almost completly copied his readme pls forgive me <3.
|
34
|
+
|
35
|
+
This theme can offer:
|
36
|
+
|
37
|
+
* Custom Navigation
|
38
|
+
* Dynamically created Footer with Font Awesome Icons and Social Links
|
39
|
+
* Flexible customizable Footer-Sidebar (above the Footer) where you can include up to 5 elements. You can choose between 4 premade ones and self created ones
|
40
|
+
* SEO best practices via [Jekyll SEO Tag](https://github.com/jekyll/jekyll-seo-tag)
|
41
|
+
* Javascript free besides the optional search page
|
42
|
+
* supports tags and categories
|
43
|
+
* offers an archive
|
44
|
+
* Carefully designed posts for almost all Markup elements
|
45
|
+
* Activateable TOC and to the TOP Buttons for each post
|
46
|
+
|
47
|
+
![Horizon Flow Screenshots](screenshot.png)
|
48
|
+
![Horizon Flow Screenshots](post.png)
|
49
|
+
![Horizon Flow Screenshots](post_toc.png)
|
50
|
+
![Horizon Flow Screenshots](categories.png)
|
51
|
+
![Horizon Flow Screenshots](tags.png)
|
52
|
+
![Horizon Flow Screenshots](archive.png)
|
53
|
+
|
54
|
+
![Horizon Flow Screenshots](search.png)
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
## Installation
|
59
|
+
|
60
|
+
If you're running Jekyll v4.3+ and self-hosting you can quickly install the theme as a Ruby gem. If you're hosting with [**GitHub Pages**](https://pages.github.com/) you can install as a [remote theme](https://github.com/benbalter/jekyll-remote-theme) or directly copy all of the theme files (see [structure](#structure) below) into your project.
|
61
|
+
|
62
|
+
### Ruby Gem Method
|
63
|
+
|
64
|
+
1. Add this line to your Jekyll site's `Gemfile`:
|
65
|
+
|
66
|
+
```ruby
|
67
|
+
gem "jekyll-theme-horizon-flow"
|
68
|
+
```
|
69
|
+
|
70
|
+
2. Add this line to your Jekyll site's `_config.yml` file:
|
71
|
+
|
72
|
+
```yaml
|
73
|
+
theme: jekyll-theme-horizon-flow
|
74
|
+
```
|
75
|
+
|
76
|
+
3. Then run [Bundler](http://bundler.io/) to install the theme gem and dependencies:
|
77
|
+
|
78
|
+
```terminal
|
79
|
+
bundle install
|
80
|
+
```
|
81
|
+
|
82
|
+
### GitHub Pages Method
|
83
|
+
|
84
|
+
GitHub Pages has added [full support](https://github.com/blog/2464-use-any-theme-with-github-pages) for any GitHub-hosted theme.
|
85
|
+
|
86
|
+
1. Replace `gem "jekyll"` with:
|
87
|
+
|
88
|
+
```ruby
|
89
|
+
gem "github-pages", group: :jekyll_plugins
|
90
|
+
```
|
91
|
+
|
92
|
+
2. Run `bundle update` and verify that all gems install properly.
|
93
|
+
|
94
|
+
3. Add `remote_theme: ""` to your
|
95
|
+
`_config.yml` file. Remove any other `theme:` or `remote_theme:` entries.
|
96
|
+
|
97
|
+
---
|
98
|
+
|
99
|
+
**Note:** Your Jekyll site should be viewable immediately at <http://USERNAME.github.io>. If it's not, you can force a rebuild by pushing empty commits to GitHub (see below for more details).
|
100
|
+
|
101
|
+
If you're hosting several Jekyll based sites under the same GitHub username you will have to use Project Pages instead of User Pages. Essentially you rename the repo to something other than **USERNAME.github.io** and create a `gh-pages` branch off of `master`. For more details on how this works, check [GitHub's documentation](https://help.github.com/articles/user-organization-and-project-pages/).
|
102
|
+
|
103
|
+
|
104
|
+
### Structure
|
105
|
+
|
106
|
+
|
107
|
+
**Please note:** If you installed Horizon Flow via the Ruby Gem or remote theme methods, theme files found in `/_layouts`, `/_includes`, `/_sass`, and `/assets` will be missing from your project. This is normal as they are bundled with the [`jekyll-theme-horizon-flow`](https://rubygems.org/gems/jekyll-theme-horizon-flow) gem.
|
108
|
+
|
109
|
+
```
|
110
|
+
├── _includes # theme includes
|
111
|
+
├── _layouts # theme layouts (see below for usage)
|
112
|
+
├── _sass # Sass partials
|
113
|
+
├── assets
|
114
|
+
| ├── style.scss # main style file
|
115
|
+
| └── search.json # stores your data, used for the search
|
116
|
+
├── _config.yml # sample configuration
|
117
|
+
├── archive.md # if you want to use the archive page
|
118
|
+
├── categories.md # if you want to use the categories page
|
119
|
+
├── impressum.html # sample impressum
|
120
|
+
├── index.html # default index.html file with pagination
|
121
|
+
├── search.md # if you want to use the search page
|
122
|
+
├── tags.md # if you want to use the tags page
|
123
|
+
```
|
124
|
+
|
125
|
+
### Starting Fresh
|
126
|
+
|
127
|
+
Using the `jekyll new` command will get you up and running the quickest.
|
128
|
+
|
129
|
+
Edit your `Gemfile` and `_config.yml` files following the [Installation guide](#installation) above and [Configuration guide](#configuration) below.
|
130
|
+
|
131
|
+
|
132
|
+
After creating a `Gemfile` and installing the theme you'll need to rename `index.md` to [`index.html`](index.html)
|
133
|
+
Also you have to add `gem "jekyll-paginate"` to your `Gemfile` plugins list:
|
134
|
+
|
135
|
+
```ruby
|
136
|
+
group :jekyll_plugins do
|
137
|
+
gem "jekyll-feed", "~> 0.12"
|
138
|
+
gem "jekyll-paginate"
|
139
|
+
end
|
140
|
+
```
|
141
|
+
|
142
|
+
If you want to use the full potential of this theme you should also follow along [Navigation setup](#Navigation)
|
143
|
+
You can also configure most of the hard coded Labels if you follow this Instruction: [Configurable Lables](#configurable-lables)
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
## Configuration
|
148
|
+
|
149
|
+
Configuration of site-wide elements (`navigation`, `footer`, `footer-sidebar`, `title`, `description`, `url` etc.) happens in your project's `_config.yml`.
|
150
|
+
|
151
|
+
Here is a example `_config.yaml`:
|
152
|
+
|
153
|
+
```yaml
|
154
|
+
read_time_after: "min read"
|
155
|
+
words_per_minute: 180
|
156
|
+
|
157
|
+
url: "https://example.com"
|
158
|
+
|
159
|
+
navigation:
|
160
|
+
- title: Home
|
161
|
+
url: /index.html
|
162
|
+
- title: Categories
|
163
|
+
url: /categories.html
|
164
|
+
- title: Tags
|
165
|
+
url: /tags.html
|
166
|
+
- title: Archive
|
167
|
+
url: /archive.html
|
168
|
+
- title: Search
|
169
|
+
url: /search.html
|
170
|
+
|
171
|
+
# Footer Links
|
172
|
+
footer_links:
|
173
|
+
- title: Feed
|
174
|
+
url: /feed.xml
|
175
|
+
icon: fa fa-rss
|
176
|
+
- title: GitHub
|
177
|
+
url: https://github.com/papierkorp
|
178
|
+
icon: fa fa-github
|
179
|
+
- title: Email
|
180
|
+
url: mailto:xxx@test.de
|
181
|
+
icon: fa fa-envelope
|
182
|
+
- title: Twitter
|
183
|
+
url: https://twitter.com
|
184
|
+
icon: fa fa-twitter
|
185
|
+
- title: Facebook
|
186
|
+
url: https://facebook.com
|
187
|
+
icon: fa fa-facebook
|
188
|
+
- title: Instagram
|
189
|
+
url: https://instagram.com
|
190
|
+
icon: fa fa-instagram
|
191
|
+
- title: Impressum
|
192
|
+
url: /impressum.html
|
193
|
+
|
194
|
+
footer_sidebar:
|
195
|
+
arrangement:
|
196
|
+
- description
|
197
|
+
- tags
|
198
|
+
- categories
|
199
|
+
- extracontent2
|
200
|
+
- recentposts
|
201
|
+
description:
|
202
|
+
enabled: true
|
203
|
+
categories:
|
204
|
+
enabled: true
|
205
|
+
count: 100
|
206
|
+
columns: 1
|
207
|
+
tags:
|
208
|
+
enabled: true
|
209
|
+
count: 100
|
210
|
+
columns: 3
|
211
|
+
recentposts:
|
212
|
+
enabled: true
|
213
|
+
count: 10
|
214
|
+
columns: 2
|
215
|
+
custom_content:
|
216
|
+
enabled: true
|
217
|
+
data: >-
|
218
|
+
<h3>CUSTOM CONTENT</h3>
|
219
|
+
<p>not really content though...</p>
|
220
|
+
custom_content2:
|
221
|
+
enabled: false
|
222
|
+
|
223
|
+
plugins:
|
224
|
+
- jekyll-feed
|
225
|
+
- jekyll-paginate
|
226
|
+
- jekyll-seo-tag
|
227
|
+
- jekyll-sitemap
|
228
|
+
|
229
|
+
paginate: 5
|
230
|
+
paginate_path: "/:num/"
|
231
|
+
|
232
|
+
include: [".md"]
|
233
|
+
|
234
|
+
description: >- # this means to ignore newlines until "baseurl:"
|
235
|
+
<h3>
|
236
|
+
This is me
|
237
|
+
</h3>
|
238
|
+
<p>
|
239
|
+
Im a german guy from bavaria currently working as a devops engineer. I will try to keep the blog in english but may switch to german any time.
|
240
|
+
</p>
|
241
|
+
<p>
|
242
|
+
Here you will find a collection of blogs, tutorials, snippets or introductions mainly on (mostly modern) tech.
|
243
|
+
Also a few bits of gaming, fitness, finances and mabye (a big maybe) cooking.
|
244
|
+
I may find other topics of interest as well :D
|
245
|
+
</p>
|
246
|
+
|
247
|
+
|
248
|
+
highlighter: rouge
|
249
|
+
kramdown:
|
250
|
+
syntax_highlighter_opts:
|
251
|
+
block:
|
252
|
+
line_numbers: true
|
253
|
+
|
254
|
+
lang: en
|
255
|
+
|
256
|
+
defaults:
|
257
|
+
-
|
258
|
+
scope:
|
259
|
+
path: "_posts"
|
260
|
+
values:
|
261
|
+
toc: yes
|
262
|
+
display_toc: true
|
263
|
+
|
264
|
+
permalink: /posts/:title #remove date from link
|
265
|
+
```
|
266
|
+
|
267
|
+
Take a look [here](https://jekyllrb.com/docs/configuration/) for more Information.
|
268
|
+
|
269
|
+
As for the possible Configurations this theme offers take note of the following:
|
270
|
+
|
271
|
+
* [Site URL](#site-url)
|
272
|
+
* [Site Base URL](#site-base-url)
|
273
|
+
* [Navigation](#navigation)
|
274
|
+
* [Footer](#footer)
|
275
|
+
* [Footer Sidebar](#footer-sidebar)
|
276
|
+
* [Table of Contents](#table-of-contents)
|
277
|
+
* [paginate](#paginate)
|
278
|
+
* [default plugins](#default-plugins)
|
279
|
+
|
280
|
+
|
281
|
+
### Site URL
|
282
|
+
|
283
|
+
The base hostname and protocol for your site. If you're hosting with GitHub Pages this will be something like `url: "https://github.io.papierkorp"` or `url: "https://your-site.com"` if you have a custom domain name.
|
284
|
+
|
285
|
+
GitHub Pages now [forces `https://` for new sites](https://help.github.com/articles/securing-your-github-pages-site-with-https/), so be mindful of that when setting your URL to avoid mixed-content warnings.
|
286
|
+
|
287
|
+
**Note:** Jekyll overrides the value of `url` with `http://localhost:4000` when running `jekyll serve` locally in development. If you want to avoid this behavior set `JEKYLL_ENV=production` to [force the environment](http://jekyllrb.com/docs/configuration/#specifying-a-jekyll-environment-at-build-time) to production.
|
288
|
+
|
289
|
+
### Site Base URL
|
290
|
+
|
291
|
+
This option causes all kinds of confusion in the Jekyll community. If you're not hosting your site as a [GitHub Project Page](https://help.github.com/articles/user-organization-and-project-pages/) or in a subfolder (e.g., `/blog`), then don't mess with it.
|
292
|
+
|
293
|
+
In the case of the **Horzion FLow** demo site it's hosted on GitHub at <https://papierkorp.github.io>. To correctly set this base path I'd use `url: "https://papierkorp.github.io"` and `baseurl: "/"`.
|
294
|
+
|
295
|
+
For more information on how to properly use `site.url` and `site.baseurl` as intended by the Jekyll maintainers, check [Parker Moore's post on the subject](https://byparker.com/blog/2014/clearing-up-confusion-around-baseurl/).
|
296
|
+
|
297
|
+
**Note:** When using `baseurl` remember to include it as part of your link and asset paths in your content. Values of `url:` and `baseurl: "/blog"` would make your local site visible at <http://localhost:4000/blog> and not <http://localhost:4000>. You can either prepend all your asset and internal link paths with `{{ site.baseurl }}` or use Jekyll's `relative_url`.
|
298
|
+
|
299
|
+
To use the example values above the following image path of `{{ '/images/my-image.jpg' | relative_url }}` would output correctly as `http://localhost:4000/blog/images/my-image.jpg`.
|
300
|
+
|
301
|
+
Without the `relative_url` filter that asset path would be missing `/blog` and you'd have a broken image on your page.
|
302
|
+
|
303
|
+
|
304
|
+
### Navigation
|
305
|
+
|
306
|
+
The Navigation is created in the [_config](#configuration) like this:
|
307
|
+
|
308
|
+
```yaml
|
309
|
+
Navigation:
|
310
|
+
- title: Home
|
311
|
+
url: /index.html
|
312
|
+
- title: Categories
|
313
|
+
url: /categories.html
|
314
|
+
- title: Tags
|
315
|
+
url: /tags.html
|
316
|
+
- title: Archive
|
317
|
+
url: /archive.html
|
318
|
+
- title: Search
|
319
|
+
url: /search.html
|
320
|
+
- title: Custom
|
321
|
+
url: /custom.html
|
322
|
+
```
|
323
|
+
|
324
|
+
You will have to create the specific `.html` or `.md` File in the target directory.
|
325
|
+
|
326
|
+
If you want to use all of the premade layouts you will have to create this files in your root Directory:
|
327
|
+
|
328
|
+
**index.html**
|
329
|
+
```html
|
330
|
+
---
|
331
|
+
title: Home
|
332
|
+
layout: home
|
333
|
+
---
|
334
|
+
```
|
335
|
+
|
336
|
+
**categories.md**
|
337
|
+
```markdown
|
338
|
+
---
|
339
|
+
title: Categories
|
340
|
+
layout: categories
|
341
|
+
---
|
342
|
+
```
|
343
|
+
|
344
|
+
**tags.md**
|
345
|
+
```markdown
|
346
|
+
---
|
347
|
+
title: Tags
|
348
|
+
layout: tags
|
349
|
+
---
|
350
|
+
```
|
351
|
+
|
352
|
+
**archive.md**
|
353
|
+
```markdown
|
354
|
+
---
|
355
|
+
title: Archive
|
356
|
+
layout: archive
|
357
|
+
---
|
358
|
+
```
|
359
|
+
|
360
|
+
**search.md**
|
361
|
+
```markdown
|
362
|
+
---
|
363
|
+
title: Search
|
364
|
+
layout: search
|
365
|
+
---
|
366
|
+
```
|
367
|
+
|
368
|
+
**custom.html**
|
369
|
+
```html
|
370
|
+
---
|
371
|
+
title: Custom Content
|
372
|
+
layout: post
|
373
|
+
---
|
374
|
+
<h1>Custom Content</h1>
|
375
|
+
<p>data...</p>
|
376
|
+
```
|
377
|
+
|
378
|
+
or
|
379
|
+
|
380
|
+
**custom.md**
|
381
|
+
```markdown
|
382
|
+
---
|
383
|
+
title: Custom Content
|
384
|
+
layout: post
|
385
|
+
---
|
386
|
+
|
387
|
+
# Custom Content
|
388
|
+
|
389
|
+
markdown data...
|
390
|
+
```
|
391
|
+
|
392
|
+
Besides the `index.html` (because of the pagination) it doesnt matter if you use `.html` or `.md` Files.
|
393
|
+
For custom I will see if I can add another layout to use if neccessary, but I think `post` will do for everything.
|
394
|
+
|
395
|
+
### Footer
|
396
|
+
|
397
|
+
The Footer (Links) are created in the [_config](#configuration) like this:
|
398
|
+
|
399
|
+
You can use all [Font Awesome](https://fontawesome.com/v4/icons/) Icons (but you dont have to). As you can see with the Impressum you can also link to locale files.
|
400
|
+
|
401
|
+
You can add all kinds of social Media Links
|
402
|
+
|
403
|
+
|
404
|
+
```yaml
|
405
|
+
footer_links:
|
406
|
+
- title: Feed
|
407
|
+
url: /feed.xml
|
408
|
+
icon: fa fa-rss
|
409
|
+
- title: GitHub
|
410
|
+
url: https://github.com/papierkorp
|
411
|
+
icon: fa fa-github
|
412
|
+
- title: Email
|
413
|
+
url: mailto:xxx@test.de
|
414
|
+
icon: fa fa-envelope
|
415
|
+
- title: Twitter
|
416
|
+
url: twitter.com
|
417
|
+
icon: fa fa-twitter
|
418
|
+
- title: Facebook
|
419
|
+
url: facebook.com
|
420
|
+
icon: fa fa-facebook
|
421
|
+
- title: Instagram
|
422
|
+
url: instagram.com
|
423
|
+
icon: fa fa-instagram
|
424
|
+
- title: Impressum
|
425
|
+
url: /impressum.html
|
426
|
+
```
|
427
|
+
|
428
|
+
### Layouts
|
429
|
+
|
430
|
+
In here you can define the amount of columns used to display all tags/categories/years via the `_config`.
|
431
|
+
Available values are `1-5`.
|
432
|
+
|
433
|
+
```yaml
|
434
|
+
layouts:
|
435
|
+
tags:
|
436
|
+
columns: 5 # default 4
|
437
|
+
categories:
|
438
|
+
columns: 3 # default 3
|
439
|
+
archive:
|
440
|
+
columns: 1 # default 2
|
441
|
+
```
|
442
|
+
|
443
|
+
|
444
|
+
### Footer Sidebar
|
445
|
+
|
446
|
+
The footer Sidebar is the content directly above the footer.
|
447
|
+
Per default there are 4 elements available:
|
448
|
+
|
449
|
+
**description:** Uses the `description:` of `_config` to display all the data from there. For the best experience you should use an <h1></h1> on the top.
|
450
|
+
**categories:** Shows random categories according to the count.
|
451
|
+
**tags:** Shows random categories according to the count.
|
452
|
+
**recentposts:** Shows the last posts according to the count.
|
453
|
+
**custom_content:** As seen in the example below you can add custom content in two ways, the content can include `html` code.
|
454
|
+
**custom_content2:** same as `custom_content`.
|
455
|
+
|
456
|
+
You can set the Arrangement of the given elements like in the example below.
|
457
|
+
|
458
|
+
**Note**, if you dont set the Arrangement **nothing** will be displayed! Also if you want the categories and tags links to work you need to follow the [Navigation Setup](#navigation)
|
459
|
+
|
460
|
+
```yaml
|
461
|
+
description: >- # this means to ignore newlines until
|
462
|
+
<h3>
|
463
|
+
This is me
|
464
|
+
</h3>
|
465
|
+
<p>
|
466
|
+
I just created my first theme .. hurray :D
|
467
|
+
</p>
|
468
|
+
|
469
|
+
footer_sidebar:
|
470
|
+
arrangement: # you can rearrange the positions of the elements
|
471
|
+
- description # will be the first one to be displayed
|
472
|
+
- tags # second in the row ...
|
473
|
+
- custom_content
|
474
|
+
- recentposts # will be displayed last
|
475
|
+
description:
|
476
|
+
enabled: true # default: true
|
477
|
+
categories:
|
478
|
+
enabled: true # default: false
|
479
|
+
count: 100 # default: 100
|
480
|
+
tags:
|
481
|
+
enabled: true # default: false
|
482
|
+
count: 100 # default: 100
|
483
|
+
recentposts:
|
484
|
+
enabled: true # default: true
|
485
|
+
count: 10 # default: 10
|
486
|
+
custom_content:
|
487
|
+
enabled: true
|
488
|
+
data: >-
|
489
|
+
<h3>EXTRACONTENT</h3>
|
490
|
+
<p>not really content though...</p>
|
491
|
+
custom_content2:
|
492
|
+
enabled: false
|
493
|
+
data: "<h3>mhm</h3>"
|
494
|
+
```
|
495
|
+
|
496
|
+
### Table of Contents
|
497
|
+
|
498
|
+
Take a look at the [Front Matter](#front-matter) on how to disable the TOC.
|
499
|
+
|
500
|
+
I use the [Jekyll-Toc](https://github.com/allejo/jekyll-toc) from [allejo](https://github.com/allejo). So the TOC will be created on the build and is available in the html but will only be displayed after the TOC Hamburger Menu button is pressed.
|
501
|
+
|
502
|
+
Basically I included the `_includes/toc.html` file and use it in the post layout.
|
503
|
+
|
504
|
+
|
505
|
+
### paginate
|
506
|
+
|
507
|
+
The default [Jekyll paginator](https://jekyllrb.com/docs/pagination/) is used. So you can use all configs described on their page.
|
508
|
+
|
509
|
+
The default config of this theme uses:
|
510
|
+
|
511
|
+
```yaml
|
512
|
+
paginate: 5
|
513
|
+
paginate_path: "/:num/"
|
514
|
+
```
|
515
|
+
|
516
|
+
### Read Time
|
517
|
+
|
518
|
+
You can change the default Reading Time which is set to 180 words per min by changing `words_per_minute` in the `_config`:
|
519
|
+
|
520
|
+
```yaml
|
521
|
+
words_per_minute: 180
|
522
|
+
```
|
523
|
+
|
524
|
+
### default plugins
|
525
|
+
|
526
|
+
In the default `_config` this plugins are used:
|
527
|
+
|
528
|
+
```yaml
|
529
|
+
plugins:
|
530
|
+
- jekyll-feed
|
531
|
+
- jekyll-paginate
|
532
|
+
- jekyll-seo-tag
|
533
|
+
- jekyll-sitemap
|
534
|
+
```
|
535
|
+
|
536
|
+
|
537
|
+
### Configurable Labels
|
538
|
+
|
539
|
+
You dont have to configure anything, but if you dislike some terms you have the option to change them like this:
|
540
|
+
|
541
|
+
Create a `_data` folder and in this folder a `configurable_lables.yaml` so in the end it looks like this: `./_data/configurable_lables.yaml`
|
542
|
+
|
543
|
+
Now you can change the following Labels:
|
544
|
+
|
545
|
+
| Name | Description | Example + default value | Example |
|
546
|
+
|-------------------------- |---------------------------------------------------------------------------------------------------------------------- |-------------------------------------------------------- |----------------------------------------------------------------------------------------------- |
|
547
|
+
| read_time_before | Is used 2 times, first in the home layout when all posts are displayed under the title. Secondly in the post header. | read_time_before: "" | ---<br>subtitle: "You're going to love this."<br>--- |
|
548
|
+
| read_time_after | Is used 2 times, first in the home layout when all posts are displayed under the title. Secondly in the post header. | read_time_after: "min read" | ---<br>display_toc: false<br>--- |
|
549
|
+
| last_modified_at | Is used in the post in the header. | last_modified_at: "Last Modified at:" | ---<br>last_modified_at: 10.09.2023<br>--- |
|
550
|
+
| search_title | The title used in the `search` layout. | search_title: "Search" | ---<br>search_keywords: "words i didnt use in the tags"<br>--- |
|
551
|
+
| archive_title | The title used in the `archive` layout. | archive_title: "Archive" | ---<br>toTop: false<br>--- |
|
552
|
+
| archive_found | The text displayed in the `archive` layout, under all years. | archive_found: "Found Posts per selected Year" | ---<br>seoDescription: "Just a little summary to be better found in Search Engines =)"<br>--- |
|
553
|
+
| archive_nothing_found | The text displayed in the `archives` layout if no archives exist. | archive_nothing_found: "No archive years available." | ---<br>noheader: true<br>--- |
|
554
|
+
| tags_title | The title used in the `tags` layout. | tags_title: "Tags" | |
|
555
|
+
| tags_found | The text displayed in the `tags` layout, under all years. | tags_found: "Found Posts per selected Tag" | |
|
556
|
+
| tags_nothing_found | The text displayed in the `tags` layout if no tags exist. | tags_nothing_found: "No tags available." | |
|
557
|
+
| categories_title | The title used in the `categories` layout. | categories_title: "Categories" | |
|
558
|
+
| categories_found | The text displayed in the `categories` layout, under all years. | categories_found: "Found Posts per selected Categorie" | |
|
559
|
+
| categories_nothing_found | The text displayed in the `categories` layout if no categories exist. | categories_nothing_found: "No categories available." | |
|
560
|
+
|
561
|
+
**Example: (default Values)**
|
562
|
+
|
563
|
+
```yaml
|
564
|
+
read_time_before: ""
|
565
|
+
read_time_after: "min read"
|
566
|
+
last_modified_at: "Last Modified at:"
|
567
|
+
search_title: "Search"
|
568
|
+
archive_title: "Archive"
|
569
|
+
archive_found: "Found Posts per selected Year"
|
570
|
+
archive_nothing_found: "No archive years available."
|
571
|
+
tags_title: "Tags"
|
572
|
+
tags_found: "Found Posts per selected Tag"
|
573
|
+
tags_nothing_found: "No tags available."
|
574
|
+
categories_title: "Categories"
|
575
|
+
categories_found: "Found Posts per selected Categorie"
|
576
|
+
categories_nothing_found: "No categories available."
|
577
|
+
```
|
578
|
+
|
579
|
+
|
580
|
+
|
581
|
+
---
|
582
|
+
|
583
|
+
## Front Matter
|
584
|
+
|
585
|
+
Take a look [here](https://jekyllrb.com/docs/front-matter/) on what Front Matter is and how to use it.
|
586
|
+
|
587
|
+
This theme offers the following Front-Matter:
|
588
|
+
|
589
|
+
| layout | Name | Description | Example |
|
590
|
+
|--------|------------------|-----------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------|
|
591
|
+
| `post` | subtitle | Adds a subtitle to the post (optional) | ---<br>subtitle: "You're going to love this." <br>--- |
|
592
|
+
| `post` | display_toc | true or false, shows the toc button on the bottom right (default: true) | ---<br>display_toc: false <br>--- |
|
593
|
+
| `post` | last_modified_at | Add extra meta-data when the post was last modified. It takes the date as you write it like a string. | ---<br>last_modified_at: 10.09.2023 <br>--- |
|
594
|
+
| `post` | search_keywords | Add extra data to the [search.json](#layout-:-search) file | ---<br>search_keywords: "words i didnt use in the tags" <br>--- |
|
595
|
+
| `post` | toTop | true or false, shows the "To the Top" button on the bottom left (default: true) | ---<br>toTop: false <br>--- |
|
596
|
+
| `post` | seoDescription | Add a specific SEO Description for Search Engines, uses an automated excerpt otherwise. Can be at most 160 Characters long. | ---<br>seoDescription: "Just a little summary to be better found in Search Engines =)" ---<br>|
|
597
|
+
| `post` | noheader | Disable the whole header and only show the Content. (default: false) | ---<br>noheader: true <br>--- |
|
598
|
+
| `post` | searchable | The post wont be included in the search. | ---<br>searchable: false <br>--- |
|
599
|
+
| `post` | show_supplements | The supplements (date, readtime, tags...) wont be shown. | ---<br>show_supplements: false<br><br>--- |
|
600
|
+
| `home` | noheader | Disable the whole header and only show the Content. (default: false) | ---<br>noheader: true <br>--- |
|
601
|
+
|
602
|
+
---
|
603
|
+
|
604
|
+
## Layouts
|
605
|
+
|
606
|
+
This theme provides the following layouts, which you can use by setting the `layout` [front matter](https://jekyllrb.com/docs/frontmatter/) on each page, like so:
|
607
|
+
|
608
|
+
```yaml
|
609
|
+
---
|
610
|
+
layout: name
|
611
|
+
---
|
612
|
+
```
|
613
|
+
|
614
|
+
### `layout: default`
|
615
|
+
|
616
|
+
This layout handles all of the basic page scaffolding placing the page content between the masthead and footer elements. All other layouts inherit this one and provide additional styling and features inside of the `{{ content }}` block.
|
617
|
+
|
618
|
+
**Note:** You should not use this.
|
619
|
+
|
620
|
+
|
621
|
+
### `layout: post`
|
622
|
+
|
623
|
+
This is the basic layout for new blog posts.
|
624
|
+
See [Front Matter](#front-matter) for more details on what you can use.
|
625
|
+
|
626
|
+
|
627
|
+
### `layout: archive`
|
628
|
+
|
629
|
+
This layout displays all posts grouped by the year they were published.
|
630
|
+
There is no front matter for it.
|
631
|
+
|
632
|
+
### `layout: home`
|
633
|
+
|
634
|
+
This layout shows all of your blog posts, while the newest are in the front.
|
635
|
+
|
636
|
+
See [Front Matter](#front-matter) for more details on what you can use.
|
637
|
+
|
638
|
+
|
639
|
+
### `layout: categories`
|
640
|
+
|
641
|
+
This layout displays all posts grouped category.
|
642
|
+
There is no front matter for it.
|
643
|
+
|
644
|
+
|
645
|
+
|
646
|
+
### `layout: search`
|
647
|
+
|
648
|
+
This layout displays a search form and displays related pages based on the query.
|
649
|
+
See [Front Matter](#front-matter) for more details on how you can enhance the search or disable the search for specific posts.
|
650
|
+
|
651
|
+
It uses `_assets/search.json` as a base. `search.json` will be generated with the site build and will include the following data of each post:
|
652
|
+
|
653
|
+
- title
|
654
|
+
- summary (first 50 words of the post)
|
655
|
+
- url
|
656
|
+
- category
|
657
|
+
- tags
|
658
|
+
- keywords
|
659
|
+
- date
|
660
|
+
|
661
|
+
|
662
|
+
### `layout: tags`
|
663
|
+
|
664
|
+
This layout displays all posts grouped by tag.
|
665
|
+
There is no front matter for it.
|
666
|
+
|
667
|
+
|
668
|
+
# whislist
|
669
|
+
|
670
|
+
- footer
|
671
|
+
+ make the columns in the footer-sidebar (tags, categories, recent posts) configurable
|
672
|
+
+ fix for mobile screens
|
673
|
+
- post
|
674
|
+
+ fix TOC for mobile screens
|
675
|
+
- more colors
|