patcito-maruku 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (162) hide show
  1. data/AUTHORS +23 -0
  2. data/LICENSE +340 -0
  3. data/README.md +73 -0
  4. data/bin/maruku +196 -0
  5. data/bin/marutex +4 -0
  6. data/data/entities.xml +261 -0
  7. data/docs/changelog.md +334 -0
  8. data/docs/div_syntax.md +36 -0
  9. data/docs/entity_test.md +23 -0
  10. data/docs/markdown_syntax.md +899 -0
  11. data/docs/maruku.md +346 -0
  12. data/docs/math.md +194 -0
  13. data/docs/other_stuff.md +51 -0
  14. data/docs/proposal.md +309 -0
  15. data/docs/website/src/bluecloth.md +25 -0
  16. data/docs/website/src/download.md +31 -0
  17. data/docs/website/src/maruku.md +261 -0
  18. data/docs/website/src/proposal.md +271 -0
  19. data/lib/maruku.rb +132 -0
  20. data/lib/maruku/attributes.rb +138 -0
  21. data/lib/maruku/defaults.rb +69 -0
  22. data/lib/maruku/errors.rb +89 -0
  23. data/lib/maruku/ext/div.rb +121 -0
  24. data/lib/maruku/ext/fenced_code.rb +78 -0
  25. data/lib/maruku/ext/math.rb +37 -0
  26. data/lib/maruku/ext/math/elements.rb +21 -0
  27. data/lib/maruku/ext/math/latex_fix.rb +12 -0
  28. data/lib/maruku/ext/math/mathml_engines/blahtex.rb +93 -0
  29. data/lib/maruku/ext/math/mathml_engines/itex2mml.rb +39 -0
  30. data/lib/maruku/ext/math/mathml_engines/none.rb +21 -0
  31. data/lib/maruku/ext/math/mathml_engines/ritex.rb +24 -0
  32. data/lib/maruku/ext/math/parsing.rb +125 -0
  33. data/lib/maruku/ext/math/to_html.rb +237 -0
  34. data/lib/maruku/ext/math/to_latex.rb +36 -0
  35. data/lib/maruku/ext/yaml.rb +43 -0
  36. data/lib/maruku/helpers.rb +214 -0
  37. data/lib/maruku/input/charsource.rb +326 -0
  38. data/lib/maruku/input/extensions.rb +69 -0
  39. data/lib/maruku/input/html_helper.rb +189 -0
  40. data/lib/maruku/input/linesource.rb +111 -0
  41. data/lib/maruku/input/parse_block.rb +608 -0
  42. data/lib/maruku/input/parse_doc.rb +240 -0
  43. data/lib/maruku/input/parse_span_better.rb +746 -0
  44. data/lib/maruku/input/rubypants.rb +225 -0
  45. data/lib/maruku/input/type_detection.rb +147 -0
  46. data/lib/maruku/input_textile2/t2_parser.rb +163 -0
  47. data/lib/maruku/maruku.rb +31 -0
  48. data/lib/maruku/output/s5/fancy.rb +756 -0
  49. data/lib/maruku/output/s5/to_s5.rb +138 -0
  50. data/lib/maruku/output/to_html.rb +994 -0
  51. data/lib/maruku/output/to_latex.rb +580 -0
  52. data/lib/maruku/output/to_latex_entities.rb +101 -0
  53. data/lib/maruku/output/to_latex_strings.rb +64 -0
  54. data/lib/maruku/output/to_markdown.rb +164 -0
  55. data/lib/maruku/output/to_s.rb +54 -0
  56. data/lib/maruku/string_utils.rb +185 -0
  57. data/lib/maruku/structures.rb +143 -0
  58. data/lib/maruku/structures_inspect.rb +51 -0
  59. data/lib/maruku/structures_iterators.rb +48 -0
  60. data/lib/maruku/textile2.rb +1 -0
  61. data/lib/maruku/toc.rb +214 -0
  62. data/lib/maruku/usage/example1.rb +33 -0
  63. data/lib/maruku/version +0 -0
  64. data/lib/maruku/version.rb +54 -0
  65. data/spec/block_docs/abbreviations.md +52 -0
  66. data/spec/block_docs/alt.md +17 -0
  67. data/spec/block_docs/attributes/att2.md +20 -0
  68. data/spec/block_docs/attributes/att3.md +28 -0
  69. data/spec/block_docs/attributes/attributes.md +57 -0
  70. data/spec/block_docs/attributes/circular.md +26 -0
  71. data/spec/block_docs/attributes/default.md +22 -0
  72. data/spec/block_docs/blank.md +24 -0
  73. data/spec/block_docs/blanks_in_code.md +75 -0
  74. data/spec/block_docs/bug_def.md +16 -0
  75. data/spec/block_docs/bug_table.md +46 -0
  76. data/spec/block_docs/code.md +34 -0
  77. data/spec/block_docs/code2.md +28 -0
  78. data/spec/block_docs/code3.md +71 -0
  79. data/spec/block_docs/data_loss.md +25 -0
  80. data/spec/block_docs/divs/div1.md +167 -0
  81. data/spec/block_docs/divs/div2.md +21 -0
  82. data/spec/block_docs/divs/div3_nest.md +45 -0
  83. data/spec/block_docs/easy.md +15 -0
  84. data/spec/block_docs/email.md +20 -0
  85. data/spec/block_docs/encoding/iso-8859-1.md +23 -0
  86. data/spec/block_docs/encoding/utf-8.md +18 -0
  87. data/spec/block_docs/entities.md +94 -0
  88. data/spec/block_docs/escaping.md +67 -0
  89. data/spec/block_docs/extra_dl.md +52 -0
  90. data/spec/block_docs/extra_header_id.md +63 -0
  91. data/spec/block_docs/extra_table1.md +37 -0
  92. data/spec/block_docs/footnotes.md +97 -0
  93. data/spec/block_docs/headers.md +37 -0
  94. data/spec/block_docs/hex_entities.md +37 -0
  95. data/spec/block_docs/hrule.md +39 -0
  96. data/spec/block_docs/html2.md +22 -0
  97. data/spec/block_docs/html3.md +31 -0
  98. data/spec/block_docs/html4.md +25 -0
  99. data/spec/block_docs/html5.md +23 -0
  100. data/spec/block_docs/ie.md +49 -0
  101. data/spec/block_docs/images.md +90 -0
  102. data/spec/block_docs/images2.md +31 -0
  103. data/spec/block_docs/inline_html.md +152 -0
  104. data/spec/block_docs/inline_html2.md +21 -0
  105. data/spec/block_docs/links.md +152 -0
  106. data/spec/block_docs/links2.md +22 -0
  107. data/spec/block_docs/list1.md +46 -0
  108. data/spec/block_docs/list12.md +28 -0
  109. data/spec/block_docs/list2.md +56 -0
  110. data/spec/block_docs/list3.md +64 -0
  111. data/spec/block_docs/list4.md +89 -0
  112. data/spec/block_docs/lists.md +192 -0
  113. data/spec/block_docs/lists10.md +34 -0
  114. data/spec/block_docs/lists11.md +23 -0
  115. data/spec/block_docs/lists6.md +41 -0
  116. data/spec/block_docs/lists9.md +64 -0
  117. data/spec/block_docs/lists_after_paragraph.md +208 -0
  118. data/spec/block_docs/lists_ol.md +262 -0
  119. data/spec/block_docs/loss.md +16 -0
  120. data/spec/block_docs/math/equations.md +45 -0
  121. data/spec/block_docs/math/inline.md +46 -0
  122. data/spec/block_docs/math/math2.md +45 -0
  123. data/spec/block_docs/math/notmath.md +25 -0
  124. data/spec/block_docs/math/table.md +25 -0
  125. data/spec/block_docs/math/table2.md +42 -0
  126. data/spec/block_docs/misc_sw.md +525 -0
  127. data/spec/block_docs/notyet/escape.md +21 -0
  128. data/spec/block_docs/notyet/header_after_par.md +58 -0
  129. data/spec/block_docs/notyet/ticks.md +18 -0
  130. data/spec/block_docs/notyet/triggering.md +157 -0
  131. data/spec/block_docs/olist.md +45 -0
  132. data/spec/block_docs/one.md +15 -0
  133. data/spec/block_docs/paragraph.md +16 -0
  134. data/spec/block_docs/paragraph_rules/dont_merge_ref.md +42 -0
  135. data/spec/block_docs/paragraph_rules/tab_is_blank.md +24 -0
  136. data/spec/block_docs/paragraphs.md +46 -0
  137. data/spec/block_docs/pending/amps.md +15 -0
  138. data/spec/block_docs/pending/empty_cells.md +37 -0
  139. data/spec/block_docs/pending/link.md +72 -0
  140. data/spec/block_docs/pending/ref.md +21 -0
  141. data/spec/block_docs/recover/recover_links.md +15 -0
  142. data/spec/block_docs/red_tests/abbrev.md +679 -0
  143. data/spec/block_docs/red_tests/lists7.md +32 -0
  144. data/spec/block_docs/red_tests/lists7b.md +65 -0
  145. data/spec/block_docs/red_tests/lists8.md +42 -0
  146. data/spec/block_docs/red_tests/ref.md +23 -0
  147. data/spec/block_docs/red_tests/xml.md +35 -0
  148. data/spec/block_docs/references/long_example.md +71 -0
  149. data/spec/block_docs/references/spaces_and_numbers.md +15 -0
  150. data/spec/block_docs/smartypants.md +114 -0
  151. data/spec/block_docs/syntax_hl.md +52 -0
  152. data/spec/block_docs/table_attributes.md +34 -0
  153. data/spec/block_docs/test.md +19 -0
  154. data/spec/block_docs/underscore_in_words.md +15 -0
  155. data/spec/block_docs/wrapping.md +67 -0
  156. data/spec/block_docs/xml2.md +19 -0
  157. data/spec/block_docs/xml3.md +26 -0
  158. data/spec/block_docs/xml_instruction.md +52 -0
  159. data/spec/block_spec.rb +49 -0
  160. data/spec/span_spec.rb +254 -0
  161. data/spec/spec_helper.rb +6 -0
  162. metadata +247 -0
@@ -0,0 +1,42 @@
1
+ Write a comment here
2
+ *** Parameters: ***
3
+ {}
4
+ *** Markdown input: ***
5
+
6
+ Symbol | Meaning | comments
7
+ ------------|---------|---------
8
+ {:r} α | The first | I like it.
9
+ {:r} ℵ | The first | I like it.
10
+
11
+
12
+ {:r: scope='row'}
13
+ *** Output of inspect ***
14
+ md_el(:document,[
15
+ md_el(:table,[
16
+ md_el(:head_cell,["Symbol"],{},[]),
17
+ md_el(:head_cell,["Meaning"],{},[]),
18
+ md_el(:head_cell,["comments"],{},[]),
19
+ md_el(:cell,[" ", md_entity("alpha")],{},[[:ref, "r"]]),
20
+ md_el(:cell,["The first"],{},[]),
21
+ md_el(:cell,["I like it."],{},[]),
22
+ md_el(:cell,[" ", md_entity("aleph")],{},[[:ref, "r"]]),
23
+ md_el(:cell,["The first"],{},[]),
24
+ md_el(:cell,["I like it."],{},[])
25
+ ],{:align=>[:left, :left, :left]},[]),
26
+ md_el(:ald,[],{:ald=>[["scope", "row"]],:ald_id=>"r"},[])
27
+ ],{},[])
28
+ *** Output of to_html ***
29
+ <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>
30
+ </tr><tr><th scope='row' style='text-align: left;'> &aleph;</th><td style='text-align: left;'>The first</td><td style='text-align: left;'>I like it.</td>
31
+ </tr></tbody></table>
32
+ *** Output of to_latex ***
33
+ \begin{tabular}{l|l|l}
34
+ Symbol&Meaning&comments\\
35
+ \hline
36
+ $\alpha${}&The first&I like it.\\
37
+ &The first&I like it.\\
38
+ \end{tabular}
39
+ *** Output of to_md ***
40
+ SymbolMeaningcomments The firstI like it. The firstI like it.
41
+ *** Output of to_s ***
42
+ SymbolMeaningcomments The firstI like it. The firstI like it.
@@ -0,0 +1,525 @@
1
+ Write a comment abouth the test here.
2
+ *** Parameters: ***
3
+ {:archive=>false, :date=>"Nov 20 2006", :inmenu=>true, :subject_short=>"painless software", :subject=>"Software not painful to use", :topic=>"/misc/coolsw", :order=>"-9.5"}
4
+ *** Markdown input: ***
5
+ Subject: Software not painful to use
6
+ Subject_short: painless software
7
+ Topic: /misc/coolsw
8
+ Archive: no
9
+ Date: Nov 20 2006
10
+ Order: -9.5
11
+ inMenu: true
12
+
13
+
14
+ ### General ###
15
+
16
+ * *Operating System* : [Mac OS X][switch]: heaven, after the purgatory of Linux
17
+ and the hell of Windows.
18
+ * *Browser*: [Firefox][firefox]. On a Mac, [Camino][camino].
19
+ * *Email*: [GMail][gmail], "search, don't sort" really works.
20
+ * *Text Editor*: [TextMate][textmate], you have to buy it, but it's worth every
21
+ penny. There are rumours that it's been converting (recovering) Emacs
22
+ users (addicts). Unfortunately, it's Mac only. An alternative is
23
+ [jedit][jedit] (GPL, Java).
24
+
25
+ ### Development ###
26
+
27
+ * *Build system*: [cmake][cmake], throw the [autotools][autotools] away.
28
+ * *Source code control system*: ditch CVS for [subversion][subversion].
29
+ * *Project management*: [Trac][trac] tracks everything.
30
+ * *Scripting language*: [Ruby][ruby] is Japanese pragmatism (and has a [poignant][poignant] guide).
31
+ Python, you say? Python is too academic and snob:
32
+
33
+ $ python
34
+ Python 2.4.1 (\#1, Jun 4 2005, 00:54:33)
35
+ Type "help", "copyright", "credits" or "license" for more information.
36
+ >>> exit
37
+ 'Use Ctrl-D (i.e. EOF) to exit.'
38
+ >>> quit
39
+ 'Use Ctrl-D (i.e. EOF) to exit.'
40
+
41
+ * *Java IDE*: [JBuilder][jbuilder] is great software and has a free version (IMHO better than Eclipse). Java
42
+ is not a pain anymore since it gained [generics][java-generics] and got opensourced.
43
+ * *Mark-up language*: HTML is so 2001, why don't you take at look at [Markdown][markdown]? [Look at the source of this page](data/misc_markdown.png).
44
+ * *C++ libraries*:
45
+ * [QT][qt] for GUIs.
46
+ * [GSL][gsl] for math.
47
+ * [Magick++][magick] for manipulating images.
48
+ * [Cairo][cairo] for creating PDFs.
49
+ * [Boost][boost] for just about everything else.
50
+
51
+
52
+ ### Research ###
53
+
54
+ * *Writing papers*: [LaTeX][latex]
55
+ * *Writing papers & enjoying the process*: [LyX][lyx]
56
+ * *Handsome figures in your papers*: [xfig][xfig] or, better, [jfig][jfig].
57
+ * *The occasional presentation with many graphical content*:
58
+ [OpenOffice Impress][impress] (using the [OOOlatex plugin][ooolatex]);
59
+ the alternative is PowerPoint with the [TexPoint][texpoint] plugin.
60
+ * *Managing BibTeX*: [jabref][jabref]: multi-platform, for all your bibtex needs.
61
+ * *IEEExplore and BibTeX*: convert citations using [BibConverter][bibconverter].
62
+
63
+ ### Cool websites ###
64
+
65
+ * *Best site in the wwworld*: [Wikipedia][wikipedia]
66
+ * [Mutopia][mutopia] for sheet music; [the Gutenberg Project][gutenberg] for books; [LiberLiber][liberliber] for books in italian.
67
+ * *Blogs*: [Bloglines][bloglines]
68
+ * *Sharing photos*: [flickr][flickr] exposes an API you can use.
69
+
70
+
71
+ [firefox]: http://getfirefox.com/
72
+ [gmail]: http://gmail.com/
73
+ [bloglines]: http://bloglines.com/
74
+ [wikipedia]: http://en.wikipedia.org/
75
+ [ruby]: http://www.ruby-lang.org/
76
+ [poignant]: http://poignantguide.net/ruby/
77
+ [webgen]: http://webgen.rubyforge.org/
78
+ [markdown]: http://daringfireball.net/projects/markdown/
79
+ [latex]: http://en.wikipedia.org/wiki/LaTeX
80
+ [lyx]: http://www.lyx.org
81
+ [impress]: http://www.openoffice.org/product/impress.html
82
+ [ooolatex]: http://ooolatex.sourceforge.net/
83
+ [texpoint]: http://texpoint.necula.org/
84
+ [jabref]: http://jabref.sourceforge.net/
85
+ [camino]: http://www.caminobrowser.org/
86
+ [switch]: http://www.apple.com/getamac/
87
+ [textmate]: http://www.apple.com/getamac/
88
+ [cmake]: http://www.cmake.org/
89
+ [xfig]: http://www.xfig.org/
90
+ [jfig]: http://tams-www.informatik.uni-hamburg.de/applets/jfig/
91
+ [subversion]: http://subversion.tigris.org
92
+ [jbuilder]: http://www.borland.com/us/products/jbuilder/index.html
93
+ [flickr]: http://www.flickr.com/
94
+ [myflickr]: http://www.flickr.com/photos/censi
95
+ [bibconverter]: http://www.bibconverter.net/ieeexplore/
96
+ [autotools]: http://sources.redhat.com/autobook/
97
+ [jedit]: http://www.jedit.org/
98
+ [qt]: http://www.trolltech.no/
99
+ [gsl]: http://www.gnu.org/software/gsl/
100
+ [magick]: http://www.imagemagick.org/Magick++/
101
+ [cairo]: http://cairographics.org/
102
+ [boost]: http://www.boost.org/
103
+ [markdown]: http://en.wikipedia.org/wiki/Markdown
104
+ [trac]: http://trac.edgewall.org/
105
+ [mutopia]: http://www.mutopiaproject.org/
106
+ [liberliber]: http://www.liberliber.it/
107
+ [gutenberg]: http://www.gutenberg.org/
108
+ [java-generics]: http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html
109
+
110
+
111
+ *** Output of inspect ***
112
+ md_el(:document,[
113
+ md_el(:header,["General"],{:level=>3},[]),
114
+ md_el(:ul,[
115
+ md_el(:li_span,[
116
+ md_em(["Operating System"]),
117
+ " : ",
118
+ md_link(["Mac OS X"],"switch"),
119
+ ": heaven, after the purgatory of Linux and the hell of Windows."
120
+ ],{:want_my_paragraph=>false},[]),
121
+ md_el(:li_span,[
122
+ md_em(["Browser"]),
123
+ ": ",
124
+ md_link(["Firefox"],"firefox"),
125
+ ". On a Mac, ",
126
+ md_link(["Camino"],"camino"),
127
+ "."
128
+ ],{:want_my_paragraph=>false},[]),
129
+ md_el(:li_span,[
130
+ md_em(["Email"]),
131
+ ": ",
132
+ md_link(["GMail"],"gmail"),
133
+ ", ",
134
+ md_entity("ldquo"),
135
+ "search, don",
136
+ md_entity("rsquo"),
137
+ "t sort",
138
+ md_entity("rdquo"),
139
+ " really works."
140
+ ],{:want_my_paragraph=>false},[]),
141
+ md_el(:li_span,[
142
+ md_em(["Text Editor"]),
143
+ ": ",
144
+ md_link(["TextMate"],"textmate"),
145
+ ", you have to buy it, but it",
146
+ md_entity("rsquo"),
147
+ "s worth every penny. There are rumours that it",
148
+ md_entity("rsquo"),
149
+ "s been converting (recovering) Emacs users (addicts). Unfortunately, it",
150
+ md_entity("rsquo"),
151
+ "s Mac only. An alternative is ",
152
+ md_link(["jedit"],"jedit"),
153
+ " (GPL, Java)."
154
+ ],{:want_my_paragraph=>false},[])
155
+ ],{},[]),
156
+ md_el(:header,["Development"],{:level=>3},[]),
157
+ md_el(:ul,[
158
+ md_el(:li,[
159
+ md_par([
160
+ md_em(["Build system"]),
161
+ ": ",
162
+ md_link(["cmake"],"cmake"),
163
+ ", throw the ",
164
+ md_link(["autotools"],"autotools"),
165
+ " away."
166
+ ])
167
+ ],{:want_my_paragraph=>false},[]),
168
+ md_el(:li,[
169
+ md_par([
170
+ md_em(["Source code control system"]),
171
+ ": ditch CVS for ",
172
+ md_link(["subversion"],"subversion"),
173
+ "."
174
+ ])
175
+ ],{:want_my_paragraph=>false},[]),
176
+ md_el(:li,[
177
+ md_par([
178
+ md_em(["Project management"]),
179
+ ": ",
180
+ md_link(["Trac"],"trac"),
181
+ " tracks everything."
182
+ ])
183
+ ],{:want_my_paragraph=>false},[]),
184
+ md_el(:li,[
185
+ md_par([
186
+ md_em(["Scripting language"]),
187
+ ": ",
188
+ md_link(["Ruby"],"ruby"),
189
+ " is Japanese pragmatism (and has a ",
190
+ md_link(["poignant"],"poignant"),
191
+ " guide). Python, you say? Python is too academic and snob:"
192
+ ]),
193
+ md_el(:code,[],{:raw_code=>"$ python \nPython 2.4.1 (\\#1, Jun 4 2005, 00:54:33) \nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> exit\n'Use Ctrl-D (i.e. EOF) to exit.'\n>>> quit\n'Use Ctrl-D (i.e. EOF) to exit.'"},[])
194
+ ],{:want_my_paragraph=>true},[]),
195
+ md_el(:li,[
196
+ md_par([
197
+ md_em(["Java IDE"]),
198
+ ": ",
199
+ md_link(["JBuilder"],"jbuilder"),
200
+ " is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained ",
201
+ md_link(["generics"],"javagenerics"),
202
+ " and got opensourced."
203
+ ])
204
+ ],{:want_my_paragraph=>false},[]),
205
+ md_el(:li,[
206
+ md_par([
207
+ md_em(["Mark-up language"]),
208
+ ": HTML is so 2001, why don",
209
+ md_entity("rsquo"),
210
+ "t you take at look at ",
211
+ md_link(["Markdown"],"markdown"),
212
+ "? ",
213
+ md_im_link(["Look at the source of this page"], "data/misc_markdown.png", nil),
214
+ "."
215
+ ])
216
+ ],{:want_my_paragraph=>false},[]),
217
+ md_el(:li,[
218
+ md_par([
219
+ md_em(["C++ libraries"]),
220
+ ": * ",
221
+ md_link(["QT"],"qt"),
222
+ " for GUIs. * ",
223
+ md_link(["GSL"],"gsl"),
224
+ " for math. * ",
225
+ md_link(["Magick++"],"magick"),
226
+ " for manipulating images. * ",
227
+ md_link(["Cairo"],"cairo"),
228
+ " for creating PDFs. * ",
229
+ md_link(["Boost"],"boost"),
230
+ " for just about everything else."
231
+ ])
232
+ ],{:want_my_paragraph=>false},[])
233
+ ],{},[]),
234
+ md_el(:header,["Research"],{:level=>3},[]),
235
+ md_el(:ul,[
236
+ md_el(:li_span,[md_em(["Writing papers"]), ": ", md_link(["LaTeX"],"latex")],{:want_my_paragraph=>false},[]),
237
+ md_el(:li_span,[
238
+ md_em(["Writing papers & enjoying the process"]),
239
+ ": ",
240
+ md_link(["LyX"],"lyx")
241
+ ],{:want_my_paragraph=>false},[]),
242
+ md_el(:li_span,[
243
+ md_em(["Handsome figures in your papers"]),
244
+ ": ",
245
+ md_link(["xfig"],"xfig"),
246
+ " or, better, ",
247
+ md_link(["jfig"],"jfig"),
248
+ "."
249
+ ],{:want_my_paragraph=>false},[]),
250
+ md_el(:li_span,[
251
+ md_em(["The occasional presentation with many graphical content"]),
252
+ ": ",
253
+ md_link(["OpenOffice Impress"],"impress"),
254
+ " (using the ",
255
+ md_link(["OOOlatex plugin"],"ooolatex"),
256
+ "); the alternative is PowerPoint with the ",
257
+ md_link(["TexPoint"],"texpoint"),
258
+ " plugin."
259
+ ],{:want_my_paragraph=>false},[]),
260
+ md_el(:li_span,[
261
+ md_em(["Managing BibTeX"]),
262
+ ": ",
263
+ md_link(["jabref"],"jabref"),
264
+ ": multi-platform, for all your bibtex needs."
265
+ ],{:want_my_paragraph=>false},[]),
266
+ md_el(:li_span,[
267
+ md_em(["IEEExplore and BibTeX"]),
268
+ ": convert citations using ",
269
+ md_link(["BibConverter"],"bibconverter"),
270
+ "."
271
+ ],{:want_my_paragraph=>false},[])
272
+ ],{},[]),
273
+ md_el(:header,["Cool websites"],{:level=>3},[]),
274
+ md_el(:ul,[
275
+ md_el(:li_span,[
276
+ md_em(["Best site in the wwworld"]),
277
+ ": ",
278
+ md_link(["Wikipedia"],"wikipedia")
279
+ ],{:want_my_paragraph=>false},[]),
280
+ md_el(:li_span,[
281
+ md_link(["Mutopia"],"mutopia"),
282
+ " for sheet music; ",
283
+ md_link(["the Gutenberg Project"],"gutenberg"),
284
+ " for books; ",
285
+ md_link(["LiberLiber"],"liberliber"),
286
+ " for books in italian."
287
+ ],{:want_my_paragraph=>false},[]),
288
+ md_el(:li_span,[md_em(["Blogs"]), ": ", md_link(["Bloglines"],"bloglines")],{:want_my_paragraph=>false},[]),
289
+ md_el(:li_span,[
290
+ md_em(["Sharing photos"]),
291
+ ": ",
292
+ md_link(["flickr"],"flickr"),
293
+ " exposes an API you can use."
294
+ ],{:want_my_paragraph=>false},[])
295
+ ],{},[]),
296
+ md_ref_def("firefox", "http://getfirefox.com/", {:title=>nil}),
297
+ md_ref_def("gmail", "http://gmail.com/", {:title=>nil}),
298
+ md_ref_def("bloglines", "http://bloglines.com/", {:title=>nil}),
299
+ md_ref_def("wikipedia", "http://en.wikipedia.org/", {:title=>nil}),
300
+ md_ref_def("ruby", "http://www.ruby-lang.org/", {:title=>nil}),
301
+ md_ref_def("poignant", "http://poignantguide.net/ruby/", {:title=>nil}),
302
+ md_ref_def("webgen", "http://webgen.rubyforge.org/", {:title=>nil}),
303
+ md_ref_def("markdown", "http://daringfireball.net/projects/markdown/", {:title=>nil}),
304
+ md_ref_def("latex", "http://en.wikipedia.org/wiki/LaTeX", {:title=>nil}),
305
+ md_ref_def("lyx", "http://www.lyx.org", {:title=>nil}),
306
+ md_ref_def("impress", "http://www.openoffice.org/product/impress.html", {:title=>nil}),
307
+ md_ref_def("ooolatex", "http://ooolatex.sourceforge.net/", {:title=>nil}),
308
+ md_ref_def("texpoint", "http://texpoint.necula.org/", {:title=>nil}),
309
+ md_ref_def("jabref", "http://jabref.sourceforge.net/", {:title=>nil}),
310
+ md_ref_def("camino", "http://www.caminobrowser.org/", {:title=>nil}),
311
+ md_ref_def("switch", "http://www.apple.com/getamac/", {:title=>nil}),
312
+ md_ref_def("textmate", "http://www.apple.com/getamac/", {:title=>nil}),
313
+ md_ref_def("cmake", "http://www.cmake.org/", {:title=>nil}),
314
+ md_ref_def("xfig", "http://www.xfig.org/", {:title=>nil}),
315
+ md_ref_def("jfig", "http://tams-www.informatik.uni-hamburg.de/applets/jfig/", {:title=>nil}),
316
+ md_ref_def("subversion", "http://subversion.tigris.org", {:title=>nil}),
317
+ md_ref_def("jbuilder", "http://www.borland.com/us/products/jbuilder/index.html", {:title=>nil}),
318
+ md_ref_def("flickr", "http://www.flickr.com/", {:title=>nil}),
319
+ md_ref_def("myflickr", "http://www.flickr.com/photos/censi", {:title=>nil}),
320
+ md_ref_def("bibconverter", "http://www.bibconverter.net/ieeexplore/", {:title=>nil}),
321
+ md_ref_def("autotools", "http://sources.redhat.com/autobook/", {:title=>nil}),
322
+ md_ref_def("jedit", "http://www.jedit.org/", {:title=>nil}),
323
+ md_ref_def("qt", "http://www.trolltech.no/", {:title=>nil}),
324
+ md_ref_def("gsl", "http://www.gnu.org/software/gsl/", {:title=>nil}),
325
+ md_ref_def("magick", "http://www.imagemagick.org/Magick++/", {:title=>nil}),
326
+ md_ref_def("cairo", "http://cairographics.org/", {:title=>nil}),
327
+ md_ref_def("boost", "http://www.boost.org/", {:title=>nil}),
328
+ md_ref_def("markdown", "http://en.wikipedia.org/wiki/Markdown", {:title=>nil}),
329
+ md_ref_def("trac", "http://trac.edgewall.org/", {:title=>nil}),
330
+ md_ref_def("mutopia", "http://www.mutopiaproject.org/", {:title=>nil}),
331
+ md_ref_def("liberliber", "http://www.liberliber.it/", {:title=>nil}),
332
+ md_ref_def("gutenberg", "http://www.gutenberg.org/", {:title=>nil}),
333
+ md_ref_def("javagenerics", "http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html", {:title=>nil})
334
+ ],{},[])
335
+ *** Output of to_html ***
336
+ <h3 id='general'>General</h3>
337
+
338
+ <ul>
339
+ <li><em>Operating System</em> : <a href='http://www.apple.com/getamac/'>Mac OS X</a>: heaven, after the purgatory of Linux and the hell of Windows.</li>
340
+
341
+ <li><em>Browser</em>: <a href='http://getfirefox.com/'>Firefox</a>. On a Mac, <a href='http://www.caminobrowser.org/'>Camino</a>.</li>
342
+
343
+ <li><em>Email</em>: <a href='http://gmail.com/'>GMail</a>, &#8220;search, don&#8217;t sort&#8221; really works.</li>
344
+
345
+ <li><em>Text Editor</em>: <a href='http://www.apple.com/getamac/'>TextMate</a>, you have to buy it, but it&#8217;s worth every penny. There are rumours that it&#8217;s been converting (recovering) Emacs users (addicts). Unfortunately, it&#8217;s Mac only. An alternative is <a href='http://www.jedit.org/'>jedit</a> (GPL, Java).</li>
346
+ </ul>
347
+
348
+ <h3 id='development'>Development</h3>
349
+
350
+ <ul>
351
+ <li>
352
+ <p><em>Build system</em>: <a href='http://www.cmake.org/'>cmake</a>, throw the <a href='http://sources.redhat.com/autobook/'>autotools</a> away.</p>
353
+ </li>
354
+
355
+ <li>
356
+ <p><em>Source code control system</em>: ditch CVS for <a href='http://subversion.tigris.org'>subversion</a>.</p>
357
+ </li>
358
+
359
+ <li>
360
+ <p><em>Project management</em>: <a href='http://trac.edgewall.org/'>Trac</a> tracks everything.</p>
361
+ </li>
362
+
363
+ <li>
364
+ <p><em>Scripting language</em>: <a href='http://www.ruby-lang.org/'>Ruby</a> is Japanese pragmatism (and has a <a href='http://poignantguide.net/ruby/'>poignant</a> guide). Python, you say? Python is too academic and snob:</p>
365
+
366
+ <pre><code>$ python
367
+ Python 2.4.1 (\#1, Jun 4 2005, 00:54:33)
368
+ Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.
369
+ &gt;&gt;&gt; exit
370
+ &#39;Use Ctrl-D (i.e. EOF) to exit.&#39;
371
+ &gt;&gt;&gt; quit
372
+ &#39;Use Ctrl-D (i.e. EOF) to exit.&#39;</code></pre>
373
+ </li>
374
+
375
+ <li>
376
+ <p><em>Java IDE</em>: <a href='http://www.borland.com/us/products/jbuilder/index.html'>JBuilder</a> is great software and has a free version (IMHO better than Eclipse). Java 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> and got opensourced.</p>
377
+ </li>
378
+
379
+ <li>
380
+ <p><em>Mark-up language</em>: HTML is so 2001, why don&#8217;t you take at look at <a href='http://en.wikipedia.org/wiki/Markdown'>Markdown</a>? <a href='data/misc_markdown.png'>Look at the source of this page</a>.</p>
381
+ </li>
382
+
383
+ <li>
384
+ <p><em>C++ libraries</em>: * <a href='http://www.trolltech.no/'>QT</a> for GUIs. * <a href='http://www.gnu.org/software/gsl/'>GSL</a> for math. * <a href='http://www.imagemagick.org/Magick++/'>Magick++</a> for manipulating images. * <a href='http://cairographics.org/'>Cairo</a> for creating PDFs. * <a href='http://www.boost.org/'>Boost</a> for just about everything else.</p>
385
+ </li>
386
+ </ul>
387
+
388
+ <h3 id='research'>Research</h3>
389
+
390
+ <ul>
391
+ <li><em>Writing papers</em>: <a href='http://en.wikipedia.org/wiki/LaTeX'>LaTeX</a></li>
392
+
393
+ <li><em>Writing papers &amp; enjoying the process</em>: <a href='http://www.lyx.org'>LyX</a></li>
394
+
395
+ <li><em>Handsome figures in your papers</em>: <a href='http://www.xfig.org/'>xfig</a> or, better, <a href='http://tams-www.informatik.uni-hamburg.de/applets/jfig/'>jfig</a>.</li>
396
+
397
+ <li><em>The occasional presentation with many graphical content</em>: <a href='http://www.openoffice.org/product/impress.html'>OpenOffice Impress</a> (using the <a href='http://ooolatex.sourceforge.net/'>OOOlatex plugin</a>); the alternative is PowerPoint with the <a href='http://texpoint.necula.org/'>TexPoint</a> plugin.</li>
398
+
399
+ <li><em>Managing BibTeX</em>: <a href='http://jabref.sourceforge.net/'>jabref</a>: multi-platform, for all your bibtex needs.</li>
400
+
401
+ <li><em>IEEExplore and BibTeX</em>: convert citations using <a href='http://www.bibconverter.net/ieeexplore/'>BibConverter</a>.</li>
402
+ </ul>
403
+
404
+ <h3 id='cool_websites'>Cool websites</h3>
405
+
406
+ <ul>
407
+ <li><em>Best site in the wwworld</em>: <a href='http://en.wikipedia.org/'>Wikipedia</a></li>
408
+
409
+ <li><a href='http://www.mutopiaproject.org/'>Mutopia</a> for sheet music; <a href='http://www.gutenberg.org/'>the Gutenberg Project</a> for books; <a href='http://www.liberliber.it/'>LiberLiber</a> for books in italian.</li>
410
+
411
+ <li><em>Blogs</em>: <a href='http://bloglines.com/'>Bloglines</a></li>
412
+
413
+ <li><em>Sharing photos</em>: <a href='http://www.flickr.com/'>flickr</a> exposes an API you can use.</li>
414
+ </ul>
415
+ *** Output of to_latex ***
416
+ \hypertarget{general}{}\subsubsection*{{General}}\label{general}
417
+
418
+ \begin{itemize}%
419
+ \item \emph{Operating System} : \href{http://www.apple.com/getamac/}{Mac OS X}: heaven, after the purgatory of Linux and the hell of Windows.
420
+ \item \emph{Browser}: \href{http://getfirefox.com/}{Firefox}. On a Mac, \href{http://www.caminobrowser.org/}{Camino}.
421
+ \item \emph{Email}: \href{http://gmail.com/}{GMail}, ``{}search, don'{}t sort''{} really works.
422
+ \item \emph{Text Editor}: \href{http://www.apple.com/getamac/}{TextMate}, you have to buy it, but it'{}s worth every penny. There are rumours that it'{}s been converting (recovering) Emacs users (addicts). Unfortunately, it'{}s Mac only. An alternative is \href{http://www.jedit.org/}{jedit} (GPL, Java).
423
+
424
+ \end{itemize}
425
+ \hypertarget{development}{}\subsubsection*{{Development}}\label{development}
426
+
427
+ \begin{itemize}%
428
+ \item \emph{Build system}: \href{http://www.cmake.org/}{cmake}, throw the \href{http://sources.redhat.com/autobook/}{autotools} away.
429
+
430
+
431
+ \item \emph{Source code control system}: ditch CVS for \href{http://subversion.tigris.org}{subversion}.
432
+
433
+
434
+ \item \emph{Project management}: \href{http://trac.edgewall.org/}{Trac} tracks everything.
435
+
436
+
437
+ \item \emph{Scripting language}: \href{http://www.ruby-lang.org/}{Ruby} is Japanese pragmatism (and has a \href{http://poignantguide.net/ruby/}{poignant} guide). Python, you say? Python is too academic and snob:
438
+
439
+ \begin{verbatim}$ python
440
+ Python 2.4.1 (\#1, Jun 4 2005, 00:54:33)
441
+ Type "help", "copyright", "credits" or "license" for more information.
442
+ >>> exit
443
+ 'Use Ctrl-D (i.e. EOF) to exit.'
444
+ >>> quit
445
+ 'Use Ctrl-D (i.e. EOF) to exit.'\end{verbatim}
446
+
447
+ \item \emph{Java IDE}: \href{http://www.borland.com/us/products/jbuilder/index.html}{JBuilder} is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained \href{http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html}{generics} and got opensourced.
448
+
449
+
450
+ \item \emph{Mark-up language}: HTML is so 2001, why don'{}t you take at look at \href{http://en.wikipedia.org/wiki/Markdown}{Markdown}? \href{data/misc_markdown.png}{Look at the source of this page}.
451
+
452
+
453
+ \item \emph{C++ libraries}: * \href{http://www.trolltech.no/}{QT} for GUIs. * \href{http://www.gnu.org/software/gsl/}{GSL} for math. * \href{http://www.imagemagick.org/Magick++/}{Magick++} for manipulating images. * \href{http://cairographics.org/}{Cairo} for creating PDFs. * \href{http://www.boost.org/}{Boost} for just about everything else.
454
+
455
+
456
+
457
+ \end{itemize}
458
+ \hypertarget{research}{}\subsubsection*{{Research}}\label{research}
459
+
460
+ \begin{itemize}%
461
+ \item \emph{Writing papers}: \href{http://en.wikipedia.org/wiki/LaTeX}{LaTeX}
462
+ \item \emph{Writing papers \& enjoying the process}: \href{http://www.lyx.org}{LyX}
463
+ \item \emph{Handsome figures in your papers}: \href{http://www.xfig.org/}{xfig} or, better, \href{http://tams-www.informatik.uni-hamburg.de/applets/jfig/}{jfig}.
464
+ \item \emph{The occasional presentation with many graphical content}: \href{http://www.openoffice.org/product/impress.html}{OpenOffice Impress} (using the \href{http://ooolatex.sourceforge.net/}{OOOlatex plugin}); the alternative is PowerPoint with the \href{http://texpoint.necula.org/}{TexPoint} plugin.
465
+ \item \emph{Managing BibTeX}: \href{http://jabref.sourceforge.net/}{jabref}: multi-platform, for all your bibtex needs.
466
+ \item \emph{IEEExplore and BibTeX}: convert citations using \href{http://www.bibconverter.net/ieeexplore/}{BibConverter}.
467
+
468
+ \end{itemize}
469
+ \hypertarget{cool_websites}{}\subsubsection*{{Cool websites}}\label{cool_websites}
470
+
471
+ \begin{itemize}%
472
+ \item \emph{Best site in the wwworld}: \href{http://en.wikipedia.org/}{Wikipedia}
473
+ \item \href{http://www.mutopiaproject.org/}{Mutopia} for sheet music; \href{http://www.gutenberg.org/}{the Gutenberg Project} for books; \href{http://www.liberliber.it/}{LiberLiber} for books in italian.
474
+ \item \emph{Blogs}: \href{http://bloglines.com/}{Bloglines}
475
+ \item \emph{Sharing photos}: \href{http://www.flickr.com/}{flickr} exposes an API you can use.
476
+
477
+ \end{itemize}
478
+ *** Output of to_md ***
479
+ General-perating System: Mac OS X: heaven,
480
+ after the purgatory of Linux and
481
+ the hell of Windows.
482
+ -rowser: Firefox. On a Mac, Camino.
483
+ -mail: GMail, search, don t sort
484
+ really works.
485
+ -ext Editor: TextMate, you have to
486
+ buy it, but it s worth every penny.
487
+ There are rumours that it s been
488
+ converting (recovering) Emacs users
489
+ (addicts). Unfortunately, it s Mac
490
+ only. An alternative is jedit(GPL,
491
+ Java).
492
+
493
+ Development-Build system: cmake, throw the autotools away.
494
+ -Source code control system: ditch CVS for subversion.
495
+ -Project management: Trac tracks everything.
496
+ -Scripting language: Ruby is Japanese pragmatism (and has a poignant guide). Python, you say? Python is too academic and snob:
497
+ -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.
498
+ -Mark-up language: HTML is so 2001, why dont you take at look at Markdown? Look at the source of this page.
499
+ -C++ libraries: * QT for GUIs. * GSL for math. * Magick++ for manipulating images. * Cairo for creating PDFs. * Boost for just about everything else.
500
+
501
+ Research-riting papers: LaTeX
502
+ -Writing papers & enjoying the process
503
+ : LyX
504
+ -andsome figures in your papers:
505
+ xfigor, better, jfig.
506
+ -The occasional presentation with many graphical content
507
+ : OpenOffice Impress(using the
508
+ OOOlatex plugin); the alternative
509
+ is PowerPoint with the TexPoint
510
+ plugin.
511
+ -anaging BibTeX: jabref:
512
+ multi-platform, for all your bibtex
513
+ needs.
514
+ -EEExplore and BibTeX: convert
515
+ citations using BibConverter.
516
+
517
+ Cool websites-est site in the wwworld: Wikipedia
518
+ -utopiafor sheet music;
519
+ the Gutenberg Projectfor books;
520
+ LiberLiberfor books in italian.
521
+ -logs: Bloglines
522
+ -haring photos: flickrexposes an
523
+ API you can use.
524
+ *** Output of to_s ***
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.