jekyll-documents 0.3.3 → 0.4.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 +4 -4
- data/CHANGELOG.md +22 -0
- data/README.md +7 -2
- data/jekyll-documents.gemspec +0 -1
- data/lib/jekyll/documents/generator.rb +31 -18
- data/lib/jekyll/documents/version.rb +1 -1
- metadata +3 -20
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 76640be0741d32137905f8281bc4e83e4e895971a9ad39e7f360bccf06ba5eef
|
|
4
|
+
data.tar.gz: 93ac35f0606b84b474ef6aff260e21c7dab78ce5e4a8f7f80b4b97493755ae8d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: db8fa1ad5fd90e910238d8b3b41427d8eeb8451ba70ca095cd610e26b56db88ae564e32856b6890c8c1e8af7b4a294fa8a9a9e7219fdd157bc7b0d80aa0c4181
|
|
7
|
+
data.tar.gz: a19a1da88694fd8282f3040a3bdad01ca5627667a116a984d16d916a875a346bb156bb371374b6b0ae241b6cbe2a97c8ecfc8cb40a1728960243ce1359e60e97
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.4.0] - 2026-08-26
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- `categories` array baked into each document's data (in addition to the existing singular `category`) for compatibility with search plugins like `jekyll-client-search` that expect the plural Jekyll convention
|
|
9
|
+
- Searchable content string (title, category, file type, date) set as document content so client-side search engines can index uploaded documents
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- Refactored `Generator#generate` by extracting `bake_document_data` and `searchable_content` helper methods to keep method length within RuboCop limits
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- Simplified release workflow to tag-push trigger (`push: tags: v*`) — no manual `gh release create` needed
|
|
16
|
+
- Switched to RubyGems trusted publishing (`rubygems/release-gem@v1` with OIDC)
|
|
17
|
+
- Centralized version in `version.rb` as single source of truth — removed `version` field from `package.json` (was drifted to 0.3.1)
|
|
18
|
+
- Added `rake version:bump` and `rake version:check_changelog` tasks
|
|
19
|
+
- Added CHANGELOG gate to release workflow (fails if entry missing for the version)
|
|
20
|
+
- Added `npm audit` and `npm outdated` (non-blocking) to CI
|
|
21
|
+
- Replaced `setup_hooks.sh` with `bin/install-hooks.sh` (pre-commit: rubocop only, pre-push: rubocop + rspec)
|
|
22
|
+
- Dropped reek from gemspec, Rakefile, and deleted `.reek.yml` (KISS)
|
|
23
|
+
- Deleted `bump_version.sh`, `release.sh`, `rollback.sh` — replaced by rake tasks and release workflow
|
|
24
|
+
- Renamed `AI_INSTRUCTIONS.md` to `AGENTS.md` (agents.md open convention)
|
|
25
|
+
- Updated `CLAUDE.md` and `.windsurfrules` to point to `AGENTS.md`
|
|
26
|
+
|
|
5
27
|
## [0.3.3] - 2026-08-12
|
|
6
28
|
|
|
7
29
|
### Added
|
data/README.md
CHANGED
|
@@ -139,8 +139,13 @@ See [README.Development.md](README.Development.md) for details.
|
|
|
139
139
|
## Release
|
|
140
140
|
|
|
141
141
|
```bash
|
|
142
|
-
|
|
143
|
-
|
|
142
|
+
bundle exec rake "version:bump[patch]"
|
|
143
|
+
# Edit CHANGELOG.md
|
|
144
|
+
git add lib/jekyll/documents/version.rb CHANGELOG.md
|
|
145
|
+
git commit -m "Release X.Y.Z: summary"
|
|
146
|
+
git tag -a vX.Y.Z -m "Release X.Y.Z"
|
|
147
|
+
git push origin main
|
|
148
|
+
git push origin vX.Y.Z
|
|
144
149
|
```
|
|
145
150
|
|
|
146
151
|
## License
|
data/jekyll-documents.gemspec
CHANGED
|
@@ -35,7 +35,6 @@ Gem::Specification.new do |spec|
|
|
|
35
35
|
|
|
36
36
|
spec.add_development_dependency "bundler-audit", "~> 0.9"
|
|
37
37
|
spec.add_development_dependency "rake", "~> 13.0"
|
|
38
|
-
spec.add_development_dependency "reek", "~> 6.5"
|
|
39
38
|
spec.add_development_dependency "rspec", "~> 3.13"
|
|
40
39
|
spec.add_development_dependency "rubocop", "~> 1.88"
|
|
41
40
|
spec.add_development_dependency "rubocop-performance", "~> 1.26"
|
|
@@ -55,24 +55,10 @@ module Jekyll
|
|
|
55
55
|
collection: collection
|
|
56
56
|
)
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
data["category"] = remap_category(category)
|
|
63
|
-
data["file_url"] = "/#{rel_path}"
|
|
64
|
-
data["extension"] = ext
|
|
65
|
-
data["file_type"] = file_type
|
|
66
|
-
data["icon_set"] = icon_set
|
|
67
|
-
data["icon_url"] = Jekyll::Documents::FileTypeIcons.icon_for(file_type, icon_set)
|
|
68
|
-
data["file_size"] = File.size(path)
|
|
69
|
-
data["slug"] = slug
|
|
70
|
-
data["permalink"] = @config["permalink"]
|
|
71
|
-
.gsub(":category", data["category"].to_s)
|
|
72
|
-
.gsub(":slug", slug)
|
|
73
|
-
|
|
74
|
-
doc.content = "Auto-generated document page."
|
|
75
|
-
|
|
58
|
+
file_info = { title: title, date: date, category: category,
|
|
59
|
+
rel_path: rel_path, ext: ext, file_type: file_type,
|
|
60
|
+
icon_set: icon_set, slug: slug, path: path }
|
|
61
|
+
bake_document_data(doc, file_info)
|
|
76
62
|
collection.docs << doc
|
|
77
63
|
end
|
|
78
64
|
end
|
|
@@ -92,6 +78,33 @@ module Jekyll
|
|
|
92
78
|
site.collections[label]
|
|
93
79
|
end
|
|
94
80
|
|
|
81
|
+
def searchable_content(title, data, file_type)
|
|
82
|
+
date_str = data["date"].strftime("%Y-%m-%d")
|
|
83
|
+
"#{title} #{data['category']} #{file_type} #{date_str}"
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def bake_document_data(doc, info)
|
|
87
|
+
data = doc.data
|
|
88
|
+
category = remap_category(info[:category])
|
|
89
|
+
data["layout"] = @config["layout"]
|
|
90
|
+
data["title"] = info[:title]
|
|
91
|
+
data["date"] = info[:date] ? info[:date].to_time : File.mtime(info[:path])
|
|
92
|
+
data["category"] = category
|
|
93
|
+
data["categories"] = [category] if category
|
|
94
|
+
data["file_url"] = "/#{info[:rel_path]}"
|
|
95
|
+
data["extension"] = info[:ext]
|
|
96
|
+
data["file_type"] = info[:file_type]
|
|
97
|
+
data["icon_set"] = info[:icon_set]
|
|
98
|
+
icon = FileTypeIcons.icon_for(info[:file_type], info[:icon_set])
|
|
99
|
+
data["icon_url"] = icon
|
|
100
|
+
data["file_size"] = File.size(info[:path])
|
|
101
|
+
data["slug"] = info[:slug]
|
|
102
|
+
data["permalink"] = @config["permalink"]
|
|
103
|
+
.gsub(":category", category.to_s)
|
|
104
|
+
.gsub(":slug", info[:slug])
|
|
105
|
+
doc.content = searchable_content(info[:title], data, info[:file_type])
|
|
106
|
+
end
|
|
107
|
+
|
|
95
108
|
# Creates a virtual source path for the document
|
|
96
109
|
# @param basename [String] the file basename
|
|
97
110
|
# @param category [String] the document category
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jekyll-documents
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Svend Gundestrup
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: jekyll
|
|
@@ -58,20 +57,6 @@ dependencies:
|
|
|
58
57
|
- - "~>"
|
|
59
58
|
- !ruby/object:Gem::Version
|
|
60
59
|
version: '13.0'
|
|
61
|
-
- !ruby/object:Gem::Dependency
|
|
62
|
-
name: reek
|
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
|
64
|
-
requirements:
|
|
65
|
-
- - "~>"
|
|
66
|
-
- !ruby/object:Gem::Version
|
|
67
|
-
version: '6.5'
|
|
68
|
-
type: :development
|
|
69
|
-
prerelease: false
|
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
71
|
-
requirements:
|
|
72
|
-
- - "~>"
|
|
73
|
-
- !ruby/object:Gem::Version
|
|
74
|
-
version: '6.5'
|
|
75
60
|
- !ruby/object:Gem::Dependency
|
|
76
61
|
name: rspec
|
|
77
62
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -282,7 +267,6 @@ metadata:
|
|
|
282
267
|
documentation_uri: https://github.com/gundestrup/jekyll-documents
|
|
283
268
|
homepage_uri: https://github.com/gundestrup/jekyll-documents
|
|
284
269
|
rubygems_mfa_required: 'true'
|
|
285
|
-
post_install_message:
|
|
286
270
|
rdoc_options: []
|
|
287
271
|
require_paths:
|
|
288
272
|
- lib
|
|
@@ -297,8 +281,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
297
281
|
- !ruby/object:Gem::Version
|
|
298
282
|
version: '0'
|
|
299
283
|
requirements: []
|
|
300
|
-
rubygems_version: 3.
|
|
301
|
-
signing_key:
|
|
284
|
+
rubygems_version: 3.6.9
|
|
302
285
|
specification_version: 4
|
|
303
286
|
summary: Auto-generate Jekyll pages for documents (PDF/DOCX/...) with category/date/title
|
|
304
287
|
parsing.
|