asciidoctor-reducer 1.0.5 → 1.0.6
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.adoc +12 -2
- data/README.adoc +11 -6
- data/asciidoctor-reducer.gemspec +2 -2
- data/lib/asciidoctor/reducer/conditional_directive_tracker.rb +5 -5
- data/lib/asciidoctor/reducer/include_directive_tracker.rb +2 -2
- data/lib/asciidoctor/reducer/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '0315811ef24fa88a755aa6973e86aca45929a43416020d2f82afa7ef1e664fd9'
|
4
|
+
data.tar.gz: 745ee8bc00aba042843abb05bb22a8ad93a50dc9de7090bd946c82b3333b19d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0eca70526db73201588d3b9154207b7ec1bdf30f41c8799ee6a88a36091e4906b4ce00ef183939be46c3ed8cd78778119e206585e01648fa20eff48c16cd6e9
|
7
|
+
data.tar.gz: 3c97e30588293c5e599cf26d6dff4b142936582bf8544f9d6f577a5ae6a000e1b4e1a835fd33dbaa22f044c863f51e827aa42f56ab6d758a1acf3b5485bc938d
|
data/CHANGELOG.adoc
CHANGED
@@ -4,11 +4,21 @@
|
|
4
4
|
This document provides a curated view of the changes to Asciidoctor Reducer in each release.
|
5
5
|
For a detailed view of what has changed, refer to the {url-repo}/commits/main[commit history] on GitHub.
|
6
6
|
|
7
|
+
== 1.0.6 (2024-02-12) - @mojavelinux
|
8
|
+
|
9
|
+
=== Fixed
|
10
|
+
|
11
|
+
* Reduce single line conditionals inside file included by include directive with `leveloffset` attribute (#53)
|
12
|
+
|
13
|
+
=== Details
|
14
|
+
|
15
|
+
{url-repo}/releases/tag/v1.0.6[git tag] | {url-repo}/compare/v1.0.5\...v1.0.6[full diff]
|
16
|
+
|
7
17
|
== 1.0.5 (2022-10-15) - @mojavelinux
|
8
18
|
|
9
19
|
=== Changed
|
10
20
|
|
11
|
-
*
|
21
|
+
* Insert `role=include` into link macro that replaces include directive more carefully
|
12
22
|
|
13
23
|
=== Details
|
14
24
|
|
@@ -18,7 +28,7 @@ For a detailed view of what has changed, refer to the {url-repo}/commits/main[co
|
|
18
28
|
|
19
29
|
=== Changed
|
20
30
|
|
21
|
-
*
|
31
|
+
* Don't add role to link that replaces include directive if role is already present
|
22
32
|
|
23
33
|
=== Details
|
24
34
|
|
data/README.adoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= {project-name}
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>
|
3
|
-
v1.0.
|
3
|
+
v1.0.6, 2024-02-12
|
4
4
|
:idprefix:
|
5
5
|
:idseparator: -
|
6
6
|
ifndef::env-github[:icons: font]
|
@@ -83,6 +83,10 @@ Thus, to use the command, pass the AsciiDoc file as the sole argument:
|
|
83
83
|
|
84
84
|
$ asciidoctor-reducer input.adoc
|
85
85
|
|
86
|
+
If you only want AsciiDoctor Reducer to process include directives, leaving preprocessor conditional directives untouched, add the `--preserve-conditionals` option:
|
87
|
+
|
88
|
+
$ asciidoctor-reducer --preserve-conditionals input.adoc
|
89
|
+
|
86
90
|
By default, the command will output the reduced AsciiDoc document to the terminal (via stdout).
|
87
91
|
To write the output to a file, specify an output file using the `-o` option:
|
88
92
|
|
@@ -217,7 +221,7 @@ To use the include mapper when using the API, first require the extension:
|
|
217
221
|
|
218
222
|
[,ruby]
|
219
223
|
----
|
220
|
-
require '
|
224
|
+
require 'asciidoctor/reducer/include_mapper/extension'
|
221
225
|
----
|
222
226
|
|
223
227
|
You then need to register the extension when reducing the document:
|
@@ -243,7 +247,7 @@ You can also register the extension globally:
|
|
243
247
|
|
244
248
|
[,ruby]
|
245
249
|
----
|
246
|
-
require '
|
250
|
+
require 'asciidoctor/reducer/include_mapper'
|
247
251
|
----
|
248
252
|
|
249
253
|
In this case, you don't have to pass it to the API explicitly.
|
@@ -284,10 +288,11 @@ jobs:
|
|
284
288
|
runs-on: ubuntu-latest
|
285
289
|
steps:
|
286
290
|
- name: Checkout Repository
|
287
|
-
uses: actions/checkout@
|
291
|
+
uses: actions/checkout@v3
|
288
292
|
- name: Install Asciidoctor Reducer
|
289
293
|
run: sudo gem install asciidoctor-reducer
|
290
294
|
- name: Reduce README
|
295
|
+
# to preserve preprocessor conditionals, add the --preserve-conditionals option
|
291
296
|
run: asciidoctor-reducer -o README.adoc README-source.adoc
|
292
297
|
- name: Commit and Push README
|
293
298
|
uses: EndBug/add-and-commit@v9
|
@@ -335,7 +340,7 @@ The tests are based on RSpec.
|
|
335
340
|
|
336
341
|
You can run all of the tests using Rake:
|
337
342
|
|
338
|
-
$ bundle exec spec
|
343
|
+
$ bundle exec rake spec
|
339
344
|
|
340
345
|
For more fine-grained control, you can also run the tests directly using RSpec:
|
341
346
|
|
@@ -376,7 +381,7 @@ RSpec will only run the specifications that have a description containing the te
|
|
376
381
|
|
377
382
|
To generate a code coverage report when running tests using simplecov, set the `COVERAGE` environment variable as follows when running the tests:
|
378
383
|
|
379
|
-
$ COVERAGE=deep bundle exec rake
|
384
|
+
$ COVERAGE=deep bundle exec rake spec
|
380
385
|
|
381
386
|
You'll see a total coverage score, a detailed coverage report, and a link to HTML report in the output.
|
382
387
|
The HTML report helps you understand which lines and branches were missed, if any.
|
data/asciidoctor-reducer.gemspec
CHANGED
@@ -34,6 +34,6 @@ Gem::Specification.new do |s|
|
|
34
34
|
|
35
35
|
s.add_runtime_dependency 'asciidoctor', '~> 2.0'
|
36
36
|
|
37
|
-
s.add_development_dependency 'rake', '~> 13.
|
38
|
-
s.add_development_dependency 'rspec', '~> 3.
|
37
|
+
s.add_development_dependency 'rake', '~> 13.1.0'
|
38
|
+
s.add_development_dependency 'rspec', '~> 3.13.0'
|
39
39
|
end
|
@@ -10,17 +10,17 @@ module Asciidoctor::Reducer
|
|
10
10
|
return result if @skipping && skip_active
|
11
11
|
curr_inc_replacement = @include_replacements.current
|
12
12
|
drop = curr_inc_replacement[:drop] ||= []
|
13
|
-
directive_lineno
|
13
|
+
adjusted_directive_lineno = directive_lineno - (curr_inc_replacement[:offset] ||= 0)
|
14
14
|
if (depth_change = @conditional_stack.size - depth) < 0
|
15
15
|
if skip_active
|
16
|
-
drop.push(*(drop.pop..
|
16
|
+
drop.push(*(drop.pop..adjusted_directive_lineno))
|
17
17
|
else
|
18
|
-
drop <<
|
18
|
+
drop << adjusted_directive_lineno
|
19
19
|
end
|
20
20
|
elsif depth_change > 0 || directive_lineno == @lineno
|
21
|
-
drop <<
|
21
|
+
drop << adjusted_directive_lineno
|
22
22
|
else
|
23
|
-
drop << [
|
23
|
+
drop << [adjusted_directive_lineno, text]
|
24
24
|
end
|
25
25
|
result
|
26
26
|
end
|
@@ -38,13 +38,13 @@ module Asciidoctor::Reducer
|
|
38
38
|
result
|
39
39
|
end
|
40
40
|
|
41
|
+
private
|
42
|
+
|
41
43
|
def pop_include
|
42
44
|
@include_replacements.up unless @x_reducer[:include_pushed]
|
43
45
|
super
|
44
46
|
end
|
45
47
|
|
46
|
-
private
|
47
|
-
|
48
48
|
def push_include_replacement lineno, lines, offset, unresolved = false
|
49
49
|
(inc_replacements = @include_replacements) << {
|
50
50
|
into: inc_replacements.pointer,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asciidoctor-reducer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Allen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-02-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciidoctor
|
@@ -30,28 +30,28 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 13.
|
33
|
+
version: 13.1.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 13.
|
40
|
+
version: 13.1.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 3.
|
47
|
+
version: 3.13.0
|
48
48
|
type: :development
|
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: 3.
|
54
|
+
version: 3.13.0
|
55
55
|
description: A tool that reduces an AsciiDoc document containing preprocessor directives
|
56
56
|
(includes and conditionals) to a single AsciiDoc document by expanding all includes
|
57
57
|
and evaluating all conditionals.
|
@@ -101,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '0'
|
103
103
|
requirements: []
|
104
|
-
rubygems_version: 3.3.
|
104
|
+
rubygems_version: 3.3.26
|
105
105
|
signing_key:
|
106
106
|
specification_version: 4
|
107
107
|
summary: Reduces an AsciiDoc document containing includes and conditionals to a single
|