rdiscount-dsc 1.6.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,119 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "RDISCOUNT" "1" "July 2011" "" "RUBY"
5
+ .
6
+ .SH "NAME"
7
+ \fBrdiscount\fR \- humane markup to HTML conversion tool
8
+ .
9
+ .SH "SYNOPSIS"
10
+ [\fBenv\fR RDISCOUNT_EXTENSIONS=\'\fIextension\fR,\.\.\.\'] \fBrdiscount\fR [\fIfile\fR\.\.\.]
11
+ .
12
+ .SH "DESCRIPTION"
13
+ The \fBrdiscount\fR utility reads one or more markdown(7)\-formatted text \fIfile\fRs and writes HTML to standard output\. With no \fIfile\fR, or when \fIfile\fR is \'\-\', \fBrdiscount\fR reads source text from standard input\.
14
+ .
15
+ .P
16
+ The \fBRDISCOUNT_EXTENSIONS\fR environment variable can specify a comma\-separated list of Markdown processing \fIextension\fRs to enable (see \fBEXTENSIONS\fR below)\.
17
+ .
18
+ .SH "EXTENSIONS"
19
+ .
20
+ .TP
21
+ \fBfilter_styles\fR
22
+ Do not output \fB<style>\fR tags\.
23
+ .
24
+ .TP
25
+ \fBfold_lines\fR
26
+ RedCloth compatible line folding (not used)\.
27
+ .
28
+ .TP
29
+ \fBMKD_NOLINKS\fR
30
+ Don\'t do link processing, block \fB<a>\fR tags
31
+ .
32
+ .TP
33
+ \fBMKD_NOIMAGE\fR
34
+ Don\'t do image processing, block \fB<img>\fR
35
+ .
36
+ .TP
37
+ \fBMKD_NOPANTS\fR
38
+ Don\'t run smartypants()
39
+ .
40
+ .TP
41
+ \fBMKD_NOHTML\fR
42
+ Don\'t allow raw html through AT ALL
43
+ .
44
+ .TP
45
+ \fBMKD_STRICT\fR
46
+ Disable SUPERSCRIPT, RELAXED_EMPHASIS
47
+ .
48
+ .TP
49
+ \fBMKD_TAGTEXT\fR
50
+ Process text inside an html tag; no \fB<em>\fR, no \fB<bold>\fR, no html or [] expansion
51
+ .
52
+ .TP
53
+ \fBMKD_NO_EXT\fR
54
+ Don\'t allow pseudo\-protocols
55
+ .
56
+ .TP
57
+ \fBMKD_CDATA\fR
58
+ Generate code for xml ![CDATA[\.\.\.]]
59
+ .
60
+ .TP
61
+ \fBMKD_NOSUPERSCRIPT\fR
62
+ No A
63
+ .
64
+ .TP
65
+ \fBMKD_NORELAXED\fR
66
+ Emphasis happens everywhere
67
+ .
68
+ .TP
69
+ \fBMKD_NOTABLES\fR
70
+ Don\'t process PHP Markdown Extra tables\.
71
+ .
72
+ .TP
73
+ \fBMKD_NOSTRIKETHROUGH\fR
74
+ Forbid
75
+ .
76
+ .TP
77
+ \fBMKD_TOC\fR
78
+ Do table\-of\-contents processing
79
+ .
80
+ .TP
81
+ \fBMKD_1_COMPAT\fR
82
+ Compatability with MarkdownTest_1\.0
83
+ .
84
+ .TP
85
+ \fBMKD_AUTOLINK\fR
86
+ Make http://foo\.com a link even without \fB<>\fRs
87
+ .
88
+ .TP
89
+ \fBMKD_SAFELINK\fR
90
+ Paranoid check for link protocol
91
+ .
92
+ .TP
93
+ \fBMKD_NOHEADER\fR
94
+ Don\'t process document headers
95
+ .
96
+ .TP
97
+ \fBMKD_TABSTOP\fR
98
+ Expand tabs to 4 spaces
99
+ .
100
+ .TP
101
+ \fBMKD_NODIVQUOTE\fR
102
+ Forbid >%class% blocks
103
+ .
104
+ .TP
105
+ \fBMKD_NOALPHALIST\fR
106
+ Forbid alphabetic lists
107
+ .
108
+ .TP
109
+ \fBMKD_NODLIST\fR
110
+ Forbid definition lists
111
+ .
112
+ .SH "RETURN VALUES"
113
+ The \fBrdiscount\fR utility exits 0 on success, and > 0 if an error occurs\.
114
+ .
115
+ .SH "SEE ALSO"
116
+ markdown(7), env(1)
117
+ .
118
+ .SH "AUTHOR"
119
+ Ryan Tomayko \fIhttp://tomayko\.com/about\fR
@@ -0,0 +1,98 @@
1
+ rdiscount(1) -- humane markup to HTML conversion tool
2
+ =====================================================
3
+
4
+ ## SYNOPSIS
5
+
6
+ [`env` RDISCOUNT_EXTENSIONS='<extension>,...'] `rdiscount` [<file>...]
7
+
8
+ ## DESCRIPTION
9
+
10
+ The `rdiscount` utility reads one or more markdown(7)-formatted text <file>s and
11
+ writes HTML to standard output. With no <file>, or when <file> is '-',
12
+ `rdiscount` reads source text from standard input.
13
+
14
+ The `RDISCOUNT_EXTENSIONS` environment variable can specify a comma-separated
15
+ list of Markdown processing <extension>s to enable (see **EXTENSIONS** below).
16
+
17
+ ## EXTENSIONS
18
+
19
+ * `filter_styles`:
20
+ Do not output `<style>` tags.
21
+
22
+ * `fold_lines`:
23
+ RedCloth compatible line folding (not used).
24
+
25
+ * `MKD_NOLINKS`:
26
+ Don't do link processing, block `<a>` tags
27
+
28
+ * `MKD_NOIMAGE`:
29
+ Don't do image processing, block `<img>`
30
+
31
+ * `MKD_NOPANTS`:
32
+ Don't run smartypants()
33
+
34
+ * `MKD_NOHTML`:
35
+ Don't allow raw html through AT ALL
36
+
37
+ * `MKD_STRICT`:
38
+ Disable SUPERSCRIPT, RELAXED_EMPHASIS
39
+
40
+ * `MKD_TAGTEXT`:
41
+ Process text inside an html tag; no `<em>`, no `<bold>`, no html or [] expansion
42
+
43
+ * `MKD_NO_EXT`:
44
+ Don't allow pseudo-protocols
45
+
46
+ * `MKD_CDATA`:
47
+ Generate code for xml ![CDATA[...]]
48
+
49
+ * `MKD_NOSUPERSCRIPT`:
50
+ No A^B
51
+
52
+ * `MKD_NORELAXED`:
53
+ Emphasis happens everywhere
54
+
55
+ * `MKD_NOTABLES`:
56
+ Don't process PHP Markdown Extra tables.
57
+
58
+ * `MKD_NOSTRIKETHROUGH`:
59
+ Forbid ~~strikethrough~~
60
+
61
+ * `MKD_TOC`:
62
+ Do table-of-contents processing
63
+
64
+ * `MKD_1_COMPAT`:
65
+ Compatability with MarkdownTest_1.0
66
+
67
+ * `MKD_AUTOLINK`:
68
+ Make http://foo.com a link even without `<>`s
69
+
70
+ * `MKD_SAFELINK`:
71
+ Paranoid check for link protocol
72
+
73
+ * `MKD_NOHEADER`:
74
+ Don't process document headers
75
+
76
+ * `MKD_TABSTOP`:
77
+ Expand tabs to 4 spaces
78
+
79
+ * `MKD_NODIVQUOTE`:
80
+ Forbid >%class% blocks
81
+
82
+ * `MKD_NOALPHALIST`:
83
+ Forbid alphabetic lists
84
+
85
+ * `MKD_NODLIST`:
86
+ Forbid definition lists
87
+
88
+ ## RETURN VALUES
89
+
90
+ The `rdiscount` utility exits 0 on success, and > 0 if an error occurs.
91
+
92
+ ## SEE ALSO
93
+
94
+ markdown(7), env(1)
95
+
96
+ ## AUTHOR
97
+
98
+ Ryan Tomayko <http://tomayko.com/about>
@@ -0,0 +1,57 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = 'rdiscount-dsc'
3
+ s.version = '1.6.9'
4
+ s.summary = "Fast Implementation of Gruber's Markdown in C"
5
+ s.date = '2011-01-25'
6
+ s.email = 'rtomayko@gmail.com'
7
+ s.homepage = 'http://github.com/rtomayko/rdiscount'
8
+ s.authors = ["Ryan Tomayko", "David Loren Parsons", "Andrew White"]
9
+ # = MANIFEST =
10
+ s.files = %w[
11
+ BUILDING
12
+ COPYING
13
+ README.markdown
14
+ Rakefile
15
+ bin/rdiscount
16
+ discount
17
+ ext/Csio.c
18
+ ext/amalloc.h
19
+ ext/basename.c
20
+ ext/config.h
21
+ ext/css.c
22
+ ext/cstring.h
23
+ ext/docheader.c
24
+ ext/dumptree.c
25
+ ext/emmatch.c
26
+ ext/extconf.rb
27
+ ext/generate.c
28
+ ext/html5.c
29
+ ext/markdown.c
30
+ ext/markdown.h
31
+ ext/mkdio.c
32
+ ext/mkdio.h
33
+ ext/rdiscount.c
34
+ ext/resource.c
35
+ ext/tags.c
36
+ ext/tags.h
37
+ ext/toc.c
38
+ ext/xml.c
39
+ lib/markdown.rb
40
+ lib/rdiscount.rb
41
+ man/markdown.7
42
+ man/rdiscount.1
43
+ man/rdiscount.1.ronn
44
+ rdiscount-dsc.gemspec
45
+ test/benchmark.rb
46
+ test/benchmark.txt
47
+ test/markdown_test.rb
48
+ test/rdiscount_test.rb
49
+ ]
50
+ # = MANIFEST =
51
+ s.test_files = ["test/markdown_test.rb", "test/rdiscount_test.rb"]
52
+ s.extra_rdoc_files = ["COPYING"]
53
+ s.extensions = ["ext/extconf.rb"]
54
+ s.executables = ["rdiscount"]
55
+ s.require_paths = ["lib"]
56
+ s.rubyforge_project = 'wink'
57
+ end
@@ -0,0 +1,56 @@
1
+ require 'rubygems'
2
+
3
+ iterations = 100
4
+ test_file = "#{File.dirname(__FILE__)}/benchmark.txt"
5
+ implementations = %w[BlueCloth RDiscount Maruku PEGMarkdown]
6
+
7
+ # Attempt to require each implementation and remove any that are not
8
+ # installed.
9
+ implementations.reject! do |class_name|
10
+ begin
11
+ module_path =
12
+ if class_name == 'PEGMarkdown'
13
+ 'peg_markdown'
14
+ else
15
+ class_name.downcase
16
+ end
17
+ require module_path
18
+ false
19
+ rescue LoadError => boom
20
+ module_path.tr! '_', '-'
21
+ puts "#{class_name} excluded. Try: gem install #{module_path}"
22
+ true
23
+ end
24
+ end
25
+
26
+ # Grab actual class objects.
27
+ implementations.map! { |class_name| Object.const_get(class_name) }
28
+
29
+ # The actual benchmark.
30
+ def benchmark(implementation, text, iterations)
31
+ start = Time.now
32
+ iterations.times do |i|
33
+ implementation.new(text).to_html
34
+ end
35
+ Time.now - start
36
+ end
37
+
38
+ # Read test file
39
+ test_data = File.read(test_file)
40
+
41
+ # Prime the pump
42
+ puts "Spinning up ..."
43
+ implementations.each { |impl| benchmark(impl, test_data, 1) }
44
+
45
+ # Run benchmarks; gather results.
46
+ puts "Running benchmarks ..."
47
+ results =
48
+ implementations.inject([]) do |r,impl|
49
+ GC.start
50
+ r << [ impl, benchmark(impl, test_data, iterations) ]
51
+ end
52
+
53
+ puts "Results for #{iterations} iterations:"
54
+ results.each do |impl,time|
55
+ printf " %10s %09.06fs total time, %09.06fs average\n", "#{impl}:", time, time / iterations
56
+ end
@@ -0,0 +1,306 @@
1
+ Markdown: Basics
2
+ ================
3
+
4
+ <ul id="ProjectSubmenu">
5
+ <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li>
6
+ <li><a class="selected" title="Markdown Basics">Basics</a></li>
7
+ <li><a href="/projects/markdown/syntax" title="Markdown Syntax Documentation">Syntax</a></li>
8
+ <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li>
9
+ <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li>
10
+ </ul>
11
+
12
+
13
+ Getting the Gist of Markdown's Formatting Syntax
14
+ ------------------------------------------------
15
+
16
+ This page offers a brief overview of what it's like to use Markdown.
17
+ The [syntax page] [s] provides complete, detailed documentation for
18
+ every feature, but Markdown should be very easy to pick up simply by
19
+ looking at a few examples of it in action. The examples on this page
20
+ are written in a before/after style, showing example syntax and the
21
+ HTML output produced by Markdown.
22
+
23
+ It's also helpful to simply try Markdown out; the [Dingus] [d] is a
24
+ web application that allows you type your own Markdown-formatted text
25
+ and translate it to XHTML.
26
+
27
+ **Note:** This document is itself written using Markdown; you
28
+ can [see the source for it by adding '.text' to the URL] [src].
29
+
30
+ [s]: /projects/markdown/syntax "Markdown Syntax"
31
+ [d]: /projects/markdown/dingus "Markdown Dingus"
32
+ [src]: /projects/markdown/basics.text
33
+
34
+
35
+ ## Paragraphs, Headers, Blockquotes ##
36
+
37
+ A paragraph is simply one or more consecutive lines of text, separated
38
+ by one or more blank lines. (A blank line is any line that looks like a
39
+ blank line -- a line containing nothing spaces or tabs is considered
40
+ blank.) Normal paragraphs should not be intended with spaces or tabs.
41
+
42
+ Markdown offers two styles of headers: *Setext* and *atx*.
43
+ Setext-style headers for `<h1>` and `<h2>` are created by
44
+ "underlining" with equal signs (`=`) and hyphens (`-`), respectively.
45
+ To create an atx-style header, you put 1-6 hash marks (`#`) at the
46
+ beginning of the line -- the number of hashes equals the resulting
47
+ HTML header level.
48
+
49
+ Blockquotes are indicated using email-style '`>`' angle brackets.
50
+
51
+ Markdown:
52
+
53
+ A First Level Header
54
+ ====================
55
+
56
+ A Second Level Header
57
+ ---------------------
58
+
59
+ Now is the time for all good men to come to
60
+ the aid of their country. This is just a
61
+ regular paragraph.
62
+
63
+ The quick brown fox jumped over the lazy
64
+ dog's back.
65
+
66
+ ### Header 3
67
+
68
+ > This is a blockquote.
69
+ >
70
+ > This is the second paragraph in the blockquote.
71
+ >
72
+ > ## This is an H2 in a blockquote
73
+
74
+
75
+ Output:
76
+
77
+ <h1>A First Level Header</h1>
78
+
79
+ <h2>A Second Level Header</h2>
80
+
81
+ <p>Now is the time for all good men to come to
82
+ the aid of their country. This is just a
83
+ regular paragraph.</p>
84
+
85
+ <p>The quick brown fox jumped over the lazy
86
+ dog's back.</p>
87
+
88
+ <h3>Header 3</h3>
89
+
90
+ <blockquote>
91
+ <p>This is a blockquote.</p>
92
+
93
+ <p>This is the second paragraph in the blockquote.</p>
94
+
95
+ <h2>This is an H2 in a blockquote</h2>
96
+ </blockquote>
97
+
98
+
99
+
100
+ ### Phrase Emphasis ###
101
+
102
+ Markdown uses asterisks and underscores to indicate spans of emphasis.
103
+
104
+ Markdown:
105
+
106
+ Some of these words *are emphasized*.
107
+ Some of these words _are emphasized also_.
108
+
109
+ Use two asterisks for **strong emphasis**.
110
+ Or, if you prefer, __use two underscores instead__.
111
+
112
+ Output:
113
+
114
+ <p>Some of these words <em>are emphasized</em>.
115
+ Some of these words <em>are emphasized also</em>.</p>
116
+
117
+ <p>Use two asterisks for <strong>strong emphasis</strong>.
118
+ Or, if you prefer, <strong>use two underscores instead</strong>.</p>
119
+
120
+
121
+
122
+ ## Lists ##
123
+
124
+ Unordered (bulleted) lists use asterisks, pluses, and hyphens (`*`,
125
+ `+`, and `-`) as list markers. These three markers are
126
+ interchangable; this:
127
+
128
+ * Candy.
129
+ * Gum.
130
+ * Booze.
131
+
132
+ this:
133
+
134
+ + Candy.
135
+ + Gum.
136
+ + Booze.
137
+
138
+ and this:
139
+
140
+ - Candy.
141
+ - Gum.
142
+ - Booze.
143
+
144
+ all produce the same output:
145
+
146
+ <ul>
147
+ <li>Candy.</li>
148
+ <li>Gum.</li>
149
+ <li>Booze.</li>
150
+ </ul>
151
+
152
+ Ordered (numbered) lists use regular numbers, followed by periods, as
153
+ list markers:
154
+
155
+ 1. Red
156
+ 2. Green
157
+ 3. Blue
158
+
159
+ Output:
160
+
161
+ <ol>
162
+ <li>Red</li>
163
+ <li>Green</li>
164
+ <li>Blue</li>
165
+ </ol>
166
+
167
+ If you put blank lines between items, you'll get `<p>` tags for the
168
+ list item text. You can create multi-paragraph list items by indenting
169
+ the paragraphs by 4 spaces or 1 tab:
170
+
171
+ * A list item.
172
+
173
+ With multiple paragraphs.
174
+
175
+ * Another item in the list.
176
+
177
+ Output:
178
+
179
+ <ul>
180
+ <li><p>A list item.</p>
181
+ <p>With multiple paragraphs.</p></li>
182
+ <li><p>Another item in the list.</p></li>
183
+ </ul>
184
+
185
+
186
+
187
+ ### Links ###
188
+
189
+ Markdown supports two styles for creating links: *inline* and
190
+ *reference*. With both styles, you use square brackets to delimit the
191
+ text you want to turn into a link.
192
+
193
+ Inline-style links use parentheses immediately after the link text.
194
+ For example:
195
+
196
+ This is an [example link](http://example.com/).
197
+
198
+ Output:
199
+
200
+ <p>This is an <a href="http://example.com/">
201
+ example link</a>.</p>
202
+
203
+ Optionally, you may include a title attribute in the parentheses:
204
+
205
+ This is an [example link](http://example.com/ "With a Title").
206
+
207
+ Output:
208
+
209
+ <p>This is an <a href="http://example.com/" title="With a Title">
210
+ example link</a>.</p>
211
+
212
+ Reference-style links allow you to refer to your links by names, which
213
+ you define elsewhere in your document:
214
+
215
+ I get 10 times more traffic from [Google][1] than from
216
+ [Yahoo][2] or [MSN][3].
217
+
218
+ [1]: http://google.com/ "Google"
219
+ [2]: http://search.yahoo.com/ "Yahoo Search"
220
+ [3]: http://search.msn.com/ "MSN Search"
221
+
222
+ Output:
223
+
224
+ <p>I get 10 times more traffic from <a href="http://google.com/"
225
+ title="Google">Google</a> than from <a href="http://search.yahoo.com/"
226
+ title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/"
227
+ title="MSN Search">MSN</a>.</p>
228
+
229
+ The title attribute is optional. Link names may contain letters,
230
+ numbers and spaces, but are *not* case sensitive:
231
+
232
+ I start my morning with a cup of coffee and
233
+ [The New York Times][NY Times].
234
+
235
+ [ny times]: http://www.nytimes.com/
236
+
237
+ Output:
238
+
239
+ <p>I start my morning with a cup of coffee and
240
+ <a href="http://www.nytimes.com/">The New York Times</a>.</p>
241
+
242
+
243
+ ### Images ###
244
+
245
+ Image syntax is very much like link syntax.
246
+
247
+ Inline (titles are optional):
248
+
249
+ ![alt text](/path/to/img.jpg "Title")
250
+
251
+ Reference-style:
252
+
253
+ ![alt text][id]
254
+
255
+ [id]: /path/to/img.jpg "Title"
256
+
257
+ Both of the above examples produce the same output:
258
+
259
+ <img src="/path/to/img.jpg" alt="alt text" title="Title" />
260
+
261
+
262
+
263
+ ### Code ###
264
+
265
+ In a regular paragraph, you can create code span by wrapping text in
266
+ backtick quotes. Any ampersands (`&`) and angle brackets (`<` or
267
+ `>`) will automatically be translated into HTML entities. This makes
268
+ it easy to use Markdown to write about HTML example code:
269
+
270
+ I strongly recommend against using any `<blink>` tags.
271
+
272
+ I wish SmartyPants used named entities like `&mdash;`
273
+ instead of decimal-encoded entites like `&#8212;`.
274
+
275
+ Output:
276
+
277
+ <p>I strongly recommend against using any
278
+ <code>&lt;blink&gt;</code> tags.</p>
279
+
280
+ <p>I wish SmartyPants used named entities like
281
+ <code>&amp;mdash;</code> instead of decimal-encoded
282
+ entites like <code>&amp;#8212;</code>.</p>
283
+
284
+
285
+ To specify an entire block of pre-formatted code, indent every line of
286
+ the block by 4 spaces or 1 tab. Just like with code spans, `&`, `<`,
287
+ and `>` characters will be escaped automatically.
288
+
289
+ Markdown:
290
+
291
+ If you want your page to validate under XHTML 1.0 Strict,
292
+ you've got to put paragraph tags in your blockquotes:
293
+
294
+ <blockquote>
295
+ <p>For example.</p>
296
+ </blockquote>
297
+
298
+ Output:
299
+
300
+ <p>If you want your page to validate under XHTML 1.0 Strict,
301
+ you've got to put paragraph tags in your blockquotes:</p>
302
+
303
+ <pre><code>&lt;blockquote&gt;
304
+ &lt;p&gt;For example.&lt;/p&gt;
305
+ &lt;/blockquote&gt;
306
+ </code></pre>