maruku 0.5.6 → 0.5.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. data/bin/maruku +16 -9
  2. data/bin/marutest +2 -0
  3. data/docs/maruku.md +0 -51
  4. data/lib/maruku/input/linesource.rb +1 -0
  5. data/lib/maruku/input/parse_block.rb +28 -19
  6. data/lib/maruku/input/parse_doc.rb +1 -0
  7. data/lib/maruku/output/to_html.rb +24 -8
  8. data/lib/maruku/output/to_latex.rb +1 -1
  9. data/lib/maruku/version.rb +1 -1
  10. data/tests/unittest/abbreviations.md +2 -12
  11. data/tests/unittest/alt.md +1 -10
  12. data/tests/unittest/attributes/att2.md +1 -3
  13. data/tests/unittest/attributes/att3.md +1 -11
  14. data/tests/unittest/attributes/attributes.md +1 -16
  15. data/tests/unittest/attributes/circular.md +1 -9
  16. data/tests/unittest/attributes/default.md +1 -10
  17. data/tests/unittest/blank.md +1 -9
  18. data/tests/unittest/blanks_in_code.md +1 -26
  19. data/tests/unittest/bug_def.md +1 -8
  20. data/tests/unittest/bug_table.md +1 -11
  21. data/tests/unittest/code.md +1 -14
  22. data/tests/unittest/code2.md +1 -16
  23. data/tests/unittest/code3.md +1 -26
  24. data/tests/unittest/data_loss.md +1 -12
  25. data/tests/unittest/easy.md +1 -11
  26. data/tests/unittest/email.md +3 -11
  27. data/tests/unittest/encoding/iso-8859-1.md +1 -9
  28. data/tests/unittest/encoding/utf-8.md +1 -7
  29. data/tests/unittest/entities.md +78 -35
  30. data/tests/unittest/escaping.md +5 -25
  31. data/tests/unittest/extra_dl.md +1 -10
  32. data/tests/unittest/extra_header_id.md +1 -18
  33. data/tests/unittest/extra_table1.md +1 -8
  34. data/tests/unittest/footnotes.md +1 -21
  35. data/tests/unittest/headers.md +1 -11
  36. data/tests/unittest/hex_entities.md +1 -8
  37. data/tests/unittest/hrule.md +1 -8
  38. data/tests/unittest/html2.md +1 -12
  39. data/tests/unittest/html3.md +1 -15
  40. data/tests/unittest/html4.md +1 -6
  41. data/tests/unittest/html5.md +1 -8
  42. data/tests/unittest/ie.md +32 -33
  43. data/tests/unittest/images.md +2 -19
  44. data/tests/unittest/images2.md +1 -10
  45. data/tests/unittest/inline_html.md +22 -145
  46. data/tests/unittest/inline_html2.md +1 -3
  47. data/tests/unittest/links.md +22 -8
  48. data/tests/unittest/links2.md +1 -8
  49. data/tests/unittest/list1.md +1 -19
  50. data/tests/unittest/list12.md +43 -0
  51. data/tests/unittest/list2.md +1 -21
  52. data/tests/unittest/list3.md +1 -29
  53. data/tests/unittest/list4.md +1 -19
  54. data/tests/unittest/lists.md +1 -59
  55. data/tests/unittest/lists10.md +2 -13
  56. data/tests/unittest/lists11.md +2 -28
  57. data/tests/unittest/lists6.md +1 -0
  58. data/tests/unittest/lists7.md +56 -8
  59. data/tests/unittest/lists7b.md +136 -0
  60. data/tests/unittest/lists8.md +1 -22
  61. data/tests/unittest/lists9.md +1 -21
  62. data/tests/unittest/lists_after_paragraph.md +3 -48
  63. data/tests/unittest/lists_ol.md +1 -81
  64. data/tests/unittest/loss.md +1 -4
  65. data/tests/unittest/math/equations.md +1 -14
  66. data/tests/unittest/math/inline.md +1 -15
  67. data/tests/unittest/math/math2.md +38 -12
  68. data/tests/unittest/math/notmath.md +1 -9
  69. data/tests/unittest/math/table.md +1 -9
  70. data/tests/unittest/math/table2.md +33 -10
  71. data/tests/unittest/misc_sw.md +1 -195
  72. data/tests/unittest/notyet/escape.md +3 -13
  73. data/tests/unittest/notyet/header_after_par.md +1 -11
  74. data/tests/unittest/notyet/ticks.md +2 -11
  75. data/tests/unittest/notyet/triggering.md +1 -32
  76. data/tests/unittest/olist.md +1 -15
  77. data/tests/unittest/one.md +1 -8
  78. data/tests/unittest/paragraph.md +1 -8
  79. data/tests/unittest/paragraph_rules/dont_merge_ref.md +1 -10
  80. data/tests/unittest/paragraph_rules/tab_is_blank.md +1 -9
  81. data/tests/unittest/paragraphs.md +1 -14
  82. data/tests/unittest/recover/recover_links.md +1 -6
  83. data/tests/unittest/references/long_example.md +1 -17
  84. data/tests/unittest/references/spaces_and_numbers.md +1 -0
  85. data/tests/unittest/smartypants.md +21 -6
  86. data/tests/unittest/syntax_hl.md +1 -24
  87. data/tests/unittest/table_attributes.md +1 -8
  88. data/tests/unittest/test.md +1 -5
  89. data/tests/unittest/wrapping.md +1 -18
  90. data/tests/unittest/xml.md +1 -15
  91. data/tests/unittest/xml2.md +1 -3
  92. data/tests/unittest/xml3.md +1 -9
  93. data/tests/unittest/xml_instruction.md +1 -10
  94. metadata +211 -215
@@ -98,7 +98,6 @@ md_el(:document,[
98
98
  ],{},[])
99
99
  ],{},[])
100
100
  *** Output of to_html ***
101
-
102
101
  <ol>
103
102
  <li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.</li>
104
103
 
@@ -160,7 +159,6 @@ md_el(:document,[
160
159
  <p>Another item in the same list.</p>
161
160
  </li>
162
161
  </ul>
163
-
164
162
  *** Output of to_latex ***
165
163
  \begin{enumerate}%
166
164
  \item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
@@ -214,7 +212,6 @@ This is the second paragraph in the list item. You'{}re only required to indent
214
212
 
215
213
 
216
214
  \end{itemize}
217
-
218
215
  *** Output of to_md ***
219
216
  1. Lorem ipsum dolor sit amet,
220
217
  consectetuer adipiscing elit.
@@ -261,8 +258,6 @@ Ancora
261
258
  -This is a list item with two paragraphs.
262
259
  This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
263
260
  -nother item in the same list.
264
-
265
-
266
261
  *** Output of to_s ***
267
262
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.ATTENZIONE!UnoDuetretretreDueSuspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs.This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Another item in the same list.
268
263
  *** EOF ***
@@ -326,79 +321,4 @@ sit amet, consectetuer adipiscing elit.</p></li>
326
321
  </ul>
327
322
 
328
323
  *** Output of Markdown.pl (parsed) ***
329
- <ol>
330
- <li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
331
- Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
332
- viverra nec, fringilla in, laoreet vitae, risus.
333
- <ol>
334
- <li>Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
335
- Suspendisse id sem consectetuer libero luctus adipiscing.</li
336
- >
337
- </ol
338
- ></li
339
- >
340
- <li>Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
341
- Suspendisse id sem consectetuer libero luctus adipiscing.
342
- <ol>
343
- <li>Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
344
- Suspendisse id sem consectetuer libero luctus adipiscing.</li
345
- >
346
- <li>Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
347
- Suspendisse id sem consectetuer libero luctus adipiscing.</li
348
- >
349
- </ol
350
- ></li
351
- >
352
- </ol
353
- ><p>Ancora</p
354
- ><ol>
355
- <li
356
- ><p>This is a list item with two paragraphs. Lorem ipsum dolor
357
- sit amet, consectetuer adipiscing elit. Aliquam hendrerit
358
- mi posuere lectus.</p
359
- >
360
-
361
- <p>ATTENZIONE!</p
362
- >
363
-
364
- <ul>
365
- <li>Uno</li
366
- >
367
- <li>Due
368
- <ol>
369
- <li>tre</li
370
- >
371
- <li>tre</li
372
- >
373
- <li>tre</li
374
- >
375
- </ol
376
- ></li
377
- >
378
- <li>Due</li
379
- >
380
- </ul
381
- ></li
382
- >
383
- <li
384
- ><p>Suspendisse id sem consectetuer libero luctus adipiscing.</p
385
- ></li
386
- >
387
- </ol
388
- ><p>Ancora</p
389
- ><ul>
390
- <li
391
- ><p>This is a list item with two paragraphs.</p
392
- >
393
-
394
- <p>This is the second paragraph in the list item. You're
395
- only required to indent the first line. Lorem ipsum dolor
396
- sit amet, consectetuer adipiscing elit.</p
397
- ></li
398
- >
399
- <li
400
- ><p>Another item in the same list.</p
401
- ></li
402
- >
403
- </ul
404
- >
324
+ Error: #<NoMethodError: private method `write_children' called for <div> ... </>:REXML::Element>
@@ -26,7 +26,4 @@ md_el(:document,[md_html("<br />")],{},[])
26
26
  <p><br/>123</p>
27
27
 
28
28
  *** Output of Markdown.pl (parsed) ***
29
- <p
30
- ><br/
31
- >123</p
32
- >
29
+ Error: #<NoMethodError: private method `write_children' called for <div> ... </>:REXML::Element>
@@ -22,7 +22,6 @@ md_el(:document,[
22
22
  md_par(["$$ x = y $$"])
23
23
  ],{},[])
24
24
  *** Output of to_html ***
25
-
26
25
  <p>$$ x = y $$</p>
27
26
 
28
27
  <h1 id='_x'>$$ x</h1>
@@ -30,7 +29,6 @@ md_el(:document,[
30
29
  <p>$$ x = y $$</p>
31
30
 
32
31
  <p>$$ x = y $$</p>
33
-
34
32
  *** Output of to_latex ***
35
33
  \$\$ x = y \$\$
36
34
 
@@ -39,16 +37,12 @@ md_el(:document,[
39
37
  \$\$ x = y \$\$
40
38
 
41
39
  \$\$ x = y \$\$
42
-
43
-
44
40
  *** Output of to_md ***
45
41
  $$ x = y $$
46
42
 
47
43
  $$ x$$ x = y $$
48
44
 
49
45
  $$ x = y $$
50
-
51
-
52
46
  *** Output of to_s ***
53
47
  $$ x = y $$$$ x$$ x = y $$$$ x = y $$
54
48
  *** EOF ***
@@ -72,11 +66,4 @@ x = y $$</p>
72
66
  $$</p>
73
67
 
74
68
  *** Output of Markdown.pl (parsed) ***
75
- <p>$$ x = y $$</p
76
- ><p>$$ x
77
- = y $$</p
78
- ><p>$$
79
- x = y $$</p
80
- ><p>$$ x = y
81
- $$</p
82
- >
69
+ Error: #<NoMethodError: private method `write_children' called for <div> ... </>:REXML::Element>
@@ -19,7 +19,6 @@ md_el(:document,[
19
19
  md_par(["That", md_entity("rsquo"), "s it, nothing else is supported."])
20
20
  ],{},[])
21
21
  *** Output of to_html ***
22
-
23
22
  <p>Here are some formulas:</p>
24
23
 
25
24
  <ul>
@@ -29,7 +28,6 @@ md_el(:document,[
29
28
  </ul>
30
29
 
31
30
  <p>That&#8217;s it, nothing else is supported.</p>
32
-
33
31
  *** Output of to_latex ***
34
32
  Here are some formulas:
35
33
 
@@ -39,15 +37,11 @@ Here are some formulas:
39
37
 
40
38
  \end{itemize}
41
39
  That'{}s it, nothing else is supported.
42
-
43
-
44
40
  *** Output of to_md ***
45
41
  Here are some formulas:
46
42
 
47
43
  --
48
44
  That s it, nothing else is supported.
49
-
50
-
51
45
  *** Output of to_s ***
52
46
  Here are some formulas:Thats it, nothing else is supported.
53
47
  *** EOF ***
@@ -69,12 +63,4 @@ Here are some formulas:Thats it, nothing else is supported.
69
63
  <p>That's it, nothing else is supported.</p>
70
64
 
71
65
  *** Output of Markdown.pl (parsed) ***
72
- <p>Here are some formulas:</p
73
- ><ul>
74
- <li>$\alpha$</li
75
- >
76
- <li>$x^{n}+y^{n} \neq z^{n}$</li
77
- >
78
- </ul
79
- ><p>That's it, nothing else is supported.</p
80
- >
66
+ Error: #<NoMethodError: private method `write_children' called for <div> ... </>:REXML::Element>
@@ -44,7 +44,6 @@ md_el(:document,[
44
44
  \begin{displaymath}
45
45
  \gamma
46
46
  \end{displaymath}
47
-
48
47
  *** Output of to_md ***
49
48
 
50
49
  *** Output of to_s ***
@@ -53,9 +52,45 @@ md_el(:document,[
53
52
 
54
53
 
55
54
 
56
- OK!
57
55
 
56
+ Failed tests: [:to_html]
57
+
58
+ *** Output of inspect ***
59
+ md_el(:document,[
60
+ md_el(:equation,[],{:label=>"eq1",:math=>"\t\\alpha\n\n",:num=>1},[]),
61
+ md_el(:equation,[],{:label=>nil,:math=>"\t\\alpha\n\n",:num=>nil},[]),
62
+ md_el(:equation,[],{:label=>nil,:math=>" \\beta\n",:num=>nil},[]),
63
+ md_el(:equation,[],{:label=>nil,:math=>" \\gamma ",:num=>nil},[])
64
+ ],{},[])
65
+ *** Output of to_html ***
66
+ -----| WARNING | -----
67
+ <div class='maruku-equation' id='eq:eq1'><span class='maruku-eq-number'>(1)</span><code class='maruku-mathml'> \alpha
68
+
69
+ </code><div class='maruku-eq-tex'><code style='display: none'> \alpha
70
+
71
+ </code></div></div><div class='maruku-equation'><code class='maruku-mathml'> \alpha
72
+
73
+ </code><div class='maruku-eq-tex'><code style='display: none'> \alpha
74
+
75
+ </code></div></div><div class='maruku-equation'><code class='maruku-mathml'> \beta
76
+ </code><div class='maruku-eq-tex'><code style='display: none'> \beta
77
+ </code></div></div><div class='maruku-equation'><code class='maruku-mathml'> \gamma </code><div class='maruku-eq-tex'><code style='display: none'> \gamma </code></div></div>
78
+ *** Output of to_latex ***
79
+ \begin{equation}
80
+ \alpha
81
+ \label{eq1}\end{equation}
82
+ \begin{displaymath}
83
+ \alpha
84
+ \end{displaymath}
85
+ \begin{displaymath}
86
+ \beta
87
+ \end{displaymath}
88
+ \begin{displaymath}
89
+ \gamma
90
+ \end{displaymath}
91
+ *** Output of to_md ***
58
92
 
93
+ *** Output of to_s ***
59
94
 
60
95
  *** Output of Markdown.pl ***
61
96
  <p>[
@@ -72,13 +107,4 @@ md_el(:document,[
72
107
  <p>\begin{equation} \gamma \end{equation}</p>
73
108
 
74
109
  *** Output of Markdown.pl (parsed) ***
75
- <p>[
76
- \alpha
77
- ]</p
78
- ><p>\begin{equation}
79
- \alpha
80
- \end{equation}</p
81
- ><p>\begin{equation} \beta
82
- \end{equation}</p
83
- ><p>\begin{equation} \gamma \end{equation}</p
84
- >
110
+ Error: #<NoMethodError: private method `write_children' called for <div> ... </>:REXML::Element>
@@ -10,23 +10,17 @@ This is not $math$.
10
10
  *** Output of inspect ***
11
11
  md_el(:document,[md_par(["This is not $math$."]), md_par(["[ \\alpha ]"])],{},[])
12
12
  *** Output of to_html ***
13
-
14
13
  <p>This is not $math$.</p>
15
14
 
16
15
  <p>[ \alpha ]</p>
17
-
18
16
  *** Output of to_latex ***
19
17
  This is not \$math\$.
20
18
 
21
19
  [ $\backslash$alpha ]
22
-
23
-
24
20
  *** Output of to_md ***
25
21
  This is not $math$.
26
22
 
27
23
  [ \alpha ]
28
-
29
-
30
24
  *** Output of to_s ***
31
25
  This is not $math$.[ \alpha ]
32
26
  *** EOF ***
@@ -43,6 +37,4 @@ This is not $math$.[ \alpha ]
43
37
  <p>[ \alpha ]</p>
44
38
 
45
39
  *** Output of Markdown.pl (parsed) ***
46
- <p>This is not $math$.</p
47
- ><p>[ \alpha ]</p
48
- >
40
+ Error: #<NoMethodError: private method `write_children' called for <div> ... </>:REXML::Element>
@@ -40,12 +40,4 @@ md_el(:document,[
40
40
  </table>
41
41
 
42
42
  *** Output of Markdown.pl (parsed) ***
43
- <table markdown='1'>
44
- $\alpha$
45
- <thead>
46
- <td>$\beta$</td
47
- >
48
- </thead
49
- >
50
- </table
51
- >
43
+ Error: #<NoMethodError: private method `write_children' called for <div> ... </>:REXML::Element>
@@ -36,8 +36,6 @@ Symbol&Meaning&comments\\
36
36
  $\alpha${}&The first&I like it.\\
37
37
  &The first&I like it.\\
38
38
  \end{tabular}
39
-
40
-
41
39
  *** Output of to_md ***
42
40
  SymbolMeaningcomments The firstI like it. The firstI like it.
43
41
  *** Output of to_s ***
@@ -46,10 +44,40 @@ SymbolMeaningcomments The firstI like it. The firstI like it.
46
44
 
47
45
 
48
46
 
49
- OK!
50
-
51
47
 
48
+ Failed tests: [:to_html]
52
49
 
50
+ *** Output of inspect ***
51
+ md_el(:document,[
52
+ md_el(:table,[
53
+ md_el(:head_cell,["Symbol"],{},[]),
54
+ md_el(:head_cell,["Meaning"],{},[]),
55
+ md_el(:head_cell,["comments"],{},[]),
56
+ md_el(:cell,[" ", md_entity("alpha")],{},[[:ref, "r"]]),
57
+ md_el(:cell,["The first"],{},[]),
58
+ md_el(:cell,["I like it."],{},[]),
59
+ md_el(:cell,[" ", md_entity("aleph")],{},[[:ref, "r"]]),
60
+ md_el(:cell,["The first"],{},[]),
61
+ md_el(:cell,["I like it."],{},[])
62
+ ],{:align=>[:left, :left, :left]},[]),
63
+ md_el(:ald,[],{:ald=>[["scope", "row"]],:ald_id=>"r"},[])
64
+ ],{},[])
65
+ *** Output of to_html ***
66
+ -----| WARNING | -----
67
+ <table><thead><tr><th>Symbol</th><th>Meaning</th><th>comments</th></tr></thead><tbody><tr><th scope='row' style='text-align: left;'> &#945;</th><td style='text-align: left;'>The first</td><td style='text-align: left;'>I like it.</td>
68
+ </tr><tr><th scope='row' style='text-align: left;'> &amp;aleph;</th><td style='text-align: left;'>The first</td><td style='text-align: left;'>I like it.</td>
69
+ </tr></tbody></table>
70
+ *** Output of to_latex ***
71
+ \begin{tabular}{l|l|l}
72
+ Symbol&Meaning&comments\\
73
+ \hline
74
+ $\alpha${}&The first&I like it.\\
75
+ &The first&I like it.\\
76
+ \end{tabular}
77
+ *** Output of to_md ***
78
+ SymbolMeaningcomments The firstI like it. The firstI like it.
79
+ *** Output of to_s ***
80
+ SymbolMeaningcomments The firstI like it. The firstI like it.
53
81
  *** Output of Markdown.pl ***
54
82
  <p>Symbol | Meaning | comments
55
83
  ------------|---------|---------
@@ -59,9 +87,4 @@ SymbolMeaningcomments The firstI like it. The firstI like it.
59
87
  <p>{:r: scope='row'}</p>
60
88
 
61
89
  *** Output of Markdown.pl (parsed) ***
62
- <p>Symbol | Meaning | comments
63
- ------------|---------|---------
64
- {:r} &alpha; | The first | I like it.
65
- {:r} &aleph; | The first | I like it.</p
66
- ><p>{:r: scope='row'}</p
67
- >
90
+ Error: #<NoMethodError: private method `write_children' called for <div> ... </>:REXML::Element>
@@ -333,7 +333,6 @@ md_el(:document,[
333
333
  md_ref_def("javagenerics", "http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html", {:title=>nil})
334
334
  ],{},[])
335
335
  *** Output of to_html ***
336
-
337
336
  <h3 id='general'>General</h3>
338
337
 
339
338
  <ul>
@@ -413,7 +412,6 @@ Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;licen
413
412
 
414
413
  <li><em>Sharing photos</em>: <a href='http://www.flickr.com/'>flickr</a> exposes an API you can use.</li>
415
414
  </ul>
416
-
417
415
  *** Output of to_latex ***
418
416
  \hypertarget{general}{}\subsubsection*{{General}}\label{general}
419
417
 
@@ -477,7 +475,6 @@ Type "help", "copyright", "credits" or "license" for more information.
477
475
  \item \emph{Sharing photos}: \href{http://www.flickr.com/}{flickr} exposes an API you can use.
478
476
 
479
477
  \end{itemize}
480
-
481
478
  *** Output of to_md ***
482
479
  General-perating System: Mac OS X: heaven,
483
480
  after the purgatory of Linux and
@@ -524,8 +521,6 @@ LiberLiberfor books in italian.
524
521
  -logs: Bloglines
525
522
  -haring photos: flickrexposes an
526
523
  API you can use.
527
-
528
-
529
524
  *** Output of to_s ***
530
525
  GeneralOperating System : Mac OS X: heaven, after the purgatory of Linux and the hell of Windows.Browser: Firefox. On a Mac, Camino.Email: GMail, search, dont sort really works.Text Editor: TextMate, you have to buy it, but its worth every penny. There are rumours that its been converting (recovering) Emacs users (addicts). Unfortunately, its Mac only. An alternative is jedit (GPL, Java).DevelopmentBuild system: cmake, throw the autotools away.Source code control system: ditch CVS for subversion.Project management: Trac tracks everything.Scripting language: Ruby is Japanese pragmatism (and has a poignant guide). Python, you say? Python is too academic and snob:Java IDE: JBuilder is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained generics and got opensourced.Mark-up language: HTML is so 2001, why dont you take at look at Markdown? Look at the source of this page.C++ libraries: * QT for GUIs. * GSL for math. * Magick++ for manipulating images. * Cairo for creating PDFs. * Boost for just about everything else.ResearchWriting papers: LaTeXWriting papers & enjoying the process: LyXHandsome figures in your papers: xfig or, better, jfig.The occasional presentation with many graphical content: OpenOffice Impress (using the OOOlatex plugin); the alternative is PowerPoint with the TexPoint plugin.Managing BibTeX: jabref: multi-platform, for all your bibtex needs.IEEExplore and BibTeX: convert citations using BibConverter.Cool websitesBest site in the wwworld: WikipediaMutopia for sheet music; the Gutenberg Project for books; LiberLiber for books in italian.Blogs: BloglinesSharing photos: flickr exposes an API you can use.
531
526
  *** EOF ***
@@ -617,193 +612,4 @@ the alternative is PowerPoint with the <a href="http://texpoint.necula.org/">Tex
617
612
  </ul>
618
613
 
619
614
  *** Output of Markdown.pl (parsed) ***
620
- <p>Subject: Software not painful to use
621
- Subject_short: painless software
622
- Topic: /misc/coolsw
623
- Archive: no
624
- Date: Nov 20 2006
625
- Order: -9.5
626
- inMenu: true</p
627
- ><h3>General</h3
628
- ><ul>
629
- <li
630
- ><em>Operating System</em
631
- > : <a href='http://www.apple.com/getamac/'>Mac OS X</a
632
- >: heaven, after the purgatory of Linux
633
- and the hell of Windows.</li
634
- >
635
- <li
636
- ><em>Browser</em
637
- >: <a href='http://getfirefox.com/'>Firefox</a
638
- >. On a Mac, <a href='http://www.caminobrowser.org/'>Camino</a
639
- >.</li
640
- >
641
- <li
642
- ><em>Email</em
643
- >: <a href='http://gmail.com/'>GMail</a
644
- >, "search, don't sort" really works.</li
645
- >
646
- <li
647
- ><em>Text Editor</em
648
- >: <a href='http://www.apple.com/getamac/'>TextMate</a
649
- >, you have to buy it, but it's worth every
650
- penny. There are rumours that it's been converting (recovering) Emacs
651
- users (addicts). Unfortunately, it's Mac only. An alternative is
652
- <a href='http://www.jedit.org/'>jedit</a
653
- > (GPL, Java).</li
654
- >
655
- </ul
656
- ><h3>Development</h3
657
- ><ul>
658
- <li
659
- ><em>Build system</em
660
- >: <a href='http://www.cmake.org/'>cmake</a
661
- >, throw the <a href='http://sources.redhat.com/autobook/'>autotools</a
662
- > away.</li
663
- >
664
- <li
665
- ><em>Source code control system</em
666
- >: ditch CVS for <a href='http://subversion.tigris.org'>subversion</a
667
- >.</li
668
- >
669
- <li
670
- ><em>Project management</em
671
- >: <a href='http://trac.edgewall.org/'>Trac</a
672
- > tracks everything.</li
673
- >
674
- <li
675
- ><p
676
- ><em>Scripting language</em
677
- >: <a href='http://www.ruby-lang.org/'>Ruby</a
678
- > is Japanese pragmatism (and has a <a href='http://poignantguide.net/ruby/'>poignant</a
679
- > guide).
680
- Python, you say? Python is too academic and snob:</p
681
- >
682
-
683
- <p>$ python <br/
684
- >
685
- Python 2.4.1 (#1, Jun 4 2005, 00:54:33)
686
- Type "help", "copyright", "credits" or "license" for more information.</p
687
- >
688
-
689
- <blockquote>
690
- <blockquote>
691
- <blockquote>
692
- <p>exit
693
- 'Use Ctrl-D (i.e. EOF) to exit.'
694
- quit
695
- 'Use Ctrl-D (i.e. EOF) to exit.'</p
696
- >
697
- </blockquote
698
- >
699
- </blockquote
700
- >
701
- </blockquote
702
- ></li
703
- >
704
- <li
705
- ><p
706
- ><em>Java IDE</em
707
- >: <a href='http://www.borland.com/us/products/jbuilder/index.html'>JBuilder</a
708
- > is great software and has a free version (IMHO better than Eclipse). Java
709
- is not a pain anymore since it gained <a href='http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html'>generics</a
710
- > and got opensourced.</p
711
- ></li
712
- >
713
- <li
714
- ><em>Mark-up language</em
715
- >: HTML is so 2001, why don't you take at look at <a href='http://en.wikipedia.org/wiki/Markdown'>Markdown</a
716
- >? <a href='data/misc_markdown.png'>Look at the source of this page</a
717
- >.</li
718
- >
719
- <li
720
- ><em>C++ libraries</em
721
- >:
722
- <ul>
723
- <li
724
- ><a href='http://www.trolltech.no/'>QT</a
725
- > for GUIs.</li
726
- >
727
- <li
728
- ><a href='http://www.gnu.org/software/gsl/'>GSL</a
729
- > for math.</li
730
- >
731
- <li
732
- ><a href='http://www.imagemagick.org/Magick++/'>Magick++</a
733
- > for manipulating images.</li
734
- >
735
- <li
736
- ><a href='http://cairographics.org/'>Cairo</a
737
- > for creating PDFs.</li
738
- >
739
- <li
740
- ><a href='http://www.boost.org/'>Boost</a
741
- > for just about everything else.</li
742
- >
743
- </ul
744
- ></li
745
- >
746
- </ul
747
- ><h3>Research</h3
748
- ><ul>
749
- <li
750
- ><em>Writing papers</em
751
- >: <a href='http://en.wikipedia.org/wiki/LaTeX'>LaTeX</a
752
- ></li
753
- >
754
- <li
755
- ><em>Writing papers &amp; enjoying the process</em
756
- >: <a href='http://www.lyx.org'>LyX</a
757
- ></li
758
- >
759
- <li
760
- ><em>Handsome figures in your papers</em
761
- >: <a href='http://www.xfig.org/'>xfig</a
762
- > or, better, <a href='http://tams-www.informatik.uni-hamburg.de/applets/jfig/'>jfig</a
763
- >.</li
764
- >
765
- <li
766
- ><em>The occasional presentation with many graphical content</em
767
- >:
768
- <a href='http://www.openoffice.org/product/impress.html'>OpenOffice Impress</a
769
- > (using the <a href='http://ooolatex.sourceforge.net/'>OOOlatex plugin</a
770
- >);
771
- the alternative is PowerPoint with the <a href='http://texpoint.necula.org/'>TexPoint</a
772
- > plugin.</li
773
- >
774
- <li
775
- ><em>Managing BibTeX</em
776
- >: <a href='http://jabref.sourceforge.net/'>jabref</a
777
- >: multi-platform, for all your bibtex needs.</li
778
- >
779
- <li
780
- ><em>IEEExplore and BibTeX</em
781
- >: convert citations using <a href='http://www.bibconverter.net/ieeexplore/'>BibConverter</a
782
- >.</li
783
- >
784
- </ul
785
- ><h3>Cool websites</h3
786
- ><ul>
787
- <li
788
- ><em>Best site in the wwworld</em
789
- >: <a href='http://en.wikipedia.org/'>Wikipedia</a
790
- ></li
791
- >
792
- <li
793
- ><a href='http://www.mutopiaproject.org/'>Mutopia</a
794
- > for sheet music; <a href='http://www.gutenberg.org/'>the Gutenberg Project</a
795
- > for books; <a href='http://www.liberliber.it/'>LiberLiber</a
796
- > for books in italian.</li
797
- >
798
- <li
799
- ><em>Blogs</em
800
- >: <a href='http://bloglines.com/'>Bloglines</a
801
- ></li
802
- >
803
- <li
804
- ><em>Sharing photos</em
805
- >: <a href='http://www.flickr.com/'>flickr</a
806
- > exposes an API you can use.</li
807
- >
808
- </ul
809
- >
615
+ Error: #<NoMethodError: private method `write_children' called for <div> ... </>:REXML::Element>