jekyll-theme-low 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +97 -0
- data/LICENSE.txt +21 -0
- data/README.md +94 -0
- data/_includes/footer.html +3 -0
- data/_includes/head.html +15 -0
- data/_includes/header.html +14 -0
- data/_includes/post-list.html +7 -0
- data/_includes/post-meta.html +11 -0
- data/_layouts/archive.html +19 -0
- data/_layouts/default.html +18 -0
- data/_layouts/head.html +7 -0
- data/_layouts/header.html +14 -0
- data/_layouts/home.html +17 -0
- data/_layouts/page.html +5 -0
- data/_layouts/post-list.html +7 -0
- data/_layouts/post-meta.html +11 -0
- data/_layouts/post.html +24 -0
- data/_sass/theme/_syntax.scss +2 -0
- data/assets/_site/css/main.css +126 -0
- data/assets/_site/css/main.css.map +1 -0
- data/assets/_site/font/DejaVuSansMono-Bold.woff2 +0 -0
- data/assets/_site/font/DejaVuSansMono.woff2 +0 -0
- data/assets/css/_syntax.scss +4 -0
- data/assets/css/main.scss +255 -0
- data/assets/font/DejaVuSansMono-Bold.woff2 +0 -0
- data/assets/font/DejaVuSansMono.woff2 +0 -0
- data/docs/ss.png +0 -0
- data/lib/low/version.rb +5 -0
- data/lib/low.rb +8 -0
- data/low.gemspec +19 -0
- metadata +129 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 1e1dd70696e840536c7f56a927149ce557a041a58ac157c3ffb05a6abf88492c
|
|
4
|
+
data.tar.gz: d4fe0e3f0f300255f9b2d103ec910a9b9c1c6fce8b4aeda5e60daafaa8c090ec
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: bc77ed2037d73b1b2c1cc0e8b29f05f74a6b57fac5233b6b25a57984c884a0394662d7f9d9b25778fb04b152ea0ce8043cfd836d18ac20f7623ef6ebefbf24e4
|
|
7
|
+
data.tar.gz: dcf6d617bd52a9b03c0ba07af9044f703a850eec852d82e44c63272a81067383d21b841d662bb632aa4c9519b763fbc5746d0f645b77aeb4291537002d86dcd4
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
low (0.1.0)
|
|
5
|
+
jekyll (>= 4.3, < 5.0)
|
|
6
|
+
jekyll-feed (>= 0.17)
|
|
7
|
+
jekyll-seo-tag (>= 2.8)
|
|
8
|
+
jekyll-sitemap (>= 1.4)
|
|
9
|
+
|
|
10
|
+
GEM
|
|
11
|
+
remote: https://rubygems.org/
|
|
12
|
+
specs:
|
|
13
|
+
addressable (2.8.7)
|
|
14
|
+
public_suffix (>= 2.0.2, < 7.0)
|
|
15
|
+
base64 (0.3.0)
|
|
16
|
+
bigdecimal (3.2.3)
|
|
17
|
+
colorator (1.1.0)
|
|
18
|
+
concurrent-ruby (1.3.5)
|
|
19
|
+
csv (3.3.5)
|
|
20
|
+
em-websocket (0.5.3)
|
|
21
|
+
eventmachine (>= 0.12.9)
|
|
22
|
+
http_parser.rb (~> 0)
|
|
23
|
+
eventmachine (1.2.7)
|
|
24
|
+
ffi (1.17.2)
|
|
25
|
+
forwardable-extended (2.6.0)
|
|
26
|
+
google-protobuf (4.32.1)
|
|
27
|
+
bigdecimal
|
|
28
|
+
rake (>= 13)
|
|
29
|
+
http_parser.rb (0.8.0)
|
|
30
|
+
i18n (1.14.7)
|
|
31
|
+
concurrent-ruby (~> 1.0)
|
|
32
|
+
jekyll (4.4.1)
|
|
33
|
+
addressable (~> 2.4)
|
|
34
|
+
base64 (~> 0.2)
|
|
35
|
+
colorator (~> 1.0)
|
|
36
|
+
csv (~> 3.0)
|
|
37
|
+
em-websocket (~> 0.5)
|
|
38
|
+
i18n (~> 1.0)
|
|
39
|
+
jekyll-sass-converter (>= 2.0, < 4.0)
|
|
40
|
+
jekyll-watch (~> 2.0)
|
|
41
|
+
json (~> 2.6)
|
|
42
|
+
kramdown (~> 2.3, >= 2.3.1)
|
|
43
|
+
kramdown-parser-gfm (~> 1.0)
|
|
44
|
+
liquid (~> 4.0)
|
|
45
|
+
mercenary (~> 0.3, >= 0.3.6)
|
|
46
|
+
pathutil (~> 0.9)
|
|
47
|
+
rouge (>= 3.0, < 5.0)
|
|
48
|
+
safe_yaml (~> 1.0)
|
|
49
|
+
terminal-table (>= 1.8, < 4.0)
|
|
50
|
+
webrick (~> 1.7)
|
|
51
|
+
jekyll-feed (0.17.0)
|
|
52
|
+
jekyll (>= 3.7, < 5.0)
|
|
53
|
+
jekyll-sass-converter (3.1.0)
|
|
54
|
+
sass-embedded (~> 1.75)
|
|
55
|
+
jekyll-seo-tag (2.8.0)
|
|
56
|
+
jekyll (>= 3.8, < 5.0)
|
|
57
|
+
jekyll-sitemap (1.4.0)
|
|
58
|
+
jekyll (>= 3.7, < 5.0)
|
|
59
|
+
jekyll-watch (2.2.1)
|
|
60
|
+
listen (~> 3.0)
|
|
61
|
+
json (2.15.0)
|
|
62
|
+
kramdown (2.5.1)
|
|
63
|
+
rexml (>= 3.3.9)
|
|
64
|
+
kramdown-parser-gfm (1.1.0)
|
|
65
|
+
kramdown (~> 2.0)
|
|
66
|
+
liquid (4.0.4)
|
|
67
|
+
listen (3.9.0)
|
|
68
|
+
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
69
|
+
rb-inotify (~> 0.9, >= 0.9.10)
|
|
70
|
+
mercenary (0.4.0)
|
|
71
|
+
pathutil (0.16.2)
|
|
72
|
+
forwardable-extended (~> 2.6)
|
|
73
|
+
public_suffix (6.0.2)
|
|
74
|
+
rake (13.3.0)
|
|
75
|
+
rb-fsevent (0.11.2)
|
|
76
|
+
rb-inotify (0.11.1)
|
|
77
|
+
ffi (~> 1.0)
|
|
78
|
+
rexml (3.4.4)
|
|
79
|
+
rouge (4.6.1)
|
|
80
|
+
safe_yaml (1.0.5)
|
|
81
|
+
sass-embedded (1.93.2)
|
|
82
|
+
google-protobuf (~> 4.31)
|
|
83
|
+
rake (>= 13)
|
|
84
|
+
terminal-table (3.0.2)
|
|
85
|
+
unicode-display_width (>= 1.1.1, < 3)
|
|
86
|
+
unicode-display_width (2.6.0)
|
|
87
|
+
webrick (1.9.1)
|
|
88
|
+
|
|
89
|
+
PLATFORMS
|
|
90
|
+
ruby
|
|
91
|
+
x86_64-linux
|
|
92
|
+
|
|
93
|
+
DEPENDENCIES
|
|
94
|
+
low!
|
|
95
|
+
|
|
96
|
+
BUNDLED WITH
|
|
97
|
+
2.6.9
|
data/LICENSE.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025
|
|
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,94 @@
|
|
|
1
|
+
# low
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
> A minimal, retro-inspired Jekyll theme for engineers who care about the metal.
|
|
6
|
+
|
|
7
|
+
**low** is a lightweight Jekyll theme designed for technical blogging — inspired by [Fabien Sanglard’s website](https://fabiensanglard.net/).
|
|
8
|
+
It’s meant for developers who write about *low-level programming, graphics, operating systems, emulation, and the craft of software*.
|
|
9
|
+
|
|
10
|
+
No JavaScript frameworks. No build pipelines. Just clean HTML, monospace typography, and focus on content.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## ✳ Features
|
|
15
|
+
|
|
16
|
+
- ⚙️ **Zero-dependency design** — pure HTML + CSS, no JavaScript.
|
|
17
|
+
- 💾 **Retro technical aesthetic** — monospaced typography and print-like layout.
|
|
18
|
+
- 🧱 **Simple structure** — easily fork, modify, or embed in existing Jekyll setups.
|
|
19
|
+
- 📰 **RSS + SEO ready** — via `jekyll-feed`, `jekyll-seo-tag`, and `jekyll-sitemap`.
|
|
20
|
+
- 🗓️ **Archive view** — grouped by year, auto-generated from posts.
|
|
21
|
+
- 🖋️ **Clean code blocks** — styled for low-level and C-style syntax.
|
|
22
|
+
- 🪶 **Compact footer** — © year + author, nothing more.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 🧩 Directory Structure
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
low/
|
|
30
|
+
├── _layouts/
|
|
31
|
+
│ ├── default.html # Base layout (includes header/footer)
|
|
32
|
+
│ ├── home.html # Main index page
|
|
33
|
+
│ ├── post.html # Individual post layout
|
|
34
|
+
│ └── archive.html # Yearly archive page
|
|
35
|
+
│
|
|
36
|
+
├── _includes/
|
|
37
|
+
│ ├── head.html # Metadata + styles
|
|
38
|
+
│ ├── header.html # Top navigation bar
|
|
39
|
+
│ ├── footer.html # Minimal one-liner footer
|
|
40
|
+
│ ├── post-list.html # Reusable post index
|
|
41
|
+
│ └── post-meta.html # Date + tags for posts
|
|
42
|
+
│
|
|
43
|
+
├── assets/
|
|
44
|
+
│ └── css/
|
|
45
|
+
│ └── main.scss # Global theme styles
|
|
46
|
+
│
|
|
47
|
+
├── _sass/
|
|
48
|
+
│ └── theme/
|
|
49
|
+
│ └── _syntax.scss # Rouge syntax highlighting
|
|
50
|
+
│
|
|
51
|
+
└── low.gemspec # Jekyll theme definition
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## ⚡ Installation
|
|
55
|
+
|
|
56
|
+
Add it to your Jekyll site:
|
|
57
|
+
|
|
58
|
+
```sh
|
|
59
|
+
bundle add low
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## 🧠 Philosophy
|
|
63
|
+
|
|
64
|
+
This theme follows the same principles as the projects it’s meant to host:
|
|
65
|
+
|
|
66
|
+
- Understand what runs under the hood.
|
|
67
|
+
- Respect simplicity.
|
|
68
|
+
- Prefer text over tools.
|
|
69
|
+
|
|
70
|
+
It’s ideal for developers writing deep dives into:
|
|
71
|
+
- retro-game rendering,
|
|
72
|
+
- CPU emulation,
|
|
73
|
+
- assembly or C,
|
|
74
|
+
- framebuffer graphics,
|
|
75
|
+
- or OS development logs.
|
|
76
|
+
|
|
77
|
+
## 🧭 Example Site
|
|
78
|
+
The theme ships with an `example/` site that demonstrates:
|
|
79
|
+
- index listing posts under Articles,
|
|
80
|
+
- /archive/ for yearly grouping,
|
|
81
|
+
- /rss.xml for feed readers.
|
|
82
|
+
|
|
83
|
+
Run it locally:
|
|
84
|
+
```sh
|
|
85
|
+
cd example
|
|
86
|
+
bundle exec jekyll serve
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Open: http://127.0.0.1:4000
|
|
90
|
+
|
|
91
|
+
## 🪞 Credit
|
|
92
|
+
|
|
93
|
+
Heavily inspired by the aesthetic and minimalism of
|
|
94
|
+
Fabien Sanglard
|
data/_includes/head.html
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<meta charset="utf-8">
|
|
2
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=12.0, minimum-scale=1.0, user-scalable=yes">
|
|
3
|
+
<title>{% if page.title %}{{ page.title }} · {% endif %}{{ site.title }}</title>
|
|
4
|
+
<meta name="description" content="{{ page.description | default: site.description }}">
|
|
5
|
+
|
|
6
|
+
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
|
|
7
|
+
|
|
8
|
+
{% if site.favicon %}
|
|
9
|
+
<link rel="icon" href="{{ site.favicon | relative_url }}">
|
|
10
|
+
{% endif %}
|
|
11
|
+
|
|
12
|
+
<link rel="alternate" type="application/rss+xml" title="{{ site.title }} RSS" href="{{ site.feed.path | default: '/rss.xml' | relative_url }}">
|
|
13
|
+
<link rel="canonical" href="{{ page.url | absolute_url }}">
|
|
14
|
+
|
|
15
|
+
{% seo %}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<br>
|
|
2
|
+
<center>
|
|
3
|
+
<div style="display: inline-block; vertical-align: middle;">
|
|
4
|
+
<a href="{{ '/' | relative_url }}" class="title"><b>{{ site.title | upcase }}</b><br></a>
|
|
5
|
+
<hr>
|
|
6
|
+
<div style="text-align: justify; display: inline-block; width: 100%;">
|
|
7
|
+
<a class="title" href="mailto:{{ site.email | default: 'leventkayadev@gmail.com' }}">CONTACT</a>
|
|
8
|
+
<a class="title" href="{{ '/archive/' | relative_url }}">ARCHIVE</a>
|
|
9
|
+
<a class="title" href="{{ site.feed.path | default: '/rss.xml' | relative_url }}">RSS</a>
|
|
10
|
+
<a class="title" href="{{ '/donate' | relative_url }}">DONATE</a>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
</center>
|
|
14
|
+
<br><br>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<p style="text-align:left; margin-bottom:1ch;">
|
|
2
|
+
{% assign posts_sorted = include.posts | default: site.posts | sort: "date" | reverse %}
|
|
3
|
+
{% for post in posts_sorted %}
|
|
4
|
+
{{ post.date | date: "%d/%m/%Y" }}:
|
|
5
|
+
<a href="{{ post.url | relative_url }}">{{ post.title }}</a><br>
|
|
6
|
+
{% endfor %}
|
|
7
|
+
</p>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<p class="meta" style="margin:0 0 2ch 0; opacity:.8;">
|
|
2
|
+
<time datetime="{{ page.date | date_to_xmlschema }}">
|
|
3
|
+
{{ page.date | date: "%d/%m/%Y" }}
|
|
4
|
+
</time>
|
|
5
|
+
{% if page.categories and page.categories.size > 0 %}
|
|
6
|
+
· {{ page.categories | array_to_sentence_string }}
|
|
7
|
+
{% endif %}
|
|
8
|
+
{% if page.tags and page.tags.size > 0 %}
|
|
9
|
+
· tags: {{ page.tags | array_to_sentence_string }}
|
|
10
|
+
{% endif %}
|
|
11
|
+
</p>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: default
|
|
3
|
+
---
|
|
4
|
+
<div class="heading">Archive</div>
|
|
5
|
+
<hr>
|
|
6
|
+
|
|
7
|
+
{% assign grouped = site.posts | group_by_exp: 'post', 'post.date | date: "%Y"' %}
|
|
8
|
+
{% assign grouped = grouped | sort: 'name' | reverse %}
|
|
9
|
+
{% for year in grouped %}
|
|
10
|
+
<h2 style="margin-top:2ch;">{{ year.name }}</h2>
|
|
11
|
+
<hr>
|
|
12
|
+
<p style="text-align:left; margin-bottom:1ch;">
|
|
13
|
+
{% assign posts_sorted = year.items | sort: "date" | reverse %}
|
|
14
|
+
{% for post in posts_sorted %}
|
|
15
|
+
{{ post.date | date: "%d/%m/%Y" }}:
|
|
16
|
+
<a href="{{ post.url | relative_url }}">{{ post.title }}</a><br>
|
|
17
|
+
{% endfor %}
|
|
18
|
+
</p>
|
|
19
|
+
{% endfor %}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: nil
|
|
3
|
+
---
|
|
4
|
+
<!doctype html>
|
|
5
|
+
<html lang="en">
|
|
6
|
+
<head>
|
|
7
|
+
{% include head.html %}
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
{% include header.html %}
|
|
11
|
+
<div style="margin-bottom: 2ch; text-transform: none;"></div>
|
|
12
|
+
<main class="container">
|
|
13
|
+
{{ content }}
|
|
14
|
+
</main>
|
|
15
|
+
{% include footer.html %}
|
|
16
|
+
</body>
|
|
17
|
+
</html>
|
|
18
|
+
|
data/_layouts/head.html
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<meta charset="utf-8">
|
|
2
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=12.0, minimum-scale=1.0, user-scalable=yes">
|
|
3
|
+
<title>{% if page.title %}{{ page.title }} · {% endif %}{{ site.title }}</title>
|
|
4
|
+
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
|
|
5
|
+
<link rel="alternate" type="application/rss+xml" title="RSS" href="{{ site.feed.path | default: '/rss.xml' | relative_url }}">
|
|
6
|
+
{% seo %}
|
|
7
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<br>
|
|
2
|
+
<center>
|
|
3
|
+
<div style="display: inline-block; vertical-align: middle;">
|
|
4
|
+
<a href="{{ '/' | relative_url }}" class="title"><b>{{ site.title | upcase }}</b><br></a>
|
|
5
|
+
<hr>
|
|
6
|
+
<div style="text-align: justify; display: inline-block; width: 100%;">
|
|
7
|
+
<a class="title" href="mailto:{{ site.email | default: 'leventkayadev@gmail.com' }}">CONTACT</a>
|
|
8
|
+
<a class="title" href="{{ site.feed.path | default: '/rss.xml' | relative_url }}">RSS</a>
|
|
9
|
+
<a class="title" href="{{ '/donate' | relative_url }}">DONATE</a>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
</center>
|
|
13
|
+
<br><br>
|
|
14
|
+
|
data/_layouts/home.html
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: default
|
|
3
|
+
---
|
|
4
|
+
<div class="heading">{{ site.title }}</div>
|
|
5
|
+
<hr>
|
|
6
|
+
<p>This is my personal site where I document code experiments and random ideas that pop into my head during downtime.</p>
|
|
7
|
+
|
|
8
|
+
<div class="heading">Articles</div>
|
|
9
|
+
<hr>
|
|
10
|
+
{% include post-list.html %}
|
|
11
|
+
|
|
12
|
+
<div class="heading">Projects</div>
|
|
13
|
+
<hr>
|
|
14
|
+
Ongoing...: <a href="{{ '/projects/' | relative_url }}">Projects</a><br>
|
|
15
|
+
|
|
16
|
+
<hr>
|
|
17
|
+
<center class=".sun">*</center>
|
data/_layouts/page.html
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<p style="text-align:left; margin-bottom:1ch;">
|
|
2
|
+
{% assign posts_sorted = include.posts | default: site.posts | sort: "date" | reverse %}
|
|
3
|
+
{% for post in posts_sorted %}
|
|
4
|
+
{{ post.date | date: "%d/%m/%Y" }}:
|
|
5
|
+
<a href="{{ post.url | relative_url }}">{{ post.title }}</a><br>
|
|
6
|
+
{% endfor %}
|
|
7
|
+
</p>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<p class="meta" style="margin:0 0 2ch 0; opacity:.8;">
|
|
2
|
+
<time datetime="{{ page.date | date_to_xmlschema }}">
|
|
3
|
+
{{ page.date | date: "%d/%m/%Y" }}
|
|
4
|
+
</time>
|
|
5
|
+
{% if page.categories and page.categories.size > 0 %}
|
|
6
|
+
· {{ page.categories | array_to_sentence_string }}
|
|
7
|
+
{% endif %}
|
|
8
|
+
{% if page.tags and page.tags.size > 0 %}
|
|
9
|
+
· tags: {{ page.tags | array_to_sentence_string }}
|
|
10
|
+
{% endif %}
|
|
11
|
+
</p>
|
data/_layouts/post.html
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: default
|
|
3
|
+
---
|
|
4
|
+
<article class="post">
|
|
5
|
+
<h1>{{ page.title }}</h1>
|
|
6
|
+
|
|
7
|
+
{% include post-meta.html %}
|
|
8
|
+
|
|
9
|
+
{{ content }}
|
|
10
|
+
|
|
11
|
+
<hr>
|
|
12
|
+
<nav class="post-nav" style="display:flex; justify-content:space-between;">
|
|
13
|
+
<div class="prev">
|
|
14
|
+
{% if page.previous %}
|
|
15
|
+
← <a href="{{ page.previous.url | relative_url }}">{{ page.previous.title }}</a>
|
|
16
|
+
{% endif %}
|
|
17
|
+
</div>
|
|
18
|
+
<div class="next" style="text-align:right;">
|
|
19
|
+
{% if page.next %}
|
|
20
|
+
<a href="{{ page.next.url | relative_url }}">{{ page.next.title }}</a> →
|
|
21
|
+
{% endif %}
|
|
22
|
+
</div>
|
|
23
|
+
</nav>
|
|
24
|
+
</article>
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
@font-face {
|
|
2
|
+
font-family: "fabfont";
|
|
3
|
+
src: url("/assets/font/DejaVuSansMono.woff2") format("woff2"), url("/assets/font/DejaVuSansMono.woff") format("woff");
|
|
4
|
+
font-weight: normal;
|
|
5
|
+
font-style: normal;
|
|
6
|
+
font-display: block;
|
|
7
|
+
}
|
|
8
|
+
@font-face {
|
|
9
|
+
font-family: "fabfont";
|
|
10
|
+
src: url("/assets/font/DejaVuSansMono-Bold.woff2") format("woff2"), url("/assets/font/DejaVuSansMono-Bold.woff") format("woff");
|
|
11
|
+
font-weight: bold;
|
|
12
|
+
font-style: normal;
|
|
13
|
+
font-display: block;
|
|
14
|
+
}
|
|
15
|
+
* {
|
|
16
|
+
font-size: 16px;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
html {
|
|
20
|
+
font-family: "fabfont", "DejaVu Sans Mono", "Consolas", "Monaco", "Courier New", monospace;
|
|
21
|
+
max-width: 900px;
|
|
22
|
+
padding-left: 2%;
|
|
23
|
+
padding-right: 3%;
|
|
24
|
+
margin: 0 auto;
|
|
25
|
+
background: #F5F5F0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
a {
|
|
29
|
+
color: black;
|
|
30
|
+
font-weight: bold;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
img {
|
|
34
|
+
border: none;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
p {
|
|
38
|
+
margin-top: 0px;
|
|
39
|
+
text-align: justify;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
sup {
|
|
43
|
+
vertical-align: 0.3em;
|
|
44
|
+
font-size: 0.65em;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
pre {
|
|
48
|
+
font-family: "fabfont", monospace;
|
|
49
|
+
background-color: white;
|
|
50
|
+
border: 1px solid black;
|
|
51
|
+
padding-left: 2%;
|
|
52
|
+
padding-top: 1ch;
|
|
53
|
+
padding-bottom: 1ch;
|
|
54
|
+
overflow: hidden;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
div.heading {
|
|
58
|
+
font-weight: bold;
|
|
59
|
+
text-transform: uppercase;
|
|
60
|
+
margin-top: 4ch;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@media (max-width: 500px) {
|
|
64
|
+
* {
|
|
65
|
+
font-size: 12px;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
.title {
|
|
69
|
+
text-decoration: none;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
img.pixel, canvas.pixel {
|
|
73
|
+
image-rendering: pixelated;
|
|
74
|
+
image-rendering: -moz-crisp-edges;
|
|
75
|
+
image-rendering: crisp-edges;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
blockquote {
|
|
79
|
+
background-color: #f3f3f3;
|
|
80
|
+
border: dashed 1px grey;
|
|
81
|
+
width: 97.5%;
|
|
82
|
+
font-style: italic;
|
|
83
|
+
text-align: justify;
|
|
84
|
+
padding: 1ch;
|
|
85
|
+
padding-top: 2ch;
|
|
86
|
+
padding-bottom: 2ch;
|
|
87
|
+
margin: 0ch 0ch 2ch 0ch;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
blockquote div {
|
|
91
|
+
text-transform: none;
|
|
92
|
+
text-align: right;
|
|
93
|
+
width: 100%;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
code {
|
|
97
|
+
font-weight: bold;
|
|
98
|
+
background-color: #e1e1e1;
|
|
99
|
+
border-radius: 0.5ch;
|
|
100
|
+
padding-left: 0.3ch;
|
|
101
|
+
padding-right: 0.3ch;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.trivia {
|
|
105
|
+
border-left: 1px black solid;
|
|
106
|
+
padding-left: 1ch;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.trivia::before {
|
|
110
|
+
font-weight: bold;
|
|
111
|
+
text-decoration: underline;
|
|
112
|
+
padding-right: 1ch;
|
|
113
|
+
content: "Trivia:";
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* container hook */
|
|
117
|
+
/* --- Footer --- */
|
|
118
|
+
.footer {
|
|
119
|
+
text-align: center;
|
|
120
|
+
margin-top: 4ch;
|
|
121
|
+
margin-bottom: 2ch;
|
|
122
|
+
opacity: 0.7;
|
|
123
|
+
font-size: 0.9em;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/*# sourceMappingURL=main.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["main.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EAEA;EACA;EACA;;AAGF;EACE;EACA;EAEA;EACA;EACA;;AAGF;EAAI;;;AAEJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EAAI;EAAc;;;AAClB;EAAM;;;AAEN;EAAI;EAAiB;;;AAErB;EAAM;EAAuB;;;AAE7B;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;IAAI;;;AAGN;EAAS;;;AAET;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EAAU;EAA8B;;;AAExC;EACE;EACA;EACA;EACA;;;AAGF;AAGA;AACA;EACE;EACA;EACA;EACA;EACA","sourcesContent":["@font-face {\n font-family: 'fabfont';\n src: url('/assets/font/DejaVuSansMono.woff2') format('woff2'),\n url('/assets/font/DejaVuSansMono.woff') format('woff');\n font-weight: normal;\n font-style: normal;\n font-display: block;\n}\n\n@font-face {\n font-family: 'fabfont';\n src: url('/assets/font/DejaVuSansMono-Bold.woff2') format('woff2'),\n url('/assets/font/DejaVuSansMono-Bold.woff') format('woff');\n font-weight: bold;\n font-style: normal;\n font-display: block;\n}\n\n* { font-size: 16px; }\n\nhtml {\n font-family: 'fabfont', 'DejaVu Sans Mono', 'Consolas', 'Monaco', 'Courier New', monospace;\n max-width: 900px;\n padding-left: 2%;\n padding-right: 3%;\n margin: 0 auto;\n background: #F5F5F0;\n}\n\na { color: black; font-weight: bold; }\nimg { border: none; }\n\np { margin-top: 0px; text-align: justify; }\n\nsup { vertical-align: 0.3em; font-size: 0.65em; }\n\npre {\n font-family: 'fabfont', monospace;\n background-color: white;\n border: 1px solid black;\n padding-left: 2%;\n padding-top: 1ch;\n padding-bottom: 1ch;\n overflow: hidden;\n}\n\ndiv.heading {\n font-weight: bold;\n text-transform: uppercase;\n margin-top: 4ch;\n}\n\n@media (max-width: 500px) {\n * { font-size: 12px; }\n}\n\n.title { text-decoration: none; }\n\nimg.pixel, canvas.pixel {\n image-rendering: pixelated;\n image-rendering: -moz-crisp-edges;\n image-rendering: crisp-edges;\n}\n\nblockquote {\n background-color: #f3f3f3;\n border: dashed 1px grey;\n width: 97.5%;\n font-style: italic;\n text-align: justify;\n padding: 1ch;\n padding-top: 2ch;\n padding-bottom: 2ch;\n margin: 0ch 0ch 2ch 0ch;\n}\n\nblockquote div {\n text-transform: none;\n text-align: right;\n width: 100%;\n}\n\ncode {\n font-weight: bold;\n background-color: #e1e1e1;\n border-radius: 0.5ch;\n padding-left: 0.3ch;\n padding-right: 0.3ch;\n}\n\n.trivia { border-left: 1px black solid; padding-left: 1ch; }\n\n.trivia::before {\n font-weight: bold;\n text-decoration: underline;\n padding-right: 1ch;\n content: \"Trivia:\";\n}\n\n/* container hook */\n.container {}\n\n/* --- Footer --- */\n.footer {\n text-align: center;\n margin-top: 4ch;\n margin-bottom: 2ch;\n opacity: 0.7;\n font-size: 0.9em;\n}\n\n"],"file":"main.css"}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Jekyll front matter for SCSS
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
/* ===============================
|
|
6
|
+
FONT FACE
|
|
7
|
+
=============================== */
|
|
8
|
+
@font-face {
|
|
9
|
+
font-family: 'fabfont';
|
|
10
|
+
src: url('{{ "/assets/font/DejaVuSansMono.woff2" | relative_url }}') format('woff2'),
|
|
11
|
+
url('{{ "/assets/font/DejaVuSansMono.woff" | relative_url }}') format('woff');
|
|
12
|
+
font-weight: normal;
|
|
13
|
+
font-style: normal;
|
|
14
|
+
font-display: block;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@font-face {
|
|
18
|
+
font-family: 'fabfont';
|
|
19
|
+
src: url('{{ "/assets/font/DejaVuSansMono-Bold.woff2" | relative_url }}') format('woff2'),
|
|
20
|
+
url('{{ "/assets/font/DejaVuSansMono-Bold.woff" | relative_url }}') format('woff');
|
|
21
|
+
font-weight: bold;
|
|
22
|
+
font-style: normal;
|
|
23
|
+
font-display: block;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* ===============================
|
|
27
|
+
BASE RESET
|
|
28
|
+
=============================== */
|
|
29
|
+
* {
|
|
30
|
+
font-size: 16px;
|
|
31
|
+
box-sizing: border-box;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
html {
|
|
35
|
+
font-family: 'fabfont', 'DejaVu Sans Mono', 'Consolas', 'Monaco', 'Courier New', monospace;
|
|
36
|
+
max-width: 900px;
|
|
37
|
+
margin: 0 auto;
|
|
38
|
+
padding-left: 2%;
|
|
39
|
+
padding-right: 3%;
|
|
40
|
+
background: #F5F5F0;
|
|
41
|
+
line-height: 1.5;
|
|
42
|
+
color: #000;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
body {
|
|
46
|
+
margin: 0;
|
|
47
|
+
padding: 0;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* ===============================
|
|
51
|
+
LINKS & TYPOGRAPHY
|
|
52
|
+
=============================== */
|
|
53
|
+
a {
|
|
54
|
+
color: black;
|
|
55
|
+
font-weight: bold;
|
|
56
|
+
text-decoration: none;
|
|
57
|
+
}
|
|
58
|
+
a:hover {
|
|
59
|
+
text-decoration: underline;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
p {
|
|
63
|
+
margin-top: 0;
|
|
64
|
+
text-align: justify;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
sup {
|
|
68
|
+
vertical-align: 0.3em;
|
|
69
|
+
font-size: 0.65em;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* ===============================
|
|
73
|
+
HEADINGS
|
|
74
|
+
=============================== */
|
|
75
|
+
div.heading {
|
|
76
|
+
font-weight: bold;
|
|
77
|
+
text-transform: uppercase;
|
|
78
|
+
margin-top: 4ch;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
h1, h2, h3, h4 {
|
|
82
|
+
font-weight: bold;
|
|
83
|
+
text-transform: uppercase;
|
|
84
|
+
margin-top: 4ch;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/* ===============================
|
|
88
|
+
CODE & PRE BLOCKS
|
|
89
|
+
=============================== */
|
|
90
|
+
pre, code {
|
|
91
|
+
font-family: 'fabfont', monospace;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
pre {
|
|
95
|
+
background-color: white;
|
|
96
|
+
border: 1px solid black;
|
|
97
|
+
padding: 1ch 2%;
|
|
98
|
+
overflow-x: auto;
|
|
99
|
+
white-space: pre;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
code {
|
|
103
|
+
background-color: #e1e1e1;
|
|
104
|
+
border-radius: 0.5ch;
|
|
105
|
+
padding: 0.2ch 0.4ch;
|
|
106
|
+
font-weight: bold;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/* Inline code inside pre shouldn't have double background */
|
|
110
|
+
pre code {
|
|
111
|
+
background: none;
|
|
112
|
+
padding: 0;
|
|
113
|
+
border-radius: 0;
|
|
114
|
+
font-weight: normal;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* ===============================
|
|
118
|
+
IMAGES & MEDIA
|
|
119
|
+
=============================== */
|
|
120
|
+
img, video, canvas, iframe {
|
|
121
|
+
max-width: 100%;
|
|
122
|
+
height: auto;
|
|
123
|
+
display: block;
|
|
124
|
+
box-sizing: border-box;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
img {
|
|
128
|
+
border: none;
|
|
129
|
+
margin-bottom: 2ch;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
img.pixel, canvas.pixel {
|
|
133
|
+
image-rendering: pixelated;
|
|
134
|
+
image-rendering: -moz-crisp-edges;
|
|
135
|
+
image-rendering: crisp-edges;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/* For blog images inside posts */
|
|
139
|
+
.post img,
|
|
140
|
+
article img {
|
|
141
|
+
border: 1px solid black;
|
|
142
|
+
margin-bottom: 2ch;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/* ===============================
|
|
146
|
+
BLOCKQUOTE
|
|
147
|
+
=============================== */
|
|
148
|
+
blockquote {
|
|
149
|
+
background-color: #f3f3f3;
|
|
150
|
+
border: 1px dashed grey;
|
|
151
|
+
width: 97.5%;
|
|
152
|
+
font-style: italic;
|
|
153
|
+
text-align: justify;
|
|
154
|
+
padding: 2ch 1ch;
|
|
155
|
+
margin: 0 0 2ch 0;
|
|
156
|
+
}
|
|
157
|
+
blockquote div {
|
|
158
|
+
text-transform: none;
|
|
159
|
+
text-align: right;
|
|
160
|
+
width: 100%;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.sun {
|
|
164
|
+
background: #ffee99;
|
|
165
|
+
border-radius: 4px;
|
|
166
|
+
padding: 0 2px;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/* ===============================
|
|
170
|
+
TRIVIA BLOCK
|
|
171
|
+
=============================== */
|
|
172
|
+
.trivia {
|
|
173
|
+
border-left: 1px solid black;
|
|
174
|
+
padding-left: 1ch;
|
|
175
|
+
}
|
|
176
|
+
.trivia::before {
|
|
177
|
+
font-weight: bold;
|
|
178
|
+
text-decoration: underline;
|
|
179
|
+
padding-right: 1ch;
|
|
180
|
+
content: "Trivia:";
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/* ===============================
|
|
184
|
+
FOOTER
|
|
185
|
+
=============================== */
|
|
186
|
+
.footer {
|
|
187
|
+
text-align: center;
|
|
188
|
+
margin-top: 4ch;
|
|
189
|
+
margin-bottom: 2ch;
|
|
190
|
+
opacity: 0.7;
|
|
191
|
+
font-size: 0.9em;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/* ===============================
|
|
195
|
+
RESPONSIVE
|
|
196
|
+
=============================== */
|
|
197
|
+
@media (max-width: 500px) {
|
|
198
|
+
* {
|
|
199
|
+
font-size: 12px;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/* ===============================
|
|
204
|
+
SYTAX STYLE START
|
|
205
|
+
=============================== */
|
|
206
|
+
|
|
207
|
+
.highlight table td { padding: 5px; }
|
|
208
|
+
.highlight table pre { margin: 0; }
|
|
209
|
+
.highlight, .highlight .w {
|
|
210
|
+
color: #444444;
|
|
211
|
+
}
|
|
212
|
+
.highlight .cp {
|
|
213
|
+
color: #CC00A3;
|
|
214
|
+
}
|
|
215
|
+
.highlight .cs {
|
|
216
|
+
color: #CC00A3;
|
|
217
|
+
}
|
|
218
|
+
.highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cpf, .highlight .c1 {
|
|
219
|
+
color: #FF0000;
|
|
220
|
+
}
|
|
221
|
+
.highlight .ge {
|
|
222
|
+
font-style: italic;
|
|
223
|
+
}
|
|
224
|
+
.highlight .ges {
|
|
225
|
+
font-weight: bold;
|
|
226
|
+
font-style: italic;
|
|
227
|
+
}
|
|
228
|
+
.highlight .gs {
|
|
229
|
+
font-weight: bold;
|
|
230
|
+
}
|
|
231
|
+
.highlight .kc {
|
|
232
|
+
color: #C34E00;
|
|
233
|
+
}
|
|
234
|
+
.highlight .kd {
|
|
235
|
+
color: #0000FF;
|
|
236
|
+
}
|
|
237
|
+
.highlight .kr {
|
|
238
|
+
color: #007575;
|
|
239
|
+
}
|
|
240
|
+
.highlight .k, .highlight .kn, .highlight .kp, .highlight .kt, .highlight .kv {
|
|
241
|
+
color: #0000FF;
|
|
242
|
+
}
|
|
243
|
+
.highlight .s, .highlight .sb, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .si, .highlight .sx, .highlight .sr, .highlight .s1, .highlight .ss {
|
|
244
|
+
color: #009C00;
|
|
245
|
+
}
|
|
246
|
+
.highlight .sa {
|
|
247
|
+
color: #0000FF;
|
|
248
|
+
}
|
|
249
|
+
.highlight .nb, .highlight .bp {
|
|
250
|
+
color: #C34E00;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/* ===============================
|
|
254
|
+
SYTAX STYLE END
|
|
255
|
+
=============================== */
|
|
Binary file
|
|
Binary file
|
data/docs/ss.png
ADDED
|
Binary file
|
data/lib/low/version.rb
ADDED
data/lib/low.rb
ADDED
data/low.gemspec
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require_relative "lib/low/version"
|
|
3
|
+
|
|
4
|
+
Gem::Specification.new do |spec|
|
|
5
|
+
spec.name = "jekyll-theme-low"
|
|
6
|
+
spec.version = Low::VERSION
|
|
7
|
+
spec.summary = "A minimal, retro-inspired Jekyll theme for engineers who care about the metal."
|
|
8
|
+
spec.homepage = "https://github.com/lvntky/low"
|
|
9
|
+
spec.license = "MIT"
|
|
10
|
+
|
|
11
|
+
spec.authors = ["Levent Kaya"]
|
|
12
|
+
spec.files = Dir["**/*"].grep_v(%r{^(example/|script/|pkg/|\.git/)|\.gem$})
|
|
13
|
+
spec.require_paths = ["lib"]
|
|
14
|
+
|
|
15
|
+
spec.add_runtime_dependency "jekyll", "~> 4.3"
|
|
16
|
+
spec.add_runtime_dependency "jekyll-seo-tag", "~> 2.8"
|
|
17
|
+
spec.add_runtime_dependency "jekyll-feed", "~> 0.17"
|
|
18
|
+
spec.add_runtime_dependency "jekyll-sitemap", "~> 1.4"
|
|
19
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: jekyll-theme-low
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 1.0.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Levent Kaya
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2025-11-05 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: jekyll
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '4.3'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '4.3'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: jekyll-seo-tag
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '2.8'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '2.8'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: jekyll-feed
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0.17'
|
|
48
|
+
type: :runtime
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0.17'
|
|
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
|
+
description:
|
|
70
|
+
email:
|
|
71
|
+
executables: []
|
|
72
|
+
extensions: []
|
|
73
|
+
extra_rdoc_files: []
|
|
74
|
+
files:
|
|
75
|
+
- Gemfile
|
|
76
|
+
- Gemfile.lock
|
|
77
|
+
- LICENSE.txt
|
|
78
|
+
- README.md
|
|
79
|
+
- _includes/footer.html
|
|
80
|
+
- _includes/head.html
|
|
81
|
+
- _includes/header.html
|
|
82
|
+
- _includes/post-list.html
|
|
83
|
+
- _includes/post-meta.html
|
|
84
|
+
- _layouts/archive.html
|
|
85
|
+
- _layouts/default.html
|
|
86
|
+
- _layouts/head.html
|
|
87
|
+
- _layouts/header.html
|
|
88
|
+
- _layouts/home.html
|
|
89
|
+
- _layouts/page.html
|
|
90
|
+
- _layouts/post-list.html
|
|
91
|
+
- _layouts/post-meta.html
|
|
92
|
+
- _layouts/post.html
|
|
93
|
+
- _sass/theme/_syntax.scss
|
|
94
|
+
- assets/_site/css/main.css
|
|
95
|
+
- assets/_site/css/main.css.map
|
|
96
|
+
- assets/_site/font/DejaVuSansMono-Bold.woff2
|
|
97
|
+
- assets/_site/font/DejaVuSansMono.woff2
|
|
98
|
+
- assets/css/_syntax.scss
|
|
99
|
+
- assets/css/main.scss
|
|
100
|
+
- assets/font/DejaVuSansMono-Bold.woff2
|
|
101
|
+
- assets/font/DejaVuSansMono.woff2
|
|
102
|
+
- docs/ss.png
|
|
103
|
+
- lib/low.rb
|
|
104
|
+
- lib/low/version.rb
|
|
105
|
+
- low.gemspec
|
|
106
|
+
homepage: https://github.com/lvntky/low
|
|
107
|
+
licenses:
|
|
108
|
+
- MIT
|
|
109
|
+
metadata: {}
|
|
110
|
+
post_install_message:
|
|
111
|
+
rdoc_options: []
|
|
112
|
+
require_paths:
|
|
113
|
+
- lib
|
|
114
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
115
|
+
requirements:
|
|
116
|
+
- - ">="
|
|
117
|
+
- !ruby/object:Gem::Version
|
|
118
|
+
version: '0'
|
|
119
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - ">="
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '0'
|
|
124
|
+
requirements: []
|
|
125
|
+
rubygems_version: 3.3.15
|
|
126
|
+
signing_key:
|
|
127
|
+
specification_version: 4
|
|
128
|
+
summary: A minimal, retro-inspired Jekyll theme for engineers who care about the metal.
|
|
129
|
+
test_files: []
|