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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/{CHANGELOG.md → .github/CHANGELOG.md} +20 -1
- data/.github/CONTRIBUTING.MD +107 -0
- data/.github/ISSUE_TEMPLATE/bug_report.yml +47 -0
- data/.github/ISSUE_TEMPLATE/config.yml +1 -0
- data/.github/ISSUE_TEMPLATE/feature_request.yml +28 -0
- data/.github/SECURITY.md +16 -0
- data/.github/pull_request_template.md +31 -0
- data/Gemfile +2 -2
- data/Gemfile.lock +1 -1
- data/Rakefile +16 -16
- data/_config.yml +8 -0
- data/_layouts/category.html +19 -0
- data/_layouts/tag.html +19 -0
- data/_plugins/taxonomy_pages.rb +47 -0
- data/_posts/{2026-01-02-markdown-showcase.md → 2026-01-02-showcase-post.md} +4 -5
- data/_posts/2026-01-07-syntax-highlighting.md +479 -0
- data/_posts/2026-01-08-how-to-use-markdown.md +188 -0
- data/_posts/2026-01-08-how-to-use-nyx.md +36 -0
- data/_sass/nyx/_code.scss +4 -0
- data/_sass/nyx/_layout.scss +49 -1
- data/_tabs/about.md +4 -0
- data/_tabs/categories.md +7 -6
- data/_tabs/tags.md +7 -6
- data/jekyll-theme-nyx.gemspec +24 -26
- data.tar.gz.sig +0 -0
- metadata +18 -8
- metadata.gz.sig +0 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
- data/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- /data/{CODE_OF_CONDUCT.md → .github/CODE_OF_CONDUCT.md} +0 -0
- /data/.github/workflows/{main.yml → build-and-deploy.yml} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5ab7195379e8817b601219399c2271e9765892e7516433d6f994ed79fe38baa7
|
|
4
|
+
data.tar.gz: 825f6b09c84bbfa339a539191dc85ff886506fd69c50171379b0d3b8b29e9232
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
data/.github/SECURITY.md
ADDED
|
@@ -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
data/Gemfile.lock
CHANGED
data/Rakefile
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
4
|
-
require
|
|
3
|
+
require 'rake'
|
|
4
|
+
require 'fileutils'
|
|
5
5
|
|
|
6
|
-
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
|
|
16
|
+
desc 'Build dummy site to verify theme'
|
|
17
17
|
task :site do
|
|
18
|
-
sh
|
|
19
|
-
sh
|
|
20
|
-
puts
|
|
18
|
+
sh 'bundle install'
|
|
19
|
+
sh 'bundle exec jekyll build'
|
|
20
|
+
puts '[+] Dummy site builds successfully'
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
-
desc
|
|
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
|
|
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
|
|
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
|
|
40
|
+
desc 'Full release: site build, gem build, push, tag'
|
|
41
41
|
task release: [:site] do
|
|
42
|
-
sh
|
|
43
|
-
sh
|
|
44
|
-
sh
|
|
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
|
@@ -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:
|
|
3
|
-
layout: post
|
|
2
|
+
title: Post Showcase
|
|
4
3
|
author: Slavetomints
|
|
5
4
|
date: 2026-01-02
|
|
6
|
-
categories: [
|
|
7
|
-
tags: [
|
|
8
|
-
description: Showcase of the how
|
|
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
|