enfield-jekyll-theme 1.0.0
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 +139 -0
- data/_includes/ext-css.html +7 -0
- data/_includes/ext-js.html +7 -0
- data/_includes/footer-minimal.html +16 -0
- data/_includes/footer-scripts.html +32 -0
- data/_includes/footer.html +60 -0
- data/_includes/head.html +125 -0
- data/_includes/header.html +76 -0
- data/_includes/matomo.html +17 -0
- data/_includes/nav.html +58 -0
- data/_includes/related-posts.html +16 -0
- data/_includes/social-share.html +42 -0
- data/_includes/staticman-comment.html +22 -0
- data/_includes/staticman-comments.html +81 -0
- data/_layouts/base.html +35 -0
- data/_layouts/default.html +9 -0
- data/_layouts/minimal.html +26 -0
- data/_layouts/page.html +18 -0
- data/_layouts/post.html +79 -0
- data/assets/fonts/vt323-regular.css +4 -0
- data/assets/fonts/vt323/OFL.txt +93 -0
- data/assets/fonts/vt323/vt323-regular.css +4 -0
- data/assets/fonts/vt323/vt323-regular.ttf +0 -0
- data/assets/page-images/avatar-icon.png +0 -0
- data/assets/page-images/bgimage.png +0 -0
- data/assets/page-images/privateinvestocat.jpg +0 -0
- data/assets/page-images/screenshot.png +0 -0
- data/assets/page-images/screenshot2.png +0 -0
- data/assets/page-images/screenshot3.png +0 -0
- data/assets/post-images/2015/path.jpg +0 -0
- data/assets/post-images/2018/example-code.png +0 -0
- metadata +217 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ffe2bda0c307a9b88e16ac2669a3aab806def03efcb08ea059530c8fea6af1de
|
4
|
+
data.tar.gz: 340c08849eeda2c11455d3dd5eac85699ba592d11e3c5ed12aea239f99097eaa
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 131137832ace80b22e301f3671c1cea48451bb078bc47e26b15b93da41a1bd386d714d4ce6c49cdf9155d905598c3fb42b971da651f15869aab1289178f50568
|
7
|
+
data.tar.gz: 328a251c9e8cf05cffc2662cd8cceb26e670e152f28fb7e4759992d734e9171a628dfcd499b3877e23df75aece5ac9e34d9329f103aec6f16bb1e8b8f38a507d
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2020 Marcel Artz
|
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.
|
data/README.md
ADDED
@@ -0,0 +1,139 @@
|
|
1
|
+
# Enfield Jekyll Theme
|
2
|
+
|
3
|
+
> *Copyright 2020 [Marcel Artz](https://marcel-artz.de)*
|
4
|
+
|
5
|
+
![screenshot](assets/page-images/screenshot.png)
|
6
|
+
|
7
|
+
Enfield Jekyll Theme is a gem based dark theme for Jekyll sites. It is forked from [beatiful-jekyll](https://deanattali.com/beautiful-jekyll/) but instead
|
8
|
+
of expanding the theme's feature set, Enfield actually removes a bit of the feature set:
|
9
|
+
- removing google fonts
|
10
|
+
- removing google analytics
|
11
|
+
- removing google tagmanager
|
12
|
+
- removing docker support
|
13
|
+
- removing disqus comments
|
14
|
+
- removing facebook comments
|
15
|
+
- disabling social shares by default
|
16
|
+
- the gem jekyll-github
|
17
|
+
- removing the light theme
|
18
|
+
|
19
|
+
But don't worry, it adds new features, too:
|
20
|
+
- adding only gem plugins that are eventually used
|
21
|
+
- adding the dark theme (based on [material desgin](https://material.io/))
|
22
|
+
- adding page for impress and privacy statement
|
23
|
+
- enhancing the way how images are presented
|
24
|
+
- adding a new color scheme for syntax highlighting
|
25
|
+
- adding a 'related posts' section at the bottom of each post
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
## Installation
|
31
|
+
> *not for GitHub Pages!*
|
32
|
+
|
33
|
+
Add this line to your Jekyll site's `Gemfile`:
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
gem "enfield-jekyll-theme"
|
37
|
+
```
|
38
|
+
|
39
|
+
And add this line to your Jekyll site's `_config.yml`:
|
40
|
+
|
41
|
+
```yaml
|
42
|
+
theme: enfield-jekyll-theme
|
43
|
+
```
|
44
|
+
|
45
|
+
And then execute:
|
46
|
+
|
47
|
+
$ bundle
|
48
|
+
|
49
|
+
Or install it yourself as:
|
50
|
+
|
51
|
+
$ gem install enfield-jekyll-theme
|
52
|
+
|
53
|
+
|
54
|
+
---
|
55
|
+
> *for GitHub Pages*
|
56
|
+
|
57
|
+
https://help.github.com/en/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
|
+
|
60
|
+
## Contributing
|
61
|
+
|
62
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/ma744/Enfield. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
63
|
+
|
64
|
+
## Development
|
65
|
+
|
66
|
+
To set up your environment to develop this theme, run `bundle install`.
|
67
|
+
|
68
|
+
Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
|
69
|
+
|
70
|
+
When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
|
71
|
+
To add a custom directory to your theme-gem, please edit the regexp in `enfield-jekyll-theme.gemspec` accordingly.
|
72
|
+
|
73
|
+
## Features
|
74
|
+
|
75
|
+
The Enfield Jekyll Theme supports some Jekyll plugins by default.
|
76
|
+
Most of them can be enabled / disabled or modified in the _config.yml
|
77
|
+
file without the need of touching the code.
|
78
|
+
|
79
|
+
Please have a look at [Beatiful Jekyll's readme](https://github.com/daattali/beautiful-jekyll#readme) for more information on existing features that
|
80
|
+
are not mentioned in this readme in order to avoid redundant informations.
|
81
|
+
|
82
|
+
### SEO support
|
83
|
+
setting customized canonical urls
|
84
|
+
|
85
|
+
### @-mention support
|
86
|
+
|
87
|
+
https://github.com/jekyll/jekyll-mentions
|
88
|
+
|
89
|
+
### GitHub Gist support
|
90
|
+
|
91
|
+
https://github.com/jekyll/jekyll-gist
|
92
|
+
|
93
|
+
### Atom feed support
|
94
|
+
|
95
|
+
https://github.com/jekyll/jekyll-feed
|
96
|
+
|
97
|
+
### Relative Links for GitHub-Pages support
|
98
|
+
|
99
|
+
https://github.com/benbalter/jekyll-relative-links
|
100
|
+
|
101
|
+
### Jekyll Analytics
|
102
|
+
|
103
|
+
https://github.com/hendrikschneider/jekyll-analytics
|
104
|
+
|
105
|
+
Matomo is the only supported analytics service per default.
|
106
|
+
|
107
|
+
### Jekyll Redirects
|
108
|
+
|
109
|
+
https://github.com/jekyll/jekyll-redirect-from
|
110
|
+
|
111
|
+
## License
|
112
|
+
|
113
|
+
The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
114
|
+
|
115
|
+
## More Infos about Jekyll themes
|
116
|
+
|
117
|
+
https://jekyllrb.com/docs/themes/
|
118
|
+
|
119
|
+
|
120
|
+
## Thanks
|
121
|
+
Thanks to [Dean Attali](https://deanattali.com) for creating Beatiful Jekyll.
|
122
|
+
I have chosen to fork Beatiful Jekyll to spend less time in creating a theme for my website. The great
|
123
|
+
structure of the project itself was the main reason for me to choose Beatiful Jekyll as base theme
|
124
|
+
for my modifications. (Just to let you know: in difference to some others
|
125
|
+
it complies with most of Jekyll's naming conventions which was quite helpful :) )
|
126
|
+
|
127
|
+
## TODO ##
|
128
|
+
- add favicon
|
129
|
+
- add theme as gem to jekyll open directory
|
130
|
+
- testing staticman comment (how does it fit to the dark theme?)
|
131
|
+
- refactor pygment_highlights.css
|
132
|
+
- add fancy file format icons to download section (I need svg that are congenial)
|
133
|
+
- refactor opg-support
|
134
|
+
|
135
|
+
## More Screenshots
|
136
|
+
|
137
|
+
![screenshot](assets/page-images/screenshot2.png)
|
138
|
+
|
139
|
+
![screenshot](assets/page-images/screenshot3.png)
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{% if include.css.sri %}
|
2
|
+
<link href="{{ include.css.href }}" rel="stylesheet" integrity="{{ include.css.sri }}" crossorigin="anonymous">
|
3
|
+
{% elsif include.css.href %}
|
4
|
+
<link rel="stylesheet" href="{{ include.css.href }}" />
|
5
|
+
{% else %}
|
6
|
+
<link rel="stylesheet" href="{{ include.css }}" />
|
7
|
+
{% endif %}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{% if include.js.sri %}
|
2
|
+
<script src="{{ include.js.href }}" integrity="{{ include.js.sri }}" crossorigin="anonymous"></script>
|
3
|
+
{% elsif include.js.href %}
|
4
|
+
<script src="{{ include.js.href }}"></script>
|
5
|
+
{% else %}
|
6
|
+
<script src="{{ include.js }}"></script>
|
7
|
+
{% endif %}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<footer class="footer-min">
|
2
|
+
<div class="text-muted">
|
3
|
+
{{ site.author.name }}
|
4
|
+
•
|
5
|
+
{% if page.date %}
|
6
|
+
{{ page.date }}
|
7
|
+
{% else %}
|
8
|
+
{{ site.time | date: '%Y' }}
|
9
|
+
{% endif %}
|
10
|
+
|
11
|
+
{% if site.url-pretty %}
|
12
|
+
•
|
13
|
+
<a href="{{ '' | absolute_url }}">{{ site.url-pretty }}</a>
|
14
|
+
{% endif %}
|
15
|
+
</div>
|
16
|
+
</footer>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
{% if layout.common-ext-js %}
|
2
|
+
{% for js in layout.common-ext-js %}
|
3
|
+
{% include ext-js.html js=js %}
|
4
|
+
{% endfor %}
|
5
|
+
{% endif %}
|
6
|
+
|
7
|
+
{% if layout.common-js %}
|
8
|
+
{% for js in layout.common-js %}
|
9
|
+
<!-- doing something a bit funky here because I want to be careful not to include JQuery twice! -->
|
10
|
+
{% if js contains 'jquery' %}
|
11
|
+
<script>
|
12
|
+
if (typeof jQuery == 'undefined') {
|
13
|
+
document.write('<script src="{{ js | relative_url }}"></scr' + 'ipt>');
|
14
|
+
}
|
15
|
+
</script>
|
16
|
+
{% else %}
|
17
|
+
<script src="{{ js | relative_url }}"></script>
|
18
|
+
{% endif %}
|
19
|
+
{% endfor %}
|
20
|
+
{% endif %}
|
21
|
+
|
22
|
+
{% if page.ext-js %}
|
23
|
+
{% for js in page.ext-js %}
|
24
|
+
{% include ext-js.html js=js %}
|
25
|
+
{% endfor %}
|
26
|
+
{% endif %}
|
27
|
+
|
28
|
+
{% if page.js %}
|
29
|
+
{% for js in page.js %}
|
30
|
+
<script src="{{ js | relative_url }}"></script>
|
31
|
+
{% endfor %}
|
32
|
+
{% endif %}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
<footer>
|
2
|
+
<div class="container beautiful-jekyll-footer">
|
3
|
+
<div class="row">
|
4
|
+
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
|
5
|
+
<ul class="list-inline text-center footer-links">
|
6
|
+
{%- for link in site.social-network-links -%}
|
7
|
+
{%- assign curkey = link[0] -%}
|
8
|
+
{%- assign element = site.data.SocialNetworks[curkey] -%}
|
9
|
+
{%- if curkey == 'rss' -%}
|
10
|
+
{%- capture url -%}{{ '/feed.xml' | relative_url }}{%- endcapture -%}
|
11
|
+
{%- else -%}
|
12
|
+
{%- assign value = site.social-network-links[curkey] -%}
|
13
|
+
{%- assign placeholder = "{value}" -%}
|
14
|
+
{%- capture url -%}{{ element.urlTemplate | replace: placeholder, value }}{%- endcapture -%}
|
15
|
+
{%- endif -%}
|
16
|
+
<li>
|
17
|
+
<a href="{{ url }}" title="{{ element.name }}">
|
18
|
+
<span class="fa-stack fa-lg" aria-hidden="true">
|
19
|
+
<i class="fas fa-circle fa-stack-2x"></i>
|
20
|
+
<i class="{{ element.icon }} fa-stack-1x fa-inverse"></i>
|
21
|
+
</span>
|
22
|
+
<span class="sr-only">{{ element.name }}</span>
|
23
|
+
</a>
|
24
|
+
</li>
|
25
|
+
{%- endfor -%}
|
26
|
+
</ul>
|
27
|
+
<p class="copyright text-muted">
|
28
|
+
{{ site.author.name }}
|
29
|
+
•
|
30
|
+
© {{ site.time | date: '%Y' }}
|
31
|
+
|
32
|
+
{% if site.url-pretty %}
|
33
|
+
•
|
34
|
+
<a href="{{ '' | absolute_url }}">{{ site.url-pretty }}</a>
|
35
|
+
{% endif %}
|
36
|
+
|
37
|
+
{% if site.matomo %}
|
38
|
+
{% if site.matomo.opt-out %}
|
39
|
+
•
|
40
|
+
<a href="http://{{- site.matomo.uri -}}/index.php?module=CoreAdminHome&action=optOut" target="_blank" class="text_muted">Do-not-Track</a>
|
41
|
+
{% endif %}
|
42
|
+
{% endif%}
|
43
|
+
</p>
|
44
|
+
|
45
|
+
<p class="text-muted copyright">
|
46
|
+
<a href="{{ 'impress' | absolute_url }}">Impress</a>
|
47
|
+
•
|
48
|
+
<a href="{{ 'privacy' | absolute_url }}">Privacy</a>
|
49
|
+
</p>
|
50
|
+
|
51
|
+
<!-- Please don't remove this, keep my open source work credited :) -->
|
52
|
+
<p class="theme-by text-muted">
|
53
|
+
<a href="https://github.com/ma744/Enfield">Enfield-Theme</a>
|
54
|
+
forked by
|
55
|
+
<a href="https://deanattali.com/beautiful-jekyll/">beautiful-jekyll</a>
|
56
|
+
</p>
|
57
|
+
</div>
|
58
|
+
</div>
|
59
|
+
</div>
|
60
|
+
</footer>
|
data/_includes/head.html
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
<head>
|
2
|
+
<meta charset="utf-8" />
|
3
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
4
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover">
|
5
|
+
|
6
|
+
<title>{% if page.use-site-title %}{{ site.title }} {{ site.title-separator }} {{ site.description }}{% elsif page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
|
7
|
+
|
8
|
+
<!-- Installation of jekyll-seo-tag gem -->
|
9
|
+
{% seo %}
|
10
|
+
|
11
|
+
<meta name="author" content="{{ site.author.name }}" />
|
12
|
+
|
13
|
+
{% if page.subtitle %}
|
14
|
+
<meta name="description" content="{{ page.subtitle }}">
|
15
|
+
{% endif %}
|
16
|
+
|
17
|
+
<link rel="alternate" type="application/rss+xml" title="{{ site.title }} {{ site.title-separator }} {{ site.description }}" href="{{ '/feed.xml' | absolute_url }}" />
|
18
|
+
|
19
|
+
{% if layout.common-fonts %}
|
20
|
+
{% for css in layout.common-fonts %}
|
21
|
+
<link rel="text/html" href="{{ 'assets/fonts' | relative_url }}"/>
|
22
|
+
{% endfor %}
|
23
|
+
{% endif %}
|
24
|
+
|
25
|
+
{% if layout.common-ext-css %}
|
26
|
+
{% for css in layout.common-ext-css %}
|
27
|
+
{% include ext-css.html css=css %}
|
28
|
+
{% endfor %}
|
29
|
+
{% endif %}
|
30
|
+
|
31
|
+
{% if layout.common-css %}
|
32
|
+
{% for css in layout.common-css %}
|
33
|
+
<link rel="stylesheet" href="{{ css | relative_url }}" />
|
34
|
+
{% endfor %}
|
35
|
+
{% endif %}
|
36
|
+
|
37
|
+
{% if page.ext-css %}
|
38
|
+
{% for css in page.ext-css %}
|
39
|
+
{% include ext-css.html css=css %}
|
40
|
+
{% endfor %}
|
41
|
+
{% endif %}
|
42
|
+
|
43
|
+
{% if page.css %}
|
44
|
+
{% for css in page.css %}
|
45
|
+
<link rel="stylesheet" href="{{ css | relative_url }}" />
|
46
|
+
{% endfor %}
|
47
|
+
{% endif %}
|
48
|
+
|
49
|
+
|
50
|
+
<!-- Facebook OpenGraph tags -->
|
51
|
+
{% if site.fb_app_id %}
|
52
|
+
<meta property="fb:app_id" content="{{ site.fb_app_id }}" />
|
53
|
+
{% endif %}
|
54
|
+
|
55
|
+
{% if page.meta-title %}
|
56
|
+
<meta property="og:title" content="{{ page.meta-title }}" />
|
57
|
+
{% elsif page.title %}
|
58
|
+
<meta property="og:title" content="{{ page.title }}" />
|
59
|
+
{% else %}
|
60
|
+
<meta property="og:title" content="{{ site.title }}" />
|
61
|
+
{% endif %}
|
62
|
+
|
63
|
+
{% if page.meta-description %}
|
64
|
+
<meta property="og:description" content="{{ page.meta-description }}">
|
65
|
+
{% elsif page.subtitle %}
|
66
|
+
<meta property="og:description" content="{{ page.subtitle }}">
|
67
|
+
{% else %}
|
68
|
+
<meta property="og:description" content="{{ page.content | strip_html | xml_escape | truncatewords: 50 }}">
|
69
|
+
{% endif %}
|
70
|
+
|
71
|
+
|
72
|
+
<meta property="og:type" content="website" />
|
73
|
+
|
74
|
+
{% if page.id %}
|
75
|
+
<meta property="og:url" content="{{ page.url | absolute_url }}" />
|
76
|
+
<link rel="canonical" href="{{ page.url | absolute_url }}" />
|
77
|
+
{% else %}
|
78
|
+
<meta property="og:url" content="{{ page.url | absolute_url | strip_index }}" />
|
79
|
+
<link rel="canonical" href="{{ page.url | absolute_url | strip_index }}" />
|
80
|
+
{% endif %}
|
81
|
+
|
82
|
+
{% if page.share-img %}
|
83
|
+
<meta property="og:image" content="{{ page.share-img }}" />
|
84
|
+
{% elsif site.avatar %}
|
85
|
+
<meta property="og:image" content="{{ site.avatar | absolute_url }}" />
|
86
|
+
{% endif %}
|
87
|
+
|
88
|
+
|
89
|
+
<!-- Twitter summary cards -->
|
90
|
+
<meta name="twitter:card" content="summary" />
|
91
|
+
<meta name="twitter:site" content="@{{ site.author.twitter }}" />
|
92
|
+
<meta name="twitter:creator" content="@{{ site.author.twitter }}" />
|
93
|
+
|
94
|
+
{% if page.meta-title %}
|
95
|
+
<meta name="twitter:title" content="{{ page.meta-title }}" />
|
96
|
+
{% elsif page.title %}
|
97
|
+
<meta name="twitter:title" content="{{ page.title }}" />
|
98
|
+
{% else %}
|
99
|
+
<meta name="twitter:title" content="{{ site.title }}" />
|
100
|
+
{% endif %}
|
101
|
+
|
102
|
+
{% if page.meta-description %}
|
103
|
+
<meta name="twitter:description" content="{{ page.meta-description }}">
|
104
|
+
{% elsif page.subtitle %}
|
105
|
+
<meta name="twitter:description" content="{{ page.subtitle }}">
|
106
|
+
{% else %}
|
107
|
+
<meta name="twitter:description" content="{{ page.content | strip_html | xml_escape | truncatewords: 50 }}">
|
108
|
+
{% endif %}
|
109
|
+
|
110
|
+
{% if page.share-img %}
|
111
|
+
<meta name="twitter:image" content="{{ page.share-img }}" />
|
112
|
+
{% elsif site.avatar %}
|
113
|
+
<meta name="twitter:image" content="{{ site.avatar | absolute_url }}" />
|
114
|
+
{% endif %}
|
115
|
+
|
116
|
+
{% if site.matomo %}
|
117
|
+
{% include matomo.html %}
|
118
|
+
{% endif %}
|
119
|
+
|
120
|
+
{% if page.comments and site.staticman.repository and site.staticman.branch %}
|
121
|
+
<!-- Staticman -->
|
122
|
+
<link rel="stylesheet" href="{{ '/css/staticman.css' | relative_url }}" />
|
123
|
+
{% endif %}
|
124
|
+
|
125
|
+
</head>
|
@@ -0,0 +1,76 @@
|
|
1
|
+
<!-- TODO this file has become a mess, refactor it -->
|
2
|
+
|
3
|
+
{% if page.bigimg or page.title %}
|
4
|
+
|
5
|
+
{% if page.bigimg %}
|
6
|
+
<div id="header-big-imgs" data-num-img={% if page.bigimg.first %}{{ page.bigimg.size }}{% else %}1{% endif %}
|
7
|
+
{% for bigimg in page.bigimg %}
|
8
|
+
{% assign imgnum = forloop.index %}
|
9
|
+
{% for imginfo in bigimg %}
|
10
|
+
{% if imginfo[0] %}
|
11
|
+
data-img-src-{{ imgnum }}="{{ imginfo[0] | relative_url }}"
|
12
|
+
data-img-desc-{{ imgnum }}="{{ imginfo[1] }}"
|
13
|
+
{% else %}
|
14
|
+
data-img-src-{{ imgnum }}="{{ imginfo | relative_url }}"
|
15
|
+
{% endif %}
|
16
|
+
{% endfor %}
|
17
|
+
{% endfor %}
|
18
|
+
></div>
|
19
|
+
{% endif %}
|
20
|
+
|
21
|
+
<header class="header-section {% if page.bigimg %}has-img{% endif %}">
|
22
|
+
{% if page.bigimg %}
|
23
|
+
<div class="big-img intro-header">
|
24
|
+
<div class="container">
|
25
|
+
<div class="row">
|
26
|
+
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
|
27
|
+
<div class="{{ include.type }}-heading">
|
28
|
+
<h1>{% if page.title %}{{ page.title }}{% else %}<br/>{% endif %}</h1>
|
29
|
+
{% if page.subtitle %}
|
30
|
+
{% if include.type == "page" %}
|
31
|
+
<hr class="small">
|
32
|
+
<span class="{{ include.type }}-subheading">{{ page.subtitle }}</span>
|
33
|
+
{% else %}
|
34
|
+
<h2 class="{{ include.type }}-subheading">{{ page.subtitle }}</h2>
|
35
|
+
{% endif %}
|
36
|
+
{% endif %}
|
37
|
+
|
38
|
+
{% if include.type == "post" %}
|
39
|
+
<span class="post-meta">Posted on {{ page.date | date: site.date_format }}</span>
|
40
|
+
{% endif %}
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
</div>
|
44
|
+
</div>
|
45
|
+
<span class='img-desc'></span>
|
46
|
+
</div>
|
47
|
+
{% endif %}
|
48
|
+
<div class="intro-header no-img">
|
49
|
+
<div class="container">
|
50
|
+
<div class="row">
|
51
|
+
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
|
52
|
+
<div class="{{ include.type }}-heading">
|
53
|
+
<h1>{% if page.title %}{{ page.title }}{% else %}<br/>{% endif %}</h1>
|
54
|
+
{% if page.subtitle %}
|
55
|
+
{% if include.type == "page" %}
|
56
|
+
<hr class="small">
|
57
|
+
<span class="{{ include.type }}-subheading">{{ page.subtitle }}</span>
|
58
|
+
{% else %}
|
59
|
+
<h2 class="{{ include.type }}-subheading">{{ page.subtitle }}</h2>
|
60
|
+
{% endif %}
|
61
|
+
{% endif %}
|
62
|
+
|
63
|
+
{% if include.type == "post" %}
|
64
|
+
<span class="post-meta">Posted on {{ page.date | date: site.date_format }}</span>
|
65
|
+
{% endif %}
|
66
|
+
</div>
|
67
|
+
</div>
|
68
|
+
</div>
|
69
|
+
</div>
|
70
|
+
</div>
|
71
|
+
</header>
|
72
|
+
|
73
|
+
|
74
|
+
{% else %}
|
75
|
+
<div class="intro-header"></div>
|
76
|
+
{% endif %}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
{% if site.matomo %}
|
2
|
+
<!-- Matomo -->
|
3
|
+
<script type="text/javascript">
|
4
|
+
var _paq = _paq || [];
|
5
|
+
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
6
|
+
_paq.push(['trackPageView']);
|
7
|
+
_paq.push(['enableLinkTracking']);
|
8
|
+
(function() {
|
9
|
+
var u="//{{- site.matomo.uri -}}/";
|
10
|
+
_paq.push(['setTrackerUrl', u+'piwik.php']);
|
11
|
+
_paq.push(['setSiteId', '{{- site.matomo.site_id -}}']);
|
12
|
+
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
13
|
+
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
|
14
|
+
})();
|
15
|
+
</script>
|
16
|
+
<!-- End Piwik Code -->
|
17
|
+
{% endif %}
|
data/_includes/nav.html
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
|
2
|
+
<nav class="navbar navbar-default navbar-fixed-top navbar-custom">
|
3
|
+
<div class="container-fluid">
|
4
|
+
<div class="navbar-header">
|
5
|
+
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#main-navbar">
|
6
|
+
<span class="sr-only">Toggle navigation</span>
|
7
|
+
<span class="icon-bar"></span>
|
8
|
+
<span class="icon-bar"></span>
|
9
|
+
<span class="icon-bar"></span>
|
10
|
+
</button>
|
11
|
+
{%- if site.title-img -%}
|
12
|
+
<a class="navbar-brand navbar-brand-logo" href="{{ '' | absolute_url }}"><img src="{{ site.title-img }}"/></a>
|
13
|
+
{%- else -%}
|
14
|
+
<a class="navbar-brand" href="{{ '' | absolute_url }}">{{ site.title }}</a>
|
15
|
+
{%- endif -%}
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<div class="collapse navbar-collapse" id="main-navbar">
|
19
|
+
<ul class="nav navbar-nav navbar-right">
|
20
|
+
{%- for link in site.navbar-links -%}
|
21
|
+
{%- if link[1].first %}
|
22
|
+
<li class="navlinks-container">
|
23
|
+
<a class="navlinks-parent" href="javascript:void(0)">{{ link[0] }}</a>
|
24
|
+
<div class="navlinks-children">
|
25
|
+
{%- for childlink in link[1] -%}
|
26
|
+
{%- for linkparts in childlink %}
|
27
|
+
<a href="{{ linkparts[1] | relative_url }}">{{ linkparts[0] }}</a>
|
28
|
+
{%- endfor -%}
|
29
|
+
{%- endfor %}
|
30
|
+
</div>
|
31
|
+
</li>
|
32
|
+
{% else %}
|
33
|
+
<li><a href="{{ link[1] | relative_url }}">{{ link[0] }}</a></li>
|
34
|
+
{%- endif -%}
|
35
|
+
{%- endfor -%}
|
36
|
+
</ul>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
{% if page.image and (layout.show-avatar or page.show-avatar) %}
|
40
|
+
<div class="avatar-container">
|
41
|
+
<div class="avatar-img-border">
|
42
|
+
<a href="{{ '' | absolute_url }}">
|
43
|
+
<img class="avatar-img" src="{{ page.image | relative_url }}" />
|
44
|
+
</a>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
{% elsif site.avatar and (layout.show-avatar or page.show-avatar) %}
|
48
|
+
<div class="avatar-container">
|
49
|
+
<div class="avatar-img-border">
|
50
|
+
<a href="{{ '' | absolute_url }}">
|
51
|
+
<img class="avatar-img" src="{{ site.avatar | relative_url }}" />
|
52
|
+
</a>
|
53
|
+
</div>
|
54
|
+
</div>
|
55
|
+
{% endif %}
|
56
|
+
|
57
|
+
</div>
|
58
|
+
</nav>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<section id="related">
|
2
|
+
<h2>Related Posts</h2>
|
3
|
+
<ul class="related-posts">
|
4
|
+
{% for post in site.related_posts limit:3 %}
|
5
|
+
<li>
|
6
|
+
<h3>
|
7
|
+
<a href="{{ site.baseurl }}{{ post.url}}">
|
8
|
+
{{ post.title }}
|
9
|
+
<small>{{ post.date | date_to_string }}</small>
|
10
|
+
</a>
|
11
|
+
</h3>
|
12
|
+
</li>
|
13
|
+
{% endfor %}
|
14
|
+
</ul>
|
15
|
+
</section>
|
16
|
+
<br/>
|
@@ -0,0 +1,42 @@
|
|
1
|
+
<!-- Check if any share-links are active -->
|
2
|
+
{% assign any-share-links = false %}
|
3
|
+
{% for links in site.share-links-active %}
|
4
|
+
{% if links[1] == true %}
|
5
|
+
{% assign any-share-links = true %}
|
6
|
+
{% endif %}
|
7
|
+
{% endfor %}
|
8
|
+
|
9
|
+
{% if any-share-links %}
|
10
|
+
<section id = "social-share-section">
|
11
|
+
<span class="sr-only">Share: </span>
|
12
|
+
|
13
|
+
{% if site.share-links-active.twitter %}
|
14
|
+
<!--- Share on Twitter -->
|
15
|
+
<a href="https://twitter.com/intent/tweet?text={{ page.title | url_encode }}&url={{ page.url | absolute_url | url_encode }}"
|
16
|
+
class="btn btn-social-icon btn-twitter" title="Share on Twitter">
|
17
|
+
<span class="fab fa-fw fa-twitter" aria-hidden="true"></span>
|
18
|
+
<span class="sr-only">Twitter</span>
|
19
|
+
</a>
|
20
|
+
{% endif %}
|
21
|
+
|
22
|
+
{% if site.share-links-active.facebook %}
|
23
|
+
<!--- Share on Facebook -->
|
24
|
+
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url | url_encode }}"
|
25
|
+
class="btn btn-social-icon btn-facebook" title="Share on Facebook">
|
26
|
+
<span class="fab fa-fw fa-facebook" aria-hidden="true"></span>
|
27
|
+
<span class="sr-only">Facebook</span>
|
28
|
+
</a>
|
29
|
+
{% endif %}
|
30
|
+
|
31
|
+
{% if site.share-links-active.linkedin %}
|
32
|
+
<!--- Share on LinkedIn -->
|
33
|
+
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url | url_encode }}"
|
34
|
+
class="btn btn-social-icon btn-linkedin" title="Share on LinkedIn">
|
35
|
+
<span class="fab fa-fw fa-linkedin" aria-hidden="true"></span>
|
36
|
+
<span class="sr-only">LinkedIn</span>
|
37
|
+
</a>
|
38
|
+
{% endif %}
|
39
|
+
|
40
|
+
</section>
|
41
|
+
|
42
|
+
{% endif %}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<article id="comment{{ include.index }}" class="js-comment comment" itemprop="comment" itemscope itemtype="https://schema.org/Comment">
|
2
|
+
<div class="comment__avatar-wrapper">
|
3
|
+
<img class="comment__avatar" src="https://www.gravatar.com/avatar/{{ include.email }}?d=mm&s=80" alt="{{ include.name }}">
|
4
|
+
</div>
|
5
|
+
<div class="comment__content-wrapper">
|
6
|
+
<h4 class="comment__author" itemprop="author" itemscope itemtype="https://schema.org/Person">
|
7
|
+
{% unless include.url == blank %}
|
8
|
+
<span itemprop="name"><a rel="external nofollow" itemprop="url" href="{{ include.url }}">{{ include.name }}</a></span>
|
9
|
+
{% else %}
|
10
|
+
<span itemprop="name">{{ include.name }}</span>
|
11
|
+
{% endunless %}
|
12
|
+
</h4>
|
13
|
+
<p class="comment__date">
|
14
|
+
{% if include.date %}
|
15
|
+
{% if include.index %}<a href="#comment{{ include.index }}" itemprop="url">{% endif %}
|
16
|
+
<time datetime="{{ include.date | date_to_xmlschema }}" itemprop="datePublished">{{ include.date | date: "%B %d, %Y at %I:%M %p" }}</time>
|
17
|
+
{% if include.index %}</a>{% endif %}
|
18
|
+
{% endif %}
|
19
|
+
</p>
|
20
|
+
<div itemprop="text">{{ include.message | markdownify }}</div>
|
21
|
+
</div>
|
22
|
+
</article>
|
@@ -0,0 +1,81 @@
|
|
1
|
+
{% if site.staticman.repository and site.staticman.branch %}
|
2
|
+
<div class="page__comments">
|
3
|
+
<!-- Start static comments -->
|
4
|
+
<div class="js-comments">
|
5
|
+
{% if site.data.comments[page.slug] %}
|
6
|
+
<h3 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h3>
|
7
|
+
{% assign comments = site.data.comments[page.slug] | sort %}
|
8
|
+
{% for comment in comments %}
|
9
|
+
{% assign email = comment[1].email %}
|
10
|
+
{% assign name = comment[1].name %}
|
11
|
+
{% assign url = comment[1].url %}
|
12
|
+
{% assign date = comment[1].date %}
|
13
|
+
{% assign message = comment[1].message %}
|
14
|
+
{% include staticman-comment.html index=forloop.index email=email name=name url=url date=date message=message %}
|
15
|
+
{% endfor %}
|
16
|
+
{% endif %}
|
17
|
+
</div>
|
18
|
+
<!-- End static comments -->
|
19
|
+
<!-- Start new comment form -->
|
20
|
+
<div class="page__comments-form">
|
21
|
+
<h3 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h3>
|
22
|
+
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
|
23
|
+
<form id="new_comment" class="page__comments-form js-form form" method="post">
|
24
|
+
<div class="form-group">
|
25
|
+
<label for="comment-form-message">{{ site.data.ui-text[site.locale].comment_form_comment_label | default: "Comment" }} <small class="required">*</small></label><br>
|
26
|
+
<textarea type="text" rows="12" cols="36" id="comment-form-message" name="fields[message]" tabindex="1"></textarea>
|
27
|
+
<div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">{{ site.data.ui-text[site.locale].comment_form_md_info | default: "Markdown is supported." }}</a></div>
|
28
|
+
</div>
|
29
|
+
<div class="form-group">
|
30
|
+
<label for="comment-form-name">{{ site.data.ui-text[site.locale].comment_form_name_label | default: "Name" }} <small class="required">*</small></label>
|
31
|
+
<input type="text" id="comment-form-name" name="fields[name]" tabindex="2" />
|
32
|
+
</div>
|
33
|
+
<div class="form-group">
|
34
|
+
<label for="comment-form-email">{{ site.data.ui-text[site.locale].comment_form_email_label | default: "Email address" }} <small class="required">*</small></label>
|
35
|
+
<input type="email" id="comment-form-email" name="fields[email]" tabindex="3" />
|
36
|
+
</div>
|
37
|
+
<div class="form-group">
|
38
|
+
<label for="comment-form-url">{{ site.data.ui-text[site.locale].comment_form_website_label | default: "Website (optional)" }}</label>
|
39
|
+
<input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/>
|
40
|
+
</div>
|
41
|
+
<div class="form-group hidden" style="display: none;">
|
42
|
+
<input type="hidden" name="options[origin]" value="{{ page.url | absolute_url }}">
|
43
|
+
<input type="hidden" name="options[slug]" value="{{ page.slug }}">
|
44
|
+
<label for="comment-form-location">Not used. Leave blank if you are a human.</label>
|
45
|
+
<input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/>
|
46
|
+
{% if site.staticman.reCaptcha.siteKey %}<input type="hidden" name="options[reCaptcha][siteKey]" value="{{ site.staticman.reCaptcha.siteKey }}">{% endif %}
|
47
|
+
{% if site.staticman.reCaptcha.secret %}<input type="hidden" name="options[reCaptcha][secret]" value="{{ site.staticman.reCaptcha.secret }}">{% endif %}
|
48
|
+
</div>
|
49
|
+
<!-- Start comment form alert messaging -->
|
50
|
+
<p class="hidden js-notice">
|
51
|
+
<strong class="js-notice-text-success hidden">{{ site.data.ui-text[site.locale].comment_success_msg | default: "Thanks for your comment! It will show on the site once it has been approved." }}</strong>
|
52
|
+
<strong class="js-notice-text-failure hidden">{{ site.data.ui-text[site.locale].comment_error_msg | default: "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again." }}</strong>
|
53
|
+
</p>
|
54
|
+
<!-- End comment form alert messaging -->
|
55
|
+
{% if site.staticman.reCaptcha.siteKey %}
|
56
|
+
<div class="form-group">
|
57
|
+
<div class="g-recaptcha" data-sitekey="{{ site.staticman.reCaptcha.siteKey }}"></div>
|
58
|
+
</div>
|
59
|
+
{% endif %}
|
60
|
+
<div class="form-group">
|
61
|
+
<button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--primary btn--large">{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}</button>
|
62
|
+
<button type="submit" id="comment-form-submitted" tabindex="5" class="btn btn--primary btn--large hidden" disabled>{{ site.data.ui-text[site.locale].comment_btn_submitted | default: "Submitted" }}</button>
|
63
|
+
</div>
|
64
|
+
</form>
|
65
|
+
</div>
|
66
|
+
<!-- End new comment form -->
|
67
|
+
<!-- Load reCaptcha if site key is set -->
|
68
|
+
{% if site.staticman.reCaptcha.siteKey %}
|
69
|
+
<script async src="https://www.google.com/recaptcha/api.js"></script>
|
70
|
+
{% endif %}
|
71
|
+
</div>
|
72
|
+
|
73
|
+
<!-- Load script to handle comment form submission -->
|
74
|
+
<!-- doing something a bit funky here because I want to be careful not to include JQuery twice! -->
|
75
|
+
<script>
|
76
|
+
if (typeof jQuery == 'undefined') {
|
77
|
+
document.write('<script src="{{ "/js/jquery-1.11.2.min.js" | relative_url }}"></scr' + 'ipt>');
|
78
|
+
}
|
79
|
+
</script>
|
80
|
+
<script src="{{ "/js/staticman.js" | relative_url }}"></script>
|
81
|
+
{% endif %}
|
data/_layouts/base.html
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
---
|
2
|
+
common-css:
|
3
|
+
- "/css/bootstrap.min.css"
|
4
|
+
- "/css/bootstrap-social.css"
|
5
|
+
- "/css/main.css"
|
6
|
+
|
7
|
+
common-ext-css:
|
8
|
+
- "//cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css"
|
9
|
+
common-fonts:
|
10
|
+
- "/assets/fonts/vt323/vt323-regular.css"
|
11
|
+
common-js:
|
12
|
+
- "/js/jquery-1.11.2.min.js"
|
13
|
+
- "/js/bootstrap.min.js"
|
14
|
+
- "/js/main.js"
|
15
|
+
---
|
16
|
+
|
17
|
+
<!DOCTYPE html>
|
18
|
+
<html lang="en">
|
19
|
+
<!-- Enfield Jekyll Theme | MIT license | Copyright Marcel Artz 2020 -->
|
20
|
+
<!-- Forked from -->
|
21
|
+
<!-- Beautiful Jekyll | MIT license | Copyright Dean Attali 2016 -->
|
22
|
+
{% include head.html %}
|
23
|
+
|
24
|
+
<body>
|
25
|
+
|
26
|
+
{% include nav.html %}
|
27
|
+
|
28
|
+
{{ content }}
|
29
|
+
|
30
|
+
{% include footer.html %}
|
31
|
+
|
32
|
+
{% include footer-scripts.html %}
|
33
|
+
|
34
|
+
</body>
|
35
|
+
</html>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
---
|
2
|
+
common-css:
|
3
|
+
- "/css/bootstrap.min.css"
|
4
|
+
- "/css/main-minimal.css"
|
5
|
+
common-js:
|
6
|
+
- "/js/jquery-1.11.2.min.js"
|
7
|
+
- "/js/bootstrap.min.js"
|
8
|
+
---
|
9
|
+
|
10
|
+
<!DOCTYPE html>
|
11
|
+
<html lang="en">
|
12
|
+
|
13
|
+
{% include head.html %}
|
14
|
+
|
15
|
+
<body>
|
16
|
+
|
17
|
+
<div role="main" class="container main-content">
|
18
|
+
{{ content }}
|
19
|
+
</div>
|
20
|
+
|
21
|
+
{% include footer-minimal.html %}
|
22
|
+
|
23
|
+
{% include footer-scripts.html %}
|
24
|
+
|
25
|
+
</body>
|
26
|
+
</html>
|
data/_layouts/page.html
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
---
|
2
|
+
layout: base
|
3
|
+
---
|
4
|
+
|
5
|
+
{% include header.html type="page" %}
|
6
|
+
|
7
|
+
<div class="container" role="main">
|
8
|
+
<div class="row">
|
9
|
+
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
|
10
|
+
{{ content }}
|
11
|
+
{% if page.comments %}
|
12
|
+
<div class="staticman-comments">
|
13
|
+
{% include staticman-comments.html %}
|
14
|
+
</div>
|
15
|
+
{% endif %}
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</div>
|
data/_layouts/post.html
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
---
|
2
|
+
layout: base
|
3
|
+
---
|
4
|
+
|
5
|
+
{% include header.html type="post" %}
|
6
|
+
|
7
|
+
<div class="container">
|
8
|
+
<div class="row">
|
9
|
+
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
|
10
|
+
|
11
|
+
{% if page.gh-repo %}
|
12
|
+
{% assign gh_split = page.gh-repo | split:'/' %}
|
13
|
+
{% assign gh_user = gh_split[0] %}
|
14
|
+
{% assign gh_repo = gh_split[1] %}
|
15
|
+
|
16
|
+
<div id="header-gh-btns">
|
17
|
+
{% if page.gh-badge.size > 0 %}
|
18
|
+
{% for badge in page.gh-badge %}
|
19
|
+
{% case badge %}
|
20
|
+
{% when 'star'%}
|
21
|
+
<iframe src="https://ghbtns.com/github-btn.html?user={{ gh_user }}&repo={{ gh_repo }}&type=star&count=true" frameborder="0" scrolling="0" width="120px" height="20px"></iframe>
|
22
|
+
{% when 'watch'%}
|
23
|
+
<iframe src="https://ghbtns.com/github-btn.html?user={{ gh_user }}&repo={{ gh_repo }}&type=watch&v=2&count=true" frameborder="0" scrolling="0" width="120px" height="20px"></iframe>
|
24
|
+
{% when 'fork'%}
|
25
|
+
<iframe src="https://ghbtns.com/github-btn.html?user={{ gh_user }}&repo={{ gh_repo }}&type=fork&count=true" frameborder="0" scrolling="0" width="120px" height="20px"></iframe>
|
26
|
+
{% when 'follow'%}
|
27
|
+
<iframe src="https://ghbtns.com/github-btn.html?user={{ gh_user }}&type=follow&count=true" frameborder="0" scrolling="0" width="220px" height="20px"></iframe>
|
28
|
+
{% endcase %}
|
29
|
+
{% endfor %}
|
30
|
+
{% endif %}
|
31
|
+
</div>
|
32
|
+
{% endif %}
|
33
|
+
|
34
|
+
<article role="main" class="blog-post">
|
35
|
+
{{ content }}
|
36
|
+
</article>
|
37
|
+
|
38
|
+
{% if page.tags.size > 0 %}
|
39
|
+
<div class="blog-tags">
|
40
|
+
Tags:
|
41
|
+
{% if site.link-tags %}
|
42
|
+
{% for tag in page.tags %}
|
43
|
+
<a href="{{ '/tags' | relative_url }}#{{- tag -}}">{{- tag -}}</a>
|
44
|
+
{% endfor %}
|
45
|
+
{% else %}
|
46
|
+
{{ page.tags | join: ", " }}
|
47
|
+
{% endif %}
|
48
|
+
</div>
|
49
|
+
{% endif %}
|
50
|
+
|
51
|
+
{% if page.social-share %}
|
52
|
+
{% include social-share.html %}
|
53
|
+
{% endif %}
|
54
|
+
|
55
|
+
{% if page.related-posts %}
|
56
|
+
{% include related-posts.html %}
|
57
|
+
{% endif %}
|
58
|
+
|
59
|
+
<ul class="pager blog-pager">
|
60
|
+
{% if page.previous.url %}
|
61
|
+
<li class="previous">
|
62
|
+
<a href="{{ page.previous.url | relative_url }}" data-toggle="tooltip" data-placement="top" title="{{page.previous.title}}">← Previous Post</a>
|
63
|
+
</li>
|
64
|
+
{% endif %}
|
65
|
+
{% if page.next.url %}
|
66
|
+
<li class="next">
|
67
|
+
<a href="{{ page.next.url | relative_url }}" data-toggle="tooltip" data-placement="top" title="{{page.next.title}}">Next Post →</a>
|
68
|
+
</li>
|
69
|
+
{% endif %}
|
70
|
+
</ul>
|
71
|
+
|
72
|
+
{% if page.comments %}
|
73
|
+
<div class="staticman-comments">
|
74
|
+
{% include staticman-comments.html %}
|
75
|
+
</div>
|
76
|
+
{% endif %}
|
77
|
+
</div>
|
78
|
+
</div>
|
79
|
+
</div>
|
@@ -0,0 +1,93 @@
|
|
1
|
+
Copyright 2011, The VT323 Project Authors (peter.hull@oikoi.com)
|
2
|
+
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
4
|
+
This license is copied below, and is also available with a FAQ at:
|
5
|
+
http://scripts.sil.org/OFL
|
6
|
+
|
7
|
+
|
8
|
+
-----------------------------------------------------------
|
9
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
10
|
+
-----------------------------------------------------------
|
11
|
+
|
12
|
+
PREAMBLE
|
13
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
14
|
+
development of collaborative font projects, to support the font creation
|
15
|
+
efforts of academic and linguistic communities, and to provide a free and
|
16
|
+
open framework in which fonts may be shared and improved in partnership
|
17
|
+
with others.
|
18
|
+
|
19
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
20
|
+
redistributed freely as long as they are not sold by themselves. The
|
21
|
+
fonts, including any derivative works, can be bundled, embedded,
|
22
|
+
redistributed and/or sold with any software provided that any reserved
|
23
|
+
names are not used by derivative works. The fonts and derivatives,
|
24
|
+
however, cannot be released under any other type of license. The
|
25
|
+
requirement for fonts to remain under this license does not apply
|
26
|
+
to any document created using the fonts or their derivatives.
|
27
|
+
|
28
|
+
DEFINITIONS
|
29
|
+
"Font Software" refers to the set of files released by the Copyright
|
30
|
+
Holder(s) under this license and clearly marked as such. This may
|
31
|
+
include source files, build scripts and documentation.
|
32
|
+
|
33
|
+
"Reserved Font Name" refers to any names specified as such after the
|
34
|
+
copyright statement(s).
|
35
|
+
|
36
|
+
"Original Version" refers to the collection of Font Software components as
|
37
|
+
distributed by the Copyright Holder(s).
|
38
|
+
|
39
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
40
|
+
or substituting -- in part or in whole -- any of the components of the
|
41
|
+
Original Version, by changing formats or by porting the Font Software to a
|
42
|
+
new environment.
|
43
|
+
|
44
|
+
"Author" refers to any designer, engineer, programmer, technical
|
45
|
+
writer or other person who contributed to the Font Software.
|
46
|
+
|
47
|
+
PERMISSION & CONDITIONS
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
49
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
50
|
+
redistribute, and sell modified and unmodified copies of the Font
|
51
|
+
Software, subject to the following conditions:
|
52
|
+
|
53
|
+
1) Neither the Font Software nor any of its individual components,
|
54
|
+
in Original or Modified Versions, may be sold by itself.
|
55
|
+
|
56
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
57
|
+
redistributed and/or sold with any software, provided that each copy
|
58
|
+
contains the above copyright notice and this license. These can be
|
59
|
+
included either as stand-alone text files, human-readable headers or
|
60
|
+
in the appropriate machine-readable metadata fields within text or
|
61
|
+
binary files as long as those fields can be easily viewed by the user.
|
62
|
+
|
63
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
64
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
65
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
66
|
+
presented to the users.
|
67
|
+
|
68
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
69
|
+
Software shall not be used to promote, endorse or advertise any
|
70
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
71
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
72
|
+
permission.
|
73
|
+
|
74
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
75
|
+
must be distributed entirely under this license, and must not be
|
76
|
+
distributed under any other license. The requirement for fonts to
|
77
|
+
remain under this license does not apply to any document created
|
78
|
+
using the Font Software.
|
79
|
+
|
80
|
+
TERMINATION
|
81
|
+
This license becomes null and void if any of the above conditions are
|
82
|
+
not met.
|
83
|
+
|
84
|
+
DISCLAIMER
|
85
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
86
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
88
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
89
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
90
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
91
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
92
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
93
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
ADDED
@@ -0,0 +1,217 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: enfield-jekyll-theme
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Marcel Artz
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-03-30 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: jekyll
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '4.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '4.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: jekyll-paginate
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.1'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.1'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: jekyll-sitemap
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.4'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.4'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: jekyll-seo-tag
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.6'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.6'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: jekyll-mentions
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.6'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.6'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: jekyll-gist
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '1.5'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '1.5'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: jekyll-feed
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0.13'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0.13'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: jekyll-redirect-from
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0.16'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0.16'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: jekyll-analytics
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0.1'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0.1'
|
153
|
+
description: Enfield is a dark blogging theme that I created for my personal website.
|
154
|
+
It is made with simplicity, readability and extensibility in mind.
|
155
|
+
email:
|
156
|
+
- email@marcel-artz.de
|
157
|
+
executables: []
|
158
|
+
extensions: []
|
159
|
+
extra_rdoc_files: []
|
160
|
+
files:
|
161
|
+
- LICENSE.txt
|
162
|
+
- README.md
|
163
|
+
- _includes/ext-css.html
|
164
|
+
- _includes/ext-js.html
|
165
|
+
- _includes/footer-minimal.html
|
166
|
+
- _includes/footer-scripts.html
|
167
|
+
- _includes/footer.html
|
168
|
+
- _includes/head.html
|
169
|
+
- _includes/header.html
|
170
|
+
- _includes/matomo.html
|
171
|
+
- _includes/nav.html
|
172
|
+
- _includes/related-posts.html
|
173
|
+
- _includes/social-share.html
|
174
|
+
- _includes/staticman-comment.html
|
175
|
+
- _includes/staticman-comments.html
|
176
|
+
- _layouts/base.html
|
177
|
+
- _layouts/default.html
|
178
|
+
- _layouts/minimal.html
|
179
|
+
- _layouts/page.html
|
180
|
+
- _layouts/post.html
|
181
|
+
- assets/fonts/vt323-regular.css
|
182
|
+
- assets/fonts/vt323/OFL.txt
|
183
|
+
- assets/fonts/vt323/vt323-regular.css
|
184
|
+
- assets/fonts/vt323/vt323-regular.ttf
|
185
|
+
- assets/page-images/avatar-icon.png
|
186
|
+
- assets/page-images/bgimage.png
|
187
|
+
- assets/page-images/privateinvestocat.jpg
|
188
|
+
- assets/page-images/screenshot.png
|
189
|
+
- assets/page-images/screenshot2.png
|
190
|
+
- assets/page-images/screenshot3.png
|
191
|
+
- assets/post-images/2015/path.jpg
|
192
|
+
- assets/post-images/2018/example-code.png
|
193
|
+
homepage: https://github.com/ma744/Enfield-Jekyll-Theme
|
194
|
+
licenses:
|
195
|
+
- MIT
|
196
|
+
metadata: {}
|
197
|
+
post_install_message:
|
198
|
+
rdoc_options: []
|
199
|
+
require_paths:
|
200
|
+
- lib
|
201
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
202
|
+
requirements:
|
203
|
+
- - ">="
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: 2.3.0
|
206
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
207
|
+
requirements:
|
208
|
+
- - ">="
|
209
|
+
- !ruby/object:Gem::Version
|
210
|
+
version: '0'
|
211
|
+
requirements: []
|
212
|
+
rubyforge_project:
|
213
|
+
rubygems_version: 2.7.6
|
214
|
+
signing_key:
|
215
|
+
specification_version: 4
|
216
|
+
summary: Dark Blogging Theme for Jekyll
|
217
|
+
test_files: []
|