kramdown-rfc2629 1.6.29 → 1.6.31

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: 062a31f4914296fa8729f4256c83c79420950605b944076b923b836f6a982ced
4
- data.tar.gz: d9a463cf4cbcc663bbd639b29c1641df308716d92b50b1add469bdc056937fad
3
+ metadata.gz: 78da707841d2475396ae7578307bf10ab16440755d79591078490738b9dd89ed
4
+ data.tar.gz: dc0143966fdc29ebe27e1cb07c28e4541b27038fac6d5a783d3dc2368e50d657
5
5
  SHA512:
6
- metadata.gz: 3cecb965efec5d1d40e0da6dee5a8389d45cc65f78a835cf756d979e9e836200b2ab80cd6fbd7686cd30bcd2cbf1beb08993a2615df049376705c8170e44dfc9
7
- data.tar.gz: '056960710e1102ea0724d57774073c882411db9392f7c256c4ee5fe1c1e7118fa67a6518eeec87e4e456f92184e289c42479270144dcfdffda6b17d956902925'
6
+ metadata.gz: 71abd171f1fce10fd52d5ba1d1cbedcd7c982090acf5d120c23be6702528a2eb5e09da2da9a6fc2d161eba5fc0980f5850eced87c403b7d21971e52588f849b8
7
+ data.tar.gz: ea9ffd32a3189c778f3e74ead8ea43e8bc3961e9886a3b2055377da32f4ec36148eeee56c120fa627c3739cb41c9ab037d48f1300801ce3a6e61d96564003cb6
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'kramdown-rfc2629'
3
- s.version = '1.6.29'
3
+ s.version = '1.6.31'
4
4
  s.summary = "Kramdown extension for generating RFCXML (RFC 799x)."
5
5
  s.description = %{An RFCXML (RFC 799x) generating backend for Thomas Leitner's
6
6
  "kramdown" markdown parser. Mostly useful for RFC writers.}
@@ -1383,6 +1383,19 @@ COLORS
1383
1383
  "<iref#{html_attributes(attr)}/>"
1384
1384
  end
1385
1385
 
1386
+ def nobr_hack(s) # replace this by actual <nobr> once that exists
1387
+ # https://github.com/ietf-tools/xml2rfc/blob/main/xml2rfc/utils.py#L42
1388
+ s.gsub(/([-\s\/])(?!\s)/) { case rep = $1
1389
+ when /\A\s\z/
1390
+ "\u00A0" # nbsp
1391
+ when "-"
1392
+ "\u2011" # nbhy -- XXX this might mangle dashes
1393
+ else
1394
+ "#{rep}\u2060"
1395
+ end
1396
+ }
1397
+ end
1398
+
1386
1399
  def convert_iref(el, indent, opts)
1387
1400
  iref_attr(el.attr['target'])
1388
1401
  end
@@ -1405,6 +1418,16 @@ COLORS
1405
1418
  return "<bcp14>#{value}</bcp14>"
1406
1419
  end
1407
1420
 
1421
+ hacked_value = value
1422
+
1423
+ if title && title =~ /\A<nobr>(\z|\s)/
1424
+ _nobr, title = title.split(' ', 2)
1425
+ hacked_value = nobr_hack(value)
1426
+ if title.nil? || title.empty?
1427
+ return hacked_value # we have "exhausted" this abbrev -- suppress normal meaning
1428
+ end
1429
+ end
1430
+
1408
1431
  if title && title[0] == "#"
1409
1432
  target, title = title.split(' ', 2)
1410
1433
  if target == "#"
@@ -1428,9 +1451,9 @@ COLORS
1428
1451
  end
1429
1452
  iref ||= "<iref#{html_attributes(item: item, subitem: subitem)}/>"
1430
1453
  if target
1431
- "#{iref}<xref#{html_attributes(target: target, format: "none")}>#{value}</xref>"
1454
+ "#{iref}<xref#{html_attributes(target: target, format: "none")}>#{hacked_value}</xref>"
1432
1455
  else
1433
- "#{iref}#{value}"
1456
+ "#{iref}#{hacked_value}"
1434
1457
  end
1435
1458
  end
1436
1459
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kramdown-rfc2629
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.29
4
+ version: 1.6.31
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-09 00:00:00.000000000 Z
11
+ date: 2023-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kramdown