asciidoctor-reducer 1.0.2 → 1.0.4
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '093396b7e8100e4c3c7ee3a3aadfea734195bee629fe5284c2dc7e09d6a270d7'
|
4
|
+
data.tar.gz: d216e0f827b3c0eeb5f80f130ef0d8200567f14babda2f42b65fb141f465d842
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b2d405cce7f61beae5ed35f4247892ee321bdb4efbba0c49faa325560503be3bb68d828e2018df686e95c0ddf576436c625d3b81dc87847e8ccce6642d3ecc92
|
7
|
+
data.tar.gz: 4454a1023fbba097f8b8227de6d0c594f215a77cc6f57d71f423141c9594f07e6fee8635e8ef61939f6551a0f6062639dc39c52a197de5b162f9300b9cc3844a
|
data/CHANGELOG.adoc
CHANGED
@@ -4,6 +4,30 @@
|
|
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.4 (2022-10-15) - @mojavelinux
|
8
|
+
|
9
|
+
=== Changed
|
10
|
+
|
11
|
+
* don't add role to link that replaces include directive if role is already present
|
12
|
+
|
13
|
+
=== Details
|
14
|
+
|
15
|
+
{url-repo}/releases/tag/v1.0.4[git tag] | {url-repo}/compare/v1.0.3\...v1.0.4[full diff]
|
16
|
+
|
17
|
+
== 1.0.3 (2022-09-22) - @mojavelinux
|
18
|
+
|
19
|
+
=== Changed
|
20
|
+
|
21
|
+
* Log error message if program cannot locate include directive to reduce (indicates a probable logic error in the program)
|
22
|
+
|
23
|
+
=== Fixed
|
24
|
+
|
25
|
+
* Reduce preprocessor directives in file included by include directive with `leveloffset` attribute (#45)
|
26
|
+
|
27
|
+
=== Details
|
28
|
+
|
29
|
+
{url-repo}/releases/tag/v1.0.3[git tag] | {url-repo}/compare/v1.0.2\...v1.0.3[full diff]
|
30
|
+
|
7
31
|
== 1.0.2 (2022-05-09) - @mojavelinux
|
8
32
|
|
9
33
|
=== Fixed
|
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.4, 2022-10-15
|
4
4
|
:idprefix:
|
5
5
|
:idseparator: -
|
6
6
|
ifndef::env-github[:icons: font]
|
@@ -260,6 +260,45 @@ Here's an example of that comment:
|
|
260
260
|
|
261
261
|
When a document that contains the magic comment is converted, the include mapper reads the comma-separated paths in the value and loads them into the includes table of the document catalog.
|
262
262
|
|
263
|
+
== Reduce files in a GitHub repository
|
264
|
+
|
265
|
+
It's well known that the AsciiDoc preview on GitHub does not support the include directive.
|
266
|
+
With the help of GitHub Actions, Asciidoctor Reducer is ready-made to solve this problem.
|
267
|
+
|
268
|
+
In order to set up this automated process, you need to first rename the source file to make room for the reduced file.
|
269
|
+
Let's call the source file [.path]_README-source.adoc_ and the reduced file [.path]_README.adoc_.
|
270
|
+
|
271
|
+
Next, create a GitHub Actions workflow file named [.path]_.github/workflows/reduce-readme.yml_ and populate it with the following contents:
|
272
|
+
|
273
|
+
..github/workflows/reduce-readme.yml
|
274
|
+
[,yaml]
|
275
|
+
----
|
276
|
+
name: Reduce README
|
277
|
+
on:
|
278
|
+
push:
|
279
|
+
paths:
|
280
|
+
- README-source.adoc
|
281
|
+
branches: ['**']
|
282
|
+
jobs:
|
283
|
+
build:
|
284
|
+
runs-on: ubuntu-latest
|
285
|
+
steps:
|
286
|
+
- name: Checkout Repository
|
287
|
+
uses: actions/checkout@v2
|
288
|
+
- name: Install Asciidoctor Reducer
|
289
|
+
run: sudo gem install asciidoctor-reducer
|
290
|
+
- name: Reduce README
|
291
|
+
run: asciidoctor-reducer -o README.adoc README-source.adoc
|
292
|
+
- name: Commit and Push README
|
293
|
+
uses: EndBug/add-and-commit@v9
|
294
|
+
with:
|
295
|
+
add: README.adoc
|
296
|
+
----
|
297
|
+
|
298
|
+
Now, each time you modify, commit, and push the [.path]_README-source.adoc_ file, the GitHub Action workflow will run, reduce that file, and push the reduced file back to the repository as [.path]_README.adoc_.
|
299
|
+
|
300
|
+
If you want to trigger the workflow on changes to other files as well, add those paths or path patterns to the value of the `paths` key.
|
301
|
+
|
263
302
|
== Development
|
264
303
|
|
265
304
|
Follow the instructions below to learn how to help develop the project or test-drive the development version.
|
data/asciidoctor-reducer.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.metadata = {
|
19
19
|
'bug_tracker_uri' => 'https://github.com/asciidoctor/asciidoctor-reducer/issues',
|
20
20
|
'changelog_uri' => 'https://github.com/asciidoctor/asciidoctor-reducer/blob/main/CHANGELOG.adoc',
|
21
|
-
'mailing_list_uri' => 'https://asciidoctor.
|
21
|
+
'mailing_list_uri' => 'https://chat.asciidoctor.org',
|
22
22
|
'source_code_uri' => 'https://github.com/asciidoctor/asciidoctor-reducer'
|
23
23
|
}
|
24
24
|
|
@@ -15,8 +15,8 @@ module Asciidoctor::Reducer
|
|
15
15
|
result = super
|
16
16
|
unless @x_reducer[:include_pushed]
|
17
17
|
if ((ln = peek_line true)&.end_with? ']') && !(unresolved = ln.start_with? 'Unresolved directive in ') &&
|
18
|
-
directive_lineno == @lineno && (unresolved = ln.start_with? 'link:')
|
19
|
-
ln = %(#{ln.
|
18
|
+
directive_lineno == @lineno && (unresolved = ln.start_with? 'link:') && (ln.end_with? '[]')
|
19
|
+
ln = %(#{ln.chop}role=include])
|
20
20
|
end
|
21
21
|
push_include_replacement directive_lineno, (unresolved ? [ln] : []), 0, unresolved
|
22
22
|
end
|
@@ -30,7 +30,11 @@ module Asciidoctor::Reducer
|
|
30
30
|
prev_inc_depth = @include_stack.size
|
31
31
|
offset = lineno > 1 ? lineno - 1 : 0
|
32
32
|
result = super
|
33
|
-
|
33
|
+
if @include_stack.size > prev_inc_depth
|
34
|
+
inc_lines = lines
|
35
|
+
offset -= 2 if (attrs.key? 'leveloffset') && (inc_lines[0].start_with? ':leveloffset: ') && inc_lines[1]&.empty?
|
36
|
+
end
|
37
|
+
push_include_replacement directive_lineno, inc_lines || [], offset
|
34
38
|
result
|
35
39
|
end
|
36
40
|
|
@@ -8,8 +8,12 @@ module Asciidoctor::Reducer
|
|
8
8
|
inc_replacements.reverse_each do |it|
|
9
9
|
if (into = it[:into])
|
10
10
|
target_lines = inc_replacements[into][:lines]
|
11
|
-
# adds extra assurance that
|
12
|
-
|
11
|
+
# adds extra assurance that the program is replacing the correct line
|
12
|
+
unless target_lines[(idx = it[:lineno] - 1)] == it[:line]
|
13
|
+
msg = %(include directive to reduce not found; expected: "#{it[:line]}"; got: "#{target_lines[idx]}")
|
14
|
+
doc.logger.error msg
|
15
|
+
next
|
16
|
+
end
|
13
17
|
end
|
14
18
|
lines = it[:lines]
|
15
19
|
unless (drop = it[:drop] || []).empty?
|
@@ -21,7 +25,7 @@ module Asciidoctor::Reducer
|
|
21
25
|
end
|
22
26
|
reduced_source_lines = inc_replacements[0][:lines].flatten
|
23
27
|
if doc.sourcemap
|
24
|
-
logger =
|
28
|
+
logger = doc.logger
|
25
29
|
opts = doc.options.merge logger: nil, parse: false, reduced: true
|
26
30
|
if (ext_reg = opts[:extension_registry])
|
27
31
|
opts[:extension_registry] = ::Asciidoctor::Extensions::Registry.new ext_reg.groups
|
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.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Allen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciidoctor
|
@@ -84,7 +84,7 @@ licenses:
|
|
84
84
|
metadata:
|
85
85
|
bug_tracker_uri: https://github.com/asciidoctor/asciidoctor-reducer/issues
|
86
86
|
changelog_uri: https://github.com/asciidoctor/asciidoctor-reducer/blob/main/CHANGELOG.adoc
|
87
|
-
mailing_list_uri: https://asciidoctor.
|
87
|
+
mailing_list_uri: https://chat.asciidoctor.org
|
88
88
|
source_code_uri: https://github.com/asciidoctor/asciidoctor-reducer
|
89
89
|
post_install_message:
|
90
90
|
rdoc_options: []
|