kramdown-rfc2629 1.0.37 → 1.0.38
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/kramdown-rfc-extract-markdown +11 -0
- data/bin/kramdown-rfc2629 +10 -0
- data/data/kramdown-rfc2629.erb +7 -0
- data/kramdown-rfc2629.gemspec +3 -3
- data/lib/kramdown-rfc/gzip-clone.rb +36 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a66985def68028e27c86bd2848c2508d1087d3b3
|
4
|
+
data.tar.gz: edfe9404687740f8617fc82fd2c4bb8e1bd85835
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2a957ed2f5dbba350d6a792e145ad859182002f3e512178745eda3a3e00c26fc76272c0902275e338160aa57e61f12382d7a71513ca91388c01f9f67d4709a3
|
7
|
+
data.tar.gz: 87a051613d3d3998b740c3ce9a449cdea87f3324e24d839a66db81975f3309de5c61aa50afa2b61655c363d852db4363302b2398a96e99d1fa73755247cb6340
|
@@ -0,0 +1,11 @@
|
|
1
|
+
#!/usr/bin/env ruby -KU
|
2
|
+
require 'kramdown-rfc/gzip-clone'
|
3
|
+
require 'base64'
|
4
|
+
|
5
|
+
EMBEDDED_RE = %r{<!-- ##markdown-source:\s*([A-Za-z0-9+/=\s]+)-->}
|
6
|
+
embedded = ARGF.read.scan(EMBEDDED_RE)
|
7
|
+
unless embedded.empty?
|
8
|
+
puts Gzip.decompress(Base64.decode64(embedded[0][0]))
|
9
|
+
else
|
10
|
+
warn "*** No embedded markdown source found!"
|
11
|
+
end
|
data/bin/kramdown-rfc2629
CHANGED
@@ -17,6 +17,14 @@ NMDTAGS = ["{:/nomarkdown}\n\n", "\n\n{::nomarkdown}\n"]
|
|
17
17
|
NORMINFORM = { "!" => :normative, "?" => :informative }
|
18
18
|
|
19
19
|
def xml_from_sections(input)
|
20
|
+
|
21
|
+
unless ENV["KRAMDOWN_NO_SOURCE"]
|
22
|
+
require 'kramdown-rfc/gzip-clone'
|
23
|
+
require 'base64'
|
24
|
+
compressed_input = Gzip.compress(input)
|
25
|
+
$source = Base64.encode64(compressed_input)
|
26
|
+
end
|
27
|
+
|
20
28
|
sections = input.scan(RE_SECTION)
|
21
29
|
# resulting in an array; each section is [section-label, nomarkdown-flag, section-text]
|
22
30
|
|
@@ -198,6 +206,7 @@ if input =~ /[\t]/
|
|
198
206
|
warn "*** Input contains HT (\"tab\") characters. Undefined behavior will ensue."
|
199
207
|
input = expand_tabs(input)
|
200
208
|
end
|
209
|
+
|
201
210
|
link_defs = {}
|
202
211
|
if input =~ /\A---/ # this is a sectionized file
|
203
212
|
input, target_coding, link_defs, smart_quotes = xml_from_sections(input)
|
@@ -225,6 +234,7 @@ if target_coding
|
|
225
234
|
input = input.encode(Encoding.find(target_coding), fallback: FALLBACK)
|
226
235
|
end
|
227
236
|
|
237
|
+
|
228
238
|
# warn "options: #{options.inspect}"
|
229
239
|
doc = Kramdown::Document.new(input, options)
|
230
240
|
$stderr.puts doc.warnings.to_yaml unless doc.warnings.empty?
|
data/data/kramdown-rfc2629.erb
CHANGED
data/kramdown-rfc2629.gemspec
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
spec = Gem::Specification.new do |s|
|
2
2
|
s.name = 'kramdown-rfc2629'
|
3
|
-
s.version = '1.0.
|
3
|
+
s.version = '1.0.38'
|
4
4
|
s.summary = "Kramdown extension for generating RFC 7749 XML."
|
5
5
|
s.description = %{An RFC7749 (XML2RFC) generating backend for Thomas Leitner's
|
6
6
|
"kramdown" markdown parser. Mostly useful for RFC writers.}
|
7
7
|
s.add_dependency('kramdown', '~> 1.12.0')
|
8
|
-
s.files = Dir['lib/**/*.rb'] + %w(README.md LICENSE kramdown-rfc2629.gemspec bin/kramdown-rfc2629 bin/doilit data/kramdown-rfc2629.erb data/encoding-fallbacks.txt)
|
8
|
+
s.files = Dir['lib/**/*.rb'] + %w(README.md LICENSE kramdown-rfc2629.gemspec bin/kramdown-rfc2629 bin/doilit bin/kramdown-rfc-extract-markdown data/kramdown-rfc2629.erb data/encoding-fallbacks.txt)
|
9
9
|
s.require_path = 'lib'
|
10
|
-
s.executables = ['kramdown-rfc2629', 'doilit']
|
10
|
+
s.executables = ['kramdown-rfc2629', 'doilit', 'kramdown-rfc-extract-markdown']
|
11
11
|
s.default_executable = 'kramdown-rfc2629'
|
12
12
|
s.required_ruby_version = '>= 1.9.2'
|
13
13
|
# s.requirements = 'wget'
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'zlib'
|
2
|
+
require 'stringio'
|
3
|
+
|
4
|
+
# cloned from module ActiveSupport
|
5
|
+
# A convenient wrapper for the zlib standard library that allows
|
6
|
+
# compression/decompression of strings with gzip.
|
7
|
+
#
|
8
|
+
# gzip = Gzip.compress('compress me!')
|
9
|
+
# # => "\x1F\x8B\b\x00o\x8D\xCDO\x00\x03K\xCE\xCF-(J-.V\xC8MU\x04\x00R>n\x83\f\x00\x00\x00"
|
10
|
+
#
|
11
|
+
# Gzip.decompress(gzip)
|
12
|
+
# # => "compress me!"
|
13
|
+
module Gzip
|
14
|
+
class Stream < StringIO
|
15
|
+
def initialize(*)
|
16
|
+
super
|
17
|
+
set_encoding "BINARY"
|
18
|
+
end
|
19
|
+
def close; rewind; end
|
20
|
+
end
|
21
|
+
|
22
|
+
# Decompresses a gzipped string.
|
23
|
+
def self.decompress(source)
|
24
|
+
Zlib::GzipReader.new(StringIO.new(source)).read
|
25
|
+
end
|
26
|
+
|
27
|
+
# Compresses a string using gzip.
|
28
|
+
def self.compress(source, level=Zlib::DEFAULT_COMPRESSION, strategy=Zlib::DEFAULT_STRATEGY)
|
29
|
+
output = Stream.new
|
30
|
+
gz = Zlib::GzipWriter.new(output, level, strategy)
|
31
|
+
gz.write(source)
|
32
|
+
gz.close
|
33
|
+
output.string
|
34
|
+
end
|
35
|
+
end
|
36
|
+
# end
|
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.0.
|
4
|
+
version: 1.0.38
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carsten Bormann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kramdown
|
@@ -31,16 +31,19 @@ email: cabo@tzi.org
|
|
31
31
|
executables:
|
32
32
|
- kramdown-rfc2629
|
33
33
|
- doilit
|
34
|
+
- kramdown-rfc-extract-markdown
|
34
35
|
extensions: []
|
35
36
|
extra_rdoc_files: []
|
36
37
|
files:
|
37
38
|
- LICENSE
|
38
39
|
- README.md
|
39
40
|
- bin/doilit
|
41
|
+
- bin/kramdown-rfc-extract-markdown
|
40
42
|
- bin/kramdown-rfc2629
|
41
43
|
- data/encoding-fallbacks.txt
|
42
44
|
- data/kramdown-rfc2629.erb
|
43
45
|
- kramdown-rfc2629.gemspec
|
46
|
+
- lib/kramdown-rfc/gzip-clone.rb
|
44
47
|
- lib/kramdown-rfc/parameterset.rb
|
45
48
|
- lib/kramdown-rfc/refxml.rb
|
46
49
|
- lib/kramdown-rfc2629.rb
|