kramdown-man 0.1.4 → 0.1.5
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.
- data/ChangeLog.md +10 -0
- data/lib/kramdown/converter/man.rb +384 -17
- data/lib/kramdown/man/version.rb +1 -1
- data/man/kramdown-man.1 +36 -36
- data/man/kramdown-man.1.md +1 -1
- data/spec/kramdown/converter/man_spec.rb +86 -77
- metadata +2 -2
data/ChangeLog.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
### 0.1.5 / 2013-05-19
|
2
|
+
|
3
|
+
* Translate unicode symbols into roff glyphs.
|
4
|
+
* Convert typographic symbols and smart quotes into glyphs.
|
5
|
+
* Simplify `\fB\fC` as `\fC` (Colin Watson).
|
6
|
+
* Use `\fB` for codespans (Colin Watson).
|
7
|
+
* Escape `--` as `\-\-` (Colin Watson).
|
8
|
+
* Escape `\` as `\e` (Colin Watson).
|
9
|
+
* Emit `.TP` or `.HP` if the paragraph begins with a strong element.
|
10
|
+
|
1
11
|
### 0.1.4 / 2013-05-05
|
2
12
|
|
3
13
|
* Improve detection of tagged paragraphs.
|
@@ -13,28 +13,394 @@ module Kramdown
|
|
13
13
|
# Comment header
|
14
14
|
HEADER = [
|
15
15
|
".\\\" Generated by kramdown-man #{::Kramdown::Man::VERSION}",
|
16
|
-
".\\\" https://github.com/postmodern/kramdown-
|
16
|
+
".\\\" https://github.com/postmodern/kramdown-man#readme"
|
17
17
|
].join("\n")
|
18
18
|
|
19
19
|
# Typographic Symbols and their UTF8 chars
|
20
20
|
TYPOGRAPHIC_SYMS = {
|
21
|
-
:ndash =>
|
22
|
-
:mdash =>
|
23
|
-
:hellip =>
|
24
|
-
:laquo =>
|
25
|
-
:raquo =>
|
26
|
-
:laquo_space =>
|
27
|
-
:raquo_space =>
|
21
|
+
:ndash => '\-\-',
|
22
|
+
:mdash => '\[em]',
|
23
|
+
:hellip => '...',
|
24
|
+
:laquo => '\[Fo]',
|
25
|
+
:raquo => '\[Fc]',
|
26
|
+
:laquo_space => '\[Fo]',
|
27
|
+
:raquo_space => '\[Fc]'
|
28
28
|
}
|
29
29
|
|
30
30
|
# Smart Quotes and their UTF8 chars
|
31
31
|
SMART_QUOTES = {
|
32
|
-
:lsquo =>
|
33
|
-
:rsquo =>
|
34
|
-
:ldquo =>
|
35
|
-
:rdquo =>
|
32
|
+
:lsquo => '\[oq]',
|
33
|
+
:rsquo => '\[cq]',
|
34
|
+
:ldquo => '\[lq]',
|
35
|
+
:rdquo => '\[rq]'
|
36
36
|
}
|
37
37
|
|
38
|
+
GLYPHS = {
|
39
|
+
'Ð' => '\[-D]',
|
40
|
+
'ð' => '\[Sd]',
|
41
|
+
'Þ' => '\[TP]',
|
42
|
+
'þ' => '\[Tp]',
|
43
|
+
'ß' => '\[ss]',
|
44
|
+
# Ligatures and Other Latin Glyphs
|
45
|
+
'ff' => '\[ff]',
|
46
|
+
'fi' => '\[fi]',
|
47
|
+
'fl' => '\[fl]',
|
48
|
+
'ffi' => '\[Fi]',
|
49
|
+
'ffl' => '\[Fl]',
|
50
|
+
'Ł' => '\[/L]',
|
51
|
+
'ł' => '\[/l]',
|
52
|
+
'Ø' => '\[/O]',
|
53
|
+
'ø' => '\[/o]',
|
54
|
+
'Æ' => '\[AE]',
|
55
|
+
'æ' => '\[ae]',
|
56
|
+
'Œ' => '\[OE]',
|
57
|
+
'œ' => '\[oe]',
|
58
|
+
'IJ' => '\[IJ]',
|
59
|
+
'ij' => '\[ij]',
|
60
|
+
'ı' => '\[.i]',
|
61
|
+
'ȷ' => '\[.j]',
|
62
|
+
# Accented Characters
|
63
|
+
'Á' => '\[\'A]',
|
64
|
+
'Ć' => '\[\'C]',
|
65
|
+
'É' => '\[\'E]',
|
66
|
+
'Í' => '\[\'I]',
|
67
|
+
'Ó' => '\[\'O]',
|
68
|
+
'Ú' => '\[\'U]',
|
69
|
+
'Ý' => '\[\'Y]',
|
70
|
+
'á' => '\[\'a]',
|
71
|
+
'ć' => '\[\'c]',
|
72
|
+
'é' => '\[\'e]',
|
73
|
+
'í' => '\[\'i]',
|
74
|
+
'ó' => '\[\'o]',
|
75
|
+
'ú' => '\[\'u]',
|
76
|
+
'ý' => '\[\'y]',
|
77
|
+
'Ä' => '\[:A]',
|
78
|
+
'Ë' => '\[:E]',
|
79
|
+
'Ï' => '\[:I]',
|
80
|
+
'Ö' => '\[:O]',
|
81
|
+
'Ü' => '\[:U]',
|
82
|
+
'Ÿ' => '\[:Y]',
|
83
|
+
'ä' => '\[:a]',
|
84
|
+
'ë' => '\[:e]',
|
85
|
+
'ï' => '\[:i]',
|
86
|
+
'ö' => '\[:o]',
|
87
|
+
'ü' => '\[:u]',
|
88
|
+
'ÿ' => '\[:y]',
|
89
|
+
'Â' => '\[^A]',
|
90
|
+
'Ê' => '\[^E]',
|
91
|
+
'Î' => '\[^I]',
|
92
|
+
'Ô' => '\[^O]',
|
93
|
+
'Û' => '\[^U]',
|
94
|
+
'â' => '\[^a]',
|
95
|
+
'ê' => '\[^e]',
|
96
|
+
'î' => '\[^i]',
|
97
|
+
'ô' => '\[^o]',
|
98
|
+
'û' => '\[^u]',
|
99
|
+
'À' => '\[`A]',
|
100
|
+
'È' => '\[`E]',
|
101
|
+
'Ì' => '\[`I]',
|
102
|
+
'Ò' => '\[`O]',
|
103
|
+
'Ù' => '\[`U]',
|
104
|
+
'à' => '\[`a]',
|
105
|
+
'è' => '\[`e]',
|
106
|
+
'ì' => '\[`i]',
|
107
|
+
'ò' => '\[`o]',
|
108
|
+
'ù' => '\[`u]',
|
109
|
+
'Ã' => '\[~A]',
|
110
|
+
'Ñ' => '\[~N]',
|
111
|
+
'Õ' => '\[~O]',
|
112
|
+
'ã' => '\[~a]',
|
113
|
+
'ñ' => '\[~n]',
|
114
|
+
'õ' => '\[~o]',
|
115
|
+
'Š' => '\[vS]',
|
116
|
+
'š' => '\[vs]',
|
117
|
+
'Ž' => '\[vZ]',
|
118
|
+
'ž' => '\[vz]',
|
119
|
+
'Ç' => '\[,C]',
|
120
|
+
'ç' => '\[,c]',
|
121
|
+
'Å' => '\[oA]',
|
122
|
+
'å' => '\[oa]',
|
123
|
+
# Accents
|
124
|
+
'˝' => '\[a"]',
|
125
|
+
'¯' => '\[a-]',
|
126
|
+
'˙' => '\[a.]',
|
127
|
+
'^' => '\[a^]',
|
128
|
+
'´' => "\\´",
|
129
|
+
'`' => '\`',
|
130
|
+
'˘' => '\[ab]',
|
131
|
+
'¸' => '\[ac]',
|
132
|
+
'¨' => '\[ad]',
|
133
|
+
'ˇ' => '\[ah]',
|
134
|
+
'˚' => '\[ao]',
|
135
|
+
'~' => '\(ti',
|
136
|
+
'˛' => '\[ho]',
|
137
|
+
'^' => '\(ha',
|
138
|
+
'~' => '\[ti]',
|
139
|
+
# Quotes
|
140
|
+
'„' => '\[Bq]',
|
141
|
+
'‚' => '\[bq]',
|
142
|
+
'“' => '\[lq]',
|
143
|
+
'”' => '\[rq]',
|
144
|
+
'‘' => '\[oq]',
|
145
|
+
'’' => '\[cq]',
|
146
|
+
"'" => '\(aq',
|
147
|
+
'"' => '\[dq]',
|
148
|
+
'«' => '\[Fo]',
|
149
|
+
'»' => '\[Fc]',
|
150
|
+
'‹' => '\[fo]',
|
151
|
+
'›' => '\[fc]',
|
152
|
+
# Punctuation
|
153
|
+
'.' => '\.',
|
154
|
+
'¡' => '\[r!]',
|
155
|
+
'¿' => '\[r?]',
|
156
|
+
'—' => '\[em]',
|
157
|
+
'–' => '\[en]',
|
158
|
+
'‐' => '\[hy]',
|
159
|
+
# Brackets
|
160
|
+
'[' => '\[lB]',
|
161
|
+
']' => '\[rB]',
|
162
|
+
'{' => '\[lC]',
|
163
|
+
'}' => '\[rC]',
|
164
|
+
'⟨' => '\[la]',
|
165
|
+
'⟩' => '\[ra]',
|
166
|
+
'⎪' => '\[bv]',
|
167
|
+
'⎪' => '\[braceex]',
|
168
|
+
'⎡' => '\[bracketlefttp]',
|
169
|
+
'⎣' => '\[bracketleftbt]',
|
170
|
+
'⎢' => '\[bracketleftex]',
|
171
|
+
'⎤' => '\[bracketrighttp]',
|
172
|
+
'⎦' => '\[bracketrightbt]',
|
173
|
+
'⎥' => '\[bracketrightex]',
|
174
|
+
'╭' => '\[lt]',
|
175
|
+
'⎧' => '\[bracelefttp]',
|
176
|
+
'┥' => '\[lk]',
|
177
|
+
'⎨' => '\[braceleftmid]',
|
178
|
+
'╰' => '\[lb]',
|
179
|
+
'⎩' => '\[braceleftbt]',
|
180
|
+
'⎪' => '\[braceleftex]',
|
181
|
+
'╮' => '\[rt]',
|
182
|
+
'⎫' => '\[bracerighttp]',
|
183
|
+
'┝' => '\[rk]',
|
184
|
+
'⎬' => '\[bracerightmid]',
|
185
|
+
'╯' => '\[rb]',
|
186
|
+
'⎭' => '\[bracerightbt]',
|
187
|
+
'⎪' => '\[bracerightex]',
|
188
|
+
'⎛' => '\[parenlefttp]',
|
189
|
+
'⎝' => '\[parenleftbt]',
|
190
|
+
'⎜' => '\[parenleftex]',
|
191
|
+
'⎞' => '\[parenrighttp]',
|
192
|
+
'⎠' => '\[parenrightbt]',
|
193
|
+
'⎟' => '\[parenrightex]',
|
194
|
+
# Arrows
|
195
|
+
'←' => '\[<-]',
|
196
|
+
'→' => '\[->]',
|
197
|
+
'↔' => '\[<>]',
|
198
|
+
'↓' => '\[da]',
|
199
|
+
'↑' => '\[ua]',
|
200
|
+
'↕' => '\[va]',
|
201
|
+
'⇐' => '\[lA]',
|
202
|
+
'⇒' => '\[rA]',
|
203
|
+
'⇔' => '\[hA]',
|
204
|
+
'⇓' => '\[dA]',
|
205
|
+
'⇑' => '\[uA]',
|
206
|
+
'⇕' => '\[vA]',
|
207
|
+
'⎯' => '\[an]',
|
208
|
+
# Lines
|
209
|
+
'|' => '\[ba]',
|
210
|
+
'│' => '\[br]',
|
211
|
+
'_' => '\[ul]',
|
212
|
+
'‾' => '\[rn]',
|
213
|
+
'_' => '\[ru]',
|
214
|
+
'¦' => '\[bb]',
|
215
|
+
'/' => '\[sl]',
|
216
|
+
'\\' => '\e',
|
217
|
+
# Text markers
|
218
|
+
'○' => '\[ci]',
|
219
|
+
'·' => '\[bu]',
|
220
|
+
'‡' => '\[dd]',
|
221
|
+
'†' => '\[dg]',
|
222
|
+
'◊' => '\[lz]',
|
223
|
+
'□' => '\[sq]',
|
224
|
+
'¶' => '\[ps]',
|
225
|
+
'§' => '\[sc]',
|
226
|
+
'☜' => '\[lh]',
|
227
|
+
'☞' => '\[rh]',
|
228
|
+
'@' => '\[at]',
|
229
|
+
'#' => '\[sh]',
|
230
|
+
'↵' => '\[CR]',
|
231
|
+
'✓' => '\[OK]',
|
232
|
+
# Legal Symbols
|
233
|
+
'©' => '\[co]',
|
234
|
+
'®' => '\[rg]',
|
235
|
+
'™' => '\[tm]',
|
236
|
+
# Currency symbols
|
237
|
+
'$' => '\[Do]',
|
238
|
+
'¢' => '\[ct]',
|
239
|
+
'€' => '\[eu]',
|
240
|
+
'€' => '\[Eu]',
|
241
|
+
'¥' => '\[Ye]',
|
242
|
+
'£' => '\[Po]',
|
243
|
+
'¤' => '\[Cs]',
|
244
|
+
'ƒ' => '\[Fn]',
|
245
|
+
# Units
|
246
|
+
'°' => '\[de]',
|
247
|
+
'‰' => '\[%0]',
|
248
|
+
'′' => '\[fm]',
|
249
|
+
'″' => '\[sd]',
|
250
|
+
'µ' => '\[mc]',
|
251
|
+
'ª' => '\[Of]',
|
252
|
+
'º' => '\[Om]',
|
253
|
+
# Logical Symbols
|
254
|
+
'∧' => '\[AN]',
|
255
|
+
'∨' => '\[OR]',
|
256
|
+
'¬' => '\[no]',
|
257
|
+
'¬' => '\[tno]',
|
258
|
+
'∃' => '\[te]',
|
259
|
+
'∀' => '\[fa]',
|
260
|
+
'∋' => '\[st]',
|
261
|
+
'∴' => '\[3d]',
|
262
|
+
'∴' => '\[tf]',
|
263
|
+
'|' => '\[or]',
|
264
|
+
# Mathematical Symbols
|
265
|
+
'½' => '\[12]',
|
266
|
+
'¼' => '\[14]',
|
267
|
+
'¾' => '\[34]',
|
268
|
+
'⅛' => '\[18]',
|
269
|
+
'⅜' => '\[38]',
|
270
|
+
'⅝' => '\[58]',
|
271
|
+
'⅞' => '\[78]',
|
272
|
+
'¹' => '\[S1]',
|
273
|
+
'²' => '\[S2]',
|
274
|
+
'³' => '\[S3]',
|
275
|
+
'+' => '\[pl]',
|
276
|
+
'-' => '\-',
|
277
|
+
'−' => '\[mi]',
|
278
|
+
'∓' => '\[-+]',
|
279
|
+
'±' => '\[+-]',
|
280
|
+
'±' => '\[t+-]',
|
281
|
+
'·' => '\[pc]',
|
282
|
+
'⋅' => '\[md]',
|
283
|
+
'×' => '\[mu]',
|
284
|
+
'×' => '\[tmu]',
|
285
|
+
'⊗' => '\[c*]',
|
286
|
+
'⊕' => '\[c+]',
|
287
|
+
'÷' => '\[di]',
|
288
|
+
'÷' => '\[tdi]',
|
289
|
+
'⁄' => '\[f/]',
|
290
|
+
'∗' => '\[**]',
|
291
|
+
'≤' => '\[<=]',
|
292
|
+
'≥' => '\[>=]',
|
293
|
+
'≪' => '\[<<]',
|
294
|
+
'≫' => '\[>>]',
|
295
|
+
'=' => '\[eq]',
|
296
|
+
'≠' => '\[!=]',
|
297
|
+
'≡' => '\[==]',
|
298
|
+
'≢' => '\[ne]',
|
299
|
+
'≅' => '\[=~]',
|
300
|
+
'≃' => '\[|=]',
|
301
|
+
'∼' => '\[ap]',
|
302
|
+
'≈' => '\[~~]',
|
303
|
+
'≈' => '\[~=]',
|
304
|
+
'∝' => '\[pt]',
|
305
|
+
'∅' => '\[es]',
|
306
|
+
'∈' => '\[mo]',
|
307
|
+
'∉' => '\[nm]',
|
308
|
+
'⊂' => '\[sb]',
|
309
|
+
'⊄' => '\[nb]',
|
310
|
+
'⊃' => '\[sp]',
|
311
|
+
'⊅' => '\[nc]',
|
312
|
+
'⊆' => '\[ib]',
|
313
|
+
'⊇' => '\[ip]',
|
314
|
+
'∩' => '\[ca]',
|
315
|
+
'∪' => '\[cu]',
|
316
|
+
'∠' => '\[/_]',
|
317
|
+
'⊥' => '\[pp]',
|
318
|
+
'∫' => '\[is]',
|
319
|
+
'∫' => '\[integral]',
|
320
|
+
'∑' => '\[sum]',
|
321
|
+
'∏' => '\[product]',
|
322
|
+
'∐' => '\[coproduct]',
|
323
|
+
'∇' => '\[gr]',
|
324
|
+
'√' => '\[sr]',
|
325
|
+
'√' => '\[sqrt]',
|
326
|
+
'⌈' => '\[lc]',
|
327
|
+
'⌉' => '\[rc]',
|
328
|
+
'⌊' => '\[lf]',
|
329
|
+
'⌋' => '\[rf]',
|
330
|
+
'∞' => '\[if]',
|
331
|
+
'ℵ' => '\[Ah]',
|
332
|
+
'ℑ' => '\[Im]',
|
333
|
+
'ℜ' => '\[Re]',
|
334
|
+
'℘' => '\[wp]',
|
335
|
+
'∂' => '\[pd]',
|
336
|
+
'ℏ' => '\[-h]',
|
337
|
+
'ℏ' => '\[hbar]',
|
338
|
+
# Greek glyphs
|
339
|
+
'Α' => '\[*A]',
|
340
|
+
'Β' => '\[*B]',
|
341
|
+
'Γ' => '\[*G]',
|
342
|
+
'Δ' => '\[*D]',
|
343
|
+
'Ε' => '\[*E]',
|
344
|
+
'Ζ' => '\[*Z]',
|
345
|
+
'Η' => '\[*Y]',
|
346
|
+
'Θ' => '\[*H]',
|
347
|
+
'Ι' => '\[*I]',
|
348
|
+
'Κ' => '\[*K]',
|
349
|
+
'Λ' => '\[*L]',
|
350
|
+
'Μ' => '\[*M]',
|
351
|
+
'Ν' => '\[*N]',
|
352
|
+
'Ξ' => '\[*C]',
|
353
|
+
'Ο' => '\[*O]',
|
354
|
+
'Π' => '\[*P]',
|
355
|
+
'Ρ' => '\[*R]',
|
356
|
+
'Σ' => '\[*S]',
|
357
|
+
'Τ' => '\[*T]',
|
358
|
+
'Υ' => '\[*U]',
|
359
|
+
'Φ' => '\[*F]',
|
360
|
+
'Χ' => '\[*X]',
|
361
|
+
'Ψ' => '\[*Q]',
|
362
|
+
'Ω' => '\[*W]',
|
363
|
+
'α' => '\[*a]',
|
364
|
+
'β' => '\[*b]',
|
365
|
+
'γ' => '\[*g]',
|
366
|
+
'δ' => '\[*d]',
|
367
|
+
'ε' => '\[*e]',
|
368
|
+
'ζ' => '\[*z]',
|
369
|
+
'η' => '\[*y]',
|
370
|
+
'θ' => '\[*h]',
|
371
|
+
'ι' => '\[*i]',
|
372
|
+
'κ' => '\[*k]',
|
373
|
+
'λ' => '\[*l]',
|
374
|
+
'μ' => '\[*m]',
|
375
|
+
'ν' => '\[*n]',
|
376
|
+
'ξ' => '\[*c]',
|
377
|
+
'ο' => '\[*o]',
|
378
|
+
'π' => '\[*p]',
|
379
|
+
'ρ' => '\[*r]',
|
380
|
+
'ς' => '\[ts]',
|
381
|
+
'σ' => '\[*s]',
|
382
|
+
'τ' => '\[*t]',
|
383
|
+
'υ' => '\[*u]',
|
384
|
+
'ϕ' => '\[*f]',
|
385
|
+
'χ' => '\[*x]',
|
386
|
+
'ψ' => '\[*q]',
|
387
|
+
'ω' => '\[*w]',
|
388
|
+
'ϑ' => '\[+h]',
|
389
|
+
'φ' => '\[+f]',
|
390
|
+
'ϖ' => '\[+p]',
|
391
|
+
'ϵ' => '\[+e]',
|
392
|
+
# Card symbols
|
393
|
+
'♣' => '\[CL]',
|
394
|
+
'♠' => '\[SP]',
|
395
|
+
'♥' => '\[HE]',
|
396
|
+
'♡' => '\[u2661]',
|
397
|
+
'♦' => '\[DI]',
|
398
|
+
'♢' => '\[u2662]'
|
399
|
+
}
|
400
|
+
|
401
|
+
# Regular expression to convert unicode characters into glyphs
|
402
|
+
GLYPH_REGEXP = Regexp.union(GLYPHS.keys)
|
403
|
+
|
38
404
|
#
|
39
405
|
# Initializes the converter.
|
40
406
|
#
|
@@ -324,8 +690,9 @@ module Kramdown
|
|
324
690
|
def convert_p(p)
|
325
691
|
children = p.children
|
326
692
|
|
327
|
-
if (children.length >= 2) &&
|
328
|
-
|
693
|
+
if ((children.length >= 2) && (children.first.type == :codespan ||
|
694
|
+
children.first.type == :em ||
|
695
|
+
children.first.type == :strong))
|
329
696
|
newline = children.find_index { |el|
|
330
697
|
el.type == :text && el.value.start_with?("\n")
|
331
698
|
}
|
@@ -379,7 +746,7 @@ module Kramdown
|
|
379
746
|
# The roff output.
|
380
747
|
#
|
381
748
|
def convert_codespan(codespan)
|
382
|
-
"\\fB
|
749
|
+
"\\fB#{codespan.value}\\fR"
|
383
750
|
end
|
384
751
|
|
385
752
|
#
|
@@ -392,7 +759,7 @@ module Kramdown
|
|
392
759
|
# The roff output.
|
393
760
|
#
|
394
761
|
def convert_a(a)
|
395
|
-
href = a.attr['href']
|
762
|
+
href = escape(a.attr['href'])
|
396
763
|
text = convert_children(a.children)
|
397
764
|
|
398
765
|
case href
|
@@ -436,7 +803,7 @@ module Kramdown
|
|
436
803
|
# The escaped text.
|
437
804
|
#
|
438
805
|
def escape(text)
|
439
|
-
text.gsub(
|
806
|
+
text.gsub(GLYPH_REGEXP) { |char| GLYPHS[char] }
|
440
807
|
end
|
441
808
|
|
442
809
|
end
|
data/lib/kramdown/man/version.rb
CHANGED
data/man/kramdown-man.1
CHANGED
@@ -1,23 +1,23 @@
|
|
1
1
|
.\" Generated by kramdown-man 0.1.4
|
2
|
-
.\" https://github.com/postmodern/kramdown-
|
2
|
+
.\" https://github.com/postmodern/kramdown-man#readme
|
3
3
|
.TH kramdown-man.1 "April 2013" kramdown-man "User Manuals"
|
4
4
|
.LP
|
5
5
|
.SH DESCRIPTION
|
6
6
|
.LP
|
7
7
|
.PP
|
8
8
|
A Kramdown
|
9
|
-
.UR http
|
10
|
-
.UE
|
9
|
+
.UR http:\[sl]\[sl]kramdown\.rubyforge\.org\[sl]
|
10
|
+
.UE plugin for converting Markdown files into man pages\.
|
11
11
|
.LP
|
12
12
|
.SH EXAMPLE
|
13
13
|
.LP
|
14
14
|
.nf
|
15
|
-
require
|
16
|
-
require
|
15
|
+
require \(aqkramdown\(aq
|
16
|
+
require \(aqkramdown\[sl]man\(aq
|
17
17
|
|
18
|
-
doc
|
19
|
-
File
|
20
|
-
system
|
18
|
+
doc \[eq] Kramdown::Document\.new(File\.read(\(aqman\[sl]kramdown\-man\.1\.md\(aq))
|
19
|
+
File\.write(\(aqman\[sl]kramdown\-man\.1\(aq,doc\.to\[ru]man)
|
20
|
+
system \(aqman\(aq, \(aqman\[sl]kramdown\-man\.1\(aq
|
21
21
|
.fi
|
22
22
|
.LP
|
23
23
|
.SH SYNTAX
|
@@ -25,11 +25,11 @@ system 'man', 'man/kramdown\-man.1'
|
|
25
25
|
.SS FORMATTING
|
26
26
|
.LP
|
27
27
|
.nf
|
28
|
-
|
28
|
+
\`code\`
|
29
29
|
.fi
|
30
30
|
.LP
|
31
31
|
.PP
|
32
|
-
\
|
32
|
+
\fBcode\fR
|
33
33
|
.LP
|
34
34
|
.nf
|
35
35
|
*emphasis*
|
@@ -48,53 +48,53 @@ system 'man', 'man/kramdown\-man.1'
|
|
48
48
|
.SS PARAGRAPHS
|
49
49
|
.LP
|
50
50
|
.nf
|
51
|
-
Normal paragraph
|
51
|
+
Normal paragraph\.
|
52
52
|
.fi
|
53
53
|
.LP
|
54
54
|
.PP
|
55
|
-
Normal paragraph
|
55
|
+
Normal paragraph\.
|
56
56
|
.LP
|
57
57
|
.nf
|
58
|
-
|
58
|
+
\`command\` \[lB]\`\-\-foo\`\[rB] *FILE*
|
59
59
|
.fi
|
60
60
|
.LP
|
61
61
|
.HP
|
62
|
-
\
|
62
|
+
\fBcommand\fR \[lB]\fB--foo\fR\[rB] \fIFILE\fP
|
63
63
|
.LP
|
64
64
|
.nf
|
65
|
-
|
66
|
-
Text here
|
65
|
+
\`\-\-tagged\`
|
66
|
+
Text here\.
|
67
67
|
.fi
|
68
68
|
.LP
|
69
69
|
.TP
|
70
|
-
\fB
|
71
|
-
Text here
|
70
|
+
\fB--tagged\fR
|
71
|
+
Text here\.
|
72
72
|
.LP
|
73
73
|
.SS LINKS
|
74
74
|
.LP
|
75
75
|
.nf
|
76
|
-
[website](http
|
76
|
+
\[lB]website\[rB](http:\[sl]\[sl]example\.com\[sl])
|
77
77
|
.fi
|
78
78
|
.LP
|
79
79
|
.PP
|
80
80
|
website
|
81
|
-
.UR http
|
81
|
+
.UR http:\[sl]\[sl]example\.com\[sl]
|
82
82
|
.UE
|
83
83
|
.LP
|
84
84
|
.nf
|
85
|
-
[bash](man:bash(1))
|
85
|
+
\[lB]bash\[rB](man:bash(1))
|
86
86
|
.fi
|
87
87
|
.LP
|
88
88
|
.PP
|
89
89
|
.BR bash (1)
|
90
90
|
.LP
|
91
91
|
.nf
|
92
|
-
Email <bob
|
92
|
+
Email <bob\[at]example\.com>
|
93
93
|
.fi
|
94
94
|
.LP
|
95
95
|
.PP
|
96
96
|
Email
|
97
|
-
.MT bob
|
97
|
+
.MT bob\[at]example\.com
|
98
98
|
.ME
|
99
99
|
.LP
|
100
100
|
.SS LISTS
|
@@ -142,42 +142,42 @@ extra paragraph
|
|
142
142
|
.SS BLOCKQUOTES
|
143
143
|
.LP
|
144
144
|
.nf
|
145
|
-
> Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away
|
145
|
+
> Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away\.
|
146
146
|
>
|
147
|
-
> \-\-Antoine de Saint\-
|
147
|
+
> \-\-Antoine de Saint\-Exup\['e]ry
|
148
148
|
.fi
|
149
149
|
.LP
|
150
150
|
.PP
|
151
151
|
.RS
|
152
|
-
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away
|
152
|
+
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away\.
|
153
153
|
.LP
|
154
|
-
|
154
|
+
\-\-Antoine de Saint\-Exup\['e]ry
|
155
155
|
.RE
|
156
156
|
.LP
|
157
157
|
.SS CODE BLOCKS
|
158
158
|
.LP
|
159
159
|
.nf
|
160
|
-
|
160
|
+
\[sh]include <stdio\.h>
|
161
161
|
|
162
162
|
int main()
|
163
|
-
|
164
|
-
printf(
|
163
|
+
\[lC]
|
164
|
+
printf(\[dq]hello world\en\[dq]);
|
165
165
|
return 0;
|
166
|
-
|
166
|
+
\[rC]
|
167
167
|
|
168
|
-
|
168
|
+
\[sh]include <stdio\.h>
|
169
169
|
|
170
170
|
int main()
|
171
|
-
|
172
|
-
printf(
|
171
|
+
\[lC]
|
172
|
+
printf(\[dq]hello world\en\[dq]);
|
173
173
|
return 0;
|
174
|
-
|
174
|
+
\[rC]
|
175
175
|
.fi
|
176
176
|
.LP
|
177
177
|
.SH AUTHOR
|
178
178
|
.LP
|
179
179
|
.PP
|
180
180
|
Postmodern
|
181
|
-
.MT postmodern
|
181
|
+
.MT postmodern\.mod3\[at]gmail\.com
|
182
182
|
.ME
|
183
183
|
.LP
|
data/man/kramdown-man.1.md
CHANGED
@@ -25,7 +25,7 @@ Hello world.
|
|
25
25
|
".TH Header",
|
26
26
|
".LP",
|
27
27
|
".PP",
|
28
|
-
|
28
|
+
'Hello world\.'
|
29
29
|
].join("\n")
|
30
30
|
end
|
31
31
|
end
|
@@ -46,7 +46,7 @@ Hello world.
|
|
46
46
|
".TH Header",
|
47
47
|
".LP",
|
48
48
|
".PP",
|
49
|
-
|
49
|
+
'Hello world\.'
|
50
50
|
].join("\n")
|
51
51
|
end
|
52
52
|
end
|
@@ -100,8 +100,8 @@ Hello world.
|
|
100
100
|
let(:doc) { Kramdown::Document.new("-- foo") }
|
101
101
|
let(:sym) { doc.root.children[0].children[0] }
|
102
102
|
|
103
|
-
it "should convert ndash symbols back into '
|
104
|
-
subject.convert_typographic_sym(sym).should ==
|
103
|
+
it "should convert ndash symbols back into '\-\-'" do
|
104
|
+
subject.convert_typographic_sym(sym).should == "\\-\\-"
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
@@ -109,8 +109,8 @@ Hello world.
|
|
109
109
|
let(:doc) { Kramdown::Document.new("--- foo") }
|
110
110
|
let(:sym) { doc.root.children[0].children[0] }
|
111
111
|
|
112
|
-
it "should convert mdash symbols into '
|
113
|
-
subject.convert_typographic_sym(sym).should == '
|
112
|
+
it "should convert mdash symbols into '\[em]'" do
|
113
|
+
subject.convert_typographic_sym(sym).should == '\[em]'
|
114
114
|
end
|
115
115
|
end
|
116
116
|
|
@@ -118,8 +118,8 @@ Hello world.
|
|
118
118
|
let(:doc) { Kramdown::Document.new("... foo") }
|
119
119
|
let(:sym) { doc.root.children[0].children[0] }
|
120
120
|
|
121
|
-
it "should convert mdash symbols into '
|
122
|
-
subject.convert_typographic_sym(sym).should == '
|
121
|
+
it "should convert mdash symbols into '...'" do
|
122
|
+
subject.convert_typographic_sym(sym).should == '...'
|
123
123
|
end
|
124
124
|
end
|
125
125
|
|
@@ -127,8 +127,8 @@ Hello world.
|
|
127
127
|
let(:doc) { Kramdown::Document.new("<< foo") }
|
128
128
|
let(:sym) { doc.root.children[0].children[0] }
|
129
129
|
|
130
|
-
it "should convert mdash symbols into '
|
131
|
-
subject.convert_typographic_sym(sym).should == '
|
130
|
+
it "should convert mdash symbols into '\[Fo]'" do
|
131
|
+
subject.convert_typographic_sym(sym).should == '\[Fo]'
|
132
132
|
end
|
133
133
|
end
|
134
134
|
|
@@ -136,8 +136,8 @@ Hello world.
|
|
136
136
|
let(:doc) { Kramdown::Document.new("foo >> bar") }
|
137
137
|
let(:sym) { doc.root.children[0].children[1] }
|
138
138
|
|
139
|
-
it "should convert mdash symbols into '
|
140
|
-
subject.convert_typographic_sym(sym).should == '
|
139
|
+
it "should convert mdash symbols into '\[Fc]'" do
|
140
|
+
subject.convert_typographic_sym(sym).should == '\[Fc]'
|
141
141
|
end
|
142
142
|
end
|
143
143
|
|
@@ -145,8 +145,8 @@ Hello world.
|
|
145
145
|
let(:doc) { Kramdown::Document.new(" << foo") }
|
146
146
|
let(:sym) { doc.root.children[0].children[0] }
|
147
147
|
|
148
|
-
it "should convert mdash symbols into '
|
149
|
-
subject.convert_typographic_sym(sym).should == '
|
148
|
+
it "should convert mdash symbols into '\[Fo]'" do
|
149
|
+
subject.convert_typographic_sym(sym).should == '\[Fo]'
|
150
150
|
end
|
151
151
|
end
|
152
152
|
|
@@ -154,8 +154,8 @@ Hello world.
|
|
154
154
|
let(:doc) { Kramdown::Document.new("foo >> bar") }
|
155
155
|
let(:sym) { doc.root.children[0].children[1] }
|
156
156
|
|
157
|
-
it "should convert mdash symbols into '
|
158
|
-
subject.convert_typographic_sym(sym).should == '
|
157
|
+
it "should convert mdash symbols into '\[Fc]'" do
|
158
|
+
subject.convert_typographic_sym(sym).should == '\[Fc]'
|
159
159
|
end
|
160
160
|
end
|
161
161
|
end
|
@@ -165,8 +165,8 @@ Hello world.
|
|
165
165
|
let(:doc) { Kramdown::Document.new("'hello world'") }
|
166
166
|
let(:quote) { doc.root.children[0].children.first }
|
167
167
|
|
168
|
-
it "should convert lsquo quotes into '
|
169
|
-
subject.convert_smart_quote(quote).should == '
|
168
|
+
it "should convert lsquo quotes into '\[oq]'" do
|
169
|
+
subject.convert_smart_quote(quote).should == '\[oq]'
|
170
170
|
end
|
171
171
|
end
|
172
172
|
|
@@ -174,8 +174,8 @@ Hello world.
|
|
174
174
|
let(:doc) { Kramdown::Document.new("'hello world'") }
|
175
175
|
let(:quote) { doc.root.children[0].children.last }
|
176
176
|
|
177
|
-
it "should convert rsquo quotes into '
|
178
|
-
subject.convert_smart_quote(quote).should == '
|
177
|
+
it "should convert rsquo quotes into '\[cq]'" do
|
178
|
+
subject.convert_smart_quote(quote).should == '\[cq]'
|
179
179
|
end
|
180
180
|
end
|
181
181
|
|
@@ -183,8 +183,8 @@ Hello world.
|
|
183
183
|
let(:doc) { Kramdown::Document.new('"hello world"') }
|
184
184
|
let(:quote) { doc.root.children[0].children.first }
|
185
185
|
|
186
|
-
it "should convert lsquo quotes into '
|
187
|
-
subject.convert_smart_quote(quote).should == '
|
186
|
+
it "should convert lsquo quotes into '\[lq]'" do
|
187
|
+
subject.convert_smart_quote(quote).should == '\[lq]'
|
188
188
|
end
|
189
189
|
end
|
190
190
|
|
@@ -192,8 +192,8 @@ Hello world.
|
|
192
192
|
let(:doc) { Kramdown::Document.new('"hello world"') }
|
193
193
|
let(:quote) { doc.root.children[0].children.last }
|
194
194
|
|
195
|
-
it "should convert lsquo quotes into '
|
196
|
-
subject.convert_smart_quote(quote).should == '
|
195
|
+
it "should convert lsquo quotes into '\[rq]'" do
|
196
|
+
subject.convert_smart_quote(quote).should == '\[rq]'
|
197
197
|
end
|
198
198
|
end
|
199
199
|
end
|
@@ -322,8 +322,6 @@ Hello world.
|
|
322
322
|
let(:doc) { Kramdown::Document.new("1. #{text1}\n\n #{text2}") }
|
323
323
|
|
324
324
|
it "should convert the other p elements to '.IP \\\\n\\n...'" do
|
325
|
-
p li
|
326
|
-
|
327
325
|
subject.convert_ol_li(li).should == [
|
328
326
|
".IP \\n+[step0]",
|
329
327
|
text1,
|
@@ -346,22 +344,24 @@ Hello world.
|
|
346
344
|
end
|
347
345
|
|
348
346
|
describe "#convert_blockquote" do
|
349
|
-
let(:text)
|
350
|
-
let(:
|
351
|
-
let(:
|
347
|
+
let(:text) { "Some quote." }
|
348
|
+
let(:escaped_text) { 'Some quote\.' }
|
349
|
+
let(:doc) { Kramdown::Document.new("> #{text}") }
|
350
|
+
let(:blockquote) { doc.root.children[0] }
|
352
351
|
|
353
352
|
it "should convert blockquote elements into '.PP\\n.RS\\ntext...\\n.RE'" do
|
354
|
-
subject.convert_blockquote(blockquote).should == ".PP\n.RS\n#{
|
353
|
+
subject.convert_blockquote(blockquote).should == ".PP\n.RS\n#{escaped_text}\n.RE"
|
355
354
|
end
|
356
355
|
end
|
357
356
|
|
358
357
|
describe "#convert_codeblock" do
|
359
|
-
let(:code)
|
360
|
-
let(:
|
361
|
-
let(:
|
358
|
+
let(:code) { "puts 'hello world'" }
|
359
|
+
let(:escaped_code) { 'puts \(aqhello world\(aq' }
|
360
|
+
let(:doc) { Kramdown::Document.new(" #{code}\n") }
|
361
|
+
let(:codeblock) { doc.root.children[0] }
|
362
362
|
|
363
363
|
it "should convert codeblock elements into '.nf\\ntext...\\n.fi'" do
|
364
|
-
subject.convert_codeblock(codeblock).should == ".nf\n#{
|
364
|
+
subject.convert_codeblock(codeblock).should == ".nf\n#{escaped_code}\n.fi"
|
365
365
|
end
|
366
366
|
end
|
367
367
|
|
@@ -376,12 +376,13 @@ Hello world.
|
|
376
376
|
end
|
377
377
|
|
378
378
|
describe "#convert_p" do
|
379
|
-
let(:text)
|
380
|
-
let(:
|
381
|
-
let(:
|
379
|
+
let(:text) { "Hello world." }
|
380
|
+
let(:escaped_text) { 'Hello world\.' }
|
381
|
+
let(:doc) { Kramdown::Document.new(text) }
|
382
|
+
let(:p) { doc.root.children[0] }
|
382
383
|
|
383
384
|
it "should convert p elements into '.PP\\ntext'" do
|
384
|
-
subject.convert_p(p).should == ".PP\n#{
|
385
|
+
subject.convert_p(p).should == ".PP\n#{escaped_text}"
|
385
386
|
end
|
386
387
|
|
387
388
|
context "when the paragraph starts with a codespan element" do
|
@@ -389,16 +390,16 @@ Hello world.
|
|
389
390
|
let(:text) { 'Foo bar baz' }
|
390
391
|
let(:doc) { Kramdown::Document.new("`#{option}`\n\t#{text}") }
|
391
392
|
|
392
|
-
it "should convert p elements into '.TP\\n\\fB
|
393
|
-
subject.convert_p(p).should == ".TP\n\\fB
|
393
|
+
it "should convert p elements into '.TP\\n\\fB--option\\fR\\ntext...'" do
|
394
|
+
subject.convert_p(p).should == ".TP\n\\fB#{option}\\fR\n#{text}"
|
394
395
|
end
|
395
396
|
|
396
397
|
context "when there is only one codespan element" do
|
397
398
|
let(:code) { 'code' }
|
398
399
|
let(:doc) { Kramdown::Document.new("`#{code}`") }
|
399
400
|
|
400
|
-
it "should convert p elements into '.PP\\n\\fB
|
401
|
-
subject.convert_p(p).should == ".PP\n\\fB
|
401
|
+
it "should convert p elements into '.PP\\n\\fB...\\fR'" do
|
402
|
+
subject.convert_p(p).should == ".PP\n\\fB#{code}\\fR"
|
402
403
|
end
|
403
404
|
end
|
404
405
|
|
@@ -408,53 +409,60 @@ Hello world.
|
|
408
409
|
let(:text) { 'Foo bar baz' }
|
409
410
|
let(:doc) { Kramdown::Document.new("`#{flag}`, `#{option}`\n\t#{text}") }
|
410
411
|
|
411
|
-
it "should convert p elements into '.TP\\n\\fB
|
412
|
-
subject.convert_p(p).should == ".TP\n\\fB
|
412
|
+
it "should convert p elements into '.TP\\n\\fB-o\\fR, \\fB--option\\fR\\ntext...'" do
|
413
|
+
subject.convert_p(p).should == ".TP\n\\fB#{flag}\\fR, \\fB#{option}\\fR\n#{text}"
|
413
414
|
end
|
414
415
|
|
415
416
|
context "when there is no newline" do
|
416
417
|
let(:doc) { Kramdown::Document.new("`#{flag}` `#{option}`") }
|
417
418
|
|
418
419
|
it "should convert the p element into a '.HP\\n...'" do
|
419
|
-
subject.convert_p(p).should == ".HP\n\\fB
|
420
|
+
subject.convert_p(p).should == ".HP\n\\fB#{flag}\\fR \\fB#{option}\\fR"
|
420
421
|
end
|
421
422
|
end
|
422
423
|
end
|
423
424
|
end
|
424
425
|
|
425
426
|
context "when the paragraph starts with a em element" do
|
426
|
-
let(:option)
|
427
|
-
let(:
|
428
|
-
let(:
|
427
|
+
let(:option) { '--foo' }
|
428
|
+
let(:escaped_option) { "\\-\\-foo" }
|
429
|
+
let(:text) { 'Foo bar baz' }
|
430
|
+
|
431
|
+
let(:doc) do
|
432
|
+
Kramdown::Document.new("*#{option}*\n\t#{text}")
|
433
|
+
end
|
429
434
|
|
430
|
-
it "should convert p elements into '.TP\\n\\
|
431
|
-
subject.convert_p(p).should == ".TP\n\\fI#{
|
435
|
+
it "should convert p elements into '.TP\\n\\fI--option\\fP\\ntext...'" do
|
436
|
+
subject.convert_p(p).should == ".TP\n\\fI#{escaped_option}\\fP\n#{text}"
|
432
437
|
end
|
433
438
|
|
434
439
|
context "when there is only one em element" do
|
435
440
|
let(:text) { 'foo' }
|
436
441
|
let(:doc) { Kramdown::Document.new("*#{text}*") }
|
437
442
|
|
438
|
-
it "should convert p elements into '.PP\\n\\
|
443
|
+
it "should convert p elements into '.PP\\n\\fI...\\fP'" do
|
439
444
|
subject.convert_p(p).should == ".PP\n\\fI#{text}\\fP"
|
440
445
|
end
|
441
446
|
end
|
442
447
|
|
443
448
|
context "when there are more than one em element" do
|
444
|
-
let(:flag)
|
445
|
-
let(:
|
446
|
-
let(:text)
|
447
|
-
let(:doc) { Kramdown::Document.new("*#{flag}*, *#{option}*\n\t#{text}") }
|
449
|
+
let(:flag) { '-f' }
|
450
|
+
let(:escaped_flag) { "\\-f" }
|
451
|
+
let(:text) { 'Foo bar baz' }
|
448
452
|
|
449
|
-
|
450
|
-
|
453
|
+
let(:doc) do
|
454
|
+
Kramdown::Document.new("*#{flag}*, *#{option}*\n\t#{text}")
|
455
|
+
end
|
456
|
+
|
457
|
+
it "should convert p elements into '.TP\\n\\fI-o\\fP, \\fI\\-\\-option\\fP\\ntext...'" do
|
458
|
+
subject.convert_p(p).should == ".TP\n\\fI#{escaped_flag}\\fP, \\fI#{escaped_option}\\fP\n#{text}"
|
451
459
|
end
|
452
460
|
|
453
461
|
context "when there is no newline" do
|
454
462
|
let(:doc) { Kramdown::Document.new("*#{flag}* *#{option}*") }
|
455
463
|
|
456
464
|
it "should convert the p element into a '.HP\\n...'" do
|
457
|
-
subject.convert_p(p).should == ".HP\n\\fI
|
465
|
+
subject.convert_p(p).should == ".HP\n\\fI#{escaped_flag}\\fP \\fI#{escaped_option}\\fP"
|
458
466
|
end
|
459
467
|
end
|
460
468
|
end
|
@@ -486,36 +494,37 @@ Hello world.
|
|
486
494
|
let(:doc) { Kramdown::Document.new("`#{code}`") }
|
487
495
|
let(:codespan) { doc.root.children[0].children[0] }
|
488
496
|
|
489
|
-
it "should convert codespan elements into '\\
|
490
|
-
subject.convert_codespan(codespan).should == "\\fB
|
497
|
+
it "should convert codespan elements into '\\fBcode\\fR'" do
|
498
|
+
subject.convert_codespan(codespan).should == "\\fB#{code}\\fR"
|
491
499
|
end
|
492
500
|
end
|
493
501
|
|
494
502
|
describe "#convert_a" do
|
495
|
-
let(:text)
|
496
|
-
let(:href)
|
497
|
-
let(:
|
498
|
-
let(:
|
503
|
+
let(:text) { 'example' }
|
504
|
+
let(:href) { 'http://example.com/' }
|
505
|
+
let(:escaped_href) { 'http:\[sl]\[sl]example\.com\[sl]' }
|
506
|
+
let(:doc) { Kramdown::Document.new("[#{text}](#{href})") }
|
507
|
+
let(:link) { doc.root.children[0].children[0] }
|
499
508
|
|
500
509
|
it "should convert a link elements into 'text\\n.UR href\\n.UE'" do
|
501
|
-
subject.convert_a(link).should == "#{text}\n.UR #{
|
510
|
+
subject.convert_a(link).should == "#{text}\n.UR #{escaped_href}\n.UE"
|
502
511
|
end
|
503
512
|
|
504
513
|
context "when the href begins with mailto:" do
|
505
|
-
let(:text)
|
506
|
-
let(:email)
|
507
|
-
let(:
|
514
|
+
let(:text) { 'Bob' }
|
515
|
+
let(:email) { 'bob@example.com' }
|
516
|
+
let(:escaped_email) { 'bob\[at]example\.com' }
|
517
|
+
let(:doc) { Kramdown::Document.new("[#{text}](mailto:#{email})") }
|
508
518
|
|
509
519
|
it "should convert the link elements into '.MT email\\n.ME'" do
|
510
|
-
subject.convert_a(link).should == "#{text}\n.MT #{
|
520
|
+
subject.convert_a(link).should == "#{text}\n.MT #{escaped_email}\n.ME"
|
511
521
|
end
|
512
522
|
|
513
523
|
context "when link is <email>" do
|
514
|
-
let(:
|
515
|
-
let(:doc) { Kramdown::Document.new("<#{email}>") }
|
524
|
+
let(:doc) { Kramdown::Document.new("<#{email}>") }
|
516
525
|
|
517
526
|
it "should convert the link elements into '.MT email\\n.ME'" do
|
518
|
-
subject.convert_a(link).should == "\n.MT #{
|
527
|
+
subject.convert_a(link).should == "\n.MT #{escaped_email}\n.ME"
|
519
528
|
end
|
520
529
|
end
|
521
530
|
end
|
@@ -540,12 +549,12 @@ Hello world.
|
|
540
549
|
end
|
541
550
|
|
542
551
|
describe "#escape" do
|
543
|
-
|
544
|
-
subject.escape("hello\\ world").should == "hello\\\\ world"
|
545
|
-
end
|
552
|
+
let(:text) { "hello\nworld" }
|
546
553
|
|
547
|
-
|
548
|
-
|
554
|
+
described_class::GLYPHS.each do |char,glyph|
|
555
|
+
it "should convert #{char.dump} into #{glyph.dump}" do
|
556
|
+
subject.escape("#{text} #{char}").should == "#{text} #{glyph}"
|
557
|
+
end
|
549
558
|
end
|
550
559
|
end
|
551
560
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kramdown-man
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-05-
|
12
|
+
date: 2013-05-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: kramdown
|