bluefeather 0.10 → 0.11

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.
@@ -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>