marked 0.2.9 → 0.3.2

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.
package/doc/broken.md ADDED
@@ -0,0 +1,426 @@
1
+ # Markdown is broken
2
+
3
+ I have a lot of scraps of markdown engine oddities that I've collected over the
4
+ years. What you see below is slightly messy, but it's what I've managed to
5
+ cobble together to illustrate the differences between markdown engines, and
6
+ why, if there ever is a markdown specification, it has to be absolutely
7
+ thorough. There are a lot more of these little differences I have documented
8
+ elsewhere. I know I will find them lingering on my disk one day, but until
9
+ then, I'll continue to add whatever strange nonsensical things I find.
10
+
11
+ Some of these examples may only mention a particular engine compared to marked.
12
+ However, the examples with markdown.pl could easily be swapped out for
13
+ discount, upskirt, or markdown.js, and you would very easily see even more
14
+ inconsistencies.
15
+
16
+ A lot of this was written when I was very unsatisfied with the inconsistencies
17
+ between markdown engines. Please excuse the frustration noticeable in my
18
+ writing.
19
+
20
+ ## Examples of markdown's "stupid" list parsing
21
+
22
+ ```
23
+ $ markdown.pl
24
+
25
+ * item1
26
+
27
+ * item2
28
+
29
+ text
30
+ ^D
31
+ <ul>
32
+ <li><p>item1</p>
33
+
34
+ <ul>
35
+ <li>item2</li>
36
+ </ul>
37
+
38
+ <p><p>text</p></li>
39
+ </ul></p>
40
+ ```
41
+
42
+
43
+ ```
44
+ $ marked
45
+ * item1
46
+
47
+ * item2
48
+
49
+ text
50
+ ^D
51
+ <ul>
52
+ <li><p>item1</p>
53
+ <ul>
54
+ <li>item2</li>
55
+ </ul>
56
+ <p>text</p>
57
+ </li>
58
+ </ul>
59
+ ```
60
+
61
+ Which looks correct to you?
62
+
63
+ - - -
64
+
65
+ ```
66
+ $ markdown.pl
67
+ * hello
68
+ > world
69
+ ^D
70
+ <p><ul>
71
+ <li>hello</p>
72
+
73
+ <blockquote>
74
+ <p>world</li>
75
+ </ul></p>
76
+ </blockquote>
77
+ ```
78
+
79
+ ```
80
+ $ marked
81
+ * hello
82
+ > world
83
+ ^D
84
+ <ul>
85
+ <li>hello<blockquote>
86
+ <p>world</p>
87
+ </blockquote>
88
+ </li>
89
+ </ul>
90
+ ```
91
+
92
+ Again, which looks correct to you?
93
+
94
+ - - -
95
+
96
+ EXAMPLE:
97
+
98
+ ```
99
+ $ markdown.pl
100
+ * hello
101
+ * world
102
+ * hi
103
+ code
104
+ ^D
105
+ <ul>
106
+ <li>hello
107
+ <ul>
108
+ <li>world</li>
109
+ <li>hi
110
+ code</li>
111
+ </ul></li>
112
+ </ul>
113
+ ```
114
+
115
+ The code isn't a code block even though it's after the bullet margin. I know,
116
+ lets give it two more spaces, effectively making it 8 spaces past the bullet.
117
+
118
+ ```
119
+ $ markdown.pl
120
+ * hello
121
+ * world
122
+ * hi
123
+ code
124
+ ^D
125
+ <ul>
126
+ <li>hello
127
+ <ul>
128
+ <li>world</li>
129
+ <li>hi
130
+ code</li>
131
+ </ul></li>
132
+ </ul>
133
+ ```
134
+
135
+ And, it's still not a code block. Did you also notice that the 3rd item isn't
136
+ even its own list? Markdown screws that up too because of its indentation
137
+ unaware parsing.
138
+
139
+ - - -
140
+
141
+ Let's look at some more examples of markdown's list parsing:
142
+
143
+ ```
144
+ $ markdown.pl
145
+
146
+ * item1
147
+
148
+ * item2
149
+
150
+ text
151
+ ^D
152
+ <ul>
153
+ <li><p>item1</p>
154
+
155
+ <ul>
156
+ <li>item2</li>
157
+ </ul>
158
+
159
+ <p><p>text</p></li>
160
+ </ul></p>
161
+ ```
162
+
163
+ Misnested tags.
164
+
165
+
166
+ ```
167
+ $ marked
168
+ * item1
169
+
170
+ * item2
171
+
172
+ text
173
+ ^D
174
+ <ul>
175
+ <li><p>item1</p>
176
+ <ul>
177
+ <li>item2</li>
178
+ </ul>
179
+ <p>text</p>
180
+ </li>
181
+ </ul>
182
+ ```
183
+
184
+ Which looks correct to you?
185
+
186
+ - - -
187
+
188
+ ```
189
+ $ markdown.pl
190
+ * hello
191
+ > world
192
+ ^D
193
+ <p><ul>
194
+ <li>hello</p>
195
+
196
+ <blockquote>
197
+ <p>world</li>
198
+ </ul></p>
199
+ </blockquote>
200
+ ```
201
+
202
+ More misnested tags.
203
+
204
+
205
+ ```
206
+ $ marked
207
+ * hello
208
+ > world
209
+ ^D
210
+ <ul>
211
+ <li>hello<blockquote>
212
+ <p>world</p>
213
+ </blockquote>
214
+ </li>
215
+ </ul>
216
+ ```
217
+
218
+ Again, which looks correct to you?
219
+
220
+ - - -
221
+
222
+ # Why quality matters - Part 2
223
+
224
+ ``` bash
225
+ $ markdown.pl
226
+ * hello
227
+ > world
228
+ ^D
229
+ <p><ul>
230
+ <li>hello</p>
231
+
232
+ <blockquote>
233
+ <p>world</li>
234
+ </ul></p>
235
+ </blockquote>
236
+ ```
237
+
238
+ ``` bash
239
+ $ sundown # upskirt
240
+ * hello
241
+ > world
242
+ ^D
243
+ <ul>
244
+ <li>hello
245
+ &gt; world</li>
246
+ </ul>
247
+ ```
248
+
249
+ ``` bash
250
+ $ marked
251
+ * hello
252
+ > world
253
+ ^D
254
+ <ul><li>hello <blockquote><p>world</p></blockquote></li></ul>
255
+ ```
256
+
257
+ Which looks correct to you?
258
+
259
+ - - -
260
+
261
+ See: https://github.com/evilstreak/markdown-js/issues/23
262
+
263
+ ``` bash
264
+ $ markdown.pl # upskirt/markdown.js/discount
265
+ * hello
266
+ var a = 1;
267
+ * world
268
+ ^D
269
+ <ul>
270
+ <li>hello
271
+ var a = 1;</li>
272
+ <li>world</li>
273
+ </ul>
274
+ ```
275
+
276
+ ``` bash
277
+ $ marked
278
+ * hello
279
+ var a = 1;
280
+ * world
281
+ ^D
282
+ <ul><li>hello
283
+ <pre>code>var a = 1;</code></pre></li>
284
+ <li>world</li></ul>
285
+ ```
286
+
287
+ Which looks more reasonable? Why shouldn't code blocks be able to appear in
288
+ list items in a sane way?
289
+
290
+ - - -
291
+
292
+ ``` bash
293
+ $ markdown.js
294
+ <div>hello</div>
295
+
296
+ <span>hello</span>
297
+ ^D
298
+ <p>&lt;div&gt;hello&lt;/div&gt;</p>
299
+
300
+ <p>&lt;span&gt;hello&lt;/span&gt;</p>
301
+ ```
302
+
303
+ ``` bash
304
+ $ marked
305
+ <div>hello</div>
306
+
307
+ <span>hello</span>
308
+ ^D
309
+ <div>hello</div>
310
+
311
+
312
+ <p><span>hello</span>
313
+ </p>
314
+ ```
315
+
316
+ - - -
317
+
318
+ See: https://github.com/evilstreak/markdown-js/issues/27
319
+
320
+ ``` bash
321
+ $ markdown.js
322
+ [![an image](/image)](/link)
323
+ ^D
324
+ <p><a href="/image)](/link">![an image</a></p>
325
+ ```
326
+
327
+ ``` bash
328
+ $ marked
329
+ [![an image](/image)](/link)
330
+ ^D
331
+ <p><a href="/link"><img src="/image" alt="an image"></a>
332
+ </p>
333
+ ```
334
+
335
+ - - -
336
+
337
+ See: https://github.com/evilstreak/markdown-js/issues/24
338
+
339
+ ``` bash
340
+ $ markdown.js
341
+ > a
342
+
343
+ > b
344
+
345
+ > c
346
+ ^D
347
+ <blockquote><p>a</p><p>bundefined&gt; c</p></blockquote>
348
+ ```
349
+
350
+ ``` bash
351
+ $ marked
352
+ > a
353
+
354
+ > b
355
+
356
+ > c
357
+ ^D
358
+ <blockquote><p>a
359
+
360
+ </p></blockquote>
361
+ <blockquote><p>b
362
+
363
+ </p></blockquote>
364
+ <blockquote><p>c
365
+ </p></blockquote>
366
+ ```
367
+
368
+ - - -
369
+
370
+ ``` bash
371
+ $ markdown.pl
372
+ * hello
373
+ * world
374
+ how
375
+
376
+ are
377
+ you
378
+
379
+ * today
380
+ * hi
381
+ ^D
382
+ <ul>
383
+ <li><p>hello</p>
384
+
385
+ <ul>
386
+ <li>world
387
+ how</li>
388
+ </ul>
389
+
390
+ <p>are
391
+ you</p>
392
+
393
+ <ul>
394
+ <li>today</li>
395
+ </ul></li>
396
+ <li>hi</li>
397
+ </ul>
398
+ ```
399
+
400
+ ``` bash
401
+ $ marked
402
+ * hello
403
+ * world
404
+ how
405
+
406
+ are
407
+ you
408
+
409
+ * today
410
+ * hi
411
+ ^D
412
+ <ul>
413
+ <li><p>hello</p>
414
+ <ul>
415
+ <li><p>world
416
+ how</p>
417
+ <p>are
418
+ you</p>
419
+ </li>
420
+ <li><p>today</p>
421
+ </li>
422
+ </ul>
423
+ </li>
424
+ <li>hi</li>
425
+ </ul>
426
+ ```
package/doc/todo.md ADDED
@@ -0,0 +1,2 @@
1
+ # Todo
2
+