bluefeather 0.10 → 0.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Class Reference - BlueFeather Manual</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6
+ <link rel="stylesheet" type="text/css" href="black.css" />
7
+ </head>
8
+ <body>
9
+
10
+ <div class="back"><a href="index.html">BlueFeather Manual</a></div>
11
+
12
+ <p>(Not translated yet. see the <a href="../class-reference.html">Japanese version</a>)</p>
13
+
14
+ </body>
15
+ </html>
@@ -0,0 +1,72 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Difference from BlueCloth - BlueFeather Manual</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6
+ <link rel="stylesheet" type="text/css" href="black.css" />
7
+ </head>
8
+ <body>
9
+
10
+ <div class="back"><a href="index.html">BlueFeather Manual</a></div>
11
+
12
+ <h1 id="bfheader-9f729aaef5136d533a947583c21ad9d1">Difference from BlueCloth</h1>
13
+
14
+ <ul>
15
+ <li><a href="#bfheader-c67d7c46826c22d72f3e52a7e3c3e643" rel="toc">Markdown Syntax Extension</a></li>
16
+ <li><a href="#bfheader-ccaf6dbb6fe62d008d4a4440b0bea6c1" rel="toc">Change of Interface</a></li>
17
+ <li><a href="#bfheader-eb9c19e62ed2595b15ae53ac3f883aee" rel="toc">Generating Entire HTML Document</a></li>
18
+ <li><a href="#bfheader-26f1fd51e364b4263342975687d551e2" rel="toc">Bug Fix to BlueCloth 1.0.0</a></li>
19
+ <li><a href="#bfheader-610622e96910a5efe2a1d679eadfd3d4" rel="toc">Change of EmptyElementSuffix</a></li>
20
+ </ul>
21
+
22
+ <h2 id="bfheader-c67d7c46826c22d72f3e52a7e3c3e643">Markdown Syntax Extension</h2>
23
+
24
+ <p>BlueFeather has imported some extension of syntax from <a href="http://michelf.com/projects/php-markdown/extra/">PHP Markdown Extra</a>
25
+ -- definition list, table, and others. And that, BlueFeather has been added
26
+ original extension -- TOC generation and block separator. See the
27
+ <a href="format-extension.html">Markdown Syntax Extension</a>.</p>
28
+
29
+ <h2 id="bfheader-ccaf6dbb6fe62d008d4a4440b0bea6c1">Change of Interface</h2>
30
+
31
+ <dl>
32
+ <dt>BlueCloth</dt>
33
+ <dd><pre><code>require 'bluecloth'
34
+
35
+ puts BlueCloth.new(str).to_html
36
+ </code></pre></dd>
37
+ <dt>BlueFeather</dt>
38
+ <dd><pre><code>require 'bluefeather'
39
+
40
+ puts BlueFeather.parse(str)
41
+ </code></pre></dd>
42
+ </dl>
43
+
44
+ <p>See the <a href="basic-usage.html">Installing and Basic Usage</a>.</p>
45
+
46
+ <h2 id="bfheader-eb9c19e62ed2595b15ae53ac3f883aee">Generating Entire HTML Document</h2>
47
+
48
+ <p>Imported by <a href="http://maruku.rubyforge.org/">Maruku</a>, BlueFeather can generate entire html document not only
49
+ html fragment. And that, <em>document metadata</em> enables to specify title and URL of
50
+ css-stylesheet.</p>
51
+
52
+ <p>See the <a href="basic-usage.html">Installing and Basic Usage</a> and <a href="metadata-reference.html">Metadata Reference</a>.</p>
53
+
54
+ <h2 id="bfheader-26f1fd51e364b4263342975687d551e2">Bug Fix to BlueCloth 1.0.0</h2>
55
+
56
+ <p>These bugs are fixed on BlueFeather.</p>
57
+
58
+ <ol>
59
+ <li>Some Regexp is set encoding of Shift-JIS.</li>
60
+ <li>'<code>&lt;mail+address@example.com&gt;</code>' is not parsed such as mailto-anchor. (ex: GMail alias charcters)</li>
61
+ <li>Link id definition indented 4-or-more spaces or tab is not parsed such as
62
+ code block.</li>
63
+ <li><code>&lt;hr /&gt;</code> indented 4-or-more spaces or tab is not parsed such as
64
+ code block.</li>
65
+ </ol>
66
+
67
+ <h2 id="bfheader-610622e96910a5efe2a1d679eadfd3d4">Change of EmptyElementSuffix</h2>
68
+
69
+ <p>BlueCloth output empty element tags, <code>&lt;tag/&gt;</code>. Instead BlueFeather output <code>&lt;tag /&gt;</code>.</p>
70
+
71
+ </body>
72
+ </html>
@@ -0,0 +1,424 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Markdown Format Extension - BlueFeather Manual</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6
+ <link rel="stylesheet" type="text/css" href="black.css" />
7
+ </head>
8
+ <body>
9
+
10
+ <div class="back"><a href="index.html">BlueFeather Manual</a></div>
11
+
12
+ <h1 id="bfheader-d41a6cb49287d60ba63f6a84208d0866">Markdown Format Extension</h1>
13
+
14
+ <p>BlueFeather has imported some extensions addition to the
15
+ <a href="http://daringfireball.net/projects/markdown/">original Markdown syntax</a>.</p>
16
+
17
+ <ul>
18
+ <li><a href="#bfheader-e94f9ae30ec0c63304942ba4d35482f1" rel="toc">From PHP Markdown Extra</a>
19
+ <ul>
20
+ <li><a href="#bfheader-ddab8aae0154722057b75219baf50923" rel="toc">Definition List (dl)</a></li>
21
+ <li><a href="#bfheader-8b213ded385c637758f8c3705eb6386a" rel="toc">Footnote</a></li>
22
+ <li><a href="#bfheader-e423def58198a19aa63d83b521d0f072" rel="toc">Header-id attribute</a></li>
23
+ <li><a href="#bfheader-b02dbf47a00cea8a287701a1624b9907" rel="toc">Fenced Code Block</a></li>
24
+ <li><a href="#bfheader-51c45b795d5d18a3e4e0c37e8b20a141" rel="toc">Table</a></li>
25
+ <li><a href="#bfheader-a3776b29531690e7f4f451f5bdcc2ea9" rel="toc">Difference from PHP Markdown Extra</a></li>
26
+ </ul></li>
27
+ <li><a href="#bfheader-4f4019ecdcaa30646c3630f3a3b8c9f3" rel="toc">BlueFeather Original</a>
28
+ <ul>
29
+ <li><a href="#bfheader-6994206aa5146e62315e61b6ecf6f56b" rel="toc">TOC</a></li>
30
+ <li><a href="#bfheader-8546ff2176bfead78c6ab1cb907ea60e" rel="toc">Block Separator</a></li>
31
+ </ul></li>
32
+ </ul>
33
+
34
+ <h2 id="bfheader-e94f9ae30ec0c63304942ba4d35482f1">From PHP Markdown Extra</h2>
35
+
36
+ <ul>
37
+ <li>If you want to know about original PHP Markdown Extra, see the <a href="http://michelf.com/projects/php-markdown/extra/">http://michelf.com/projects/php-markdown/extra/</a>.</li>
38
+ </ul>
39
+
40
+ <h3 id="bfheader-ddab8aae0154722057b75219baf50923">Definition List (dl)</h3>
41
+
42
+ <p>Pair of a term and a sentence which starts with <code>:</code> symbol is parsed
43
+ as <em>Definition List.</em></p>
44
+
45
+ <pre><code>Mandarin
46
+ : Orange and sweet-sour.
47
+
48
+ Apple
49
+ : Red and sweet.
50
+ </code></pre>
51
+
52
+ <blockquote>
53
+ <dl>
54
+ <dt>Mandarin</dt>
55
+ <dd>Orange and sweet-sour.</dd>
56
+ <dt>Apple</dt>
57
+ <dd>Red and sweet.</dd>
58
+ </dl>
59
+ </blockquote>
60
+
61
+ <p>You can use multiple terms, multiple sentences, or both. </p>
62
+
63
+ <pre><code>Mandarin
64
+ : Orange.
65
+ : Sweet-sour.
66
+
67
+ Apple
68
+ Ringo
69
+ : Red and sweet.
70
+ </code></pre>
71
+
72
+ <blockquote>
73
+ <dl>
74
+ <dt>Mandarin</dt>
75
+ <dd>Orange.</dd>
76
+ <dd>Sweet-sour.</dd>
77
+ <dt>Apple</dt>
78
+ <dt>Ringo</dt>
79
+ <dd>Red and sweet.</dd>
80
+ </dl>
81
+ </blockquote>
82
+
83
+ <p>And that, you can make sentences a paragraph element by blank-line, and you can
84
+ append any block-level elements after the paragraph by indent.</p>
85
+
86
+ <pre><code>Mandarin
87
+
88
+ : Orange and sweet-sour. Used for juice.
89
+
90
+ Apple
91
+
92
+ : Has these features.
93
+
94
+ * Sweet
95
+ * Red and globular
96
+ </code></pre>
97
+
98
+ <blockquote>
99
+ <dl>
100
+ <dt>Mandarin</dt>
101
+ <dd><p>Orange and sweet-sour. Used for juice.</p></dd>
102
+ <dt>Apple</dt>
103
+ <dd><p>Has these features.</p>
104
+
105
+ <ul>
106
+ <li>Sweet</li>
107
+ <li>Red and globular</li>
108
+ </ul></dd>
109
+ </dl>
110
+ </blockquote>
111
+
112
+ <h3 id="bfheader-8b213ded385c637758f8c3705eb6386a">Footnote</h3>
113
+
114
+ <p>Such as that text, parsed as <em>footnote</em>.</p>
115
+
116
+ <pre><code>That's some text with a footnote.[^1]
117
+
118
+ [^1]: And that's the footnote.
119
+ </code></pre>
120
+
121
+ <blockquote>
122
+ <p>That's some text with a footnote.<sup id="footnote-ref:1"><a href="#footnote:1" rel="footnote">[1]</a></sup></p>
123
+ </blockquote>
124
+
125
+ <p>Definition of footnote can be in any places.</p>
126
+
127
+ <p>And that, instead of number, any ids. </p>
128
+
129
+ <pre><code>That's some text with a footnote.[^ex-fn]
130
+
131
+ [^ex-fn]: And that's the footnote.
132
+ </code></pre>
133
+
134
+ <h3 id="bfheader-e423def58198a19aa63d83b521d0f072">Header-id attribute</h3>
135
+
136
+ <p>You can add header-id attribute.</p>
137
+
138
+ <pre><code>Recipe {#recipe}
139
+ ----
140
+
141
+ See the section of [Recipe](#recipe).
142
+ </code></pre>
143
+
144
+
145
+
146
+ <pre><code>## Recipe ## {#recipe}
147
+ ----
148
+
149
+ See the section of [Recipe](#recipe).
150
+ </code></pre>
151
+
152
+ <blockquote>
153
+ <h2 id="recipe">Recipe</h2>
154
+
155
+ <p>See the section of <a href="#recipe">Recipe</a>.</p>
156
+ </blockquote>
157
+
158
+ <p>Be careful, <em>any character except line-break (LF) is NOT allowed after id.</em></p>
159
+
160
+ <h3 id="bfheader-b02dbf47a00cea8a287701a1624b9907">Fenced Code Block</h3>
161
+
162
+ <pre><code>~~~
163
+ A range from a line which starts with three or more tildes (~) to another
164
+ line same as it is parsed as code-block.
165
+ ~~~
166
+ </code></pre>
167
+
168
+ <blockquote>
169
+ <pre><code>A range from a line which starts with three or more tildes (~) to another
170
+ line same as it is parsed as code-block.
171
+ </code></pre>
172
+ </blockquote>
173
+
174
+ <h3 id="bfheader-51c45b795d5d18a3e4e0c37e8b20a141">Table</h3>
175
+
176
+ <p>Cells separated pipe-symbol ( <code>|</code> ) are parsed as table. 1st line is headers.
177
+ 2nd line is separators. And 3rd or later line is data.</p>
178
+
179
+ <pre><code>|Name |Color |Number|
180
+ |--------|-----------|------|
181
+ |Apple |Red | 8|
182
+ |Mandarin|Orange | 32|
183
+ </code></pre>
184
+
185
+ <blockquote>
186
+ <p><table>
187
+ <thead><tr>
188
+ <th>Name</th>
189
+ <th>Color</th>
190
+ <th>Number</th>
191
+ </tr></thead>
192
+ <tbody>
193
+ <tr>
194
+ <td>Apple</td>
195
+ <td>Red</td>
196
+ <td>8</td>
197
+ </tr>
198
+ <tr>
199
+ <td>Mandarin</td>
200
+ <td>Orange</td>
201
+ <td>32</td>
202
+ </tr>
203
+ </tbody>
204
+ </table></p>
205
+ </blockquote>
206
+
207
+ <p>Right borders and spaces is optional.</p>
208
+
209
+ <pre><code>|Name |Color |Number
210
+ |--------|-----------|------
211
+ |Apple |Red |8
212
+ |Mandarin|Orange |32
213
+
214
+ |Name|Color|Number|
215
+ |-|-|-|
216
+ |Apple|Red|8|
217
+ |Mandarin|Orange|32|
218
+ </code></pre>
219
+
220
+ <p>But, be careful, <em>left borders is NOT optional.</em> This behavior differs from PHP
221
+ Markdown Extra.</p>
222
+
223
+ <p>If a colon ( <code>:</code> ) is at right of cell in 2nd line, the column is
224
+ right-aligned. If colons are at left and right, the column is center-aligned.</p>
225
+
226
+ <pre><code>|Name |Color |Number|
227
+ |--------|:---------:|-----:|
228
+ |Apple |Red | 8|
229
+ |Mandarin|Orange | 32|
230
+ </code></pre>
231
+
232
+ <blockquote>
233
+ <p><table>
234
+ <thead><tr>
235
+ <th>Name</th>
236
+ <th style="text-align: center">Color</th>
237
+ <th style="text-align: right">Number</th>
238
+ </tr></thead>
239
+ <tbody>
240
+ <tr>
241
+ <td>Apple</td>
242
+ <td style="text-align: center">Red</td>
243
+ <td style="text-align: right">8</td>
244
+ </tr>
245
+ <tr>
246
+ <td>Mandarin</td>
247
+ <td style="text-align: center">Orange</td>
248
+ <td style="text-align: right">32</td>
249
+ </tr>
250
+ </tbody>
251
+ </table></p>
252
+ </blockquote>
253
+
254
+ <h3 id="bfheader-a3776b29531690e7f4f451f5bdcc2ea9">Difference from PHP Markdown Extra</h3>
255
+
256
+ <ul>
257
+ <li><p>At PHP Markdown Extra, a block-level html tag can be indented. But, at
258
+ BlueFeather, a block-level html tag CANNOT be indented. (same as original
259
+ Markdown)</p></li>
260
+ <li><p>PHP Markdown Extra doesn't emphasize this phrase.</p>
261
+
262
+ <pre><code>Please open the folder "secret_magic_box".
263
+ </code></pre>
264
+
265
+ <p>But, <em>BlueFeather emphasizes this phrase in this case.</em> (same as original
266
+ Markdown)</p></li>
267
+ <li><p>BlueFeather doesn't parse <a href="http://michelf.com/projects/php-markdown/extra/#markdown-attr">Markdown Inside HTML Blocks</a> and <a href="http://michelf.com/projects/php-markdown/extra/#abbr">Abbreviations</a>.</p></li>
268
+ <li><p>Left borders of table is NOT optional.</p></li>
269
+ </ul>
270
+
271
+ <h2 id="bfheader-4f4019ecdcaa30646c3630f3a3b8c9f3">BlueFeather Original</h2>
272
+
273
+ <h3 id="bfheader-6994206aa5146e62315e61b6ecf6f56b">TOC</h3>
274
+
275
+ <p><code>{toc}</code> at line head is substituted table of contents. (a list of headers)</p>
276
+
277
+ <pre><code>{toc}
278
+ </code></pre>
279
+
280
+ <blockquote>
281
+ <ul>
282
+ <li><a href="#bfheader-e94f9ae30ec0c63304942ba4d35482f1" rel="toc">From PHP Markdown Extra</a>
283
+ <ul>
284
+ <li><a href="#bfheader-ddab8aae0154722057b75219baf50923" rel="toc">Definition List (dl)</a></li>
285
+ <li><a href="#bfheader-8b213ded385c637758f8c3705eb6386a" rel="toc">Footnote</a></li>
286
+ <li><a href="#bfheader-e423def58198a19aa63d83b521d0f072" rel="toc">Header-id attribute</a></li>
287
+ <li><a href="#bfheader-b02dbf47a00cea8a287701a1624b9907" rel="toc">Fenced Code Block</a></li>
288
+ <li><a href="#bfheader-51c45b795d5d18a3e4e0c37e8b20a141" rel="toc">Table</a></li>
289
+ <li><a href="#bfheader-a3776b29531690e7f4f451f5bdcc2ea9" rel="toc">Difference from PHP Markdown Extra</a></li>
290
+ </ul></li>
291
+ <li><a href="#bfheader-4f4019ecdcaa30646c3630f3a3b8c9f3" rel="toc">BlueFeather Original</a>
292
+ <ul>
293
+ <li><a href="#bfheader-6994206aa5146e62315e61b6ecf6f56b" rel="toc">TOC</a></li>
294
+ <li><a href="#bfheader-8546ff2176bfead78c6ab1cb907ea60e" rel="toc">Block Separator</a></li>
295
+ </ul></li>
296
+ </ul>
297
+ </blockquote>
298
+
299
+ <p>You can specify to include levels of header.</p>
300
+
301
+ <pre><code>{toc:h3..}
302
+ </code></pre>
303
+
304
+ <blockquote>
305
+ <ul>
306
+ <li><a href="#bfheader-ddab8aae0154722057b75219baf50923" rel="toc">Definition List (dl)</a></li>
307
+ <li><a href="#bfheader-8b213ded385c637758f8c3705eb6386a" rel="toc">Footnote</a></li>
308
+ <li><a href="#bfheader-e423def58198a19aa63d83b521d0f072" rel="toc">Header-id attribute</a></li>
309
+ <li><a href="#bfheader-b02dbf47a00cea8a287701a1624b9907" rel="toc">Fenced Code Block</a></li>
310
+ <li><a href="#bfheader-51c45b795d5d18a3e4e0c37e8b20a141" rel="toc">Table</a></li>
311
+ <li><a href="#bfheader-a3776b29531690e7f4f451f5bdcc2ea9" rel="toc">Difference from PHP Markdown Extra</a></li>
312
+ <li><a href="#bfheader-6994206aa5146e62315e61b6ecf6f56b" rel="toc">TOC</a></li>
313
+ <li><a href="#bfheader-8546ff2176bfead78c6ab1cb907ea60e" rel="toc">Block Separator</a></li>
314
+ </ul>
315
+ </blockquote>
316
+
317
+ <p>Default is h2 - h6.</p>
318
+
319
+ <p>Be careful, Headers <em>written by Markdown on the document root</em>, are only
320
+ included in TOC. So following headers are NOT included in TOC.</p>
321
+
322
+ <pre><code>&lt;h2&gt;not included&lt;/h2&gt;
323
+
324
+ &gt; ## not included ##
325
+ </code></pre>
326
+
327
+ <h3 id="bfheader-8546ff2176bfead78c6ab1cb907ea60e">Block Separator</h3>
328
+
329
+ <p>Normally, two or more block-level elements (lists, code blocks, or others) are
330
+ combined even if a blank line splits them. But, the specification is bad in
331
+ that case.</p>
332
+
333
+ <pre><code>1. list1 item1
334
+ 2. list1 item2
335
+ 3. list1 item3
336
+
337
+ 1. list2 item1
338
+ 2. list2 item2
339
+ 3. list2 item3
340
+ </code></pre>
341
+
342
+
343
+
344
+ <pre><code>&lt;ol&gt;
345
+ &lt;li&gt;list1 item1&lt;/li&gt;
346
+ &lt;li&gt;list1 item2&lt;/li&gt;
347
+ &lt;li&gt;&lt;p&gt;list1 item3&lt;/p&gt;&lt;/li&gt;
348
+ &lt;li&gt;&lt;p&gt;list2 item1&lt;/p&gt;&lt;/li&gt;
349
+ &lt;li&gt;list2 item2&lt;/li&gt;
350
+ &lt;li&gt;list2 item3&lt;/li&gt;
351
+ &lt;/ol&gt;
352
+ </code></pre>
353
+
354
+ <p>One way for the matter, to use horizontal line.</p>
355
+
356
+ <pre><code>1. list1 item1
357
+ 2. list1 item2
358
+ 3. list1 item3
359
+
360
+ ----
361
+
362
+ 1. list2 item1
363
+ 2. list2 item2
364
+ 3. list2 item3
365
+ </code></pre>
366
+
367
+
368
+
369
+ <pre><code>&lt;ol&gt;
370
+ &lt;li&gt;list1 item1&lt;/li&gt;
371
+ &lt;li&gt;list1 item2&lt;/li&gt;
372
+ &lt;li&gt;list1 item3&lt;/li&gt;
373
+ &lt;/ol&gt;
374
+
375
+ &lt;hr /&gt;
376
+
377
+ &lt;ol&gt;
378
+ &lt;li&gt;list2 item1&lt;/li&gt;
379
+ &lt;li&gt;list2 item2&lt;/li&gt;
380
+ &lt;li&gt;list2 item3&lt;/li&gt;
381
+ &lt;/ol&gt;
382
+ </code></pre>
383
+
384
+ <p>But, you might not want horizontal line in some cases. Because of the matter,
385
+ at BlueFeather, only one tilde symbol works as block separator.</p>
386
+
387
+ <pre><code>~
388
+ </code></pre>
389
+
390
+ <p>For example:</p>
391
+
392
+ <pre><code>1. list1 item1
393
+ 2. list1 item2
394
+ 3. list1 item3
395
+
396
+ ~
397
+
398
+ 1. list2 item1
399
+ 2. list2 item2
400
+ 3. list2 item3
401
+ </code></pre>
402
+
403
+
404
+
405
+ <pre><code>&lt;ol&gt;
406
+ &lt;li&gt;list1 item1&lt;/li&gt;
407
+ &lt;li&gt;list1 item2&lt;/li&gt;
408
+ &lt;li&gt;list1 item3&lt;/li&gt;
409
+ &lt;/ol&gt;
410
+
411
+ &lt;ol&gt;
412
+ &lt;li&gt;list2 item1&lt;/li&gt;
413
+ &lt;li&gt;list2 item2&lt;/li&gt;
414
+ &lt;li&gt;list2 item3&lt;/li&gt;
415
+ &lt;/ol&gt;
416
+ </code></pre><div class="footnotes"><hr />
417
+ <ol>
418
+ <li id="footnote:1">
419
+ <p>And that's the footnote. <a href="#footnote-ref:1" rev="footnote">&#8617;</a></p>
420
+ </li></ol>
421
+ </div>
422
+
423
+ </body>
424
+ </html>