asciidoctor-rhrev 1.0.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 +7 -0
- data/LICENSE +25 -0
- data/README.adoc +136 -0
- data/USAGE.adoc +653 -0
- data/lib/asciidoctor/rhrev/catalog.rb +92 -0
- data/lib/asciidoctor/rhrev/converter.rb +437 -0
- data/lib/asciidoctor/rhrev/exporter.rb +242 -0
- data/lib/asciidoctor/rhrev/helpers.rb +117 -0
- data/lib/asciidoctor/rhrev/processors.rb +48 -0
- data/lib/asciidoctor/rhrev/renderer.rb +697 -0
- data/lib/asciidoctor/rhrev/rhrev_html.rb +334 -0
- data/lib/asciidoctor/rhrev/rhrev_pdf.rb +7 -0
- data/lib/asciidoctor/rhrev.rb +34 -0
- data/lib/asciidoctor-rhrev.rb +3 -0
- metadata +69 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 7a1ad3cb27fbce5f7a4295c90d2f069407d993230f89e14d6d05e4f34f3d6302
|
|
4
|
+
data.tar.gz: 9129908c97d9da8ad0b16028e92e722103db4a865504e357c1c28748eadadbc0
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 95a202f0e4560c9ce5eb51de3bd53325c44ae41d820c40db2b791ed6438f797f121cc143559ee3ab564b88006156e4724ad6730d9680a95cee464f24885280d6
|
|
7
|
+
data.tar.gz: d47b9bf8163523403bf7a41a2c52765eaafcf33b41e33a7737a2801234382b80e13ec9c646ea35dc6ce05bddd3b5afe4cd900a96e50d0d7f8bb13500bd178823
|
data/LICENSE
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
This project includes code from Asciidoctor PDF by OpenDevise Inc. and the Asciidoctor Project,
|
|
5
|
+
licensed under the MIT License:
|
|
6
|
+
|
|
7
|
+
Copyright (c) 2025 白一百 baiyibai
|
|
8
|
+
|
|
9
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
10
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
11
|
+
in the Software without restriction, including without limitation the rights
|
|
12
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
14
|
+
furnished to do so, subject to the following conditions:
|
|
15
|
+
|
|
16
|
+
The above copyright notice and this permission notice shall be included in all
|
|
17
|
+
copies or substantial portions of the Software.
|
|
18
|
+
|
|
19
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
25
|
+
SOFTWARE.
|
data/README.adoc
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
= rhrev - Asciidoctor PDF Revision History Extension
|
|
2
|
+
|
|
3
|
+
rhrev is a comprehensive revision history tracking system for the AsciiDoc and Antora ecosystems which automatically creates a grouped, formatted table of document changes.
|
|
4
|
+
|
|
5
|
+
It supports several converters/backends:
|
|
6
|
+
|
|
7
|
+
* asciidoctor-pdf
|
|
8
|
+
+
|
|
9
|
+
image::resources/ruby-pdf-output.png[width=50%]
|
|
10
|
+
+
|
|
11
|
+
xref:./tests/block/test-block-ordering-comprehensive.pdf[Comprehensive Block Ordering Test]
|
|
12
|
+
* asciidoctor
|
|
13
|
+
+
|
|
14
|
+
image::resources/ruby-html5-output.png[width=50%]
|
|
15
|
+
+
|
|
16
|
+
* Antora
|
|
17
|
+
+
|
|
18
|
+
image::resources/nodejs-html5-output.png[width=50%]
|
|
19
|
+
+
|
|
20
|
+
* Antora-Assembler to asciidoctor-pdf
|
|
21
|
+
|
|
22
|
+
== Features
|
|
23
|
+
|
|
24
|
+
* *Automatic revision tracking* with version-based grouping
|
|
25
|
+
* *Dynamic version labels* using `:version-label:` attribute
|
|
26
|
+
* *Localization support* for multiple languages
|
|
27
|
+
* *Export to AsciiDoc* for inclusion in other documents
|
|
28
|
+
* *Flexible placement* (auto or manual via macro)
|
|
29
|
+
* *Extensive customization* options for styling and formatting
|
|
30
|
+
* [PDF] *Clickable page references* that link to actual document locations
|
|
31
|
+
* [PDF] *Flexible xrefstyle support* (full, short, basic) for all block types
|
|
32
|
+
* [PDF] *Custom captions* for Examples, Tables, Listings, and Figures
|
|
33
|
+
* *FAST*
|
|
34
|
+
|
|
35
|
+
== Inspiration
|
|
36
|
+
|
|
37
|
+
This extension draws inspiration from:
|
|
38
|
+
|
|
39
|
+
* **DITA-like automatic revision histories** - Darwin Information Typing Architecture (DITA) provides automatic change tracking and revision metadata management in technical documentation systems
|
|
40
|
+
* **LaTeX revision tracking tools** - LaTeX packages like `changes`, `trackchanges`, and custom revision history macros that automate change documentation in academic and technical publications
|
|
41
|
+
* **Document management systems** - Enterprise documentation platforms that maintain automatic audit trails and change histories
|
|
42
|
+
|
|
43
|
+
The goal was to bring similar automated revision tracking capabilities to the Asciidoctor ecosystem, with the added benefit of clickable page references and flexible customization options tailored for PDF technical documentation.
|
|
44
|
+
|
|
45
|
+
== Quick Start
|
|
46
|
+
|
|
47
|
+
=== Installation
|
|
48
|
+
|
|
49
|
+
The asciidoctor-pdf-rhrev extension is available as a Ruby Gem.
|
|
50
|
+
|
|
51
|
+
https://rubygems.org/gems/asciidoctor-pdf-rhrev[^]
|
|
52
|
+
|
|
53
|
+
Complete these steps to use:
|
|
54
|
+
|
|
55
|
+
. Install the required Gems:
|
|
56
|
+
+
|
|
57
|
+
[source,bash]
|
|
58
|
+
----
|
|
59
|
+
gem install asciidoctor
|
|
60
|
+
gem install asciidoctor-pdf
|
|
61
|
+
gem install asciidoctor-pdf-rhrev
|
|
62
|
+
----
|
|
63
|
+
+
|
|
64
|
+
. Render your document:
|
|
65
|
+
+
|
|
66
|
+
[source,bash]
|
|
67
|
+
----
|
|
68
|
+
asciidoctor-pdf -r asciidoctor-pdf-rhrev document.adoc
|
|
69
|
+
----
|
|
70
|
+
|
|
71
|
+
=== Basic Usage
|
|
72
|
+
|
|
73
|
+
[source,asciidoc]
|
|
74
|
+
----
|
|
75
|
+
= My Document
|
|
76
|
+
:doctype: book
|
|
77
|
+
:revnumber: 1.1
|
|
78
|
+
:rhrev:
|
|
79
|
+
:version-label: Version
|
|
80
|
+
// 1.0 Metadata
|
|
81
|
+
:1-1-prevrev: 1.0
|
|
82
|
+
:1-1-prevrevdate: 2024-02-01
|
|
83
|
+
:rhrev1-1-all: Feature update
|
|
84
|
+
|
|
85
|
+
[rhrev1-1="Updated introduction"]
|
|
86
|
+
== Introduction
|
|
87
|
+
|
|
88
|
+
Content here...
|
|
89
|
+
----
|
|
90
|
+
|
|
91
|
+
== Documentation
|
|
92
|
+
|
|
93
|
+
See link:USAGE.adoc[] for complete documentation including:
|
|
94
|
+
|
|
95
|
+
* Configuration options
|
|
96
|
+
* Advanced features
|
|
97
|
+
* Localization
|
|
98
|
+
* Export functionality
|
|
99
|
+
* xrefstyle support
|
|
100
|
+
* Examples and use cases
|
|
101
|
+
|
|
102
|
+
== Testing
|
|
103
|
+
|
|
104
|
+
Run the test suite:
|
|
105
|
+
|
|
106
|
+
[source,bash]
|
|
107
|
+
----
|
|
108
|
+
./run-tests.sh
|
|
109
|
+
----
|
|
110
|
+
|
|
111
|
+
This will generate PDFs for all test cases in the `tests/` directory.
|
|
112
|
+
|
|
113
|
+
=== Ruby GEM Build Instructions (for 白一百 baiyibai)
|
|
114
|
+
|
|
115
|
+
[source,bash]
|
|
116
|
+
----
|
|
117
|
+
gem build asciidoctor-pdf-rhrev.gemspec
|
|
118
|
+
gem install ./asciidoctor-pdf-rhrev-1.0.0.gem
|
|
119
|
+
----
|
|
120
|
+
|
|
121
|
+
== License
|
|
122
|
+
|
|
123
|
+
MIT License. See the link:LICENSE[] file for details.
|
|
124
|
+
|
|
125
|
+
== Contributing
|
|
126
|
+
|
|
127
|
+
Contributions welcome! Please ensure all tests pass before submitting changes.
|
|
128
|
+
|
|
129
|
+
== Copyright
|
|
130
|
+
|
|
131
|
+
Copyright (C) 2025-present 白一百 baiyibai
|
|
132
|
+
|
|
133
|
+
* The image _The «Public Domain Mark» icon from Creative Commons with transparent background._ is in the public domain and taken from: +
|
|
134
|
+
https://commons.wikimedia.org/wiki/File:Cc-public_domain_mark.svg[^]
|
|
135
|
+
|
|
136
|
+
For the full text of the license, see the link:LICENSE[] file.
|