metanorma-utils 2.0.4 → 2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '08e109b461c39ca50dbe0e2a52e317fb13b3f0d72d21d6c12267746d12242b09'
4
- data.tar.gz: 4c5bef6576c220e20ad3534ba9799f8d6abd32ed325d2e242e0acb6d15204ae3
3
+ metadata.gz: 2ba13d12cdc0421664ce3a07f0dfc8497ddb6cd05b7dbc203dc7896d2a049c60
4
+ data.tar.gz: ee9dc6b06e383c2025d90a470c31fda4526a2154ae9d9dc25c4a31db5e5fbc5a
5
5
  SHA512:
6
- metadata.gz: 374cd4854b5e7608cc9598053190a4360e35437e498a2d827df099836d77edb6867026b40bff9a51af564843a5a6a6d5e2d3a51ee05f7b89622495bebf595d80
7
- data.tar.gz: 1ef6db4051e3c4ed04d786cb7a3f6b2ec0617e0378e8f235bba7d05f055b0852604cf48e4053c0180755bf2f3f7cc7557553bf9d8dff9945ce8a93e4f30215dd
6
+ metadata.gz: edd878759f2ef1cff4a29a50e4118845e306d0695f9d4e18bd1c027b5d4597c0f37b3c77f3ba7d781345600811f4676f3a69046f396455dfc21983ab2ab01fee
7
+ data.tar.gz: 5bc3df2a20a1eaf16544c58ad52f07a6da3cbbc9340d59850b6eeca20c9aa64bde93512d134b2e87545f9325229670c21797cef15a452be51360bcb7ff98dca6
data/lib/utils/anchor.rb CHANGED
@@ -119,10 +119,12 @@ module Metanorma
119
119
  def anchor_attributes(presxml: false)
120
120
  ret = [%w(annotation from), %w(annotation to), %w(callout target),
121
121
  %w(xref to), %w(eref bibitemid), %w(citation bibitemid),
122
+ %w(origin bibitemid),
122
123
  %w(xref target), %w(label for), %w(location target),
123
124
  %w(index to), %w(termsource bibitemid), %w(admonition target)]
124
125
  ret1 = [%w(fn target), %w(semx source), %w(fmt-title source),
125
126
  %w(fmt-xref to), %w(fmt-xref target), %w(fmt-eref bibitemid),
127
+ %w(fmt-origin bibitemid),
126
128
  %w(fmt-xref-label container), %w(fmt-fn-body target),
127
129
  %w(fmt-annotation-body from), %w(fmt-annotation-body to),
128
130
  %w(fmt-annotation-start source), %w(fmt-annotation-start end),
data/lib/utils/main.rb CHANGED
@@ -83,20 +83,28 @@ module Metanorma
83
83
  hash
84
84
  end
85
85
 
86
+ def trim_split(str)
87
+ m = /^(\s*)(?=\S)(.+)(?<=\S)(\s*)$/.match(str)
88
+ m ||= ["", "", "", ""]
89
+ [m[1], m[2], m[3]]
90
+ end
91
+
86
92
  def strict_capitalize_phrase(str)
87
- str.split(/ /).map do |w|
93
+ a, body, b = trim_split(str)
94
+ a + body.split(/ /).map do |w|
88
95
  letters = w.chars
89
96
  letters.first.upcase!
90
97
  letters.join
91
- end.join(" ")
98
+ end.join(" ") + b
92
99
  end
93
100
 
94
101
  def strict_capitalize_first(str)
95
- str.split(/ /).each_with_index.map do |w, i|
102
+ a, body, b = trim_split(str)
103
+ a + body.split(/ /).each_with_index.map do |w, i|
96
104
  letters = w.chars
97
105
  letters.first.upcase! if i.zero?
98
106
  letters.join
99
- end.join(" ")
107
+ end.join(" ") + b
100
108
  end
101
109
 
102
110
  def external_path(path)
@@ -153,11 +161,11 @@ nopunct = LONGSTR_NOPUNCT)
153
161
  STR_BREAKUP_RE = %r{
154
162
  (?<=[=_—–\u2009→?+;]) | # break after any of these
155
163
  (?<=[,.:])(?!\d) | # break on punct only if not preceding digit
156
- (?<=[>])(?![>]) | # > not >->
157
- (?<=[\]])(?![\]]) | # ] not ]-]
164
+ (?<=>)(?!>) | # > not >->
165
+ (?<=\])(?!\]) | # ] not ]-]
158
166
  (?<=//) | # //
159
- (?<=[/])(?![/]) | # / not /-/
160
- (?<![<])(?=[<]) | # < not <-<
167
+ (?<=/)(?!/) | # / not /-/
168
+ (?<!<)(?=<) | # < not <-<
161
169
  (?<=\p{L})(?=[(\{\[]\p{L}) # letter and bracket, followed by letter
162
170
  }x.freeze
163
171
 
data/lib/utils/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Utils
3
- VERSION = "2.0.4".freeze
3
+ VERSION = "2.0.6".freeze
4
4
  end
5
5
  end
@@ -46,6 +46,6 @@ Gem::Specification.new do |spec|
46
46
  spec.add_development_dependency "simplecov", "~> 0.15"
47
47
  spec.add_development_dependency "timecop", "~> 0.9"
48
48
  spec.add_development_dependency "webmock"
49
- spec.add_development_dependency "canon", "= 0.1.3"
49
+ spec.add_development_dependency "canon", "= 0.2.3"
50
50
  # spec.metadata["rubygems_mfa_required"] = "true"
51
51
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-13 00:00:00.000000000 Z
11
+ date: 2026-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor
@@ -282,14 +282,14 @@ dependencies:
282
282
  requirements:
283
283
  - - '='
284
284
  - !ruby/object:Gem::Version
285
- version: 0.1.3
285
+ version: 0.2.3
286
286
  type: :development
287
287
  prerelease: false
288
288
  version_requirements: !ruby/object:Gem::Requirement
289
289
  requirements:
290
290
  - - '='
291
291
  - !ruby/object:Gem::Version
292
- version: 0.1.3
292
+ version: 0.2.3
293
293
  description: 'metanorma-utils provides utilities for the Metanorma stack
294
294
 
295
295
  '