jekyll-theme-nix 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 1d825a61dffc85243635131573be5e34127eda05c9851c352d62e44fbf8d3db0
4
+ data.tar.gz: a72c48b318b8910dcd8116b1a3b3d63621feab833cd628e83cbf1641b552705a
5
+ SHA512:
6
+ metadata.gz: 2099ca9400e23da9a4a2cd49b20a58d8f1701565ac331564297ac12e5566b72e34af4b1bce3c263509aeece4f5cb3a246da06b4bd1484ca2b8e5c60dd933ff9d
7
+ data.tar.gz: 9b7694206e58366a5c3d53a0bdfc7054d13be115432e3f9fbe50e48f50baf5bef8a4206c43511dc566b13efa66e4bb99d7a5b0a9ea2c54049571399e745a8aac
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2023 Michael Nordmeyer
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ 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, FITNESS
17
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,81 @@
1
+ # Jekyll Theme Nix
2
+
3
+ A barebones theme for [Jekyll](https://github.com/jekyll/jekyll), which doesn't need any dependencies except `jekyll-redirect-from`, if you want to redirect pages.
4
+
5
+ Its purpose is to be a minimalistic, single-author theme. Because there is no menu, pages can be manually linked in the body of `index.md`.
6
+
7
+ It also changes as little as possible from the default browser settings to improve legibility.
8
+
9
+ ## Limited Features
10
+
11
+ - Dark mode, because we want to be respectful
12
+ - Posts
13
+ - Pages, including custom error pages
14
+ - No visible authors, categories, or tags
15
+ - No header or footer
16
+ - No pagination for the home page
17
+ - A feed.xml containing an Atom feed, but no JSON or outdated RSS feeds
18
+ - A sitemap.xml, because search engines should index us
19
+ - No semantic info like Open Graph, Twitter cards, or JSON-LD, but inline Microdata
20
+
21
+ ## Minutiae
22
+
23
+ ### Default Colors
24
+
25
+ The default browser link colors don't look great, if they're inverted in dark mode, just like white is inverted to black for the background:
26
+
27
+ - Link: <span style="background-color: white; color: #0000ee">&nbsp;#0000ee&nbsp;</span> => <span style="background-color: black; color: #ffff11">&nbsp;#ffff11&nbsp;</span>
28
+ - Link visited: <span style="background-color: white; color: #551a8b">&nbsp;#551a8b&nbsp;</span> => <span style="background-color: black; color: #aae574">&nbsp;#aae574&nbsp;</span>
29
+
30
+ Therefore, they're set to somewhat lighter versions of the default colors:
31
+
32
+ - Link: <span style="background-color: white; color: #0000ee">&nbsp;#0000ee&nbsp;</span> => <span style="background-color: black; color: lightskyblue">&nbsp;lightskyblue&nbsp;</span>
33
+ - Link visited: <span style="background-color: white; color: #551a8b">&nbsp;#551a8b&nbsp;</span> => <span style="background-color: black; color: plum">&nbsp;plum&nbsp;</span>
34
+
35
+ ### Favicon
36
+
37
+ The favicon is currently `icon.webp` for the light mode, and there's also a dark variant `icon-dark.webp`.
38
+
39
+ ### Nix?
40
+
41
+ <q>Nix</q> is the grammatically incorrect form of the German <q>nichts</q>, which in English means <q>nothing</q>. It's colloquially used to stress the nothingness.
42
+
43
+ Or, if you will, it could be UNIX without the <q>U</q>, because of the theme's somewhat archaic properties.
44
+
45
+ ## Installation
46
+
47
+ Installation from Gem is recommended, but using a remote theme is also possible, even though it will increase build time a little, depending on your internet connection.
48
+
49
+ ### Installation from Gem
50
+
51
+ Add this line to your Jekyll site's `Gemfile`:
52
+
53
+ ```ruby
54
+ gem "jekyll-theme-nix"
55
+ ```
56
+
57
+ And add this line to your Jekyll site's `_config.yml`:
58
+
59
+ ```yaml
60
+ theme: jekyll-theme-nix
61
+ ```
62
+
63
+ Make sure that this is the only `theme:` in `_config.yml`.
64
+
65
+ ### Installation as Remote Theme
66
+
67
+ Add this line to your Jekyll site's `Gemfile`:
68
+
69
+ ```ruby
70
+ gem "jekyll-remote-theme"
71
+ ```
72
+
73
+ And add this line to your Jekyll site's `_config.yml`:
74
+
75
+ ```yaml
76
+ remote_theme: michaelnordmeyer/jekyll-theme-nix
77
+ ```
78
+
79
+ Make sure that this is the only `remote_theme:` in `_config.yml`, and that there are no other `theme:`.
80
+
81
+ Finally, add `jekyll-remote-theme` to your plugin section in `_config.yml` as well.
data/_config.yml ADDED
@@ -0,0 +1,20 @@
1
+ ## Remove URL for Github Pages
2
+ url: https://jekyll-theme-nix.michaelnordmeyer.com
3
+ title: Jekyll Theme Nix
4
+ author:
5
+ name: Michael Nordmeyer
6
+ uri: https://jekyll-theme-nix.michaelnordmeyer.com
7
+ description: "A barebones theme for Jekyll"
8
+
9
+ timezone: Europe/Berlin
10
+ ignore_theme_config: true
11
+ exclude: [CNAME, Gemfile, Gemfile.lock, LICENSE, README.md]
12
+ date_format: "%Y-%m-%d"
13
+
14
+ plugins:
15
+ - jekyll-include-cache
16
+ # - jekyll-redirect-from
17
+
18
+ ## Jekyll build settings
19
+ kramdown:
20
+ show_warnings: true
@@ -0,0 +1,53 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ page.lang | default: site.lang | default: 'en' }}">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <link rel="icon" type="image/webp" href="{{ '/icon.webp' | relative_url }}">
7
+ <style>
8
+ html {
9
+ max-width: 43rem;
10
+ margin: 0 auto;
11
+ padding: 1em;
12
+ font: 1rem / 1.5 sans-serif;
13
+ }
14
+ body { margin: 0; }
15
+ img, table { margin: 0 auto; }
16
+ table { border-collapse: collapse; }
17
+ th, td { padding: 0.25em; border: 1px solid lightgrey; }
18
+ img { display: block; max-width: 100%; height: auto; }
19
+ figure { margin: 0; text-align: center; font-size: small; }
20
+ blockquote { margin: 1em 1.5em 1em 0.5em; padding-left: 1em; border-left: 1px solid lightgrey; }
21
+ code { font-size: 1.125em; }
22
+ sub, sup { line-height: 0; }
23
+ hr { border: 0; border-top: 1px solid; }
24
+ body > header > h1 { margin-bottom: 2rem; text-align: center; }
25
+ body > main > ul { padding: 0; }
26
+ body > main > ul > li { margin: 0.5em 0; list-style-type: none; line-height: 1.25em; }
27
+ body > main > ul > li time { font-size: small; }
28
+ body > header > a { display: block; margin-block-start: 0.67em; margin-block-end: 1em;text-align: center; font-size: 2rem; font-weight: bold; }
29
+ article > header { margin-bottom: 2rem; }
30
+ article > header > h1 { margin-bottom: 0; }
31
+ article h1 { margin-bottom: 1rem; font-size: 2rem; }
32
+ header > time { display: block; color: grey; }
33
+ @media (prefers-color-scheme: dark) {
34
+ html { background-color: black; color: white; }
35
+ a { color: lightskyblue; }
36
+ a:visited { color: plum; }
37
+ header > time { color: darkgrey; }
38
+ th, td { border-color: grey; }
39
+ }
40
+ .footnotes { margin: 0; font-size: small; }
41
+ .footnotes ol { padding-inline-start: 30px; }
42
+ </style>
43
+ <meta name="theme-color" content="#white">
44
+ <title>{%- if page.title -%}{{ page.title | smartify }} • {{ site.title | smartify }}{%- else -%}{{ site.title | smartify }} • {{ site.description | smartify }}{%- endif -%}</title>
45
+ <meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | smartify }}{% else %}{{ site.description | smartify }}{% endif %}">
46
+ <meta name="author" content="{{ site.author.name }}">
47
+ <link rel="canonical" href="{{ page.url | absolute_url }}">
48
+ <link type="application/atom+xml" rel="alternate" href="{{ '/feed.xml' | relative_url }}" title="{{ site.title | smartify }}">
49
+ </head>
50
+ <body>
51
+ {{ content }}
52
+ </body>
53
+ </html>
@@ -0,0 +1,45 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ page.lang | default: site.lang | default: 'en' }}">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <link rel="icon" type="image/webp" href="{{ '/icon.webp' | relative_url }}">
7
+ <style>
8
+ html {
9
+ max-width: 43rem;
10
+ margin: 0 auto;
11
+ padding: 1em;
12
+ font: 1rem / 1.5 sans-serif;
13
+ }
14
+ body { margin: 0; }
15
+ body > header > a { display: block; margin-block-start: 0.67em; margin-block-end: 1em;text-align: center; font-size: 2rem; font-weight: bold; }
16
+ article > header { margin-bottom: 2rem; }
17
+ article > header > h1 { margin-bottom: 0; }
18
+ article h1 { margin-bottom: 1rem; font-size: 2rem; }
19
+ @media (prefers-color-scheme: dark) {
20
+ html { background-color: black; color: white; }
21
+ a { color: lightskyblue; }
22
+ a:visited { color: plum; }
23
+ }
24
+ </style>
25
+ <meta name="theme-color" content="#white">
26
+ <title>{%- if page.title -%}{{ page.title | smartify }}{%- else -%}{{ site.title | smartify }}{%- endif -%}</title>
27
+ <meta name="description" content="Error page">
28
+ <meta name="robots" content="noindex,follow">
29
+ </head>
30
+ <body>
31
+ <header>
32
+ <a rel="author" href="{{ '/' | relative_url }}">{{ site.title }}</a>
33
+ </header>
34
+ <main aria-label="Content">
35
+ <article itemscope itemtype="https://schema.org/WebPage">
36
+ <header>
37
+ <h1 itemprop="headline">{{ page.title | smartify }}</h1>
38
+ </header>
39
+ <div itemprop="mainContentOfPage" itemscope itemtype="https://schema.org/WebPageElement">
40
+ {{ content }}
41
+ </div>
42
+ </article>
43
+ </main>
44
+ </body>
45
+ </html>
@@ -0,0 +1,24 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <header>
5
+ <h1><a rel="author" href="{{ '/' | relative_url }}">{{ site.title }}</a></h1>
6
+ </header>
7
+ <main aria-label="Content" itemscope itemtype="https://schema.org/Blog">
8
+ {{ content }}
9
+
10
+ {%- if site.posts.size > 0 -%}
11
+ {%- if page.list_title %}
12
+ <h2>{{ page.list_title | smartify }}</h2>
13
+ {%- endif -%}
14
+ {%- assign date_format = site.date_format | default: "%b %-d, %Y" %}
15
+ <ul>
16
+ {%- for post in site.posts %}
17
+ <li itemscope itemtype="https://schema.org/BlogPosting">
18
+ <time itemprop="datePublished" datetime="{{ post.date | date_to_xmlschema }}">{{ post.date | date: date_format }}</time>
19
+ <a href="{{ post.url | relative_url }}" itemprop="headline">{{ post.title | smartify }}</a>
20
+ </li>
21
+ {%- endfor %}
22
+ </ul>
23
+ {%- endif %}
24
+ </main>
@@ -0,0 +1,16 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <header>
5
+ <a rel="author" href="{{ '/' | relative_url }}">{{ site.title }}</a>
6
+ </header>
7
+ <main aria-label="Content">
8
+ <article itemscope itemtype="https://schema.org/WebPage">
9
+ <header>
10
+ <h1 itemprop="headline">{{ page.title | smartify }}</h1>
11
+ </header>
12
+ <div itemprop="mainContentOfPage" itemscope itemtype="https://schema.org/WebPageElement">
13
+ {{ content }}
14
+ </div>
15
+ </article>
16
+ </main>
@@ -0,0 +1,18 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <header>
5
+ <a rel="author" href="{{ '/' | relative_url }}">{{ site.title }}</a>
6
+ </header>
7
+ <main aria-label="Content">
8
+ <article itemscope itemtype="https://schema.org/BlogPosting">
9
+ <header>
10
+ <h1 itemprop="headline">{{ page.title | smartify }}</h1>
11
+ {%- assign date_format = site.date_format | default: "%b %-d, %Y" %}
12
+ <time itemprop="datePublished" datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: date_format }}</time>
13
+ </header>
14
+ <div itemprop="articleBody">
15
+ {{ content }}
16
+ </div>
17
+ </article>
18
+ </main>
metadata ADDED
@@ -0,0 +1,66 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jekyll-theme-nix
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Michael Nordmeyer
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-02-24 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
+ description:
28
+ email:
29
+ - michaelnordmeyer@users.noreply.github.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - LICENSE
35
+ - README.md
36
+ - _config.yml
37
+ - _layouts/default.html
38
+ - _layouts/error.html
39
+ - _layouts/home.html
40
+ - _layouts/page.html
41
+ - _layouts/post.html
42
+ homepage: https://github.com/michaelnordmeyer/jekyll-theme-nix
43
+ licenses:
44
+ - MIT
45
+ metadata: {}
46
+ post_install_message:
47
+ rdoc_options: []
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ requirements: []
61
+ rubygems_version: 3.4.7
62
+ signing_key:
63
+ specification_version: 4
64
+ summary: A very minimalistic, single-author Jekyll theme with almost default browser
65
+ styling, and a dark mode.
66
+ test_files: []