jekyll-theme-open-project-helpers 2.1.8 → 2.1.9
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/.github/workflows/rake.yml +31 -0
- data/.github/workflows/release.yml +44 -0
- data/.gitignore +1 -0
- data/README.md +10 -13
- data/Rakefile +1 -1
- data/jekyll-theme-open-project-helpers.gemspec +20 -13
- data/lib/jekyll-theme-open-project-helpers/project_data_reader.rb +1 -1
- data/lib/jekyll-theme-open-project-helpers/spec_builders/png_diagrams.rb +40 -28
- metadata +48 -19
- data/develop/release +0 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b1d4e97d9aad4f03905d45ae68993220d23c8b52fa5bbf3be588c7ed9b11300
|
4
|
+
data.tar.gz: 496d9fdb62b4b2e7b44c59e2ab3b6b8142ec11ebd956b54b0423f487f78974ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f6ddb7b29aad86b3d71fcff8a424a17b8a62971def177ae1dc99aa1ae2c9b7bc70efa8ca50782f2164d3061724993662442632e860bdd8d80485fc2ec041555
|
7
|
+
data.tar.gz: bed4fcefeafea0edd8517733d30ea90b507f7694a10ca2a8cda234255de2c534fde126841c5a1742d5f31d8d3bc31c3347a4792a5cd0cf1539ff7340f1e70249
|
@@ -0,0 +1,31 @@
|
|
1
|
+
name: rake
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ master, main ]
|
6
|
+
tags: [ v* ]
|
7
|
+
pull_request:
|
8
|
+
workflow_dispatch:
|
9
|
+
|
10
|
+
jobs:
|
11
|
+
rake:
|
12
|
+
name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
|
13
|
+
runs-on: ${{ matrix.os }}
|
14
|
+
continue-on-error: ${{ matrix.experimental }}
|
15
|
+
strategy:
|
16
|
+
fail-fast: false
|
17
|
+
matrix:
|
18
|
+
ruby: [ '3.0', '2.7', '2.6', '2.5' ]
|
19
|
+
os: [ ubuntu-latest ]
|
20
|
+
experimental: [ false ]
|
21
|
+
steps:
|
22
|
+
- uses: actions/checkout@v2
|
23
|
+
with:
|
24
|
+
submodules: true
|
25
|
+
|
26
|
+
- uses: ruby/setup-ruby@v1
|
27
|
+
with:
|
28
|
+
ruby-version: ${{ matrix.ruby }}
|
29
|
+
bundler-cache: true
|
30
|
+
|
31
|
+
- run: bundle exec rake
|
@@ -0,0 +1,44 @@
|
|
1
|
+
name: release
|
2
|
+
|
3
|
+
on:
|
4
|
+
workflow_dispatch:
|
5
|
+
inputs:
|
6
|
+
next_version:
|
7
|
+
description: |
|
8
|
+
Next release version. Possible values: x.y.z, major, minor, patch or pre|rc|etc
|
9
|
+
required: true
|
10
|
+
default: 'skip'
|
11
|
+
push:
|
12
|
+
tags: [ v* ]
|
13
|
+
|
14
|
+
jobs:
|
15
|
+
release:
|
16
|
+
runs-on: ubuntu-latest
|
17
|
+
steps:
|
18
|
+
- uses: actions/checkout@v2
|
19
|
+
|
20
|
+
- uses: ruby/setup-ruby@v1
|
21
|
+
with:
|
22
|
+
ruby-version: '2.6'
|
23
|
+
bundler-cache: true
|
24
|
+
|
25
|
+
- run: gem install gem-release
|
26
|
+
|
27
|
+
- run: |
|
28
|
+
git config user.name github-actions
|
29
|
+
git config user.email github-actions@github.com
|
30
|
+
|
31
|
+
- if: github.event_name == 'workflow_dispatch' && github.event.inputs.next_version != 'skip'
|
32
|
+
run: gem bump --version ${{ github.event.inputs.next_version }} --tag --push
|
33
|
+
|
34
|
+
- name: publish to rubygems.org
|
35
|
+
env:
|
36
|
+
RUBYGEMS_API_KEY: ${{secrets.RIBOSE_RUBYGEMS_API_KEY}}
|
37
|
+
run: |
|
38
|
+
gem install gem-release
|
39
|
+
envsubst << 'EOF' > ~/.gem/credentials
|
40
|
+
---
|
41
|
+
:rubygems_api_key: ${RUBYGEMS_API_KEY}
|
42
|
+
EOF
|
43
|
+
chmod 0600 ~/.gem/credentials
|
44
|
+
gem release
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Open Project theme helpers
|
2
2
|
|
3
|
+
[](https://github.com/riboseinc/jekyll-theme-open-project-helpers/actions/workflows/rake.yml)
|
4
|
+
[](https://rubygems.org/gems/jekyll-theme-open-project-helpers
|
5
|
+
)
|
6
|
+
[](https://github.com/riboseinc/jekyll-theme-open-project-helpers/pulls)
|
7
|
+
[](https://github.com/riboseinc/jekyll-theme-open-project-helpers/releases)
|
8
|
+
|
9
|
+
|
3
10
|
Jekyll plugin for the Open Project gem-based Jekyll theme by Ribose.
|
4
11
|
|
5
12
|
It provides the data reading and page generation capabilities
|
@@ -11,17 +18,7 @@ fetching open project/software/specification data from their repos.
|
|
11
18
|
|
12
19
|
## Releasing
|
13
20
|
|
14
|
-
|
15
|
-
See [Theme gem docs](https://github.com/riboseinc/jekyll-theme-open-project) for more.
|
16
|
-
|
17
|
-
|
18
|
-
1. Inside .gemspec within this repo’s root, update main gem version to the one being released.
|
19
|
-
|
20
|
-
2. Make a commit for the new release (“chore: Release vX.X.X”).
|
21
|
-
|
22
|
-
3. Execute `./develop/release`. This does the following:
|
21
|
+
### New approach
|
23
22
|
|
24
|
-
|
25
|
-
|
26
|
-
* Creates new version tag in this repository
|
27
|
-
* Pushes changes to GitHub
|
23
|
+
Do `git tag ${version-tag}` or, start release manually with the
|
24
|
+
[`release.yml` workflow](https://github.com/riboseinc/jekyll-theme-open-project-helpers/actions/workflows/release.yml)
|
data/Rakefile
CHANGED
@@ -1,22 +1,29 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
|
-
s.name =
|
5
|
-
s.version =
|
6
|
-
s.authors = [
|
7
|
-
s.email = [
|
4
|
+
s.name = "jekyll-theme-open-project-helpers"
|
5
|
+
s.version = "2.1.9"
|
6
|
+
s.authors = ["Ribose Inc."]
|
7
|
+
s.email = ["open.source@ribose.com"]
|
8
8
|
|
9
|
-
s.summary =
|
10
|
-
s.homepage =
|
11
|
-
s.license =
|
9
|
+
s.summary = "Helpers for the Open Project Jekyll theme"
|
10
|
+
s.homepage = "https://github.com/riboseinc/jekyll-theme-open-project-helpers/"
|
11
|
+
s.license = "MIT"
|
12
12
|
|
13
|
-
s.files = `git ls-files -z`.split("\x0").reject
|
13
|
+
s.files = `git ls-files -z`.split("\x0").reject do |f|
|
14
|
+
f.match(%r!^(test|spec|features)/!)
|
15
|
+
end
|
14
16
|
|
15
|
-
s.
|
16
|
-
|
17
|
-
s.add_runtime_dependency
|
18
|
-
s.
|
19
|
-
s.
|
17
|
+
s.required_ruby_version = ">= 2.5.0"
|
18
|
+
|
19
|
+
s.add_runtime_dependency "fastimage", "~> 2.1.4"
|
20
|
+
s.add_runtime_dependency "git", "~> 1.4"
|
21
|
+
s.add_runtime_dependency "jekyll", "~> 4.0"
|
22
|
+
|
23
|
+
s.add_development_dependency "rake", "~> 13.0"
|
24
|
+
s.add_development_dependency "rspec", "~> 3.0"
|
25
|
+
s.add_development_dependency "rspec-command", "~> 1.0"
|
26
|
+
s.add_development_dependency "rubocop", "~> 1.5.2"
|
20
27
|
|
21
28
|
s.require_paths = ["lib"]
|
22
29
|
end
|
@@ -260,7 +260,7 @@ module Jekyll
|
|
260
260
|
git_dir = File.join(repo_path, '.git')
|
261
261
|
git_info_dir = File.join(git_dir, 'info')
|
262
262
|
git_sparse_checkout_file = File.join(git_dir, 'info', 'sparse-checkout')
|
263
|
-
unless File.
|
263
|
+
unless File.exist? git_dir
|
264
264
|
newly_initialized = true
|
265
265
|
|
266
266
|
repo = Git.init(repo_path)
|
@@ -18,6 +18,12 @@ def get_nav_items_with_path(nav_items)
|
|
18
18
|
items_with_path
|
19
19
|
end
|
20
20
|
|
21
|
+
def find_nav_items(diagram_nav_items, png_name_noext)
|
22
|
+
diagram_nav_items.select do |item|
|
23
|
+
item["path"].start_with?(png_name_noext)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
21
27
|
module Builder
|
22
28
|
class PngDiagramPage < Jekyll::Page
|
23
29
|
EXTRA_STYLESHEETS = [{
|
@@ -47,45 +53,47 @@ module Builder
|
|
47
53
|
end
|
48
54
|
end
|
49
55
|
|
50
|
-
def build_spec_pages(site, spec_info, source,
|
51
|
-
|
52
|
-
spec_root = destination
|
53
|
-
pages = []
|
54
|
-
|
55
|
-
diagram_nav_items = get_nav_items_with_path(
|
56
|
+
def build_spec_pages(site, spec_info, source, dest, _opts)
|
57
|
+
nav_items = get_nav_items_with_path(
|
56
58
|
spec_info.data["navigation"]["items"],
|
57
59
|
)
|
58
|
-
not_found_items = diagram_nav_items.dup
|
59
60
|
|
60
|
-
|
61
|
+
pages, not_found_items = process_spec_images(site, source, nav_items,
|
62
|
+
dest, spec_info)
|
63
|
+
|
64
|
+
not_found_items.each do |item|
|
65
|
+
warn "SPECIFIED PNG NOT FOUND: #{item['title']}.png not found " \
|
66
|
+
"at source as specified at (#{dest})."
|
67
|
+
end
|
68
|
+
|
69
|
+
pages
|
70
|
+
end
|
71
|
+
|
72
|
+
def process_spec_images(site, source, nav_items, dest, spec_info)
|
73
|
+
pages = []
|
74
|
+
not_found_items = nav_items.dup
|
75
|
+
|
76
|
+
Dir.glob("#{source}/*.png") do |pngfile|
|
61
77
|
png_name = File.basename(pngfile)
|
62
78
|
png_name_noext = File.basename(png_name, File.extname(png_name))
|
63
79
|
|
64
|
-
nav_item =
|
65
|
-
item["path"].start_with?(png_name_noext)
|
66
|
-
end [0].clone
|
80
|
+
nav_item = find_nav_items(nav_items, png_name_noext)[0].clone
|
67
81
|
|
68
82
|
if nav_item == nil
|
69
|
-
warn "UNUSED PNG: #{
|
70
|
-
"a corresponding navigation item at (#{
|
83
|
+
warn "UNUSED PNG: #{File.basename(pngfile)} detected at source " \
|
84
|
+
"without a corresponding navigation item at (#{dest})."
|
71
85
|
next
|
72
86
|
end
|
73
87
|
|
74
88
|
not_found_items.delete_if { |item| item["title"] == nav_item["title"] }
|
75
89
|
|
76
|
-
data = build_spec_page_data(pngfile,
|
90
|
+
data = build_spec_page_data(pngfile, dest, png_name, nav_item,
|
77
91
|
spec_info)
|
78
92
|
|
79
|
-
pages << build_spec_page(site,
|
80
|
-
end
|
81
|
-
|
82
|
-
not_found_items.each do |item|
|
83
|
-
title = item["title"]
|
84
|
-
warn "SPECIFIED PNG NOT FOUND: #{title}.png not found at source " \
|
85
|
-
"as specified at (#{spec_root})."
|
93
|
+
pages << build_spec_page(site, dest, png_name_noext, data)
|
86
94
|
end
|
87
95
|
|
88
|
-
pages
|
96
|
+
[pages, not_found_items]
|
89
97
|
end
|
90
98
|
|
91
99
|
def build_spec_page(site, spec_root, png_name_noext, data)
|
@@ -103,17 +111,21 @@ module Builder
|
|
103
111
|
end
|
104
112
|
|
105
113
|
def build_spec_page_data(pngfile, spec_root, png_name, nav_item, spec_info)
|
114
|
+
data = fill_image_data(pngfile, spec_info, spec_root, png_name)
|
115
|
+
.merge(nav_item)
|
116
|
+
|
117
|
+
data["title"] = "#{spec_info['title']}: #{nav_item['title']}"
|
118
|
+
data["article_header_title"] = nav_item["title"].to_s
|
119
|
+
|
120
|
+
data
|
121
|
+
end
|
122
|
+
|
123
|
+
def fill_image_data(pngfile, spec_info, spec_root, png_name)
|
106
124
|
png_dimensions = FastImage.size(pngfile)
|
107
125
|
data = spec_info.data.clone
|
108
126
|
data["image_path"] = "/#{spec_root}/images/#{png_name}"
|
109
127
|
data["image_width"] = png_dimensions[0]
|
110
128
|
data["image_height"] = png_dimensions[1]
|
111
|
-
|
112
|
-
data = data.merge(nav_item)
|
113
|
-
|
114
|
-
data["title"] = "#{spec_info['title']}: #{nav_item['title']}"
|
115
|
-
data["article_header_title"] = nav_item["title"].to_s
|
116
|
-
|
117
129
|
data
|
118
130
|
end
|
119
131
|
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-theme-open-project-helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: fastimage
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.1.4
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.1.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: git
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,61 +39,90 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.4'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: jekyll
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '4.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '4.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '13.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '13.0'
|
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.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec-command
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.0'
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
98
|
name: rubocop
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|
72
100
|
requirements:
|
73
101
|
- - "~>"
|
74
102
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
103
|
+
version: 1.5.2
|
76
104
|
type: :development
|
77
105
|
prerelease: false
|
78
106
|
version_requirements: !ruby/object:Gem::Requirement
|
79
107
|
requirements:
|
80
108
|
- - "~>"
|
81
109
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
83
|
-
description:
|
110
|
+
version: 1.5.2
|
111
|
+
description:
|
84
112
|
email:
|
85
113
|
- open.source@ribose.com
|
86
114
|
executables: []
|
87
115
|
extensions: []
|
88
116
|
extra_rdoc_files: []
|
89
117
|
files:
|
118
|
+
- ".github/workflows/rake.yml"
|
119
|
+
- ".github/workflows/release.yml"
|
90
120
|
- ".gitignore"
|
91
121
|
- ".rubocop.yml"
|
92
122
|
- Gemfile
|
93
123
|
- LICENSE.txt
|
94
124
|
- README.md
|
95
125
|
- Rakefile
|
96
|
-
- develop/release
|
97
126
|
- jekyll-theme-open-project-helpers.gemspec
|
98
127
|
- lib/jekyll-theme-open-project-helpers.rb
|
99
128
|
- lib/jekyll-theme-open-project-helpers/blog_index.rb
|
@@ -108,7 +137,7 @@ homepage: https://github.com/riboseinc/jekyll-theme-open-project-helpers/
|
|
108
137
|
licenses:
|
109
138
|
- MIT
|
110
139
|
metadata: {}
|
111
|
-
post_install_message:
|
140
|
+
post_install_message:
|
112
141
|
rdoc_options: []
|
113
142
|
require_paths:
|
114
143
|
- lib
|
@@ -116,15 +145,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
116
145
|
requirements:
|
117
146
|
- - ">="
|
118
147
|
- !ruby/object:Gem::Version
|
119
|
-
version:
|
148
|
+
version: 2.5.0
|
120
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
150
|
requirements:
|
122
151
|
- - ">="
|
123
152
|
- !ruby/object:Gem::Version
|
124
153
|
version: '0'
|
125
154
|
requirements: []
|
126
|
-
rubygems_version: 3.0.3
|
127
|
-
signing_key:
|
155
|
+
rubygems_version: 3.0.3.1
|
156
|
+
signing_key:
|
128
157
|
specification_version: 4
|
129
158
|
summary: Helpers for the Open Project Jekyll theme
|
130
159
|
test_files: []
|
data/develop/release
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
# Tag and push a release.
|
3
|
-
|
4
|
-
set -e
|
5
|
-
|
6
|
-
# Make sure we're in the project root.
|
7
|
-
|
8
|
-
cd $(dirname "$0")/..
|
9
|
-
|
10
|
-
# Make sure the darn thing works? Meh.
|
11
|
-
# bundle update
|
12
|
-
|
13
|
-
# Build a new gem archive.
|
14
|
-
|
15
|
-
rm -rf jekyll-theme-open-project-helpers-*.gem
|
16
|
-
gem build -q jekyll-theme-open-project-helpers.gemspec
|
17
|
-
|
18
|
-
# Make sure we're on the master branch.
|
19
|
-
|
20
|
-
(git branch | grep -q 'master') || {
|
21
|
-
echo "Only release from the master branch."
|
22
|
-
exit 1
|
23
|
-
}
|
24
|
-
|
25
|
-
# Figure out what version we're releasing.
|
26
|
-
|
27
|
-
tag=v`ls jekyll-theme-open-project-helpers-*.gem | sed 's/^jekyll-theme-open-project-helpers-\(.*\)\.gem$/\1/'`
|
28
|
-
|
29
|
-
# Make sure we haven't released this version before.
|
30
|
-
|
31
|
-
git fetch -t origin
|
32
|
-
|
33
|
-
(git tag -l | grep -q "$tag") && {
|
34
|
-
echo "Whoops, there's already a '${tag}' tag."
|
35
|
-
exit 1
|
36
|
-
}
|
37
|
-
|
38
|
-
# Tag it and bag it.
|
39
|
-
|
40
|
-
gem push jekyll-theme-open-project-helpers-*.gem && git tag "$tag" &&
|
41
|
-
git push origin master && git push origin "$tag"
|