jekyll-theme-nyx 0.2.3 → 0.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3fd2a4bae7307d93a46dbb19bffc3887b4bc4e976ce6b6a172bb9d362caeb907
4
- data.tar.gz: 6ce8ba0a16ba6fd04e9fed93481c48583b9b3436294f78813a08a4d8f307ff4b
3
+ metadata.gz: 851650d5efa1cc97127f5d3f1eddde62a88de390cfac804f024e5855b9f08d58
4
+ data.tar.gz: 6ce01d2cb509235544755e475e284a454391166a6a066051f5d5ce46b1858f24
5
5
  SHA512:
6
- metadata.gz: ce178c4e9fc5bf0c58502f5da26565f87775786fac39f1ba6183728b074171dff441104f9eb86ae986e91a58a23b5fcd889087396d4303d0f3ee6cded6e115b0
7
- data.tar.gz: b45496031b331995a53765d17b6421653471f4d0489e3ad1ab752eae36bdeb8443db9028faa9ef12f7ec7bb8f33112edc6864776b80b36e5a3eeaf335fde7a5d
6
+ metadata.gz: a5c5ca3334b4a0d834519e3c86101c20cb9f9c5bc39a40494fe6d73abf2937b394b79f5f54c6562e9f8897d573a61b5fd8eb91f03e3a2b7fa544ab2b0d3acd67
7
+ data.tar.gz: e8911df1667a852f94ba55a1116f2d3ea3c56faf3f92692fb27b4c90e7f0ce7ac56535eda907df7e28730d8cc89e68054c23a747ee0acf566fbbdf2c7efbab4b
checksums.yaml.gz.sig CHANGED
Binary file
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Describe the bug**
11
+ A clear and concise description of what the bug is.
12
+
13
+ **To Reproduce**
14
+ Steps to reproduce the behavior:
15
+ 1. Go to '...'
16
+ 2. Click on '....'
17
+ 3. Scroll down to '....'
18
+ 4. See error
19
+
20
+ **Expected behavior**
21
+ A clear and concise description of what you expected to happen.
22
+
23
+ **Screenshots**
24
+ If applicable, add screenshots to help explain your problem.
25
+
26
+ **Desktop (please complete the following information):**
27
+ - OS: [e.g. iOS]
28
+ - Browser [e.g. chrome, safari]
29
+ - Version [e.g. 22]
30
+
31
+ **Smartphone (please complete the following information):**
32
+ - Device: [e.g. iPhone6]
33
+ - OS: [e.g. iOS8.1]
34
+ - Browser [e.g. stock browser, safari]
35
+ - Version [e.g. 22]
36
+
37
+ **Additional context**
38
+ Add any other context about the problem here.
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Is your feature request related to a problem? Please describe.**
11
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
+
13
+ **Describe the solution you'd like**
14
+ A clear and concise description of what you want to happen.
15
+
16
+ **Describe alternatives you've considered**
17
+ A clear and concise description of any alternative solutions or features you've considered.
18
+
19
+ **Additional context**
20
+ Add any other context or screenshots about the feature request here.
data/CHANGELOG.md CHANGED
@@ -1,14 +1,16 @@
1
- ## [0.1.0] - 2026-01-01
1
+ # CHANGELOG
2
+
3
+ ### [0.1.0] - 2026-01-01
2
4
 
3
5
  - Initial release
4
6
 
5
- ## [0.1.1] - 2026-01-02
7
+ #### [0.1.1] - 2026-01-02
6
8
 
7
9
  - Added Rakefile for consistent functionality with pushing finished work
8
10
 
9
11
  - Added GitHub Action to deploy site to GitHub Pages
10
12
 
11
- ## [0.2.0] - 2026-01-03
13
+ ### [0.2.0] - 2026-01-03
12
14
 
13
15
  - Added Layouts:
14
16
  - Default
@@ -18,6 +20,33 @@
18
20
  - Layouts
19
21
  - Syntax Highlighting
20
22
 
21
- ## [0.2.1] - 2026-01-04
23
+ #### [0.2.1] - 2026-01-04
24
+
25
+ - Fixed Syntax Highlighting
26
+
27
+ #### [0.2.2] - 2026-01-05
28
+
29
+ - Updated the following to be more aligned with the goals of this project:
30
+ - README
31
+ - Gemfile
32
+ - Gemfile.lock
33
+ - Gemspec
34
+ - Rakefile
35
+ - _config.yml
36
+
37
+ - Added cert signing for verification and security
38
+
39
+ #### [0.2.3] - 2026-01-05
40
+
41
+ - Update header style
42
+ - Fixed bug causing line breaks to appear as dots
43
+ - Added lorem ipsum to the demo post
44
+
45
+ ### [0.3.0] - 2026-01-06
22
46
 
23
- - Fixed Syntax Highlighting
47
+ - Added issue templates
48
+ - Added the following pages:
49
+ - /posts/
50
+ - /tags/
51
+ - /categories/
52
+ - /about/
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jekyll-theme-nyx (0.2.3)
4
+ jekyll-theme-nyx (0.3.0)
5
5
  jekyll (~> 4.0)
6
6
 
7
7
  GEM
data/_config.yml CHANGED
@@ -2,8 +2,6 @@ title: Nyx Demo
2
2
  theme: jekyll-theme-nyx
3
3
 
4
4
  markdown: kramdown
5
-
6
-
7
5
  kramdown:
8
6
  syntax_highlighter: rouge
9
7
  syntax_highlighter_opts:
@@ -11,7 +9,6 @@ kramdown:
11
9
  block:
12
10
  line_numbers: true
13
11
 
14
-
15
12
  exclude:
16
13
  - "*.gem"
17
14
  - "*.gemspec"
@@ -20,4 +17,10 @@ exclude:
20
17
  - Rakefile
21
18
  - CHANGELOG.md
22
19
  - CODE_OF_CONDUCT.md
23
- - "certs/slavetomints.pem"
20
+ - "certs/slavetomints.pem"
21
+
22
+ collections:
23
+ tabs:
24
+ output: true
25
+ permalink: /:name/
26
+ sort_by: order
@@ -0,0 +1,11 @@
1
+ <header>
2
+ {% assign tabs = site.tabs | sort: "nav_order" %}
3
+ <ul>
4
+ <li><a href="/">Home</a></li>
5
+ {% for tab in tabs %}
6
+ <li><a href="{{ tab.url | relative_url }}" class="{% if page.url == tab.url %}active{% endif %}">
7
+ {{ tab.title }}
8
+ </a></li>
9
+ {% endfor %}
10
+ </ul>
11
+ </header>
@@ -1,13 +1,30 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
+
3
4
  <head>
4
5
  <meta charset="UTF-8">
5
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
7
  <link rel="stylesheet" href="{{ "/assets/css/nyx.css" | relative_url }}">
7
8
  <title>{{ site.title }}</title>
8
9
  </head>
10
+
9
11
  <body>
10
- {% include sidebar.html %}
11
- {{ content }}
12
+ {% include header.html %}
13
+ <main>
14
+ {{ content }}
15
+ </main>
12
16
  </body>
17
+
18
+ <script>
19
+ document.addEventListener("DOMContentLoaded", () => {
20
+ document.querySelectorAll('div.highlighter-rouge').forEach(wrapper => {
21
+ const parent = wrapper.parentNode;
22
+ const inner = wrapper.querySelector('.highlight');
23
+ if (inner && parent) {
24
+ parent.replaceChild(inner, wrapper);
25
+ }
26
+ });
27
+ });
28
+ </script>
29
+
13
30
  </html>
data/_layouts/post.md CHANGED
@@ -5,18 +5,5 @@ layout: default
5
5
  <h1>{{ page.title }}</h1>
6
6
  <p>{{ page.date | date: "%B %d, %Y" }} – Written by {{ page.author }}</p>
7
7
  </header>
8
- <main>
9
- {{ content }}
10
- </main>
8
+ {{ content }}
11
9
 
12
- <script>
13
- document.addEventListener("DOMContentLoaded", () => {
14
- document.querySelectorAll('div.highlighter-rouge').forEach(wrapper => {
15
- const parent = wrapper.parentNode;
16
- const inner = wrapper.querySelector('.highlight');
17
- if (inner && parent) {
18
- parent.replaceChild(inner, wrapper);
19
- }
20
- });
21
- });
22
- </script>
data/_sass/nyx/_base.scss CHANGED
@@ -27,6 +27,22 @@ a:hover {
27
27
  text-decoration: underline;
28
28
  }
29
29
 
30
+ header a {
31
+ color: $muted;
32
+ }
33
+
34
+ header a:hover {
35
+ text-decoration: none;
36
+ color: $fg
37
+ }
38
+
39
+ header ul{
40
+ display: flex;
41
+ flex-direction: row;
42
+ justify-content: space-around;
43
+ list-style-type: none;
44
+ }
45
+
30
46
  img {
31
47
  max-width: 100%;
32
48
  height: auto;
@@ -35,6 +51,6 @@ img {
35
51
 
36
52
  hr {
37
53
  border: none;
38
- border-top: 2px solid #f8f8f2;
54
+ border-top: 2px solid $fg;
39
55
  margin: 1.5rem 0;
40
56
  }
@@ -1,12 +1,5 @@
1
1
  @use "variables" as *;
2
2
 
3
- #sidebar-list {
4
- display: flex;
5
- flex-direction: row;
6
- justify-content: space-around;
7
- list-style-type: none;
8
- }
9
-
10
3
  header,
11
4
  footer {
12
5
  padding: $space-2 $space-3;
@@ -15,6 +8,71 @@ footer {
15
8
  main {
16
9
  display: flex;
17
10
  flex-direction: column;
18
- padding: $space-4;
11
+ padding: $space-4 25vw;
19
12
  min-width: 0;
13
+
14
+ @media (max-width: 600px) {
15
+ padding: $space-4;
16
+ }
17
+ }
18
+
19
+ /* STYLING FOR /POSTS/ */
20
+
21
+ .post-list {
22
+ list-style: none;
23
+ padding: 0;
24
+ margin: 2rem 0;
25
+
26
+ display: grid;
27
+ grid-template-columns: 1fr;
28
+ gap: 1.5rem;
29
+ }
30
+
31
+ .post-item {
32
+ background: $card-bg;
33
+ border: 1px solid rgba(255, 255, 255, 0.06);
34
+ border-radius: 0.75rem;
35
+ padding: 1.5rem;
36
+
37
+ transition: transform 0.15s ease, box-shadow 0.15s ease;
38
+ }
39
+
40
+ .post-item:hover {
41
+ transform: translateY(-2px);
42
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
43
+ text-decoration: none;
44
+ position: relative;
45
+ }
46
+
47
+ .post-item h2 {
48
+ margin: 0 0 0.25rem 0;
49
+ font-size: 1.4rem;
50
+ }
51
+
52
+ .post-item h2 a {
53
+ text-decoration: none;
54
+ color: inherit;
55
+ }
56
+
57
+ .post-item h2 a:hover {
58
+ text-decoration: underline;
59
+ }
60
+
61
+ .post-item h2 a::after {
62
+ content: "";
63
+ position: absolute;
64
+ inset: 0;
20
65
  }
66
+
67
+ .post-item time {
68
+ display: block;
69
+ font-size: 0.85rem;
70
+ color: $muted;
71
+ margin-bottom: 0.75rem;
72
+ }
73
+
74
+ .post-item p {
75
+ margin: 0;
76
+ color: $fg;
77
+ line-height: 1.6;
78
+ }
@@ -19,3 +19,8 @@ $space-5: 4rem;
19
19
  /* Layout */
20
20
  $max-width: 72ch;
21
21
  $radius: 6px;
22
+
23
+ /* Cards */
24
+ $card-bg: #0f111a;
25
+ $card-border: rgba(255, 255, 255, 0.06);
26
+ $card-shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.35);
data/_tabs/about.md ADDED
@@ -0,0 +1,8 @@
1
+ ---
2
+ layout: default
3
+ permalink: /about/
4
+ order: 4
5
+ ---
6
+
7
+ <h1>About</h1>
8
+
@@ -0,0 +1,18 @@
1
+ ---
2
+ layout: default
3
+ permalink: /categories/
4
+ order: 2
5
+ ---
6
+
7
+ <h1>Categories</h1>
8
+
9
+ <div class="categories-list">
10
+ {% for category in site.categories %}
11
+ {% assign category_name = category[0] %}
12
+ <li>
13
+ <a href="{{ '/categories/' | append: category_name | slugify | append: '/' | relative_url }}">
14
+ {{ category_name }} ({{ category[1].size }})
15
+ </a>
16
+ </li>
17
+ {% endfor %}
18
+ </div>
data/_tabs/posts.md ADDED
@@ -0,0 +1,24 @@
1
+ ---
2
+ layout: default
3
+ permalink: /posts/
4
+ order: 1
5
+ ---
6
+
7
+ # Posts
8
+
9
+ <ul class="post-list">
10
+ {% for post in site.posts %}
11
+ <li class="post-item">
12
+ <h2>
13
+ <a href="{{ post.url | relative_url }}">{{ post.title }}</a>
14
+ </h2>
15
+ <time datetime="{{ post.date | date_to_xmlschema }}">
16
+ {{ post.author }} - {{ post.date | date: "%B %d, %Y" }}
17
+ </time>
18
+ {% if post.description %}
19
+ <p>{{ post.description | strip_html }}</p>
20
+ {% endif %}
21
+ </li>
22
+ {% endfor %}
23
+ </ul>
24
+
data/_tabs/tags.md ADDED
@@ -0,0 +1,18 @@
1
+ ---
2
+ layout: default
3
+ permalink: /tags/
4
+ order: 3
5
+ ---
6
+
7
+ <h1>Tags</h1>
8
+
9
+ <div class="tags-list">
10
+ {% for tag in site.tags %}
11
+ {% assign tag_name = tag[0] %}
12
+ <li>
13
+ <a href="{{ '/tags/' | append: tag_name | slugify | append: '/' | relative_url }}">
14
+ {{ tag_name }} ({{ tag[1].size }})
15
+ </a>
16
+ </li>
17
+ {% endfor %}
18
+ </div>
data/index.md CHANGED
@@ -3,8 +3,110 @@ layout: default
3
3
  title: Home
4
4
  ---
5
5
 
6
- # Hello Nyx!
6
+ # jekyll-theme-nyx
7
7
 
8
- This is a live demo of Nyx, a simple Jekyll theme.
8
+ Nyx is a dark mode based Jekyll theme focused on readability, clean typography, and simple blogging. It is designed to work out-of-the-box as a RubyGem-based theme while still being easy to customize via SCSS.
9
9
 
10
- [link to demo post](/blog/2026/01/02/markdown-showcase.html)
10
+ ---
11
+
12
+ ## Installation
13
+
14
+ Add this line to your Jekyll site’s `Gemfile`:
15
+
16
+ ```ruby
17
+ gem "jekyll-theme-nyx"
18
+ ```
19
+
20
+ Then install the gem:
21
+
22
+ ```sh
23
+ bundle install
24
+ ```
25
+
26
+ Next, enable the theme in your _config.yml:
27
+
28
+ ```yml
29
+ theme: jekyll-theme-nyx
30
+ ```
31
+
32
+ Build or serve your site to verify everything works:
33
+
34
+ ```sh
35
+ bundle exec jekyll serve
36
+ ```
37
+
38
+ ## Usage
39
+
40
+ This theme follows standard Jekyll conventions.
41
+
42
+ ### Layouts
43
+
44
+ Nyx provides the following layouts:
45
+
46
+ - `default` – base layout
47
+ - `post` – blog post layout
48
+
49
+ You can select a layout per page or post:
50
+
51
+ ```yml
52
+ layout: post
53
+ ```
54
+
55
+ ### Styling
56
+
57
+ All styles are written in SCSS and live under:
58
+
59
+ ```
60
+ _sass/nyx/
61
+ ```
62
+
63
+ The main entrypoint is:
64
+
65
+ ```
66
+ assets/css/nyx.scss
67
+ ```
68
+
69
+ If you want to override styles, you can:
70
+
71
+ - copy partials from `_sass/nyx/` into your own project
72
+ - or add custom styles after importing `nyx.scss`
73
+
74
+ ### Includes
75
+
76
+ Reusable components live in `_includes/`, such as:
77
+
78
+ - `sidebar.html`
79
+
80
+ These can be overridden by copying them into your site’s `_includes/` directory.
81
+
82
+ ## Development
83
+
84
+ To work on the theme locally:
85
+
86
+ ```sh
87
+ bundle install
88
+ bundle exec jekyll serve
89
+ ```
90
+
91
+ This repository includes a dummy Jekyll site for testing theme changes.
92
+
93
+ Useful tasks:
94
+
95
+ ```sh
96
+ rake site # build the dummy site
97
+ rake build # build the gem
98
+ ```
99
+
100
+ Built gems are placed in the pkg/ directory.
101
+
102
+ ## Contributing
103
+
104
+ Bug reports and pull requests are welcome on GitHub at https://github.com/Slavetomints/jekyll-theme-nyx. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/Slavetomints/jekyll-theme-nyx/blob/main/CODE_OF_CONDUCT.md).
105
+
106
+ ## License
107
+
108
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
109
+
110
+ ## Code of Conduct
111
+
112
+ Everyone interacting in the jekyll-theme-nyx project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/Slavetomints/jekyll-theme-nyx/blob/main/CODE_OF_CONDUCT.md).
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "jekyll-theme-nyx"
5
- spec.version = "0.2.3"
5
+ spec.version = "0.3.0"
6
6
  spec.authors = ["Slavetomints"]
7
7
  spec.email = ["me@slavetomints.com"]
8
8
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-nyx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Slavetomints
@@ -60,6 +60,8 @@ executables: []
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
64
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
63
65
  - ".github/workflows/main.yml"
64
66
  - ".gitignore"
65
67
  - CHANGELOG.md
@@ -70,7 +72,7 @@ files:
70
72
  - README.md
71
73
  - Rakefile
72
74
  - _config.yml
73
- - _includes/sidebar.html
75
+ - _includes/header.html
74
76
  - _layouts/default.html
75
77
  - _layouts/post.md
76
78
  - _posts/2026-01-02-markdown-showcase.md
@@ -80,6 +82,10 @@ files:
80
82
  - _sass/nyx/_rouge.scss
81
83
  - _sass/nyx/_typography.scss
82
84
  - _sass/nyx/_variables.scss
85
+ - _tabs/about.md
86
+ - _tabs/categories.md
87
+ - _tabs/posts.md
88
+ - _tabs/tags.md
83
89
  - assets/css/nyx.scss
84
90
  - assets/img/black-logo.svg
85
91
  - assets/img/white-logo.svg
metadata.gz.sig CHANGED
Binary file
@@ -1,9 +0,0 @@
1
- <aside id="sidebar">
2
- <ul id="sidebar-list">
3
- <li><a href="/">Home</a></li>
4
- <li><a href="/blog">Posts</a></li>
5
- <li>Tags</li>
6
- <li>Categories</li>
7
- <li>About</li>
8
- </ul>
9
- </aside>