metanorma-standoc 3.0.10 → 3.0.11

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: db6d5e84280a719a76127b82021c52b54a140d3238f49ee7a5ac7c972d142e37
4
- data.tar.gz: a0b7796f74365c18f35d05b27bffc7fbb369def03e1d29753ddeb7adbc9bef86
3
+ metadata.gz: 14dd3592a7b0cac4d375b01632ea94aee5912282ef0507d4303de2b864dd34f4
4
+ data.tar.gz: 74e246856bdc1b864967479d91432f8b4a264a3e85bf887da7233560e9218441
5
5
  SHA512:
6
- metadata.gz: f6991e701daa845955fc12f72f602eab1947ff397ecad2e8514e3ec9a9b04fdfa68fa0e6d946b3a8d53ae6d1feb8fcb78ff81f5d71e17ffa580157cda891ccde
7
- data.tar.gz: d9025688e127d12e7103537af3d8d6f50b8d1c6a67eff352a365a0ebcb67acb7d976bbfb391dd30980df56b193bf3a56c99d98db6f326e4ede057cc29b3bf935
6
+ metadata.gz: a27bb5c03d733d0506afef9938d718b57dd40759a53ee20b919abb63d088d732981f31f0674c58f4c3cbf573e59896aa3e389554420449794bd4ea9ba99c3381
7
+ data.tar.gz: e5f67c683462e63239c12e39abdf7a5c7dfd6f33b9ad146535ba57150fc69a50b9a9af6864cb1f8ec8876ff354d77bc6b927418fc2b11dd8cbc3859c48a3dc32
@@ -159,11 +159,25 @@ module Metanorma
159
159
  end
160
160
  end
161
161
 
162
+ # Asciidoc macro, e.g. span:publisher[...
163
+ ADOC_MACRO_START = '\S+:[^\[\] ]*\['.freeze
164
+
165
+ # Replace {{ ... }} with {{ pass:[...]}} to preserve any XML markup
166
+ # use pass:[...\] if {{}} is already inside an Asciidoc macro
162
167
  def boilerplate_read(file)
168
+ in_macro = false
163
169
  ret = File.read(file, encoding: "UTF-8")
164
- /\.adoc$/.match?(file) and
165
- ret.gsub!(/(?<!\{)(\{\{[^{}]+\}\})(?!\})/, "pass:[\\1]")
166
- ret
170
+ /\.adoc$/.match?(file) or return ret
171
+ ret.split(/(#{ADOC_MACRO_START}|\])/o).map do |r|
172
+ if /^#{ADOC_MACRO_START}$/o.match?(r)
173
+ in_macro = true
174
+ r
175
+ else
176
+ delim = in_macro ? '\]' : "]"
177
+ in_macro = false
178
+ r.gsub(/(?<!\{)(\{\{[^{}]+\}\})(?!\})/, "pass:[\\1#{delim}")
179
+ end
180
+ end.join
167
181
  end
168
182
 
169
183
  # If Asciidoctor, convert top clauses to tags and wrap in <boilerplate>
@@ -19,6 +19,6 @@ module Metanorma
19
19
  end
20
20
 
21
21
  module Standoc
22
- VERSION = "3.0.10".freeze
22
+ VERSION = "3.0.11".freeze
23
23
  end
24
24
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-standoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.10
4
+ version: 3.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.