kramdown-rfc2629 1.0.8 → 1.0.9

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
  SHA1:
3
- metadata.gz: 57df3f27d6d000562d03f985dc891fe74f347fa4
4
- data.tar.gz: 072195d9032c685855ae86d519f2222fa64d3f07
3
+ metadata.gz: e7c5ddf316ea84b1de6f2ffd16a773e0bbcf5849
4
+ data.tar.gz: f925558c2e8faa8eda467cba5d4a63b56403ceaa
5
5
  SHA512:
6
- metadata.gz: f7abb9e0af9fee9f99376973ab21bef6cd0f94994d25fe4d0a2f2cf4210410e541fdf166ba4b01248c652518f131062465bbd82efdf65359e1b4566a6b9f7e74
7
- data.tar.gz: 714c6786daf0e777e4a3c70f3b207a5838ed2c2cd7628197acb5e1097f791218ddd2f55d20f8862fcd37a44ab25aaad3fe809efeaca57139d56cbba470ccad7d
6
+ metadata.gz: 2269314b10a3a436dcad7f85b12e81fda55948c1d3ce04b48eead0d54afc8b4080468f55663d5b139bb21d0510075370a45c9e908fb272d3c74b30c747929891
7
+ data.tar.gz: b3e24004d7f0979c46ce5e472f0d6c05bb67b7c6edfe805ed6727a99aac96a807d7564b8e7074fe016ec6a06e6c09568e5101460f7df33425a2efe67073fc689
data/bin/kramdown-rfc2629 CHANGED
@@ -220,12 +220,11 @@ def bibtagsys(bib)
220
220
  rfc4d = "%04d" % $1.to_i
221
221
  [bib.upcase,
222
222
  "http://xml.resource.org/public/rfc/bibxml/reference.RFC.#{rfc4d}.xml"]
223
- elsif bib =~ /\AI-D\./i
224
- [bib,
225
- "http://xml.resource.org/public/rfc/bibxml3/reference.#{bib}.xml"]
226
- elsif bib =~ /\AW3C\./i
227
- [bib,
228
- "http://xml.resource.org/public/rfc/bibxml4/reference.#{bib}.xml"]
223
+ elsif bib =~ /\A([-A-Z0-9]+)\./ &&
224
+ dir = Kramdown::Converter::Rfc2629::XML_RESOURCE_ORG_MAP[$1]
225
+ bib1 = bib.gsub(/\A[0-9]/) { "_#{$&}" } # can't start an ID with a number
226
+ [bib1,
227
+ "http://xml.resource.org/public/rfc/#{dir}/reference.#{bib}.xml"]
229
228
  end
230
229
  end
231
230
 
@@ -1,10 +1,10 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'kramdown-rfc2629'
3
- s.version = '1.0.8'
3
+ s.version = '1.0.9'
4
4
  s.summary = "Kramdown extension for generating RFC 2629 XML."
5
5
  s.description = %{An RFC2629 (XML2RFC) generating backend for Thomas Leitner's
6
6
  "kramdown" markdown parser. Mostly useful for RFC writers.}
7
- s.add_dependency('kramdown', '~> 1.2.0')
7
+ s.add_dependency('kramdown', '~> 1.3.0')
8
8
  s.files = Dir['lib/**/*.rb'] + %w(README.md kramdown-rfc2629.gemspec bin/kramdown-rfc2629 data/kramdown-rfc2629.erb)
9
9
  s.require_path = 'lib'
10
10
  s.executables = ['kramdown-rfc2629']
@@ -13,7 +13,7 @@
13
13
  raise "sorry, 1.8 was last decade" unless RUBY_VERSION >= '1.9'
14
14
 
15
15
  # this version also works with kramdown 0.12, 0.13, 0.14, but 1.x has the right license
16
- gem 'kramdown', '~> 1.2.0'
16
+ gem 'kramdown', '~> 1.3.0'
17
17
  require 'kramdown'
18
18
 
19
19
  require 'rexml/parsers/baseparser'
@@ -42,6 +42,7 @@ module Kramdown
42
42
  def parse_xref
43
43
  @src.pos += @src.matched_size
44
44
  href = @src[1]
45
+ href = href.gsub(/\A[0-9]/) { "_#{$&}" } # can't start an IDREF with a number
45
46
  el = Element.new(:xref, nil, {'target' => href})
46
47
  @tree.children << el
47
48
  end
@@ -366,6 +367,20 @@ module Kramdown
366
367
  File.read(fn)
367
368
  end
368
369
 
370
+ XML_RESOURCE_ORG_MAP = {
371
+ "RFC" => "bibxml", "I-D" => "bibxml3", "W3C" => "bibxml4", "3GPP" => "bibxml5",
372
+ "ANSI" => "bibxml2",
373
+ "CCITT" => "bibxml2",
374
+ "FIPS" => "bibxml2",
375
+ "IANA" => "bibxml2",
376
+ "IEEE" => "bibxml2",
377
+ "ISO" => "bibxml2",
378
+ "ITU" => "bibxml2",
379
+ "NIST" => "bibxml2",
380
+ "OASIS" => "bibxml2",
381
+ "PKCS" => "bibxml2",
382
+ }
383
+
369
384
  def convert_img(el, indent, opts) # misuse the tag!
370
385
  if a = el.attr
371
386
  alt = a.delete('alt').strip
@@ -376,14 +391,15 @@ module Kramdown
376
391
  end
377
392
  if alt == ":include:" # Really bad misuse of tag...
378
393
  to_insert = ""
379
- anchor.scan(/(W3C|[A-Z-]+)[.]?([A-Za-z0-9-]+)/) do |t, n|
394
+ anchor.scan(/(W3C|3GPP|[A-Z-]+)[.]?([A-Za-z0-9.-]+)/) do |t, n|
380
395
  fn = "reference.#{t}.#{n}.xml"
381
- sub = { "RFC" => "bibxml", "I-D" => "bibxml3", "W3C" => "bibxml4" }[t]
396
+ sub = XML_RESOURCE_ORG_MAP[t]
382
397
  puts "Huh: ${fn}" unless sub
383
398
  url = "http://xml.resource.org/public/rfc/#{sub}/#{fn}"
384
399
  to_insert = get_and_cache_resource(url)
385
400
  end
386
- to_insert.gsub(/<\?xml version='1.0' encoding='UTF-8'\?>/, '')
401
+ to_insert.gsub(/<\?xml version=["']1.0["'] encoding=["']UTF-8["']\?>/, '').
402
+ gsub(/(anchor=["'])([0-9])/) { "#{$1}_#{$2}"} # can't start an ID with a number
387
403
  else
388
404
  "<xref#{el_html_attributes(el)}>#{alt}</xref>"
389
405
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kramdown-rfc2629
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-09 00:00:00.000000000 Z
11
+ date: 2014-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kramdown
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.2.0
19
+ version: 1.3.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: 1.2.0
26
+ version: 1.3.0
27
27
  description: |-
28
28
  An RFC2629 (XML2RFC) generating backend for Thomas Leitner's
29
29
  "kramdown" markdown parser. Mostly useful for RFC writers.
@@ -33,11 +33,11 @@ executables:
33
33
  extensions: []
34
34
  extra_rdoc_files: []
35
35
  files:
36
- - lib/kramdown-rfc2629.rb
37
36
  - README.md
38
- - kramdown-rfc2629.gemspec
39
37
  - bin/kramdown-rfc2629
40
38
  - data/kramdown-rfc2629.erb
39
+ - kramdown-rfc2629.gemspec
40
+ - lib/kramdown-rfc2629.rb
41
41
  homepage: http://github.com/cabo/kramdown-rfc2629
42
42
  licenses:
43
43
  - MIT
@@ -48,18 +48,18 @@ require_paths:
48
48
  - lib
49
49
  required_ruby_version: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - '>='
51
+ - - ">="
52
52
  - !ruby/object:Gem::Version
53
53
  version: 1.9.2
54
54
  required_rubygems_version: !ruby/object:Gem::Requirement
55
55
  requirements:
56
- - - '>='
56
+ - - ">="
57
57
  - !ruby/object:Gem::Version
58
58
  version: '0'
59
59
  requirements:
60
60
  - wget
61
61
  rubyforge_project:
62
- rubygems_version: 2.0.7
62
+ rubygems_version: 2.2.0
63
63
  signing_key:
64
64
  specification_version: 4
65
65
  summary: Kramdown extension for generating RFC 2629 XML.