kramdown 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of kramdown might be problematic. Click here for more details.

Files changed (93) hide show
  1. data/CONTRIBUTERS +4 -0
  2. data/ChangeLog +671 -0
  3. data/README +10 -0
  4. data/Rakefile +40 -23
  5. data/VERSION +1 -1
  6. data/data/kramdown/document.html +1 -1
  7. data/data/kramdown/document.latex +10 -5
  8. data/doc/default.less.css +52 -10
  9. data/doc/default.template +4 -0
  10. data/doc/documentation.page +72 -0
  11. data/doc/index.page +8 -41
  12. data/doc/installation.page +6 -6
  13. data/doc/links.markdown +2 -0
  14. data/doc/quickref.page +6 -2
  15. data/doc/syntax.page +8 -7
  16. data/doc/tests.page +1 -2
  17. data/lib/kramdown.rb +1 -1
  18. data/lib/kramdown/compatibility.rb +1 -1
  19. data/lib/kramdown/converter.rb +8 -3
  20. data/lib/kramdown/converter/base.rb +27 -5
  21. data/lib/kramdown/converter/html.rb +26 -28
  22. data/lib/kramdown/converter/latex.rb +29 -15
  23. data/lib/kramdown/document.rb +15 -8
  24. data/lib/kramdown/error.rb +1 -1
  25. data/lib/kramdown/options.rb +21 -13
  26. data/lib/kramdown/parser.rb +9 -3
  27. data/lib/kramdown/parser/base.rb +95 -0
  28. data/lib/kramdown/parser/html.rb +387 -0
  29. data/lib/kramdown/parser/kramdown.rb +11 -56
  30. data/lib/kramdown/parser/kramdown/attribute_list.rb +1 -1
  31. data/lib/kramdown/parser/kramdown/autolink.rb +1 -1
  32. data/lib/kramdown/parser/kramdown/blank_line.rb +1 -1
  33. data/lib/kramdown/parser/kramdown/blockquote.rb +1 -1
  34. data/lib/kramdown/parser/kramdown/codeblock.rb +1 -1
  35. data/lib/kramdown/parser/kramdown/codespan.rb +1 -1
  36. data/lib/kramdown/parser/kramdown/emphasis.rb +1 -1
  37. data/lib/kramdown/parser/kramdown/eob.rb +1 -1
  38. data/lib/kramdown/parser/kramdown/escaped_chars.rb +1 -1
  39. data/lib/kramdown/parser/kramdown/extension.rb +2 -90
  40. data/lib/kramdown/parser/kramdown/footnote.rb +1 -1
  41. data/lib/kramdown/parser/kramdown/header.rb +1 -1
  42. data/lib/kramdown/parser/kramdown/horizontal_rule.rb +1 -1
  43. data/lib/kramdown/parser/kramdown/html.rb +69 -149
  44. data/lib/kramdown/parser/kramdown/html_entity.rb +4 -4
  45. data/lib/kramdown/parser/kramdown/line_break.rb +1 -1
  46. data/lib/kramdown/parser/kramdown/link.rb +2 -2
  47. data/lib/kramdown/parser/kramdown/list.rb +2 -6
  48. data/lib/kramdown/parser/kramdown/math.rb +3 -3
  49. data/lib/kramdown/parser/kramdown/paragraph.rb +1 -1
  50. data/lib/kramdown/parser/kramdown/smart_quotes.rb +3 -2
  51. data/lib/kramdown/parser/kramdown/table.rb +3 -2
  52. data/lib/kramdown/parser/kramdown/typographic_symbol.rb +7 -3
  53. data/lib/kramdown/version.rb +2 -2
  54. data/man/man1/kramdown.1 +19 -0
  55. data/test/run_tests.rb +1 -0
  56. data/test/test_files.rb +68 -7
  57. data/test/testcases/block/09_html/comment.html +5 -0
  58. data/test/testcases/block/09_html/comment.text +3 -0
  59. data/test/testcases/block/09_html/content_model/tables.html +2 -2
  60. data/test/testcases/block/09_html/html_to_native/code.html +10 -0
  61. data/test/testcases/block/09_html/html_to_native/code.text +9 -0
  62. data/test/testcases/block/09_html/html_to_native/comment.html +7 -0
  63. data/test/testcases/block/09_html/html_to_native/comment.text +8 -0
  64. data/test/testcases/block/09_html/html_to_native/emphasis.html +1 -0
  65. data/test/testcases/block/09_html/html_to_native/emphasis.text +1 -0
  66. data/test/testcases/block/09_html/html_to_native/entity.html +1 -0
  67. data/test/testcases/block/09_html/html_to_native/entity.text +1 -0
  68. data/test/testcases/block/09_html/html_to_native/header.html +6 -0
  69. data/test/testcases/block/09_html/html_to_native/header.options +2 -0
  70. data/test/testcases/block/09_html/html_to_native/header.text +6 -0
  71. data/test/testcases/block/09_html/html_to_native/list_dl.html +8 -0
  72. data/test/testcases/block/09_html/html_to_native/list_dl.text +8 -0
  73. data/test/testcases/block/09_html/html_to_native/list_ol.html +15 -0
  74. data/test/testcases/block/09_html/html_to_native/list_ol.text +17 -0
  75. data/test/testcases/block/09_html/html_to_native/list_ul.html +19 -0
  76. data/test/testcases/block/09_html/html_to_native/list_ul.text +22 -0
  77. data/test/testcases/block/09_html/html_to_native/options +1 -0
  78. data/test/testcases/block/09_html/html_to_native/paragraph.html +3 -0
  79. data/test/testcases/block/09_html/html_to_native/paragraph.text +4 -0
  80. data/test/testcases/block/09_html/html_to_native/table_normal.html +13 -0
  81. data/test/testcases/block/09_html/html_to_native/table_normal.text +12 -0
  82. data/test/testcases/block/09_html/html_to_native/table_simple.html +10 -0
  83. data/test/testcases/block/09_html/html_to_native/table_simple.text +14 -0
  84. data/test/testcases/block/09_html/html_to_native/typography.html +1 -0
  85. data/test/testcases/block/09_html/html_to_native/typography.text +1 -0
  86. data/test/testcases/block/09_html/parse_as_raw.html +3 -5
  87. data/test/testcases/block/09_html/parse_as_raw.text +0 -1
  88. data/test/testcases/span/04_footnote/definitions.latex +18 -0
  89. data/test/testcases/span/04_footnote/footnote_nr.latex +6 -0
  90. data/test/testcases/span/04_footnote/markers.latex +32 -0
  91. data/test/testcases/span/05_html/invalid.html +1 -0
  92. data/test/testcases/span/05_html/invalid.text +1 -0
  93. metadata +52 -5
data/README CHANGED
@@ -6,6 +6,7 @@ supporting several common extensions.
6
6
  The syntax definition can be found in doc/syntax.page, a quick reference in doc/quickref.page. All
7
7
  the documentation is available online at http://kramdown.rubyforge.org.
8
8
 
9
+
9
10
  # Usage
10
11
 
11
12
  kramdown has a basic *Cloth API, so using kramdown is as easy as
@@ -15,6 +16,15 @@ kramdown has a basic *Cloth API, so using kramdown is as easy as
15
16
  Kramdown::Document.new(text).to_html
16
17
 
17
18
 
19
+ # Development
20
+
21
+ Just clone the git repository as described in doc/installation.page you are good to go. You probably
22
+ want to install `rake` so that you can use the provided rake tasks. Aside from that:
23
+
24
+ * The `tidy` binary needs to be installed for the html-to-html tests to work.
25
+ * The `latex` binary needs to be installed for the latex-compilation tests to work.
26
+
27
+
18
28
  # License
19
29
 
20
30
  See the COPYING file.
data/Rakefile CHANGED
@@ -14,9 +14,11 @@ begin
14
14
  rescue LoadError
15
15
  end
16
16
 
17
- require 'rdoc/task'
18
- require 'rdoc/rdoc'
19
-
17
+ begin
18
+ require 'rdoc/task'
19
+ require 'rdoc/rdoc'
20
+ rescue LoadError
21
+ end
20
22
 
21
23
  begin
22
24
  require 'rubyforge'
@@ -69,20 +71,22 @@ if defined? Webgen
69
71
  config['contentprocessor.tags.map']['kdlink'] = 'KDLink'
70
72
  end
71
73
  end
72
-
73
- task :doc => :htmldoc
74
74
  end
75
75
 
76
- rd = Rake::RDocTask.new do |rdoc|
77
- rdoc.rdoc_dir = 'htmldoc/rdoc'
78
- rdoc.title = 'kramdown'
79
- rdoc.main = 'Kramdown'
80
- rdoc.options << '--line-numbers'
81
- rdoc.rdoc_files.include('lib/**/*.rb')
76
+ if defined? Rake::RDocTask
77
+ rd = Rake::RDocTask.new do |rdoc|
78
+ rdoc.rdoc_dir = 'htmldoc/rdoc'
79
+ rdoc.title = 'kramdown'
80
+ rdoc.main = 'Kramdown'
81
+ rdoc.options << '--line-numbers'
82
+ rdoc.rdoc_files.include('lib/**/*.rb')
83
+ end
82
84
  end
83
85
 
84
- desc "Build the whole user documentation"
85
- task :doc => :rdoc
86
+ if defined?(Webgen) && defined?(Rake::RDocTask)
87
+ desc "Build the whole user documentation"
88
+ task :doc => [:rdoc, 'htmldoc']
89
+ end
86
90
 
87
91
  tt = Rake::TestTask.new do |test|
88
92
  test.warning = true
@@ -109,7 +113,7 @@ EOF
109
113
  'Rakefile',
110
114
  'setup.rb',
111
115
  'COPYING', 'GPL', 'README', 'AUTHORS',
112
- 'VERSION', 'ChangeLog',
116
+ 'VERSION', 'ChangeLog', 'CONTRIBUTERS',
113
117
  'bin/*',
114
118
  'benchmark/*',
115
119
  'lib/**/*.rb',
@@ -131,6 +135,14 @@ EOF
131
135
  `git log --name-only > ChangeLog`
132
136
  end
133
137
 
138
+ CLOBBER << 'CONTRIBUTERS'
139
+ file 'CONTRIBUTERS' do
140
+ puts "Generating CONTRIBUTERS file"
141
+ `echo " Count Name" > CONTRIBUTERS`
142
+ `echo "======= ====" >> CONTRIBUTERS`
143
+ `git log | grep ^Author: | sed 's/^Author: //' | sort | uniq -c | sort -nr >> CONTRIBUTERS`
144
+ end
145
+
134
146
  CLOBBER << "man/man1/kramdown.1"
135
147
  file 'man/man1/kramdown.1' => ['man/man1/kramdown.1.erb'] do
136
148
  puts "Generating kramdown man page"
@@ -181,8 +193,10 @@ EOF
181
193
 
182
194
  end
183
195
 
184
- desc 'Release Kramdown version ' + Kramdown::VERSION
185
- task :release => [:clobber, :package, :publish_files, :publish_website, :post_news]
196
+ if defined?(RubyForge) && defined?(Webgen) && defined?(Gem) && defined?(Rake::RDocTask)
197
+ desc 'Release Kramdown version ' + Kramdown::VERSION
198
+ task :release => [:clobber, :package, :publish_files, :publish_website, :post_news]
199
+ end
186
200
 
187
201
  if defined? RubyForge
188
202
  desc "Upload the release to Rubyforge"
@@ -232,8 +246,8 @@ EOF
232
246
  end
233
247
  end
234
248
 
249
+ CODING_LINE = "# -*- coding: utf-8 -*-\n"
235
250
  COPYRIGHT=<<EOF
236
- # -*- coding: utf-8 -*-
237
251
  #
238
252
  #--
239
253
  # Copyright (C) 2009-2010 Thomas Leitner <t_leitner@gmx.at>
@@ -256,15 +270,18 @@ EOF
256
270
  #
257
271
  EOF
258
272
 
259
- desc "Insert copyright notice"
260
- task :insert_copyright do
273
+ desc "Insert/Update copyright notice"
274
+ task :update_copyright do
261
275
  inserted = false
262
276
  Dir["lib/**/*.rb"].each do |file|
263
- if !File.read(file).start_with?(COPYRIGHT)
277
+ if !File.read(file).start_with?(CODING_LINE + COPYRIGHT)
264
278
  inserted = true
265
279
  puts "Updating file #{file}"
266
- data = COPYRIGHT + "\n" + File.read(file)
267
- File.open(file, 'w+') {|f| f.puts(data)}
280
+ old = File.read(file)
281
+ if !(result = old.gsub!(/\A#{Regexp.escape(CODING_LINE)}#\n#--.*?\n#\+\+\n#\n/m, CODING_LINE + COPYRIGHT))
282
+ old.gsub!(/\A(#{Regexp.escape(CODING_LINE)})?/, CODING_LINE + COPYRIGHT + "\n")
283
+ end
284
+ File.open(file, 'w+') {|f| f.puts(old)}
268
285
  end
269
286
  end
270
287
  puts "Look through the above mentioned files and correct all problems" if inserted
@@ -302,7 +319,7 @@ if defined? Webgen
302
319
  include Webgen::Tag::Base
303
320
 
304
321
  def call(tag, body, context)
305
- result = ::Kramdown::Document.new(body).to_html
322
+ result = ::Kramdown::Document.new(body, :auto_ids => false).to_html
306
323
  before = "<pre class='kdexample-before'>#{body}<code>\n</code></pre>"
307
324
  after = "<pre class='kdexample-after-source'>#{CGI::escapeHTML(result)}<code>\n</code></pre>"
308
325
  afterhtml = "<div class='kdexample-after-live'>#{result}</div>"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.0
1
+ 0.8.0
@@ -4,6 +4,6 @@
4
4
  <meta name="generator" content="kramdown <%= Kramdown::VERSION %>" />
5
5
  </head>
6
6
  <body>
7
- <%= body %>
7
+ <%= @body %>
8
8
  </body>
9
9
  </html>
@@ -1,5 +1,5 @@
1
1
  <%
2
- ENCODING_MAP = {
2
+ encmap = {
3
3
  'UTF-8' => 'utf8x',
4
4
  'US-ASCII' => 'ascii',
5
5
  'ISO-8859-1' => 'latin1',
@@ -17,10 +17,11 @@ ENCODING_MAP = {
17
17
  'CP1250' => 'cp120',
18
18
  'CP1252' => 'cp1252',
19
19
  'CP1257' => 'cp1257'
20
- } %>
20
+ }
21
+ %>
21
22
  \documentclass{scrartcl}
22
23
  <% if RUBY_VERSION >= '1.9' %>
23
- \usepackage[<%= ENCODING_MAP[body.encoding.name] %>]{inputenc}
24
+ \usepackage[<%= encmap[@body.encoding.name] %>]{inputenc}
24
25
  <% else %>
25
26
  \usepackage[mathletters]{ucs}
26
27
  \usepackage[utf8x]{inputenc}
@@ -28,11 +29,15 @@ ENCODING_MAP = {
28
29
  \usepackage[T1]{fontenc}
29
30
  \usepackage{listings}
30
31
  \usepackage{hyperref}
31
- <% doc.conversion_infos[:packages].each {|pkg| %>\usepackage{<%= pkg %>}
32
+ <% @doc.conversion_infos[:packages].each {|pkg| %>\usepackage{<%= pkg %>}
32
33
  <% } %>
33
34
 
35
+ <% if @doc.conversion_infos[:packages].include?('fancyvrb') %>
36
+ \VerbatimFootnotes
37
+ <% end %>
38
+
34
39
  \hypersetup{colorlinks=true,urlcolor=blue}
35
40
 
36
41
  \begin{document}
37
- <%= body %>
42
+ <%= @body %>
38
43
  \end{document}
@@ -153,6 +153,55 @@ body, table, code {
153
153
  background-image: -moz-linear-gradient(top, #eee, #fff 100, #fff);
154
154
  background-image: -webkit-gradient(linear, 0 0, 0 200, from(#eee), to(#fff));
155
155
 
156
+ a {
157
+ color: @link-color;
158
+ background-color: inherit;
159
+ text-decoration: underline;
160
+ }
161
+
162
+ a:hover, a:link {
163
+ color: #0B4775;
164
+ }
165
+
166
+ #sidebar {
167
+ float: right;
168
+ width: 30%;
169
+ min-width: 100px;
170
+ margin: 0 0 10px 10px;
171
+ color: black;
172
+ font-size: 92%;
173
+ background-color: #eee;
174
+
175
+ #sidebar-content {
176
+ padding: 5px 10px;
177
+ opacity: 1;
178
+ }
179
+
180
+ p {
181
+ margin: 0px;
182
+ padding: 5px 0px;
183
+ }
184
+
185
+ ul {
186
+ list-style: square;
187
+ margin: 5px 0px 5px 15px;
188
+ padding: 3px;
189
+
190
+ ul {
191
+ margin: 0px 0px 0px 5px;
192
+ }
193
+ }
194
+
195
+ a {
196
+ padding: 1px;
197
+ text-decoration: none;
198
+ }
199
+
200
+ h1 {
201
+ font: bold 150% Perpetua, Baskerville, "Big Caslon", "Palatino Linotype", Palatino, "URW Palladio L", "Nimbus Roman No9 L", serif;
202
+ }
203
+ }
204
+
156
205
  #main {
157
206
 
158
207
  margin-top: 20px;
@@ -197,16 +246,6 @@ body, table, code {
197
246
  padding: 2px;
198
247
  }
199
248
 
200
- a {
201
- color: @link-color;
202
- background-color: inherit;
203
- text-decoration: underline;
204
- }
205
-
206
- a:hover, a:link {
207
- color: #0B4775;
208
- }
209
-
210
249
  *:target::after {
211
250
  content: " ☜";
212
251
  font-size: 120%;
@@ -390,6 +429,8 @@ body, table, code {
390
429
  float: right;
391
430
  background-color: #ffffee;
392
431
  border: 2px solid #e6e8e9;
432
+ margin-left: 10px;
433
+ margin-right: 10px;
393
434
  margin-bottom: 3px;
394
435
  }
395
436
 
@@ -400,6 +441,7 @@ body, table, code {
400
441
  background-color: #eeffee;
401
442
  border: 2px solid #e6e8e9;
402
443
  margin: 0px 10px;
444
+ padding: 5px;
403
445
  }
404
446
 
405
447
  div.kdsyntaxlink {
@@ -34,6 +34,10 @@
34
34
 
35
35
  <div id="container">
36
36
 
37
+ <div id="sidebar"><div id="sidebar-content">
38
+ <webgen:block name="sidebar" node="first" notfound="ignore" />
39
+ </div></div>
40
+
37
41
  <div id="main">
38
42
  <webgen:block name="content" />
39
43
  <div class="clear"></div>
@@ -0,0 +1,72 @@
1
+ ---
2
+ title: Documentation
3
+ in_menu: true
4
+ sort_info: 7
5
+ ---
6
+ ## Overview
7
+
8
+ kramdown is first and foremost a library for converting text written in a superset of Markdown to
9
+ HTML. However, due to its modular architecture it is able to support additional input and output
10
+ formats. The following input and output formats are currently supported:
11
+
12
+ * Input: [kramdown](parser/kramdown.html) (a superset of Markdown), [html](parser/html.html)
13
+ * Output: [HTML](converter/html.html), [LaTeX](converter/latex.html)
14
+
15
+
16
+ ## Usage
17
+
18
+ {:ruby: lang='ruby'}
19
+
20
+ The kramdown package provides two ways for using it:
21
+
22
+ * **As a library**
23
+
24
+ kramdown uses basically the same API as [RedCloth], [BlueCloth] and [Maruku]:
25
+
26
+ require 'kramdown'
27
+
28
+ puts Kramdown::Document.new(text).to_html
29
+ {:ruby}
30
+
31
+ The second parameter to the `new` call is an options hash for (de)activating certain features. For
32
+ example, to disable automatic header ID generation, you can do the following:
33
+
34
+ puts Kramdown::Document.new(text, :auto_ids => false).to_html
35
+ {:ruby}
36
+
37
+ The default parser used is `kramdown`, however, you can select a different one with the `:input`
38
+ option:
39
+
40
+ puts Kramdown::Document.new(text, :input => 'html').to_latex
41
+ {:ruby}
42
+
43
+ You can also reuse the created document object to produce multiple outputs:
44
+
45
+ doc = Kramdown::Document.new(text, :input => 'html')
46
+ puts doc.to_html
47
+ puts doc.to_latex
48
+ {:ruby}
49
+
50
+ More information on how to use or extend kramdown can be found in the [API
51
+ documentation](rdoc/index.html)!
52
+
53
+ * **As an application**
54
+
55
+ Together with the library files a binary called `kramdown` is shipped which can be used to convert
56
+ text in any supported format (currently only kramdown syntax) to any supported output format (e.g.
57
+ HTML or LaTeX). It either reads from the files specified as the command line arguments or from the
58
+ standard input. For example:
59
+
60
+ kramdown path/to/kramdown/doc/syntax.page
61
+
62
+ The input and output formats as well as all available kramdown options are supported through
63
+ command line switches.
64
+
65
+
66
+ ## Tests
67
+
68
+ kramdown uses various test suites to verify the correct working of the parsers and converters. For
69
+ more information, have a look at the [tests document](tests.html).
70
+
71
+
72
+ {include_file: doc/links.markdown}
@@ -5,44 +5,11 @@ sort_info: 1
5
5
  ---
6
6
  ## Overview
7
7
 
8
- kramdown is first and foremost a library for converting text written in a superset of Markdown to
9
- HTML. However, due to its modular architecture it is able to support additional input and output
10
- formats. The following input and output formats are currently supported:
11
-
12
- * Input: [kramdown](parser/kramdown.html) (a superset of Markdown)
13
- * Output: [HTML](converter/html.html), [LaTeX](converter/latex.html)
14
-
15
-
16
- ## Usage
17
-
18
- The kramdown package provides two ways for using it:
19
-
20
- * **As a library**
21
-
22
- kramdown uses basically the same API as [RedCloth], [BlueCloth] and [Maruku]:
23
-
24
- require 'kramdown'
25
-
26
- Kramdown::Document.new(text).to_html
27
- {: lang='ruby'}
28
-
29
- The second parameter to the `new` call is an options hash for (de)activating certain features. For
30
- more information have a look at the [API documentation](rdoc/index.html).
31
-
32
- * **As an application**
33
-
34
- Together with the library files a binary called `kramdown` is shipped which can be used to convert
35
- text in any supported format (currently only kramdown syntax) to any supported output format (e.g.
36
- HTML or LaTeX). It either reads from the files specified as the command line arguments or from the
37
- standard input. For example:
38
-
39
- kramdown path/to/kramdown/doc/syntax.page
40
-
41
-
42
- ## Tests
43
-
44
- kramdown uses various test suites to verify the correct working of the parsers and converters. For
45
- more information, have a look at the [tests document](tests.html).
8
+ If you want to get started with kramdown, have a look at the [installation page](installation.html)
9
+ to see how you can install it on your system. Then look through the
10
+ [documentation](documentation.html) for finding information about how to actually use kramdown and
11
+ what parsers/converters it supports. The [syntax](syntax.html) provides a detailed description of
12
+ the superset of Markdown which kramdown supports.
46
13
 
47
14
 
48
15
  ## Bugs, Forums, Mailing Lists
@@ -84,11 +51,11 @@ Markdown implementations because kramdown borrowed many ideas from existing pack
84
51
  completely written in Ruby, supports standard Markdown (with some minor modifications) and various
85
52
  extensions that have been made popular by the [PHP Markdown Extra] package and [Maruku].
86
53
 
87
- It is probably the fastest pure-Ruby Markdown converter available (February 2010), being about 4.5x
88
- faster than [Maruku] and about 10x faster than [BlueFeather].
54
+ It is probably the fastest pure-Ruby Markdown converter available (June 2010), being about 4x faster
55
+ than [Maruku] and about 9x faster than [BlueFeather].
89
56
 
90
57
  <p class="a-center">
91
- The latest version of kramdown is <b>0.7.0</b> and it was released on <b>2010-05-07</b>.
58
+ The latest version of kramdown is <b>0.8.0</b> and it was released on <b>2010-06-08</b>.
92
59
  </p>
93
60
 
94
61
  [PHP Markdown Extra]: http://michelf.com/projects/php-markdown/extra/
@@ -10,8 +10,8 @@ sort_info: 5
10
10
  kramdown should work on any platform which supports Ruby. It has been successfully tested on the
11
11
  following platforms:
12
12
 
13
- * Linux with Ruby 1.8.5, 1.8.6, 1.8.7, 1.9.1
14
- * Mac OSX with Ruby 1.8.5, 1.8.6, 1.8.7, 1.9.1, 1.9.2-preview1 and jruby 1.4.0.
13
+ * Linux with Ruby 1.8.5, 1.8.6, 1.8.7, 1.9.1, 1.9.2-preview1 and jruby 1.5.0.
14
+ * Mac OSX with Ruby 1.8.5, 1.8.6, 1.8.7, 1.9.1, 1.9.2-preview1 and jruby 1.5.0.
15
15
 
16
16
  See the platform specific installation notes for more information!
17
17
 
@@ -20,9 +20,9 @@ See the platform specific installation notes for more information!
20
20
 
21
21
  ### Linux
22
22
 
23
- There are a variety of Linux distributions out there with different package management systems. So we
24
- will focus on instructions for Ubuntu 9.04 here (which should probably also work for any recent
25
- Debian based distribution).
23
+ There are a variety of Linux distributions out there with different package management systems. So
24
+ we will focus on instructions for Ubuntu 9.04 here (which should probably also work for any newer
25
+ Ubuntu version or any recent Debian based distribution).
26
26
 
27
27
  After running the following commands, kramdown is installed and ready to use:
28
28
 
@@ -30,7 +30,7 @@ After running the following commands, kramdown is installed and ready to use:
30
30
  sudo gem1.8 install kramdown
31
31
 
32
32
  > You will also need to add `export PATH=$PATH:/var/lib/gems/1.8/bin` to your `~/.bashrc` because
33
- > this is the binary path the executable files get installed.
33
+ > this is the binary path the executable files get installed to.
34
34
 
35
35
 
36
36
  ### Mac OS X