jekyll-theme-nyx 0.3.0 → 0.3.2

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: 851650d5efa1cc97127f5d3f1eddde62a88de390cfac804f024e5855b9f08d58
4
- data.tar.gz: 6ce01d2cb509235544755e475e284a454391166a6a066051f5d5ce46b1858f24
3
+ metadata.gz: 5ab7195379e8817b601219399c2271e9765892e7516433d6f994ed79fe38baa7
4
+ data.tar.gz: 825f6b09c84bbfa339a539191dc85ff886506fd69c50171379b0d3b8b29e9232
5
5
  SHA512:
6
- metadata.gz: a5c5ca3334b4a0d834519e3c86101c20cb9f9c5bc39a40494fe6d73abf2937b394b79f5f54c6562e9f8897d573a61b5fd8eb91f03e3a2b7fa544ab2b0d3acd67
7
- data.tar.gz: e8911df1667a852f94ba55a1116f2d3ea3c56faf3f92692fb27b4c90e7f0ce7ac56535eda907df7e28730d8cc89e68054c23a747ee0acf566fbbdf2c7efbab4b
6
+ metadata.gz: '097db29ccfb45115207657e35685e18120341b4038307971b1fff4e194b582e6c5875528cc27973f9d2a0d5e447ed31cc26dd4dca7093a0363d000ce6191c0ba'
7
+ data.tar.gz: 6bf00bb8246da8a62ee601611a2f61725be58e03ff8fe1375a6e921b1ae3ae18718e6061c7335d2d0df397eb7f7aa7ee54f36e9a9fa59224b80c2e62612992b5
checksums.yaml.gz.sig CHANGED
Binary file
@@ -49,4 +49,23 @@
49
49
  - /posts/
50
50
  - /tags/
51
51
  - /categories/
52
- - /about/
52
+ - /about/
53
+
54
+ #### [0.3.1] - 2026-01-06
55
+ - Added Pull Request Templates
56
+ - Moved the Issue templates to `yml`
57
+ - Create plugin to generate subpages for tags and categories
58
+ - added styling for tag and category tabs
59
+ - Added Contribution guide
60
+ - Added Security policy
61
+
62
+ #### [0.3.2] - 2026-01-09
63
+
64
+ **BUGS**
65
+ - Fixed [Issue with selecting post in the posts tab](https://github.com/Slavetomints/jekyll-theme-nyx/issues/13)
66
+
67
+ **ENHANCEMENTS**
68
+ - Implemented [Add more demo posts](https://github.com/Slavetomints/jekyll-theme-nyx/issues/14)
69
+
70
+ **MISC**
71
+ - Cleaned up repo root by moving files to `.github`
@@ -0,0 +1,107 @@
1
+ # Contributing to Nyx
2
+
3
+ First of all, thanks for contributing!
4
+
5
+ ## How to Contribute (High Level)
6
+
7
+ 1. **Identify a problem or improvement**
8
+ 2. **Open or claim an issue**
9
+ 3. **Fork the repo**
10
+ 4. **Create a branch**
11
+ 5. **Make your changes**
12
+ 6. **Open a pull request**
13
+
14
+ If you do not open or claim an issue, your pull request will likely be rejected.
15
+
16
+ ---
17
+
18
+ ## Issues Come First
19
+
20
+ Before you open a PR, **there should be an issue**.
21
+
22
+ This applies if you are:
23
+ - Fixing a bug
24
+ - Adding a feature
25
+ - Refactoring existing behavior
26
+ - Changing styling, layout, or structure in a non-trivial way
27
+
28
+ ### Why?
29
+ - It prevents duplicate work
30
+ - It lets us agree on direction before code is written
31
+ - It gives context to your PR
32
+ - It creates a paper trail for future contributors
33
+
34
+ ### What to do:
35
+ - If an issue already exists comment on it and say you’re working on it
36
+ - If no issue exists open one
37
+ - If you’re unsure open an issue anyway and ask
38
+
39
+ > Small things like typo fixes can skip the issue step. Use your judgment.
40
+
41
+ ---
42
+
43
+ ## Fork & Branch
44
+
45
+ 1. Fork the repository
46
+ 2. Clone your fork locally
47
+ 3. Create a branch from `main`
48
+
49
+ ```bash
50
+ git checkout -b fix/my-short-description
51
+ ```
52
+
53
+ Please use clear branch names.
54
+
55
+ ## Making Changes
56
+
57
+ A few expectations:
58
+
59
+ - Follow the existing code style
60
+ - Don’t reformat unrelated files
61
+ - Keep commits focused and meaningful
62
+ - If you change behavior, explain why in the commit or PR
63
+
64
+ If your change affects:
65
+ - layout
66
+ - tags/categories
67
+ - syntax highlighting
68
+ - build behavior
69
+
70
+ …please call that out clearly in your PR description.
71
+ ## Testing
72
+
73
+ Before opening a PR:
74
+
75
+ - Run the site locally with `bundle exec jekyll serve`
76
+ - Click around
77
+ - Check mobile widths
78
+ - Verify tags, categories, and posts still render correctly
79
+
80
+ ## Opening a Pull Request
81
+
82
+ When opening your PR:
83
+
84
+ - Reference the issue it fixes (e.g. Fixes #12)
85
+ - Explain what you changed
86
+ - Explain why you changed it
87
+ - Include screenshots if it’s visual
88
+ - Keep it scoped — one PR, one purpose
89
+
90
+ Please fill out the PR template when opening a pull request. That helps us with understanding what your PR is trying to do. PRs without context or without an associated issue may be closed or sent back for clarification.
91
+
92
+ # Philosophy
93
+
94
+ Nyx aims to be:
95
+
96
+ - Minimal
97
+ - Understandable
98
+ - Hackable without too many plugins
99
+ - Predictable in structure
100
+
101
+ If your contribution makes things more magical but harder to reason about, it probably doesn’t fit. If you’re unsure, open an issue and ask.
102
+
103
+ ---
104
+
105
+ Thanks again for contributing 💜
106
+
107
+ ---
@@ -0,0 +1,47 @@
1
+ name: Bug Report
2
+ description: Create a report to help us improve
3
+ labels:
4
+ - bug
5
+ body:
6
+ - type: textarea
7
+ attributes:
8
+ label: Describe the bug
9
+ description: A clear and concise description of what the bug is.
10
+ validations:
11
+ required: true
12
+
13
+ - type: textarea
14
+ attributes:
15
+ label: Steps To Reproduce
16
+ description: Steps to reproduce the behavior.
17
+ placeholder: |
18
+ 1. In this environment...
19
+ 2. With this config...
20
+ 3. Run '...'
21
+ 4. See error...
22
+ validations:
23
+ required: true
24
+
25
+ - type: textarea
26
+ attributes:
27
+ label: Expected Behavior
28
+ description: A concise description of what you expected to happen.
29
+ validations:
30
+ required: true
31
+
32
+ - type: textarea
33
+ attributes:
34
+ label: Environment
35
+ value: |
36
+ - Ruby: <!-- run `ruby -v` -->
37
+ - Jekyll: <!-- run `bundle exec jekyll -v` -->
38
+ - Nyx: <!-- run `bundle info jekyll-theme-nyx` -->
39
+ validations:
40
+ required: true
41
+
42
+ - type: textarea
43
+ attributes:
44
+ label: Anything else?
45
+ description: |
46
+ Add any extra context here.
47
+ Logs, screenshots, or weird edge cases welcome.
@@ -0,0 +1 @@
1
+ blank_issues_enabled: false
@@ -0,0 +1,28 @@
1
+ name: Feature Request
2
+ description: Suggest an idea for this project
3
+ labels:
4
+ - enhancement
5
+ body:
6
+ - type: textarea
7
+ attributes:
8
+ label: Is your feature request related to a problem? Please describe
9
+ description: A clear and concise description of what the problem is.
10
+ validations:
11
+ required: true
12
+
13
+ - type: textarea
14
+ attributes:
15
+ label: Describe the solution you'd like
16
+ description: A clear and concise description of what you want to happen.
17
+ validations:
18
+ required: true
19
+
20
+ - type: textarea
21
+ attributes:
22
+ label: Describe alternatives you've considered
23
+ description: A clear and concise description of any alternative solutions or features you've considered.
24
+
25
+ - type: textarea
26
+ attributes:
27
+ label: Additional context
28
+ description: Add any other context or screenshots about the feature request here.
@@ -0,0 +1,16 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ <!--| Version | Supported |
6
+ | ------- | ------------------ |
7
+ | 5.1.x | :white_check_mark: |
8
+ | 5.0.x | :x: |
9
+ | 4.0.x | :white_check_mark: |
10
+ | < 4.0 | :x: |-->
11
+
12
+ The most recent major release is supported.
13
+
14
+ ## Reporting a Vulnerability
15
+
16
+ If you find a vulnerability, please email me at me@slavetomints.com. You can expect to receive a response within a week. If your vulnerability is accepted you will be credited on the demo site after it has been patched.
@@ -0,0 +1,31 @@
1
+ ## jekyll-theme-nyx Pull Request
2
+
3
+ Thanks for contributing. Fill this out so future-you doesn't hate past-you.
4
+
5
+ ## What does this PR do?
6
+ <!-- Short, clear explanation of the change. -->
7
+
8
+
9
+ ## Link to the relevant issue
10
+ <!-- All changes must be discussed in an issue first. Failure to do so may result in your Pull Request being rejected -->
11
+ fixes #<!--issue ID here-->
12
+
13
+ ## List the main changes.
14
+ <!-- For example: "Added new tab layout", "Fixed Rouge highlighting", "Cleaned up SCSS variables" -->
15
+
16
+
17
+ ## Type of Change
18
+ - [ ] Bug fix
19
+ - [ ] New feature
20
+ - [ ] Breaking change
21
+ - [ ] Refactor / Cleanup
22
+ - [ ] Docs only
23
+
24
+ ## Checklist
25
+
26
+ - [ ] Code builds without errors (`rake site`)
27
+ - [ ] Tested locally with Jekyll
28
+ - [ ] No unnecessary files committed
29
+
30
+ ## Additional Notes
31
+ <!-- Anything reviewers should know? Edge cases, follow-ups, known issues. -->
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source "https://rubygems.org"
3
+ source 'https://rubygems.org'
4
4
 
5
5
  # Specify your gem's dependencies in jekyll-theme-nyx.gemspec
6
- gemspec
6
+ gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jekyll-theme-nyx (0.3.0)
4
+ jekyll-theme-nyx (0.3.2)
5
5
  jekyll (~> 4.0)
6
6
 
7
7
  GEM
data/Rakefile CHANGED
@@ -1,46 +1,46 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "rake"
4
- require "fileutils"
3
+ require 'rake'
4
+ require 'fileutils'
5
5
 
6
- GEMSPEC = "jekyll-theme-nyx.gemspec"
6
+ GEMSPEC = 'jekyll-theme-nyx.gemspec'
7
7
 
8
8
  # Helper to get current version from gemspec
9
9
  def current_version
10
10
  File.read(GEMSPEC)[/spec\.version\s*=\s*["'](.*?)["']/, 1]
11
11
  end
12
12
 
13
- GEM_NAME = GEMSPEC.sub(/\.gemspec$/, "")
14
- GEM_FILE = "#{GEM_NAME}-#{current_version}.gem"
13
+ GEM_NAME = GEMSPEC.sub(/\.gemspec$/, '')
14
+ GEM_FILE = "#{GEM_NAME}-#{current_version}.gem".freeze
15
15
 
16
- desc "Build dummy site to verify theme"
16
+ desc 'Build dummy site to verify theme'
17
17
  task :site do
18
- sh "bundle install"
19
- sh "bundle exec jekyll build"
20
- puts "[+] Dummy site builds successfully"
18
+ sh 'bundle install'
19
+ sh 'bundle exec jekyll build'
20
+ puts '[+] Dummy site builds successfully'
21
21
  end
22
22
 
23
- desc "Build the gem"
23
+ desc 'Build the gem'
24
24
  task :build do
25
25
  sh "gem build #{GEMSPEC}"
26
26
  puts "[+] Built #{GEM_FILE}"
27
27
  end
28
28
 
29
- desc "Push gem to RubyGems"
29
+ desc 'Push gem to RubyGems'
30
30
  task :push do
31
31
  sh "gem push #{GEM_FILE}"
32
32
  end
33
33
 
34
- desc "Create and push git tag"
34
+ desc 'Create and push git tag'
35
35
  task :tag do
36
36
  sh "git tag v#{current_version}"
37
37
  sh "git push origin v#{current_version}"
38
38
  end
39
39
 
40
- desc "Full release: site build, gem build, push, tag"
40
+ desc 'Full release: site build, gem build, push, tag'
41
41
  task release: [:site] do
42
- sh "rake build"
43
- sh "rake push"
44
- sh "rake tag"
42
+ sh 'rake build'
43
+ sh 'rake push'
44
+ sh 'rake tag'
45
45
  puts "[+] Released #{GEM_NAME} v#{current_version}"
46
46
  end
data/_config.yml CHANGED
@@ -24,3 +24,11 @@ collections:
24
24
  output: true
25
25
  permalink: /:name/
26
26
  sort_by: order
27
+
28
+ defaults:
29
+ - scope:
30
+ path: ""
31
+ type: posts
32
+ values:
33
+ layout: post
34
+ permalink: /posts/:title/
@@ -0,0 +1,19 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <h1>Category: {{ page.category }}</h1>
6
+
7
+ <ul class="post-list">
8
+ {% for post in page.posts %}
9
+ <li class="post-item">
10
+ <h2>
11
+ <a href="{{ post.url | relative_url }}">{{ post.title }}</a>
12
+ </h2>
13
+ <time>{{ post.date | date: "%B %d, %Y" }}</time>
14
+ {% if post.description %}
15
+ <p>{{ post.description | strip_html }}</p>
16
+ {% endif %}
17
+ </li>
18
+ {% endfor %}
19
+ </ul>
data/_layouts/tag.html ADDED
@@ -0,0 +1,19 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <h1>Tag: {{ page.tag }}</h1>
6
+
7
+ <ul class="post-list">
8
+ {% for post in page.posts %}
9
+ <li class="post-item">
10
+ <h2>
11
+ <a href="{{ post.url | relative_url }}">{{ post.title }}</a>
12
+ </h2>
13
+ <time>{{ post.date | date: "%B %d, %Y" }}</time>
14
+ {% if post.description %}
15
+ <p>{{ post.description | strip_html }}</p>
16
+ {% endif %}
17
+ </li>
18
+ {% endfor %}
19
+ </ul>
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Jekyll
4
+ class TaxonomyPages < Generator
5
+ safe true
6
+
7
+ def generate(site)
8
+ site.tags.each do |tag, posts|
9
+ site.pages << TaxonomyPage.new(
10
+ site,
11
+ site.source,
12
+ File.join('tags', tag.downcase.gsub(' ', '-')),
13
+ 'tag.html',
14
+ tag,
15
+ posts
16
+ )
17
+ end
18
+
19
+ site.categories.each do |category, posts|
20
+ site.pages << TaxonomyPage.new(
21
+ site,
22
+ site.source,
23
+ File.join('categories', category.downcase.gsub(' ', '-')),
24
+ 'category.html',
25
+ category,
26
+ posts
27
+ )
28
+ end
29
+ end
30
+ end
31
+
32
+ class TaxonomyPage < Page
33
+ def initialize(site, base, dir, layout, name, posts)
34
+ @site = site
35
+ @base = base
36
+ @dir = dir
37
+ @name = 'index.html'
38
+
39
+ process(@name)
40
+ read_yaml(File.join(base, '_layouts'), layout)
41
+
42
+ data['posts'] = posts
43
+ data[layout.sub('.html', '')] = name
44
+ data['title'] = name
45
+ end
46
+ end
47
+ end
@@ -1,11 +1,10 @@
1
1
  ---
2
- title: Markdown Showcase
3
- layout: post
2
+ title: Post Showcase
4
3
  author: Slavetomints
5
4
  date: 2026-01-02
6
- categories: [Blog]
7
- tags: [blog, help]
8
- description: Showcase of the how markdown looks on this site
5
+ categories: [Demos]
6
+ tags: [demo, markdown]
7
+ description: Showcase of the how posts look on this site
9
8
  ---
10
9
 
11
10
  ## Headers