kramdown-rfc2629 0.13.8 → 1.0.0

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: 85f3831fa795af115769891c0063cd4327dfd3c2
4
- data.tar.gz: 476d34c05e181779d6e0fae47c674be4bd1b6c17
3
+ metadata.gz: 6c680de5d2853a1c04df22f6a2e6d4104b1cd3bd
4
+ data.tar.gz: 8a701c320ac5848dd70273f2e1fb388881e82a72
5
5
  SHA512:
6
- metadata.gz: 4c4928975a756f03fa52d8e6418d9bfadcde7340f1bcae56628a168c66cde6e14e4c16fc9a27e82dea4d0f6af4180280da02a0009179d7ae2871013fb78c4019
7
- data.tar.gz: 393d35765dba2023773e7333b0e732943c7eb1f862f93d50f15ff05d9d67989b9ebca2ab8221e50adb36d508b7957f5a5f0203e0cb6d4f6529109543946f9fe4
6
+ metadata.gz: 3f4c78b68de442b178aaeefd99b2b1f601f90d37c21d302c21023df5c06afb51fdba4db8d52855f6d4e78bee5a882a9079e86c96d783b09a302aebf6c5f6b256
7
+ data.tar.gz: de7f426083a7db0573ee4d3353fa44a5f1b56f14721096905e1108928de12b173b93b79405315880167b52b77ebf3f42deec4eca5ea0da6025678a9e99822eb3
data/README.md CHANGED
@@ -4,8 +4,8 @@
4
4
  number of backends for generating HTML, Latex, and markdown again.
5
5
 
6
6
  **kramdown-rfc2629** is an additional backend to that: It allows the
7
- generation of [RFC 2629][] compliant XML markup (also known as XML2RFC
8
- markup).
7
+ generation of [XML2RFC][] XML markup (also known as [RFC 2629][]
8
+ compliant markup).
9
9
 
10
10
  Who would care? Anybody who is writing Internet-Drafts and RFCs in
11
11
  the [IETF][] and prefers (or has co-authors who prefer) to do part of
@@ -13,8 +13,8 @@ their work in markdown.
13
13
 
14
14
  # Usage
15
15
 
16
- Start by installing the kramdown-rfc2629 gem (this requires kramdown
17
- version 0.13.x, but has also been tested with version 0.11.0 and 0.12.0):
16
+ Start by installing the kramdown-rfc2629 gem (this automatically
17
+ installs kramdown version 1.0.x as well):
18
18
 
19
19
  sudo gem install kramdown-rfc2629
20
20
 
@@ -24,24 +24,23 @@ structure provided by kramdown. `bin/kramdown-rfc2629` started out as
24
24
  a simple command-line program showing how to use this, but can now do
25
25
  much more (see below).
26
26
 
27
- To use kramdown-rfc2629, you'll need a Ruby 1.9 that can be found
28
- under the name "ruby1.9", the command "wget" (if you want to use the
29
- offline feature), and maybe XML2RFC if you want to see the fruits of
30
- your work.
27
+ To use kramdown-rfc2629, you'll need a Ruby 1.9 or 2.0, the command
28
+ "wget" (if you want to use the offline feature), and maybe [XML2RFC][]
29
+ if you want to see the fruits of your work.
31
30
 
32
31
  kramdown-rfc2629 mydraft.mkd >mydraft.xml
33
32
  xml2rfc mydraft.xml
34
33
 
35
34
  # Examples
36
35
 
37
- `stupid.mkd` is a markdown version of an actual Internet-Draft (for a
38
- protocol called [STuPiD][] \[sic!]). This demonstrates some, but not
39
- all features of kramdown-rfc2629. Since markdown/kramdown does not
40
- cater for all the structure of an RFC 2629 style document, some of the
41
- markup is in XML, and the example switches between XML and markdown
42
- using kramdown's `{::nomarkdown}` and `{:/nomarkdown}` (this is ugly,
43
- but works well enough). `stupid.xml` and `stupid.txt` show what
44
- kramdown-rfc2629 and xml2rfc make out of this.
36
+ `stupid.mkd` was an early markdown version of an actual Internet-Draft
37
+ (for a protocol called [STuPiD][] \[sic!]). This demonstrated some,
38
+ but not all features of kramdown-rfc2629. Since markdown/kramdown
39
+ does not cater for all the structure of an RFC 2629 style document,
40
+ some of the markup is in XML, and the example switches between XML and
41
+ markdown using kramdown's `{::nomarkdown}` and `{:/nomarkdown}` (this
42
+ is ugly, but works well enough). `stupid.xml` and `stupid.txt` show
43
+ what kramdown-rfc2629 and xml2rfc make out of this.
45
44
 
46
45
  `stupid-s.mkd` is the same document in the new sectionized format
47
46
  supported by kramdown-rfc2629. The document metadata are in a short
@@ -57,8 +56,133 @@ kramdown-rfc2629 and xml2rfc make out of this.
57
56
  `draft-ietf-core-block-xx.mkd` is a real-world example of a current
58
57
  Internet-Draft done this way. For RFC and Internet-Draft references,
59
58
  it uses document prolog entities instead of caching the references in
60
- the XML (this is easier to handle when collaborating with XML-only
61
- co-authors). See the `bibxml` metadata.
59
+ the XML (i.e., not standalone mode, this is easier to handle when
60
+ collaborating with XML-only co-authors). See the `bibxml` metadata.
61
+
62
+ # The YAML header
63
+
64
+ Please consult the examples for the structure of the YAML header, this should be mostly
65
+ obvious. The `standalone` attribute controls whether the RFC/I-D
66
+ references are inserted into the document (yes) or entity-referenced
67
+ (no), the latter leads to increased build time, but may be more
68
+ palatable for a final XML conversion.
69
+ The author entry can be a single hash or a list, as in:
70
+
71
+ author:
72
+ ins: C. Bormann
73
+ name: Carsten Bormann
74
+ org: Universität Bremen TZI
75
+ abbrev: TZI
76
+ street: Bibliothekstr. 1
77
+ city: Bremen
78
+ code: D-28359
79
+ country: Germany
80
+ phone: +49-421-218-63921
81
+ email: cabo@tzi.org
82
+
83
+ or
84
+
85
+ author:
86
+ -
87
+ ins: C. Bormann
88
+ name: Carsten Bormann
89
+ org: Universität Bremen TZI
90
+ email: cabo@tzi.org
91
+ -
92
+ ins: Z. Shelby
93
+ name: Zach Shelby
94
+ org: Sensinode
95
+ role: editor
96
+ street: Kidekuja 2
97
+ city: Vuokatti
98
+ code: 88600
99
+ country: Finland
100
+ phone: "+358407796297"
101
+ email: zach@sensinode.com
102
+
103
+ (the hash keys are the XML GIs from RFC 2629, with a flattened
104
+ structure. As RFC 2629 requires giving both the name and
105
+ surname/initials, we use `ins` as an abbreviation for
106
+ "initials/surname". Yes, the toolchain is Unicode-capable, even if
107
+ the final RFC output is still in ASCII.)
108
+
109
+
110
+ ## References
111
+
112
+ The references section is built from the references listed in the YAML
113
+ header and from references made inline to RFCs and I-Ds in the
114
+ markdown text. Since kramdown-rfc2629 cannot know whether a reference
115
+ is normative or informative, no entry is generated by default in the
116
+ references section. By indicating a normative reference as in
117
+ `{{!RFC2119}}` or an informative one as in `{{?RFC1925}}`, you can
118
+ completely automate the referencing, without the need to write
119
+ anything in the header. Alternatively, you can write something like:
120
+
121
+ informative:
122
+ RFC1925:
123
+ normative:
124
+ RFC2119:
125
+
126
+ and then just write `{{RFC2119}}` or `{{RFC1925}}`. (Yes, there is a
127
+ colon in the YAML, because this is a hash that could provide other
128
+ information.)
129
+
130
+ If your references are not in the [XML2RFC][] databases, you need to
131
+ spell it out like this:
132
+
133
+ informative:
134
+ RFC1925:
135
+ WEI:
136
+ title: "6LoWPAN: the Wireless Embedded Internet"
137
+ author:
138
+ -
139
+ ins: Z. Shelby
140
+ name: Zach Shelby
141
+ -
142
+ ins: C. Bormann
143
+ name: Carsten Bormann
144
+ date: 2009
145
+ seriesinfo:
146
+ ISBN: 9780470747995
147
+ ann: This is a really good reference on 6LoWPAN.
148
+ ASN.1:
149
+ title: >
150
+ Information Technology — ASN.1 encoding rules:
151
+ Specification of Basic Encoding Rules (BER), Canonical Encoding
152
+ Rules (CER) and Distinguished Encoding Rules (DER)
153
+ author:
154
+ org: International Telecommunications Union
155
+ date: 1994
156
+ seriesinfo:
157
+ ITU-T: Recommendation X.690
158
+ REST:
159
+ target: http://www.ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf
160
+ title: Architectural Styles and the Design of Network-based Software Architectures
161
+ author:
162
+ ins: R. Fielding
163
+ name: Roy Thomas Fielding
164
+ org: University of California, Irvine
165
+ date: 2000
166
+ seriesinfo:
167
+ "Ph.D.": "Dissertation, University of California, Irvine"
168
+ format:
169
+ PDF: http://www.ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf
170
+ normative:
171
+ ECMA262:
172
+ author:
173
+ org: European Computer Manufacturers Association
174
+ title: ECMAScript Language Specification 5.1 Edition
175
+ date: 2011-06
176
+ target: http://www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf
177
+ seriesinfo:
178
+ ECMA: Standard ECMA-262
179
+ RFC2119:
180
+ RFC6690:
181
+
182
+ (as in the author list, `ins` is an abbreviation for
183
+ "initials/surname".) Then you can simply reference `{{ASN.1}}` and
184
+ `{{ECMA262}}` in the text. (Make sure the reference keys are valid XML
185
+ names, though.)
62
186
 
63
187
  # Risks and Side-Effects
64
188
 
@@ -67,7 +191,7 @@ number of non-trivial Internet-Drafts. You probably still need to
67
191
  skim [RFC 2629][] if you want to write an Internet-Draft, but you
68
192
  don't really need to understand XML very much. Knowing the basics of
69
193
  YAML helps with the metadata (but you'll understand it from the
70
- examples.)
194
+ examples).
71
195
 
72
196
  # Related Work
73
197
 
@@ -85,16 +209,15 @@ verbose.
85
209
 
86
210
  # License
87
211
 
88
- (kramdown itself appears to be licensed GPLv3.) As kramdown-rfc2629
89
- is in part derived from kramdown source, there is little choice: It is
90
- also licensed under GPLv3, which you can google yourself. (Being
91
- stuck at GPLv3 does not make me happy, but it is just for this tool so
92
- it's probably not going to kill any RFC author.)
212
+ With kramdown version 1.0, kramdown itself now is MIT licensed, so it
213
+ is finally possible to license kramdown-rfc2629 under the same
214
+ license.
93
215
 
94
216
  [kramdown]: http://kramdown.rubyforge.org/
95
217
  [stupid]: http://tools.ietf.org/id/draft-hartke-xmpp-stupid-00
96
- [RFC 2629]: http://xml.resource.org
218
+ [RFC 2629]: http://xml.resource.org/public/rfc/html/rfc2629.html
97
219
  [markdown]: http://en.wikipedia.org/wiki/Markdown
98
220
  [IETF]: http://www.ietf.org
99
221
  [Miek Gieben]: http://www.miek.nl/
100
222
  [pandoc2rfc]: https://github.com/miekg/pandoc2rfc/
223
+ [XML2RFC]: http://xml.resource.org
@@ -1,10 +1,10 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'kramdown-rfc2629'
3
- s.version = '0.13.8'
3
+ s.version = '1.0.0'
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', '~> 0.13')
7
+ s.add_dependency('kramdown', '~> 1.0.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']
@@ -15,4 +15,5 @@ spec = Gem::Specification.new do |s|
15
15
  s.author = "Carsten Bormann"
16
16
  s.email = "cabo@tzi.org"
17
17
  s.homepage = "http://github.com/cabo/kramdown-rfc2629"
18
+ s.license = 'MIT'
18
19
  end
@@ -12,8 +12,8 @@
12
12
 
13
13
  raise "sorry, 1.8 was last decade" unless RUBY_VERSION >= '1.9'
14
14
 
15
- # this version is adapted to kramdown 0.12.0 or 0.13.1
16
- gem 'kramdown', '~> 0.13'
15
+ # this version also works with kramdown 0.12, 0.13, 0.14, but 1.0 has the right license
16
+ gem 'kramdown', '~> 1.0.0'
17
17
  require 'kramdown'
18
18
 
19
19
  require 'rexml/parsers/baseparser'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kramdown-rfc2629
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.8
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: '0.13'
19
+ version: 1.0.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: '0.13'
26
+ version: 1.0.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.
@@ -39,7 +39,8 @@ files:
39
39
  - bin/kramdown-rfc2629
40
40
  - data/kramdown-rfc2629.erb
41
41
  homepage: http://github.com/cabo/kramdown-rfc2629
42
- licenses: []
42
+ licenses:
43
+ - MIT
43
44
  metadata: {}
44
45
  post_install_message:
45
46
  rdoc_options: []