kramdown-rfc2629 1.6.29 → 1.6.31

Sign up to get free protection for your applications and to get access to all the features.
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