T
Thomas Leitner
## About kramdown
kramdown (sic, not Kramdown or KramDown, just kramdown) is a *free*
GPL-licensed [Ruby](http://www.ruby-lang.org) library for parsing a
superset of Markdown. It is completely written in Ruby, supports
standard Markdown (with some minor modifications) and various
extensions that have been made popular by the [PHP Markdown Extra]
package and [Maruku].
Homepage for installation instructions and documentation:
http://kramdown.rubyforge.org
## kramdown 0.12.0 released
Some changes in the last release of kramdown lead to a performance
drop. Therefore some performance optimizations have been done resulting
in about 15% less created objects (which reduces the garbage collection
pressure) and quite a performance gain (this version of kramdown is the
faster than any previous version when using Ruby 1.9.2) -- see the
[tests page](../tests.html) for detailed information.
Aside from the performance optimizations, a Markdown-only parser based
on the kramdown parser has been added
The "internal" API (which is currently everything except the
`Kramdown:ocument` class) has changed again and developers may
therefore need to update their extensions! The API changes now allow
parsers and converters to be used without a Kramdown:ocument class
since this class is just provided for convenience. All the needed
information is now stored in the element tree itself. Information that
has no direct representation as an element is stored in the options of
the root element (e.g. abbreviation definitions). More information can
be found in the API documentation.
The API should now be relatively stable and once kramdown reaches
1.0.0, the final API will only be changed in backwards compatible ways.
## Changes
* 1 major change:
- Added Markdown-only parser
* 6 minor changes:
- Angle brackets can now also be escaped
- Pipe characters in code spans that appear in tables do not need to
be escaped anymore
- New option `toc_levels` for specifying the header levels used for
the table of contents (requested by Rick Frankel, RF#28672)
- MathJax instead of jsMath is now used for math output in the HTML
converter
- New option `latex_headers` for customizing the header commands for
the LaTeX converter
- Removed parsing of HTML doctype in HTML parser
* 6 bug fixes:
- Fixed output of paragraphs starting with a right angle bracket in
the kramdown converter
- Invalid span IALs are now left alone and not removed anymore
- Option `entity_output` is now respected when outputting a
non-breaking space for emtpy table cells in the HTML converter
(reported by Matt Neuburg)
- Fixed bug where a block IAL before a block HTML element was ignored
(reported by Matt Neuburg)
- Fixed bug where block IALs were falsely applied to nested elements
(reported by Matt Neuburg)
- Fixed bug RF#28660: Converting `<div><br /></div>` from HTML to
kramdown resulted in stack trace (reported by Garrett Heaver)
* 1 deprecation note:
- The option `toc_depth` is replaced by the new option `toc_levels`
and will be removed in the next version.
kramdown (sic, not Kramdown or KramDown, just kramdown) is a *free*
GPL-licensed [Ruby](http://www.ruby-lang.org) library for parsing a
superset of Markdown. It is completely written in Ruby, supports
standard Markdown (with some minor modifications) and various
extensions that have been made popular by the [PHP Markdown Extra]
package and [Maruku].
Homepage for installation instructions and documentation:
http://kramdown.rubyforge.org
## kramdown 0.12.0 released
Some changes in the last release of kramdown lead to a performance
drop. Therefore some performance optimizations have been done resulting
in about 15% less created objects (which reduces the garbage collection
pressure) and quite a performance gain (this version of kramdown is the
faster than any previous version when using Ruby 1.9.2) -- see the
[tests page](../tests.html) for detailed information.
Aside from the performance optimizations, a Markdown-only parser based
on the kramdown parser has been added
The "internal" API (which is currently everything except the
`Kramdown:ocument` class) has changed again and developers may
therefore need to update their extensions! The API changes now allow
parsers and converters to be used without a Kramdown:ocument class
since this class is just provided for convenience. All the needed
information is now stored in the element tree itself. Information that
has no direct representation as an element is stored in the options of
the root element (e.g. abbreviation definitions). More information can
be found in the API documentation.
The API should now be relatively stable and once kramdown reaches
1.0.0, the final API will only be changed in backwards compatible ways.
## Changes
* 1 major change:
- Added Markdown-only parser
* 6 minor changes:
- Angle brackets can now also be escaped
- Pipe characters in code spans that appear in tables do not need to
be escaped anymore
- New option `toc_levels` for specifying the header levels used for
the table of contents (requested by Rick Frankel, RF#28672)
- MathJax instead of jsMath is now used for math output in the HTML
converter
- New option `latex_headers` for customizing the header commands for
the LaTeX converter
- Removed parsing of HTML doctype in HTML parser
* 6 bug fixes:
- Fixed output of paragraphs starting with a right angle bracket in
the kramdown converter
- Invalid span IALs are now left alone and not removed anymore
- Option `entity_output` is now respected when outputting a
non-breaking space for emtpy table cells in the HTML converter
(reported by Matt Neuburg)
- Fixed bug where a block IAL before a block HTML element was ignored
(reported by Matt Neuburg)
- Fixed bug where block IALs were falsely applied to nested elements
(reported by Matt Neuburg)
- Fixed bug RF#28660: Converting `<div><br /></div>` from HTML to
kramdown resulted in stack trace (reported by Garrett Heaver)
* 1 deprecation note:
- The option `toc_depth` is replaced by the new option `toc_levels`
and will be removed in the next version.