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,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ ARGV.unshift "--pdf"
4
+ load File.join(File.dirname(__FILE__), "maruku")
@@ -0,0 +1,261 @@
1
+ <!-- A conversion chart for html elements, courtesy of text2html -->
2
+ <chars>
3
+ <char num='913' name='Alpha' convertTo='$A$' />
4
+ <char num='914' name='Beta' convertTo='$B$' />
5
+ <char num='915' name='Gamma' convertTo='$\Gamma$' />
6
+ <char num='916' name='Delta' convertTo='$\Delta$' />
7
+ <char num='917' name='Epsilon' convertTo='$E$' />
8
+ <char num='918' name='Zeta' convertTo='$Z$' />
9
+ <char num='919' name='Eta' convertTo='$H$' />
10
+ <char num='920' name='Theta' convertTo='$\Theta$' />
11
+ <char num='921' name='Iota' convertTo='$I$' />
12
+ <char num='922' name='Kappa' convertTo='$K$' />
13
+ <char num='923' name='Lambda' convertTo='$\Lambda$' />
14
+ <char num='924' name='Mu' convertTo='$M$' />
15
+ <char num='925' name='Nu' convertTo='$N$' />
16
+ <char num='926' name='Xi' convertTo='$\Xi$' />
17
+ <char num='927' name='Omicron' convertTo='$O$' />
18
+ <char num='928' name='Pi' convertTo='$\Pi$' />
19
+ <char num='929' name='Rho' convertTo='$P$' />
20
+ <char num='931' name='Sigma' convertTo='$\Sigma$' />
21
+ <char num='932' name='Tau' convertTo='$T$' />
22
+ <char num='933' name='Upsilon' convertTo='$Y$' />
23
+ <char num='934' name='Phi' convertTo='$\Phi$' />
24
+ <char num='935' name='Chi' convertTo='$X$' />
25
+ <char num='936' name='Psi' convertTo='$\Psi$' />
26
+ <char num='937' name='Omega' convertTo='$\Omega$' />
27
+ <char num='945' name='alpha' convertTo='$\alpha$' />
28
+ <char num='946' name='beta' convertTo='$\beta$' />
29
+ <char num='947' name='gamma' convertTo='$\gamma$' />
30
+ <char num='948' name='delta' convertTo='$\delta$' />
31
+ <char num='949' name='epsilon' convertTo='$\epsilon$' />
32
+ <char num='950' name='zeta' convertTo='$\zeta$' />
33
+ <char num='951' name='eta' convertTo='$\eta$' />
34
+ <char num='952' name='theta' convertTo='$\theta$' />
35
+ <char num='953' name='iota' convertTo='$\iota$' />
36
+ <char num='954' name='kappa' convertTo='$\kappa$' />
37
+ <char num='955' name='lambda' convertTo='$\lambda$' />
38
+ <char num='956' name='mu' convertTo='$\mu$' />
39
+
40
+ <char num='957' name='nu' convertTo='$\nu$' />
41
+ <char num='958' name='xi' convertTo='$\xi$' />
42
+ <char num='959' name='omicron' convertTo='$o$' />
43
+ <char num='960' name='pi' convertTo='$\pi$' />
44
+ <char num='961' name='rho' convertTo='$\rho$' />
45
+ <char num='963' name='sigma' convertTo='$\sigma$' />
46
+ <char num='964' name='tau' convertTo='$\tau$' />
47
+ <char num='965' name='upsilon' convertTo='$\upsilon$' />
48
+ <char num='966' name='phi' convertTo='$\phi$' />
49
+
50
+ <char num='967' name='chi' convertTo='$\chi$' />
51
+ <char num='968' name='psi' convertTo='$\psi$' />
52
+ <char num='969' name='omega' convertTo='$\omega$' />
53
+ <char num='962' name='sigmaf' convertTo='$\varsigma$' />
54
+ <char num='977' name='thetasym' convertTo='$\vartheta$' />
55
+ <char num='982' name='piv' convertTo='$\varpi$' />
56
+ <char num='8230' name='hellip' convertTo='\ldots' />
57
+ <char num='8242' name='prime' convertTo='$\prime$' />
58
+ <char num='8254' name='oline' convertTo='-' />
59
+
60
+ <char num='8260' name='frasl' convertTo='/' />
61
+ <char num='8472' name='weierp' convertTo='$\wp$' />
62
+ <char num='8465' name='image' convertTo='$\Im$' />
63
+ <char num='8476' name='real' convertTo='$\Re$' />
64
+ <char num='8501' name='alefsym' convertTo='$\aleph$' />
65
+ <char num='8226' name='bull' convertTo='$\bullet$' />
66
+ <char num='8482' name='trade' convertTo='$^{\rm TM}$' /> <!-- exttrademark -->
67
+ <char num='8592' name='larr' convertTo='$\leftarrow$' />
68
+
69
+ <char num='8594' name='rarr' convertTo='$\rightarrow$' />
70
+ <char num='8593' name='uarr' convertTo='$\uparrow$' />
71
+ <char num='8595' name='darr' convertTo='$\downarrow$' />
72
+ <char num='8596' name='harr' convertTo='$\leftrightarrow$' />
73
+ <char num='8629' name='crarr' convertTo='$\hookleftarrow$' />
74
+ <char num='8657' name='uArr' convertTo='$\Uparrow$' />
75
+ <char num='8659' name='dArr' convertTo='$\Downarrow$' />
76
+ <char num='8656' name='lArr' convertTo='$\Leftarrow$' />
77
+ <char num='8658' name='rArr' convertTo='$\Rightarrow$' />
78
+
79
+ <char num='8660' name='hArr' convertTo='$\Leftrightarrow$' />
80
+ <char num='8704' name='forall' convertTo='$\forall$' />
81
+ <char num='8706' name='part' convertTo='$\partial$' />
82
+ <char num='8707' name='exist' convertTo='$\exists$' />
83
+ <char num='8709' name='empty' convertTo='$\emptyset$' />
84
+ <char num='8711' name='nabla' convertTo='$\nabla$' />
85
+ <char num='8712' name='isin' convertTo='$\in$' />
86
+ <char num='8715' name='ni' convertTo='$\ni$' />
87
+ <char num='8713' name='notin' convertTo='$\notin$' />
88
+
89
+ <char num='8721' name='sum' convertTo='$\sum$' />
90
+ <char num='8719' name='prod' convertTo='$\prod$' />
91
+ <char num='8722' name='minus' convertTo='$-$' />
92
+ <char num='8727' name='lowast' convertTo='$\ast$' />
93
+ <char num='8730' name='radic' convertTo='$\surd$' />
94
+ <char num='8733' name='prop' convertTo='$\propto$' />
95
+ <char num='8734' name='infin' convertTo='$\infty$' />
96
+ <char num='8736' name='ang' convertTo='$\angle$' />
97
+ <char num='8743' name='and' convertTo='$\wedge$' />
98
+
99
+ <char num='8744' name='or' convertTo='$\vee$' />
100
+ <char num='8745' name='cup' convertTo='$\cup$' />
101
+ <char num='8746' name='cap' convertTo='$\cap$' />
102
+ <char num='8747' name='int' convertTo='$\int$' />
103
+ <char num='8756' name='there4' convertTo='$\therefore$' package='amssymb' /> <!-- only AMS -->
104
+ <char num='8764' name='sim' convertTo='$\sim$' />
105
+ <char num='8776' name='asymp' convertTo='$\approx$' />
106
+ <char num='8773' name='cong' convertTo='$\cong$' />
107
+
108
+ <char num='8800' name='ne' convertTo='$\neq$' />
109
+ <char num='8801' name='equiv' convertTo='$\equiv$' />
110
+ <char num='8804' name='le' convertTo='$\leq$' />
111
+ <char num='8805' name='ge' convertTo='$\geq$' />
112
+ <char num='8834' name='sub' convertTo='$\subset$' />
113
+ <char num='8835' name='sup' convertTo='$\supset$' />
114
+ <!-- <char num='8838' name='sube' convertTo='$\subseteq$' />-->
115
+ <char num='8839' name='supe' convertTo='$\supseteq$' />
116
+ <!-- <char num='8836' name='nsub' convertTo='$\nsubset$' /> only AMS -->
117
+
118
+ <char num='8853' name='oplus' convertTo='$\oplus$' />
119
+ <char num='8855' name='otimes' convertTo='$\otimes$' />
120
+ <char num='8869' name='perp' convertTo='$\perp$' />
121
+ <char num='8901' name='sdot' convertTo='$\cdot$' />
122
+ <char num='8968' name='rceil' convertTo='$\rceil$' />
123
+ <char num='8969' name='lceil' convertTo='$\lceil$' />
124
+ <char num='8970' name='lfloor' convertTo='$\lfloor$' />
125
+ <char num='8971' name='rfloor' convertTo='$\rfloor$' />
126
+ <char num='9001' name='rang' convertTo='$\rangle$' />
127
+
128
+ <char num='9002' name='lang' convertTo='$\langle$' />
129
+ <char num='9674' name='loz' convertTo='$\lozenge$' package='amssymb' /> <!-- only AMS -->
130
+ <char num='9824' name='spades' convertTo='$\spadesuit$' />
131
+ <char num='9827' name='clubs' convertTo='$\clubsuit$' />
132
+ <char num='9829' name='hearts' convertTo='$\heartsuit$' />
133
+ <char num='9830' name='diams' convertTo='$\diamondsuit$' />
134
+ <char num='38' name='amp' convertTo='\@AMP' />
135
+ <!-- <char num='34' name='quot' convertTo='\@DOUBLEQUOT' /> XXX -->
136
+ <char num='34' name='quot' convertTo='&quot;' />
137
+ <char num='39' name='apos' convertTo="'" />
138
+ <char num='169' name='copy' convertTo='\copyright' />
139
+
140
+ <char num='60' name='lt' convertTo='$@LT$' />
141
+ <char num='62' name='gt' convertTo='$@GT$' />
142
+ <char num='338' name='OElig' convertTo='\OE' />
143
+ <char num='339' name='oelig' convertTo='\oe' />
144
+ <char num='352' name='Scaron' convertTo='\v{S}' />
145
+ <char num='353' name='scaron' convertTo='\v{s}' />
146
+ <char num='376' name='Yuml' convertTo='\"Y' />
147
+ <char num='710' name='circ' convertTo='\textasciicircum' />
148
+ <char num='732' name='tilde' convertTo='\textasciitilde' />
149
+
150
+ <char num='8211' name='ndash' convertTo='--' />
151
+ <char num='8212' name='mdash' convertTo='---' />
152
+ <char num='8216' name='lsquo' convertTo='`' />
153
+ <char num='8217' name='rsquo' convertTo="'" /> <!-- XXXX -->
154
+ <char num='8220' name='ldquo' convertTo='``' />
155
+ <char num='8221' name='rdquo' convertTo="''" /> <!-- XXXX -->
156
+ <char num='8224' name='dagger' convertTo='\dag' />
157
+ <char num='8225' name='Dagger' convertTo='\ddag' />
158
+ <char num='8240' name='permil' convertTo='\permil' package='wasysym' /> <!-- wasysym package -->
159
+
160
+ <char num='8364' name='euro' convertTo='\euro' package='eurosym' /> <!-- eurosym package -->
161
+ <char num='8249' name='lsaquo' convertTo='\guilsinglleft' package='aeguill'/>
162
+ <char num='8250' name='rsaquo' convertTo='\guilsinglright' package='aeguill' />
163
+ <!-- <char num='160' name='nbsp' convertTo='\nolinebreak' />-->
164
+ <char num='160' name='nbsp' convertTo='~' />
165
+ <char num='161' name='iexcl' convertTo='\textexclamdown' />
166
+ <char num='163' name='pound' convertTo='\pounds' />
167
+ <char num='164' name='curren' convertTo='\currency' package='wasysym' /> <!-- wasysym package -->
168
+ <char num='165' name='yen' convertTo='\textyen' package='textcomp'/> <!-- textcomp -->
169
+
170
+ <char num='166' name='brvbar' convertTo='\brokenvert' /> <!-- wasysym -->
171
+ <char num='167' name='sect' convertTo='\S' />
172
+ <char num='171' name='laquo' convertTo='\guillemotleft' package='aeguill'/>
173
+ <char num='187' name='raquo' convertTo='\guillemotright' package='aeguill'/>
174
+ <char num='174' name='reg' convertTo='\textregistered' />
175
+ <char num='170' name='ordf' convertTo='\textordfeminine' />
176
+ <char num='172' name='not' convertTo='$\neg$' />
177
+ <!-- <char num='176' name='deg' convertTo='$\degree$' /> mathabx -->
178
+ <char num='176' name='deg' convertTo='\textdegree' package='textcomp'/>
179
+
180
+ <char num='177' name='plusmn' convertTo='$\pm$' />
181
+ <char num='180' name='acute' convertTo='@QUOT' />
182
+ <char num='181' name='micro' convertTo='$\mu$' />
183
+ <char num='182' name='para' convertTo='\P' />
184
+ <char num='183' name='middot' convertTo='$\cdot$' />
185
+ <char num='186' name='ordm' convertTo='\textordmasculine' />
186
+ <char num='162' name='cent' convertTo='\cent' package='wasysym' />
187
+ <char num='185' name='sup1' convertTo='$^1$' />
188
+
189
+ <char num='178' name='sup2' convertTo='$^2$' />
190
+ <char num='179' name='sup3' convertTo='$^3$' />
191
+ <char num='189' name='frac12' convertTo='$\frac{1}{2}$' />
192
+ <char num='188' name='frac14' convertTo='$\frac{1}{4}$' />
193
+ <char num='190' name='frac34' convertTo='$\frac{3}{4}$' />
194
+ <char num='192' name='Agrave' convertTo='\`A' />
195
+ <char num='193' name='Aacute' convertTo='\@QUOTA' />
196
+ <char num='194' name='Acirc' convertTo='\^A' />
197
+ <char num='195' name='Atilde' convertTo='\~A' />
198
+
199
+ <char num='196' name='Auml' convertTo='\@DOUBLEQUOTA' />
200
+ <char num='197' name='Aring' convertTo='\AA' />
201
+ <char num='198' name='AElig' convertTo='\AE' />
202
+ <char num='199' name='Ccedil' convertTo='\c{C}' />
203
+ <char num='200' name='Egrave' convertTo='\`E' />
204
+ <char num='201' name='Eacute' convertTo='\@QUOTE' />
205
+ <char num='202' name='Ecirc' convertTo='\^E' />
206
+ <char num='203' name='Euml' convertTo='\@DOUBLEQUOTE' />
207
+ <char num='204' name='Igrave' convertTo='\`I' />
208
+ <char num='205' name='Iacute' convertTo='\@QUOTI' />
209
+ <char num='206' name='Icirc' convertTo='\^I' />
210
+ <char num='207' name='Iuml' convertTo='\"I' />
211
+ <char num='208' name='ETH' convertTo='$\eth$' /> <!-- AMS -->
212
+ <char num='209' name='Ntilde' convertTo='\~N' />
213
+ <char num='210' name='Ograve' convertTo='\`O' />
214
+ <char num='211' name='Oacute' convertTo='\@QUOT O' />
215
+ <char num='212' name='Ocirc' convertTo='\^O' />
216
+ <char num='213' name='Otilde' convertTo='\~O' />
217
+ <char num='214' name='Ouml' convertTo='\@DOUBLEQUOTO' />
218
+ <char num='215' name='times' convertTo='$\times$' />
219
+ <char num='216' name='Oslash' convertTo='\O' />
220
+ <char num='217' name='Ugrave' convertTo='\`U' />
221
+ <char num='218' name='Uacute' convertTo='\@QUOTU' />
222
+ <char num='219' name='Ucirc' convertTo='\^U' />
223
+ <char num='220' name='Uuml' convertTo='\@DOUBLEQUOTU' />
224
+ <char num='221' name='Yacute' convertTo='\@QUOTY' />
225
+ <char num='223' name='szlig' convertTo='\ss' />
226
+ <char num='224' name='agrave' convertTo='\`a' />
227
+ <char num='225' name='aacute' convertTo='\@QUOTa' />
228
+ <char num='226' name='acirc' convertTo='\^a' />
229
+ <char num='227' name='atilde' convertTo='\~a' />
230
+ <char num='228' name='auml' convertTo='\@DOUBLEQUOTa' />
231
+ <char num='229' name='aring' convertTo='\aa' />
232
+ <char num='230' name='aelig' convertTo='\ae' />
233
+ <char num='231' name='ccedil' convertTo='\c{c}' />
234
+ <char num='232' name='egrave' convertTo='\`e' />
235
+ <char num='233' name='eacute' convertTo='\@QUOTe' />
236
+ <char num='234' name='ecirc' convertTo='\^e' />
237
+ <char num='235' name='euml' convertTo='\@DOUBLEQUOTe' />
238
+ <char num='236' name='igrave' convertTo='\`i' />
239
+ <char num='237' name='iacute' convertTo='\@QUOTi' />
240
+ <char num='238' name='icirc' convertTo='\^i' />
241
+ <char num='239' name='iuml' convertTo='\@DOUBLEQUOTi' />
242
+ <char num='240' name='eth' convertTo='$\eth$' package='amssymb'/> <!-- -->
243
+ <char num='241' name='ntilde' convertTo='\~n' />
244
+ <char num='242' name='ograve' convertTo='\`o' />
245
+ <char num='243' name='oacute' convertTo='\@QUOTo' />
246
+ <char num='244' name='ocirc' convertTo='\^o' />
247
+ <char num='245' name='otilde' convertTo='\~o' />
248
+ <char num='246' name='ouml' convertTo='\@DOUBLEQUOTo' />
249
+ <!-- <char num='247' name='divide' convertTo='$\divide$' /> -->
250
+ <char num='248' name='oslash' convertTo='\o' />
251
+ <char num='249' name='ugrave' convertTo='\`u' />
252
+ <char num='250' name='uacute' convertTo='\@QUOTu' />
253
+ <char num='251' name='ucirc' convertTo='\^u' />
254
+ <char num='252' name='uuml' convertTo='\@DOUBLEQUOTu' />
255
+ <char num='253' name='yacute' convertTo='\@QUOTy' />
256
+
257
+ <char num='255' name='yuml' convertTo='\@DOUBLEQUOTy' />
258
+
259
+ <char num='222' name='THORN' convertTo='\Thorn' package='wasysym' />
260
+ <char num='254' name='thorn' convertTo='\thorn' package='wasysym' />
261
+ </chars>
@@ -0,0 +1,334 @@
1
+ CSS: style.css
2
+ LaTeX CJK: true
3
+ HTML use syntax: true
4
+
5
+ <!-- #### Changes in the development version (**not yet released**) #### {#last} -->
6
+
7
+ #### Changes in 0.5.6 #### {#stable}
8
+
9
+ * News:
10
+
11
+ - Now Maruku is in the official Gentoo Portage tree (done by [Aggelos Orfanakos])
12
+
13
+ * New stuff:
14
+
15
+ - Attribute `maruku_signature` defaults to false. (many people asked this)
16
+ - unittests scripts are included in the distribution.
17
+ - New attribute `filter_html`: if true, raw HTML/XML is discarded. (asked by Marik)
18
+ - Command line: if output file is `-`, Maruku writes to stdout.
19
+
20
+ * Bug fixes:
21
+
22
+ * Another tiny bug in HTML parsing.
23
+ * In latex, `\linebreak` was used instead of `\newline` (reported by Sam Kleinman)
24
+ * Fixed bug with non-alpha numeric characters in ref.ids (reported by Aggelos Orfanakos)
25
+
26
+
27
+ * Pending bugs/feature requests:
28
+
29
+ - Maruku does not allow 3-space indented lists.
30
+ - Lists item whose first character is UTF8 are not recognized (reported by Aggelos Orfanakos)
31
+ - Maruku cannot output `"`-delimited attributes, because `REXML` does not support it.
32
+
33
+ [Aggelos Orfanakos]: http://agorf.gr/
34
+
35
+ #### Changes in 0.5.5 ####
36
+
37
+ * Features:
38
+
39
+ * Input of HTML numeric entities:
40
+
41
+ Examples of numeric character references include &#169; or &#xA9;
42
+ for the copyright symbol, &#913; or &#x391; for the Greek capital
43
+ letter alpha, and &#1575; or &#x627; for the Arabic letter alef.
44
+
45
+ > Examples of numeric character references include &#169; or &#xA9;
46
+ > for the copyright symbol, &#913; or &#x391; for the Greek capital
47
+ > letter alpha, and &#1575; or &#x627; for the Arabic letter alef.
48
+
49
+ * Bug fixes:
50
+
51
+ * Alt text was ignored for images.
52
+ * Fixed minor bug in reading HTML inside paragraph.
53
+ * Changed rules for block-level HTML to make it similar to Markdown.pl.
54
+ For example:
55
+
56
+ Paragraph
57
+ <div></div>
58
+
59
+ will be translated to
60
+
61
+ <p>Paragraph
62
+ <div></div></p>
63
+
64
+ while this:
65
+
66
+ Paragraph
67
+
68
+ <div></div>
69
+
70
+ becomes
71
+
72
+ <p>Paragraph</p>
73
+
74
+ <div></div>
75
+
76
+ * **Pending bugs**: there are some problems when parsing lists. It is difficult
77
+ to get it right because the spec is very fuzzy. At the moment, list items
78
+ cannot be indented by more than 1 space.
79
+
80
+ #### Changes in 0.5.4 ####
81
+
82
+ * Features:
83
+
84
+ * [All HTML attributes](http://www.w3.org/TR/html4/index/attributes.html) are supported.
85
+
86
+ > Science is a wonderful thing if one does not
87
+ > have to earn one's living at it.
88
+ {: cite="http://en.wikiquote.org/wiki/Albert_Einstein"}
89
+
90
+ * Attribute `doc_prefix`.
91
+
92
+ * Math:
93
+
94
+ * `\begin{equation}` and `\end{equation}` are understood.
95
+ * Math parsing enabled per-instance using the `math_enabled` attribute.
96
+ * `math_numbered` attribute.
97
+
98
+ * Bug fixes:
99
+
100
+ * Runs quietly with `ruby -w`.
101
+ * Fixed a bug which could cause data-loss when reading indented lines.
102
+
103
+
104
+ #### Changes in 0.5.3 ####
105
+
106
+ * Features:
107
+
108
+ * [All HTML `table` attributes](http://www.w3.org/TR/html4/struct/tables.html#h-11.2.1)
109
+ can be used (`summary`, `width`, `frame`, `rules`,
110
+ `border`, `cellspacing`, `cellpadding`).
111
+
112
+ The next version will hopefully use all HTML attributes.
113
+
114
+
115
+ <!-- A version of Markdown that is more Japanese or something -->
116
+
117
+ * Bug fixes:
118
+
119
+ * Crash on this line: (found by Aggelos Orfanakos)
120
+
121
+ [test][]:
122
+
123
+ * Regression with attribute system (found by Charles)
124
+
125
+ #### Changes in 0.5.1 ####
126
+
127
+ * Bug fixes:
128
+
129
+ * Workaround for Internet Explorer bug:
130
+ be very sure that `&apos;` is always written as `&#39;`.
131
+
132
+ * Support for empty images ref: `![image]` and `![image][]`.
133
+
134
+ * Fixed bug in parsing attribute lists definitions.
135
+
136
+ * Minor things:
137
+
138
+ * Now code blocks are written as a `<code>` element inside a `<pre>`, and
139
+ `<code>` elements have both `class` and `lang` attributes set
140
+ to the specified language.
141
+
142
+ Example:
143
+
144
+ Example
145
+ {:lang=ruby}
146
+ {:lang=markdown}
147
+
148
+ produces:
149
+
150
+ <pre><code class='ruby' lang='ruby'>Example</code></pre>
151
+ {:lang=xml}
152
+
153
+ #### Changes in 0.5.0 ####
154
+
155
+ * Syntax changes:
156
+
157
+ * Compatibility with newest Markdown.pl: `[text]` as a synonim of `[text][]`.
158
+
159
+ * Meta data: the first IAL in a span environment now refers to the parent.
160
+ This makes it possible to set attributes for cells:
161
+
162
+ Head | Head |
163
+ ---------------+-------+--
164
+ {:r} Hello + ...
165
+
166
+ {:r: scope='row'}
167
+
168
+ The first cell will have the `scope` attribute set to `row`.
169
+
170
+ * New settings:
171
+
172
+ * Disable the Maruku signature by setting `maruku signature: false`
173
+
174
+ * Stricter doctype. By the way -- did I mention it? --
175
+ **Maruku HTML has always been proper validating XHTML strict**
176
+ (if a page does not validate, please report it as a bug).
177
+
178
+ Of course, this only matters when using `maruku` as a standalone
179
+ program.
180
+
181
+ * I have updated the XHTML DTD used to support MathML:
182
+ currently using XHTML+MathML+SVG.
183
+ * Content-type set to `application/xhtml+xml`
184
+ * All entities are written as numeric entities.
185
+
186
+ * Bug fixes
187
+
188
+ * Many fixes in the code handling the sanitizing of inline HTML.
189
+ * `markdown=1` did not propagate to children.
190
+ * LaTeX: An exception was raised if an unknown entity was used.
191
+
192
+ #### Changes in 0.4.2 ####
193
+
194
+ * Adapted syntax to the [new meta-data proposal][proposal].
195
+
196
+ * Changes in LaTeX export:
197
+
198
+ * Links to external URLs are blue by default.
199
+
200
+ * New attributes: `latex_preamble` to add a custom preamble,
201
+ and `latex_cjk` to add packages for UTF-8 Japanese characters.
202
+ (**support for this is still shaky**). Example:
203
+
204
+ Title: my document
205
+ LaTeX CJK: true
206
+ LaTeX preamble: preamble.tex
207
+
208
+ Content
209
+
210
+ * Bug fixes
211
+
212
+ + Images were not given `id` or `class` attributes.
213
+
214
+ + Fixed bug in LaTeX export with handling of `<`,`>` enclosed URLs: `<google.com>`.
215
+
216
+ #### Changes in 0.4.1 aka "Typographer" ####
217
+
218
+ * Implemented SmartyPants support:
219
+
220
+ 'Twas a "test" to 'remember' -- in the '90s
221
+ --- while I was <<ok>>. She was 6\"12\'.
222
+ > 'Twas a "test" to 'remember' -- in the '90s --- while I was <<ok>>.
223
+ > She was 6\"12\'.
224
+
225
+ I adapted the code from RubyPants.
226
+
227
+ * Server directives between `<? ?>` are properly preserved.
228
+ * Changes in LaTeX export:
229
+
230
+ * Now Japanese text rendering sort of works, using the following packages:
231
+
232
+ \usepackage[C40]{fontenc}
233
+ \usepackage[cjkjis]{ucs}
234
+ \usepackage[utf8x]{inputenc}
235
+
236
+ Nevertheless, I could only get bitmap fonts working -- probably it's a problem
237
+ with my setup.
238
+
239
+ A quick test: 日本、中国、ひらがな、カタカナ。
240
+
241
+ * Fixed bugs in rendering of immediate links.
242
+ * External packages are `require`d only if needed.
243
+ * More symbols supported.
244
+ See the symbol list
245
+ [in HTML](http://maruku.rubyforge.org/entity_test.html) and
246
+ [in PDF](http://maruku.rubyforge.org/entity_test.pdf).
247
+
248
+
249
+ #### Changes in 0.4 ####
250
+
251
+ * First implementation of [the new meta-data syntax][meta].
252
+ * General refactorization of the code and much cleaner error reporting.
253
+ * Created [the RDOC documentation][rdoc].
254
+ * The `add_whitespace` method took too much time -- it was O(n^2).
255
+ * Added unit-tests for block-level elements.
256
+
257
+ [rdoc]: http://maruku.rubyforge.org/rdoc/
258
+ [meta]: http://maruku.rubyforge.org/proposal.html
259
+
260
+
261
+
262
+ [Jacques Distler]: http://golem.ph.utexas.edu/~distler
263
+ [itex2MML]: http://golem.ph.utexas.edu/~distler/blog/itex2MML.html
264
+ [math]: http://rubyforge.maruku.org/math.html
265
+
266
+
267
+ #### Changes in 0.3 ####
268
+
269
+ * A real parser is used instead of a regexp-based system, also for span-level
270
+ elements.
271
+
272
+ Now Maruku is almost 2x faster than Bluecloth, while having more features.
273
+
274
+ Here are some benchmarks:
275
+
276
+ BlueCloth (to_html): parsing 0.00 sec + rendering 1.54 sec = 1.55 sec
277
+ Maruku (to_html): parsing 0.47 sec + rendering 0.38 sec = 0.85 sec
278
+ Maruku (to_latex): parsing 0.49 sec + rendering 0.25 sec = 0.73 sec
279
+
280
+ This is the result of running `lib/maruku/tests/benchmark.rb` on the Markdown
281
+ specification.
282
+
283
+ * Prettier HTML output by adding whitespace.
284
+
285
+ * Added a full suite of unit-tests for the span-level parser.
286
+
287
+ * Error management: Having a real parser, Maruku warns you about syntax issues.
288
+
289
+ The default action is to warn and try to continue. If you do this:
290
+
291
+ Maruku.new(string, {:on_error => :raise})
292
+
293
+ then syntax errors will cause an exception to be raised (you can catch this
294
+ and retry).
295
+
296
+ * Fixed a series of bugs in handling inline HTML code.
297
+
298
+ Immediate TODO-list:
299
+
300
+ * UTF-8 input/output works OK for HTML, however I am having pain trying to export
301
+ to LaTeX. I want at least Japanese characters support, so if you know how to
302
+ do this you are very welcome to give me an hand.
303
+
304
+ For example: in the HTML version, you should see accented characters in this
305
+ parenthesis:
306
+
307
+ > (àèìòù)
308
+
309
+ and Japanese text in these other parentheses:
310
+
311
+ > (カタカナで 私の 名前は アンドレア チェンシ です).
312
+ >
313
+ > (日本のガルは 大好き、でも、日本語は難しですから、そうぞ 英語話すガルを おしえてください).
314
+
315
+ In the LaTeX version, these do not appear. I know how to do LaTeX with
316
+ ISO-8859-1 encoding (European characters), but I'm struggling with half-baked
317
+ solutions for UTF-8 encoded documents.
318
+
319
+ * Implement the [new meta-data proposal][proposal].
320
+
321
+ * Exporting to Markdown (pretty printing).
322
+
323
+ * Exporting to HTML splitting in multiple files.
324
+
325
+ * RubyPants.
326
+
327
+ * Support for images in PDF.
328
+
329
+
330
+ [proposal]: http://maruku.rubyforge.org/proposal.html
331
+ [contact]: http://www.dis.uniroma1.it/~acensi/contact.html
332
+ [markdown-discuss]: http://six.pairlist.net/mailman/listinfo/markdown-discuss
333
+ [tracker]: http://rubyforge.org/tracker/?group_id=2795
334
+