jekyll_flexible_include 2.0.27 → 2.0.29
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/.rubocop.yml +1 -1
- data/CHANGELOG.md +14 -0
- data/README.md +10 -9
- data/jekyll_flexible_include_plugin.gemspec +3 -1
- data/lib/flexible_include/version.rb +1 -1
- data/lib/flexible_include.rb +4 -1
- data/spec/{flexible_include_spec.rb → flexible_include/flexible_include_spec.rb} +8 -6
- data/spec/git_file_reader_spec.rb +1 -1
- data/spec/status_persistence.txt +8 -0
- metadata +38 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2232e1912080dc0efb93181db15ea44d82e34666e1b2a35f0ca30efb71133d85
|
|
4
|
+
data.tar.gz: 59bc09d732f17d23738757d0d3b3a86d861571d1c08bc4475b21359b101265f2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6dcf67360d05ae77803faed7c033770e8338e1b5f7dca2d56f10ed7109c275941e01699f33892ebc41f5ca19cf266cc40e036c5aef715978c1397f6938c16721
|
|
7
|
+
data.tar.gz: f667fba38d554f321bdbe14f49e3b41cadae38b906d32180d5b94ac19fad435734119ae1bb9061ce1c56cd59aa268516e8660015a28be469ba5cc1f201adbef1
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 2.0.29 / 2026-07-11
|
|
4
|
+
|
|
5
|
+
* Modified `bin/setup` to allow Rugged 1.9x which requires `libgpg-error-dev`
|
|
6
|
+
library under Ubuntu. `--with-ssh`. See
|
|
7
|
+
https://www.mslinn.com/git/4400-rugged.html for rugged installation
|
|
8
|
+
instructions.
|
|
9
|
+
|
|
10
|
+
## 2.0.28 / 2025-11-18
|
|
11
|
+
|
|
12
|
+
* Added new dependency, [`benchmark`](https://github.com/ruby/benchmark),
|
|
13
|
+
because it will no longer be automatically included starting from Ruby 3.5.0.
|
|
14
|
+
* Windows env vars are only parsed for the `file` parameter.
|
|
15
|
+
|
|
16
|
+
|
|
3
17
|
## 2.0.27 / 2025-09-25
|
|
4
18
|
|
|
5
19
|
* Handle evaluation of Windows-style env var on a non-Windows machine #16
|
data/README.md
CHANGED
|
@@ -168,19 +168,20 @@ time to enumerate the files.
|
|
|
168
168
|
|
|
169
169
|
## Restricting Arbitrary Processes
|
|
170
170
|
|
|
171
|
-
By default, `flexible_include` can execute any command.
|
|
172
|
-
|
|
173
|
-
|
|
171
|
+
By default, `flexible_include` can execute any command. You can disable that by
|
|
172
|
+
setting the environment variable `DISABLE_FLEXIBLE_INCLUDE` to any non-empty
|
|
173
|
+
value.
|
|
174
174
|
|
|
175
175
|
```shell
|
|
176
176
|
export DISABLE_FLEXIBLE_INCLUDE=true
|
|
177
177
|
```
|
|
178
178
|
|
|
179
|
-
If a potential command execution is intercepted,
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
179
|
+
If a potential command execution is intercepted, a big red message will appear
|
|
180
|
+
on the generated web page that says `Arbitrary command execution denied by
|
|
181
|
+
DISABLE_FLEXIBLE_INCLUDE value.`, and a red error message will be logged on the
|
|
182
|
+
console that says something like: `ERROR FlexibleInclude:
|
|
183
|
+
_posts/2020/2020-10-03-jekyll-plugins.html - Arbitrary command execution denied
|
|
184
|
+
by DISABLE_FLEXIBLE_INCLUDE value.`
|
|
184
185
|
|
|
185
186
|
|
|
186
187
|
## Installation
|
|
@@ -212,7 +213,7 @@ and a red error message will be logged on the console that says something like:
|
|
|
212
213
|
5. Install the `jekyll_flexible_include` Ruby gem and mark it as a dependency of your project:
|
|
213
214
|
|
|
214
215
|
```shell
|
|
215
|
-
$ bundle
|
|
216
|
+
$ bundle install
|
|
216
217
|
```
|
|
217
218
|
|
|
218
219
|
### CSS and Assets
|
|
@@ -35,8 +35,10 @@ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
|
|
|
35
35
|
spec.test_files = spec.files.grep(%r!^(test|spec|features)/!)
|
|
36
36
|
spec.version = JekyllFlexibleIncludePluginVersion::VERSION
|
|
37
37
|
|
|
38
|
+
spec.add_dependency 'benchmark' # no longer automatically included starting from Ruby 3.5.0
|
|
39
|
+
spec.add_dependency 'jekyll_draft'
|
|
38
40
|
spec.add_dependency 'jekyll_from_to_until', '>= 1.0.5'
|
|
39
41
|
spec.add_dependency 'jekyll_plugin_support', '>= 3.1.1'
|
|
40
|
-
spec.add_dependency 'jekyll-sass-converter', '
|
|
42
|
+
spec.add_dependency 'jekyll-sass-converter', '>=3.1.0'
|
|
41
43
|
spec.add_dependency 'rugged'
|
|
42
44
|
end
|
data/lib/flexible_include.rb
CHANGED
|
@@ -37,7 +37,10 @@ module FlexibleInclude
|
|
|
37
37
|
# Look for *nix version of @path if Windows expansion did not yield a file that exists
|
|
38
38
|
def render_impl
|
|
39
39
|
setup
|
|
40
|
-
|
|
40
|
+
# First expand bash environment variables ($VAR or ${VAR})
|
|
41
|
+
path = ::JekyllSupport::JekyllPluginHelper.env_var_expand_bash(@filename, @logger)
|
|
42
|
+
# Then expand Windows environment variables (%VAR%) for file paths
|
|
43
|
+
@path = ::JekyllSupport::JekyllPluginHelper.env_var_expand_windows(path, @logger)
|
|
41
44
|
linux_path = `wslpath '#{@path}' 2>/dev/null`.chomp
|
|
42
45
|
@path = linux_path if !File.exist?(@path) && File.exist?(linux_path)
|
|
43
46
|
handle_path_types
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
require 'jekyll_plugin_support'
|
|
2
|
-
require_relative '
|
|
2
|
+
require_relative '../../lib/flexible_include'
|
|
3
3
|
|
|
4
|
-
RSpec.describe(FlexibleInclude) do
|
|
5
|
-
it 'controls access to files' do
|
|
4
|
+
RSpec.describe(FlexibleInclude::FlexibleInclude) do
|
|
5
|
+
it 'controls access to files', skip: 'Uses old ParseContext which might be helpful' do
|
|
6
6
|
ENV['FLEXIBLE_INCLUDE_PATHS'] = '~/.*:spec/.*'
|
|
7
7
|
|
|
8
8
|
described_class.send(:new, 'my_tag', '', Liquid::ParseContext.new)
|
|
@@ -11,9 +11,11 @@ RSpec.describe(FlexibleInclude) do
|
|
|
11
11
|
|
|
12
12
|
expect(described_class.access_allowed('~/.mem_settings.yaml')).to be_truthy
|
|
13
13
|
|
|
14
|
-
home_file = JekyllPluginHelper.expand_env '$HOME/.mem_settings.yaml'
|
|
15
|
-
expect(described_class.access_allowed(home_file)).to be_truthy
|
|
16
|
-
|
|
17
14
|
expect(described_class.access_allowed('/asdf')).to be_falsey
|
|
18
15
|
end
|
|
16
|
+
|
|
17
|
+
it 'controls access to git content' do
|
|
18
|
+
home_file = JekyllSupport::JekyllPluginHelper.expand_env '$HOME/.mem_settings.yaml'
|
|
19
|
+
expect(described_class.access_allowed(home_file)).to be_truthy
|
|
20
|
+
end
|
|
19
21
|
end
|
|
@@ -2,7 +2,7 @@ require 'jekyll_plugin_support'
|
|
|
2
2
|
require_relative '../lib/git_file_reader'
|
|
3
3
|
|
|
4
4
|
RSpec.describe(GitFileReader) do
|
|
5
|
-
it 'reads a file at a tag' do
|
|
5
|
+
it 'reads a file at a tag', skip: 'unfinished' do
|
|
6
6
|
content = described_class.new('.').blob_at('v2.0.20', 'README.md').content
|
|
7
7
|
expect(content).to include('Added `highlight` regex option')
|
|
8
8
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
example_id | status | run_time |
|
|
2
|
+
----------------------------------------------------- | ------- | --------------- |
|
|
3
|
+
./spec/flexible_include/flexible_include_spec.rb[1:1] | pending | 0.00001 seconds |
|
|
4
|
+
./spec/flexible_include/flexible_include_spec.rb[1:2] | passed | 0.00125 seconds |
|
|
5
|
+
./spec/git_file_reader_spec.rb[1:1] | pending | 0.00006 seconds |
|
|
6
|
+
./spec/git_file_reader_spec.rb[1:2] | passed | 0.03572 seconds |
|
|
7
|
+
./spec/git_file_reader_spec.rb[1:3] | passed | 0.01804 seconds |
|
|
8
|
+
./spec/git_file_reader_spec.rb[1:4] | passed | 0.01657 seconds |
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jekyll_flexible_include
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.29
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Mike Slinn
|
|
@@ -11,6 +11,34 @@ bindir: exe
|
|
|
11
11
|
cert_chain: []
|
|
12
12
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: benchmark
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
requirements:
|
|
18
|
+
- - ">="
|
|
19
|
+
- !ruby/object:Gem::Version
|
|
20
|
+
version: '0'
|
|
21
|
+
type: :runtime
|
|
22
|
+
prerelease: false
|
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
24
|
+
requirements:
|
|
25
|
+
- - ">="
|
|
26
|
+
- !ruby/object:Gem::Version
|
|
27
|
+
version: '0'
|
|
28
|
+
- !ruby/object:Gem::Dependency
|
|
29
|
+
name: jekyll_draft
|
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
|
31
|
+
requirements:
|
|
32
|
+
- - ">="
|
|
33
|
+
- !ruby/object:Gem::Version
|
|
34
|
+
version: '0'
|
|
35
|
+
type: :runtime
|
|
36
|
+
prerelease: false
|
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
38
|
+
requirements:
|
|
39
|
+
- - ">="
|
|
40
|
+
- !ruby/object:Gem::Version
|
|
41
|
+
version: '0'
|
|
14
42
|
- !ruby/object:Gem::Dependency
|
|
15
43
|
name: jekyll_from_to_until
|
|
16
44
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -43,16 +71,16 @@ dependencies:
|
|
|
43
71
|
name: jekyll-sass-converter
|
|
44
72
|
requirement: !ruby/object:Gem::Requirement
|
|
45
73
|
requirements:
|
|
46
|
-
- -
|
|
74
|
+
- - ">="
|
|
47
75
|
- !ruby/object:Gem::Version
|
|
48
|
-
version:
|
|
76
|
+
version: 3.1.0
|
|
49
77
|
type: :runtime
|
|
50
78
|
prerelease: false
|
|
51
79
|
version_requirements: !ruby/object:Gem::Requirement
|
|
52
80
|
requirements:
|
|
53
|
-
- -
|
|
81
|
+
- - ">="
|
|
54
82
|
- !ruby/object:Gem::Version
|
|
55
|
-
version:
|
|
83
|
+
version: 3.1.0
|
|
56
84
|
- !ruby/object:Gem::Dependency
|
|
57
85
|
name: rugged
|
|
58
86
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -89,9 +117,10 @@ files:
|
|
|
89
117
|
- lib/flexible_include_class.rb
|
|
90
118
|
- lib/flexible_include_private_methods.rb
|
|
91
119
|
- lib/git_file_reader.rb
|
|
92
|
-
- spec/flexible_include_spec.rb
|
|
120
|
+
- spec/flexible_include/flexible_include_spec.rb
|
|
93
121
|
- spec/git_file_reader_spec.rb
|
|
94
122
|
- spec/spec_helper.rb
|
|
123
|
+
- spec/status_persistence.txt
|
|
95
124
|
homepage: https://www.mslinn.com/jekyll_plugins/jekyll_flexible_include.html
|
|
96
125
|
licenses:
|
|
97
126
|
- MIT
|
|
@@ -119,12 +148,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
119
148
|
- !ruby/object:Gem::Version
|
|
120
149
|
version: '0'
|
|
121
150
|
requirements: []
|
|
122
|
-
rubygems_version:
|
|
151
|
+
rubygems_version: 4.0.19
|
|
123
152
|
specification_version: 4
|
|
124
153
|
summary: Jekyll plugin supports various ways to include content into the generated
|
|
125
154
|
site.
|
|
126
155
|
test_files:
|
|
127
|
-
- spec/flexible_include_spec.rb
|
|
156
|
+
- spec/flexible_include/flexible_include_spec.rb
|
|
128
157
|
- spec/git_file_reader_spec.rb
|
|
129
158
|
- spec/spec_helper.rb
|
|
159
|
+
- spec/status_persistence.txt
|
|
130
160
|
...
|