kramdown-rfc2629 1.6.5 → 1.6.8

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: e0115e72b1d82f546c2681cc3f25a9e473b976bd32f70cf5c922cf31345a24b3
4
- data.tar.gz: 914787571e83ab08a6a355ca280fe4e85c79d00fd4c25446702edf824b39f968
3
+ metadata.gz: 6d59387d706ba44ac2ac591f8d2dbddeae8d1a4b451fa8252b6231f655fbce56
4
+ data.tar.gz: f059d6c8a0006257317423d23c5a8478b722e00bf33d441e7f892d67248fa2bb
5
5
  SHA512:
6
- metadata.gz: d07f0c3c4d96dd0dfb9833ec57dcf6b1221aee08d1df3d0819a8263e1f499a152661e8e2d0d6cf0cb40a16083f2ea8abd416849c500a6fad60c37722166ba18a
7
- data.tar.gz: f7a157dc317405b405a02a39b459e510e5a6cff2488f79abe261501c40cb6d1ed152034a49ddfd90cfb274cc8c8eb5962d043624a6d856354a63b34f8fefb3c6
6
+ metadata.gz: 93865dc7e09b2a905a58873beb724d9d7a8c7b66b2d012c88bd562fa0ecc667558b44765c304a174d339c8ea89b4cb6e72b47aa35463e0ba6dba6e0d3909dc16
7
+ data.tar.gz: c85e67c72649fd7fd702713572118300e10d24146c04008ba681b892ed985fc1c4918f9bf3a7f61b040096fe4bc29ded9b3c1632fd89cabb47a54cb6571589a3
data/bin/de-gfm CHANGED
@@ -5,19 +5,22 @@ Encoding.default_external = "UTF-8" # wake up, smell the coffee
5
5
  require 'kramdown'
6
6
  require 'kramdown-parser-gfm'
7
7
 
8
- if ARGV[0] == '-k' # kramdown
9
- MARKDOWN_BR = "\\\\\n"
8
+ options = ''
9
+ while /\A-([4bck]+)\z/ === ARGV[0]
10
10
  ARGV.shift
11
+ options << $1
12
+ end
13
+
14
+ if /k/ === options # kramdown
15
+ MARKDOWN_BR = "\\\\\n"
11
16
  end
12
17
 
13
- if ARGV[0] == '-c' # commonmark
18
+ if /c/ === options # commonmark
14
19
  MARKDOWN_BR = "\\\n"
15
- ARGV.shift
16
20
  end
17
21
 
18
- if ARGV[0] == '-b' # universal HTML
22
+ if /b/ === options # universal HTML
19
23
  MARKDOWN_BR = "<br/>\n"
20
- ARGV.shift
21
24
  end
22
25
 
23
26
  MARKDOWN_BR ||= " \n" # original Gruber
@@ -37,4 +40,9 @@ module Kramdown
37
40
  end
38
41
  end
39
42
 
40
- puts Kramdown::Document.new(ARGF.read, input: 'GFM', gfm_quirks: 'paragraph_end').to_kramdown
43
+ list_indent = 2
44
+ list_indent = 4 if /4/ === options
45
+
46
+ doc = Kramdown::Document.new(ARGF.read, input: 'GFM', gfm_quirks: 'paragraph_end',
47
+ list_indent: list_indent)
48
+ puts doc.to_kramdown
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env ruby
2
+ # -*- coding: utf-8 -*-
3
+ require 'rexml/document'
4
+
5
+ d = REXML::Document.new(ARGF.read)
6
+
7
+ d.root.get_elements("//section[@anchor]").each do |sec|
8
+ anchor = sec['anchor']
9
+ irefs = {}
10
+ sec.get_elements(".//xref[@target='#{anchor}'][@format='none']").each do |xr|
11
+ ne = xr.next_element
12
+ if ne && ne.name == "iref" && (item = ne['item'])
13
+ irefs[item] = ne['subitem'] # XXX one subitem only
14
+ ne.remove
15
+ chi = xr.children
16
+ chi[1..-1].reverse.each do |ch|
17
+ xr.parent.insert_after(xr, ch)
18
+ end
19
+ xr.replace_with(chi[0])
20
+ end
21
+ end
22
+ irefs.each do |k, v|
23
+ sec.insert_after(sec.get_elements("name").first,
24
+ e = REXML::Element.new("iref", sec))
25
+ e.attributes["item"] = k
26
+ e.attributes["subitem"] = v
27
+ e.attributes["primary"] = 'true'
28
+ end
29
+ end
30
+
31
+ puts d.to_s
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="<%=ps[:coding]||"UTF-8"%>"?>
2
2
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
3
- <!-- generated by https://github.com/cabo/kramdown-rfc2629 version <%=
3
+ <!-- generated by https://github.com/cabo/kramdown-rfc version <%=
4
4
  Gem.loaded_specs["kramdown-rfc2629"].version rescue nil
5
5
  %> (Ruby <%= RUBY_VERSION %>) -->
6
6
 
@@ -1,14 +1,14 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'kramdown-rfc2629'
3
- s.version = '1.6.5'
3
+ s.version = '1.6.8'
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.}
7
- s.add_dependency('kramdown', '~> 2.3.0')
7
+ s.add_dependency('kramdown', '~> 2.4.0')
8
8
  s.add_dependency('kramdown-parser-gfm', '~> 1.1')
9
9
  s.add_dependency('certified', '~> 1.0')
10
10
  s.add_dependency('json_pure', '~> 2.0')
11
- s.files = Dir['lib/**/*.rb'] + %w(README.md LICENSE kramdown-rfc2629.gemspec bin/kdrfc bin/kramdown-rfc bin/kramdown-rfc2629 bin/doilit bin/kramdown-rfc-extract-markdown data/kramdown-rfc2629.erb data/encoding-fallbacks.txt data/math.json bin/kramdown-rfc-cache-subseries-bibxml bin/de-gfm)
11
+ s.files = Dir['lib/**/*.rb'] + %w(README.md LICENSE kramdown-rfc2629.gemspec bin/kdrfc bin/kramdown-rfc bin/kramdown-rfc2629 bin/doilit bin/kramdown-rfc-extract-markdown data/kramdown-rfc2629.erb data/encoding-fallbacks.txt data/math.json bin/kramdown-rfc-cache-subseries-bibxml bin/kramdown-rfc-autolink-iref-cleanup.rb bin/de-gfm)
12
12
  s.require_path = 'lib'
13
13
  s.executables = ['kramdown-rfc', 'kramdown-rfc2629', 'doilit', 'kramdown-rfc-extract-markdown',
14
14
  'kdrfc', 'kramdown-rfc-cache-i-d-bibxml',
@@ -18,6 +18,6 @@ spec = Gem::Specification.new do |s|
18
18
  # s.has_rdoc = true
19
19
  s.author = "Carsten Bormann"
20
20
  s.email = "cabo@tzi.org"
21
- s.homepage = "http://github.com/cabo/kramdown-rfc2629"
21
+ s.homepage = "http://github.com/cabo/kramdown-rfc"
22
22
  s.license = 'MIT'
23
23
  end
@@ -229,7 +229,7 @@ def xml_from_sections(input)
229
229
  unless ENV["KRAMDOWN_NO_SOURCE"]
230
230
  require 'kramdown-rfc/gzip-clone'
231
231
  require 'base64'
232
- compressed_input = Gzip.compress(input)
232
+ compressed_input = Gzip.compress_m0(input)
233
233
  $source = Base64.encode64(compressed_input)
234
234
  end
235
235
 
@@ -485,7 +485,7 @@ Usage: kramdown-rfc2629 [options] file.md|file.mkd > file.xml
485
485
  Version: #{KDRFC_VERSION}
486
486
  BANNER
487
487
  opts.on("-V", "--version", "Show version and exit") do |v|
488
- puts "kramdown-rfc2629 #{KDRFC_VERSION}"
488
+ puts "kramdown-rfc #{KDRFC_VERSION}"
489
489
  exit
490
490
  end
491
491
  opts.on("-H", "--help", "Show option summary and exit") do |v|
@@ -24,10 +24,11 @@ require 'stringio'
24
24
  Zlib::GzipReader.new(StringIO.new(source)).read
25
25
  end
26
26
 
27
- # Compresses a string using gzip.
28
- def self.compress(source, level=Zlib::DEFAULT_COMPRESSION, strategy=Zlib::DEFAULT_STRATEGY)
27
+ # Compresses a string using gzip, setting mtime to 0
28
+ def self.compress_m0(source, level=Zlib::DEFAULT_COMPRESSION, strategy=Zlib::DEFAULT_STRATEGY)
29
29
  output = Stream.new
30
30
  gz = Zlib::GzipWriter.new(output, level, strategy)
31
+ gz.mtime = 0
31
32
  gz.write(source)
32
33
  gz.close
33
34
  output.string
@@ -12,7 +12,7 @@ require 'shellwords'
12
12
 
13
13
  raise "sorry, 1.8 was last decade" unless RUBY_VERSION >= '1.9'
14
14
 
15
- gem 'kramdown', '~> 2.3.0'
15
+ gem 'kramdown', '~> 2.4.0'
16
16
  require 'kramdown'
17
17
  my_span_elements = %w{list figure xref eref iref cref spanx vspace}
18
18
  Kramdown::Parser::Html::Constants::HTML_SPAN_ELEMENTS.concat my_span_elements
@@ -113,7 +113,7 @@ module Kramdown
113
113
  end
114
114
  end
115
115
 
116
- XREF_START = /\{\{(?:(?:\{(.*?)\}(?:\{(.*?)\})?)|(\X*?))((?:\}\})|\})/u
116
+ XREF_START = /\{\{(?:(?:\{(.*?\n??.*?)\}(?:\{(.*?\n??.*?)\})?)|(\X*?))((?:\}\})|\})/u
117
117
 
118
118
  # Introduce new {{target}} syntax for empty xrefs, which would
119
119
  # otherwise be an ugly ![!](target) or ![ ](target)
@@ -124,9 +124,9 @@ module Kramdown
124
124
  warn "*** #{@src[0]}: unmatched braces #{@src[4].inspect}"
125
125
  end
126
126
  if contact_name = @src[1]
127
- attr = {'fullname' => contact_name}
127
+ attr = {'fullname' => contact_name.gsub("\n", " ")}
128
128
  if ascii_name = @src[2]
129
- attr["asciiFullname"] = ascii_name
129
+ attr["asciiFullname"] = ascii_name.gsub("\n", " ")
130
130
  end
131
131
  el = Element.new(:contact, nil, attr)
132
132
  else
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.5
4
+ version: 1.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-08 00:00:00.000000000 Z
11
+ date: 2022-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kramdown
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.3.0
19
+ version: 2.4.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.3.0
26
+ version: 2.4.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: kramdown-parser-gfm
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -88,6 +88,7 @@ files:
88
88
  - bin/doilit
89
89
  - bin/kdrfc
90
90
  - bin/kramdown-rfc
91
+ - bin/kramdown-rfc-autolink-iref-cleanup.rb
91
92
  - bin/kramdown-rfc-cache-i-d-bibxml
92
93
  - bin/kramdown-rfc-cache-subseries-bibxml
93
94
  - bin/kramdown-rfc-extract-markdown
@@ -104,7 +105,7 @@ files:
104
105
  - lib/kramdown-rfc/refxml.rb
105
106
  - lib/kramdown-rfc/rfc8792.rb
106
107
  - lib/kramdown-rfc2629.rb
107
- homepage: http://github.com/cabo/kramdown-rfc2629
108
+ homepage: http://github.com/cabo/kramdown-rfc
108
109
  licenses:
109
110
  - MIT
110
111
  metadata: {}
@@ -123,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
124
  - !ruby/object:Gem::Version
124
125
  version: '0'
125
126
  requirements: []
126
- rubygems_version: 3.3.7
127
+ rubygems_version: 3.3.11
127
128
  signing_key:
128
129
  specification_version: 4
129
130
  summary: Kramdown extension for generating RFCXML (RFC 799x).