jekyll-documents 0.1.1 → 0.2.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 +38 -0
- data/README.md +24 -51
- data/jekyll-documents.gemspec +23 -6
- data/lib/jekyll/documents/file_type_icons.rb +7 -4
- data/lib/jekyll/documents/filters.rb +3 -3
- data/lib/jekyll/documents/generator.rb +16 -10
- data/lib/jekyll/documents/json_index_generator.rb +5 -5
- data/lib/jekyll/documents/tags/latest_documents.rb +10 -8
- data/lib/jekyll/documents/version.rb +1 -1
- metadata +86 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d806534ca1d7d2b56106885f003e99845646369f842d03a01ac330a5f8dbaacc
|
|
4
|
+
data.tar.gz: 50ff80ef20340823fd852265f87f90d6eb630aa56e3795cfc2ca3a58b94fb612
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cf282187748db50d46e256dcee6f2f9b8b7e34f5e265acf35b4b1d4a5bda55950b66a668000f58aacad9195241c0b8e30e84fd06ad493be2cbc4f238cb3b28ed
|
|
7
|
+
data.tar.gz: 95bd40229f6c2cd987e35bf6fab49d89f09a6070bbacf2bb5cedf412866bc368f458e367804a19e4f2fa1479cd2cfdbfab13acfce0ccc9af69aee9fa9be2b294
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.2.0] - 2026-03-12
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **Comprehensive code quality tools** (RuboCop, Reek, Bundler Audit, SimpleCov)
|
|
7
|
+
- **98.99% test coverage** with integration tests for Liquid tags
|
|
8
|
+
- **Enhanced release automation** with 10 safety checks and validations
|
|
9
|
+
- **Pre-commit hooks** for automatic quality checks
|
|
10
|
+
- **Dry-run mode** for release preview
|
|
11
|
+
- **Rollback capability** for undoing releases
|
|
12
|
+
- **Automated CHANGELOG templates** when bumping versions
|
|
13
|
+
- **Release notes generator** with clipboard integration
|
|
14
|
+
- **Git status and dependency checks** before release
|
|
15
|
+
- **Version consistency validation** across files
|
|
16
|
+
- **Post-release verification** with helpful links
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- **Consolidated documentation** (README.Development.md combines all dev docs)
|
|
20
|
+
- **Simplified README.md** with KISS approach
|
|
21
|
+
- **Improved Rake tasks** with better organization and help system
|
|
22
|
+
- **Enhanced test suite** with 79 passing tests
|
|
23
|
+
- **Better error handling** in release scripts
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- **Liquid tag testing** through integration tests (resolves 98% coverage)
|
|
27
|
+
- **Keyword argument compatibility** in filters
|
|
28
|
+
- **Release script safety** with comprehensive validation
|
|
29
|
+
- **Documentation consistency** across all markdown files
|
|
30
|
+
|
|
31
|
+
### Development
|
|
32
|
+
- **Quality metrics**: 98.99% coverage • 0 vulnerabilities • 3 RuboCop offenses
|
|
33
|
+
- **Release workflow**: Fully automated with rollback capability
|
|
34
|
+
- **Testing**: 79 examples, 0 failures, integration tests for all features
|
|
35
|
+
|
|
36
|
+
## [0.1.2] - 2026-03-09
|
|
37
|
+
|
|
38
|
+
### Added
|
|
39
|
+
- **Release automation scripts**
|
|
40
|
+
|
|
3
41
|
## [0.1.1] - 2026-03-09
|
|
4
42
|
|
|
5
43
|
### Added
|
data/README.md
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
# jekyll-documents
|
|
2
2
|
|
|
3
|
-
Turn files in `assets/documents/` into browsable document pages
|
|
3
|
+
Turn files in `assets/documents/` into browsable document pages.
|
|
4
4
|
|
|
5
|
-
**Features
|
|
6
|
-
- Auto-collection from files
|
|
7
|
-
- File type icons (4 styles)
|
|
8
|
-
- Categories from folders
|
|
9
|
-
- Client-side search
|
|
10
|
-
- Strict validation
|
|
5
|
+
**Features**: Auto-collection • File icons • Categories • Search
|
|
11
6
|
|
|
12
7
|
## Quick Start
|
|
13
8
|
|
|
@@ -38,89 +33,67 @@ assets/documents/minutes/2026-02-15_Board_Meeting.docx
|
|
|
38
33
|
{% include category_list.html %}
|
|
39
34
|
```
|
|
40
35
|
|
|
41
|
-
## Requirements
|
|
42
|
-
|
|
43
|
-
Ruby >= 2.7, Jekyll >= 4.0
|
|
44
36
|
## File Naming
|
|
45
37
|
|
|
46
|
-
**Format
|
|
38
|
+
**Format**: `YYYY-MM-DD_Title.ext`
|
|
47
39
|
|
|
48
40
|
```
|
|
49
41
|
assets/documents/reports/2026-03-01_Annual_Report.pdf
|
|
50
|
-
assets/documents/minutes/2026-02-15_Board_Meeting.docx
|
|
51
42
|
```
|
|
52
43
|
|
|
53
|
-
|
|
54
|
-
- Title: Underscores → spaces
|
|
55
|
-
- Category: From folder name
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
## File Type Icons
|
|
60
|
-
|
|
61
|
-
The plugin automatically displays file type icons for all supported formats. Icons are included in the gem and based on designs from [svgrepo.com](https://www.svgrepo.com/).
|
|
44
|
+
Date → `YYYY-MM-DD` • Title → underscores to spaces • Category → folder name
|
|
62
45
|
|
|
63
|
-
|
|
46
|
+
## Icons
|
|
64
47
|
|
|
65
|
-
|
|
48
|
+
4 icon sets: `color` (default), `lines`, `minimal`, `ultra-minimal`
|
|
66
49
|
|
|
67
|
-
**Configuration:**
|
|
68
50
|
```yaml
|
|
69
51
|
documents:
|
|
70
|
-
icon_set: "color"
|
|
52
|
+
icon_set: "color"
|
|
71
53
|
```
|
|
72
54
|
|
|
73
|
-
**Icons appear in:** document pages, lists, search results, category folders
|
|
74
|
-
|
|
75
|
-
**Liquid filters:**
|
|
76
55
|
```liquid
|
|
77
56
|
{{ page.file_type | file_type_icon_tag }}
|
|
78
|
-
{{ page.file_type | file_type_icon }}
|
|
79
57
|
```
|
|
80
58
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
## Includes
|
|
59
|
+
## Usage
|
|
84
60
|
|
|
85
61
|
```liquid
|
|
86
62
|
{% include latest_documents.html count=5 %}
|
|
87
63
|
{% include documents_list.html %}
|
|
88
|
-
{% include category_list.html %}
|
|
89
64
|
{% include documents_search.html %}
|
|
90
65
|
```
|
|
91
66
|
|
|
92
|
-
## Search
|
|
93
|
-
|
|
94
|
-
```html
|
|
95
|
-
<script src="https://unpkg.com/lunr/lunr.js"></script>
|
|
96
|
-
<script src="{{ '/assets/js/documents-search.js' | relative_url }}"></script>
|
|
97
|
-
```
|
|
98
67
|
## Configuration
|
|
99
68
|
|
|
100
69
|
```yaml
|
|
101
70
|
documents:
|
|
102
71
|
root: "assets/documents"
|
|
103
|
-
|
|
104
|
-
icon_set: "color" # color, lines, minimal, ultra-minimal
|
|
105
|
-
include_extensions: [".pdf", ".docx", ".pptx", ".xlsx"]
|
|
72
|
+
icon_set: "color"
|
|
106
73
|
strict_filename: true
|
|
107
|
-
json_index: true
|
|
108
74
|
```
|
|
109
75
|
|
|
110
76
|
See [configuration.rb](lib/jekyll/documents/configuration.rb) for all options.
|
|
77
|
+
|
|
111
78
|
## Development
|
|
112
79
|
|
|
113
80
|
```bash
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
cd example && bundle exec jekyll serve # Example site
|
|
81
|
+
rake # All quality checks
|
|
82
|
+
rake quick # Fast check
|
|
83
|
+
rake help # Show commands
|
|
118
84
|
```
|
|
119
85
|
|
|
120
|
-
|
|
86
|
+
**Quality**: 98.99% coverage • 0 vulnerabilities • RuboCop • Reek
|
|
87
|
+
|
|
88
|
+
See [README.Development.md](README.Development.md) for details.
|
|
121
89
|
|
|
122
|
-
|
|
90
|
+
## Release
|
|
123
91
|
|
|
124
|
-
|
|
92
|
+
```bash
|
|
93
|
+
./bump_version.sh patch
|
|
94
|
+
./release.sh
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## License
|
|
125
98
|
|
|
126
|
-
Icons by [SVG Repo](https://www.svgrepo.com)
|
|
99
|
+
AGPL-3.0-only • Icons by [SVG Repo](https://www.svgrepo.com)
|
data/jekyll-documents.gemspec
CHANGED
|
@@ -3,16 +3,28 @@
|
|
|
3
3
|
Gem::Specification.new do |spec|
|
|
4
4
|
spec.name = "jekyll-documents"
|
|
5
5
|
spec.version = File.read(File.expand_path("lib/jekyll/documents/version.rb", __dir__))
|
|
6
|
-
|
|
6
|
+
.match(/VERSION\s*=\s*"([^"]+)"/)[1]
|
|
7
7
|
spec.authors = ["Svend Gundestrup"]
|
|
8
8
|
spec.email = ["no-reply@borg-collective.eu"]
|
|
9
9
|
|
|
10
|
-
spec.summary = "Auto-generate Jekyll pages for documents (PDF/DOCX/...)
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
spec.summary = "Auto-generate Jekyll pages for documents (PDF/DOCX/...) " \
|
|
11
|
+
"with category/date/title parsing."
|
|
12
|
+
spec.description = "A Jekyll plugin + theme that scans assets/documents/**, " \
|
|
13
|
+
"creates a collection item per file, adds metadata " \
|
|
14
|
+
"(title/date/category), outputs pages, generates " \
|
|
15
|
+
"a JSON index for Lunr, and integrates with jekyll-sitemap."
|
|
13
16
|
spec.homepage = "https://github.com/gundestrup/jekyll-documents"
|
|
14
17
|
spec.license = "AGPL-3.0-only"
|
|
15
18
|
|
|
19
|
+
spec.metadata = {
|
|
20
|
+
"source_code_uri" => "https://github.com/gundestrup/jekyll-documents",
|
|
21
|
+
"bug_tracker_uri" => "https://github.com/gundestrup/jekyll-documents/issues",
|
|
22
|
+
"changelog_uri" => "https://github.com/gundestrup/jekyll-documents/blob/main/CHANGELOG.md",
|
|
23
|
+
"documentation_uri" => "https://github.com/gundestrup/jekyll-documents",
|
|
24
|
+
"homepage_uri" => "https://github.com/gundestrup/jekyll-documents",
|
|
25
|
+
"rubygems_mfa_required" => "true"
|
|
26
|
+
}
|
|
27
|
+
|
|
16
28
|
spec.required_ruby_version = ">= 2.7"
|
|
17
29
|
|
|
18
30
|
spec.files = Dir.glob("{lib,assets,_includes,_layouts}/**/*") +
|
|
@@ -20,8 +32,13 @@ Gem::Specification.new do |spec|
|
|
|
20
32
|
spec.require_paths = ["lib"]
|
|
21
33
|
|
|
22
34
|
spec.add_dependency "jekyll", ">= 4.0"
|
|
23
|
-
|
|
24
|
-
spec.add_development_dependency "
|
|
35
|
+
|
|
36
|
+
spec.add_development_dependency "bundler-audit", "~> 0.9"
|
|
25
37
|
spec.add_development_dependency "rake", "~> 13.0"
|
|
38
|
+
spec.add_development_dependency "reek", "~> 6.1"
|
|
39
|
+
spec.add_development_dependency "rspec", "~> 3.12"
|
|
40
|
+
spec.add_development_dependency "rubocop", "~> 1.60"
|
|
41
|
+
spec.add_development_dependency "rubocop-performance", "~> 1.20"
|
|
42
|
+
spec.add_development_dependency "simplecov", "~> 0.22"
|
|
26
43
|
spec.add_development_dependency "yard", "~> 0.9"
|
|
27
44
|
end
|
|
@@ -104,7 +104,8 @@ module Jekyll
|
|
|
104
104
|
def file_type_icon(file_type, context = nil)
|
|
105
105
|
icon_set = get_icon_set(context)
|
|
106
106
|
icons = ICON_MAP[icon_set] || ICON_MAP["color"]
|
|
107
|
-
icons[file_type.to_s.downcase] ||
|
|
107
|
+
icons[file_type.to_s.downcase] ||
|
|
108
|
+
"/assets/icons/#{icon_set}/unknown-document-svgrepo-com.svg"
|
|
108
109
|
end
|
|
109
110
|
|
|
110
111
|
# Returns an HTML img tag for the file type icon
|
|
@@ -114,7 +115,8 @@ module Jekyll
|
|
|
114
115
|
# @param context [Liquid::Context] the Liquid context for accessing site config
|
|
115
116
|
# @return [String] HTML img tag
|
|
116
117
|
# @example
|
|
117
|
-
# file_type_icon_tag('pdf') #=>
|
|
118
|
+
# file_type_icon_tag('pdf') #=> \
|
|
119
|
+
# '<img src="/assets/icons/color/pdf.svg" alt="PDF file" class="file-icon" />'
|
|
118
120
|
def file_type_icon_tag(file_type, css_class: "file-icon", alt: nil, context: nil)
|
|
119
121
|
url = file_type_icon(file_type, context)
|
|
120
122
|
alt_text = alt || "#{file_type.upcase} file"
|
|
@@ -128,13 +130,14 @@ module Jekyll
|
|
|
128
130
|
# @return [String] the icon set name
|
|
129
131
|
def get_icon_set(context)
|
|
130
132
|
return "color" unless context
|
|
131
|
-
|
|
133
|
+
|
|
132
134
|
site_config = context.registers[:site]&.config
|
|
133
135
|
documents_config = site_config["documents"] if site_config
|
|
134
136
|
icon_set = documents_config["icon_set"] if documents_config
|
|
135
|
-
|
|
137
|
+
|
|
136
138
|
# Validate icon set exists
|
|
137
139
|
return "color" unless icon_set && ICON_MAP.key?(icon_set)
|
|
140
|
+
|
|
138
141
|
icon_set
|
|
139
142
|
end
|
|
140
143
|
end
|
|
@@ -9,12 +9,12 @@ module Jekyll
|
|
|
9
9
|
}.freeze
|
|
10
10
|
|
|
11
11
|
# Slugify while handling Danish letters and basic punctuation cleanup.
|
|
12
|
-
def documents_slugify(input, downcase
|
|
12
|
+
def documents_slugify(input, downcase: true, danish_map: true)
|
|
13
13
|
s = input.to_s.dup
|
|
14
14
|
s = s.gsub(/[æøåÆØÅ]/) { |ch| DANISH_MAP[ch] } if danish_map
|
|
15
15
|
s = s.strip.gsub(/[^\p{Alnum}\-_\s]/u, "")
|
|
16
|
-
s = s.tr(" ", "-").
|
|
17
|
-
s = s.gsub(/[æøåÆØÅ]/, "") unless danish_map
|
|
16
|
+
s = s.tr(" ", "-").squeeze("-")
|
|
17
|
+
s = s.gsub(/[æøåÆØÅ]/, "") unless danish_map # Remove Danish chars if mapping disabled
|
|
18
18
|
s = s.downcase if downcase
|
|
19
19
|
s
|
|
20
20
|
end
|
|
@@ -35,14 +35,14 @@ module Jekyll
|
|
|
35
35
|
end
|
|
36
36
|
next unless @config["include_extensions"].include?(ext)
|
|
37
37
|
|
|
38
|
-
rel_path = path.start_with?(site.source) ? path[(site.source.length + 1)
|
|
38
|
+
rel_path = path.start_with?(site.source) ? path[(site.source.length + 1)..] : path
|
|
39
39
|
category = infer_category_from(rel_path)
|
|
40
40
|
basename = File.basename(path, ext)
|
|
41
41
|
|
|
42
42
|
date, title, valid = parse_filename(basename)
|
|
43
43
|
if !valid && @config["strict_filename"]
|
|
44
44
|
::Jekyll.logger.abort_with "jekyll-documents",
|
|
45
|
-
|
|
45
|
+
"Filename must be 'YYYY-MM-DD_Title.ext' → #{rel_path}"
|
|
46
46
|
end
|
|
47
47
|
|
|
48
48
|
slug = build_slug(basename)
|
|
@@ -57,13 +57,13 @@ module Jekyll
|
|
|
57
57
|
doc.data["title"] = title
|
|
58
58
|
doc.data["date"] = date || File.mtime(path)
|
|
59
59
|
doc.data["category"] = remap_category(category)
|
|
60
|
-
doc.data["file_url"] = "
|
|
60
|
+
doc.data["file_url"] = "/#{rel_path}"
|
|
61
61
|
doc.data["extension"] = ext
|
|
62
62
|
doc.data["file_type"] = ext.sub(".", "").downcase
|
|
63
63
|
doc.data["slug"] = slug
|
|
64
64
|
doc.data["permalink"] = @config["permalink"]
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
.gsub(":category", doc.data["category"].to_s)
|
|
66
|
+
.gsub(":slug", slug)
|
|
67
67
|
|
|
68
68
|
doc.content = "Auto-generated document page."
|
|
69
69
|
|
|
@@ -99,7 +99,8 @@ module Jekyll
|
|
|
99
99
|
# @return [String] the category name
|
|
100
100
|
def infer_category_from(rel_path)
|
|
101
101
|
return "uncategorized" unless @config["categories_from_path"]
|
|
102
|
-
|
|
102
|
+
|
|
103
|
+
category_dir = File.dirname(rel_path).sub(@config["root"].to_s, "")
|
|
103
104
|
category_dir.split("/").reject(&:empty?).last || "uncategorized"
|
|
104
105
|
end
|
|
105
106
|
|
|
@@ -116,7 +117,8 @@ module Jekyll
|
|
|
116
117
|
# @return [Array<Date, String, Boolean>] date, title, and validity flag
|
|
117
118
|
def parse_filename(basename)
|
|
118
119
|
if basename =~ /^(\d{4})-(\d{2})-(\d{2})_(.+)$/
|
|
119
|
-
date = Date.parse("#{Regexp.last_match(1)}-#{Regexp.last_match(2)}
|
|
120
|
+
date = Date.parse("#{Regexp.last_match(1)}-#{Regexp.last_match(2)}-" \
|
|
121
|
+
"#{Regexp.last_match(3)}")
|
|
120
122
|
title = Regexp.last_match(4).tr("_", " ")
|
|
121
123
|
[date, title, true]
|
|
122
124
|
else
|
|
@@ -131,10 +133,14 @@ module Jekyll
|
|
|
131
133
|
# @return [String] the generated slug
|
|
132
134
|
def build_slug(basename)
|
|
133
135
|
s = basename.sub(/^\d{4}-\d{2}-\d{2}_/, "")
|
|
134
|
-
|
|
136
|
+
if @config["slug_danish_map"]
|
|
137
|
+
s = s.gsub(/[æøåÆØÅ]/,
|
|
138
|
+
{ "æ" => "ae", "ø" => "oe", "å" => "aa", "Æ" => "Ae", "Ø" => "Oe",
|
|
139
|
+
"Å" => "Aa" })
|
|
140
|
+
end
|
|
135
141
|
s = s.downcase if @config["slug_downcase"]
|
|
136
|
-
s = s.gsub(/[^\p{Alnum}\-_\s]/u, "").tr("_ ", "--").
|
|
137
|
-
s = s.sub(/^-+/, "").sub(/-+$/, "")
|
|
142
|
+
s = s.gsub(/[^\p{Alnum}\-_\s]/u, "").tr("_ ", "--").squeeze("-")
|
|
143
|
+
s = s.sub(/^-+/, "").sub(/-+$/, "") # Remove leading/trailing hyphens
|
|
138
144
|
s.empty? ? "untitled" : s
|
|
139
145
|
end
|
|
140
146
|
end
|
|
@@ -18,11 +18,11 @@ module Jekyll
|
|
|
18
18
|
|
|
19
19
|
items = docs.map do |d|
|
|
20
20
|
{
|
|
21
|
-
"url"
|
|
22
|
-
"title"
|
|
23
|
-
"category"
|
|
24
|
-
"date"
|
|
25
|
-
"slug"
|
|
21
|
+
"url" => d.url,
|
|
22
|
+
"title" => d.data["title"],
|
|
23
|
+
"category" => d.data["category"],
|
|
24
|
+
"date" => (d.data["date"] || Time.at(0)).strftime("%Y-%m-%d"),
|
|
25
|
+
"slug" => d.data["slug"],
|
|
26
26
|
"file_type" => d.data["file_type"],
|
|
27
27
|
"extension" => d.data["extension"]
|
|
28
28
|
}
|
|
@@ -7,7 +7,7 @@ module Jekyll
|
|
|
7
7
|
super
|
|
8
8
|
@args = parse_args(markup)
|
|
9
9
|
end
|
|
10
|
-
|
|
10
|
+
|
|
11
11
|
public_class_method :new
|
|
12
12
|
|
|
13
13
|
def render(context)
|
|
@@ -35,18 +35,21 @@ module Jekyll
|
|
|
35
35
|
|
|
36
36
|
def escape_html(text)
|
|
37
37
|
return "" unless text
|
|
38
|
+
|
|
38
39
|
text.to_s.gsub(/[&<>"']/, {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
"&" => "&",
|
|
41
|
+
"<" => "<",
|
|
42
|
+
">" => ">",
|
|
43
|
+
'"' => """,
|
|
44
|
+
"'" => "'"
|
|
45
|
+
})
|
|
45
46
|
end
|
|
46
47
|
|
|
47
48
|
def parse_args(markup)
|
|
48
49
|
# supports: count:5 category:'referat'
|
|
49
50
|
args = {}
|
|
51
|
+
# Safe: markup comes from Jekyll template authors (trusted), not end users
|
|
52
|
+
# Runs only during static site generation, not on user requests
|
|
50
53
|
markup.scan(/(\w+)\s*:\s*'([^']*)'|(\w+)\s*:\s*([^\s]+)/).each do |m|
|
|
51
54
|
if m[0]
|
|
52
55
|
args[m[0]] = m[1]
|
|
@@ -61,4 +64,3 @@ module Jekyll
|
|
|
61
64
|
end
|
|
62
65
|
|
|
63
66
|
Liquid::Template.register_tag("latest_documents", Jekyll::Documents::LatestDocumentsTag)
|
|
64
|
-
|
metadata
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jekyll-documents
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Svend Gundestrup
|
|
8
|
+
autorequire:
|
|
8
9
|
bindir: bin
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date:
|
|
11
|
+
date: 2026-07-30 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: jekyll
|
|
@@ -24,19 +25,19 @@ dependencies:
|
|
|
24
25
|
- !ruby/object:Gem::Version
|
|
25
26
|
version: '4.0'
|
|
26
27
|
- !ruby/object:Gem::Dependency
|
|
27
|
-
name:
|
|
28
|
+
name: bundler-audit
|
|
28
29
|
requirement: !ruby/object:Gem::Requirement
|
|
29
30
|
requirements:
|
|
30
31
|
- - "~>"
|
|
31
32
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '
|
|
33
|
+
version: '0.9'
|
|
33
34
|
type: :development
|
|
34
35
|
prerelease: false
|
|
35
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
37
|
requirements:
|
|
37
38
|
- - "~>"
|
|
38
39
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '
|
|
40
|
+
version: '0.9'
|
|
40
41
|
- !ruby/object:Gem::Dependency
|
|
41
42
|
name: rake
|
|
42
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -51,6 +52,76 @@ dependencies:
|
|
|
51
52
|
- - "~>"
|
|
52
53
|
- !ruby/object:Gem::Version
|
|
53
54
|
version: '13.0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: reek
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '6.1'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '6.1'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: rspec
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '3.12'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '3.12'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: rubocop
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '1.60'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '1.60'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: rubocop-performance
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '1.20'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '1.20'
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: simplecov
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - "~>"
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0.22'
|
|
118
|
+
type: :development
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - "~>"
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '0.22'
|
|
54
125
|
- !ruby/object:Gem::Dependency
|
|
55
126
|
name: yard
|
|
56
127
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -193,7 +264,14 @@ files:
|
|
|
193
264
|
homepage: https://github.com/gundestrup/jekyll-documents
|
|
194
265
|
licenses:
|
|
195
266
|
- AGPL-3.0-only
|
|
196
|
-
metadata:
|
|
267
|
+
metadata:
|
|
268
|
+
source_code_uri: https://github.com/gundestrup/jekyll-documents
|
|
269
|
+
bug_tracker_uri: https://github.com/gundestrup/jekyll-documents/issues
|
|
270
|
+
changelog_uri: https://github.com/gundestrup/jekyll-documents/blob/main/CHANGELOG.md
|
|
271
|
+
documentation_uri: https://github.com/gundestrup/jekyll-documents
|
|
272
|
+
homepage_uri: https://github.com/gundestrup/jekyll-documents
|
|
273
|
+
rubygems_mfa_required: 'true'
|
|
274
|
+
post_install_message:
|
|
197
275
|
rdoc_options: []
|
|
198
276
|
require_paths:
|
|
199
277
|
- lib
|
|
@@ -208,7 +286,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
208
286
|
- !ruby/object:Gem::Version
|
|
209
287
|
version: '0'
|
|
210
288
|
requirements: []
|
|
211
|
-
rubygems_version: 4.
|
|
289
|
+
rubygems_version: 3.4.19
|
|
290
|
+
signing_key:
|
|
212
291
|
specification_version: 4
|
|
213
292
|
summary: Auto-generate Jekyll pages for documents (PDF/DOCX/...) with category/date/title
|
|
214
293
|
parsing.
|