Prawndown
A tiny Ruby gem to render a subset of Markdown in PDF files.
Prawn is a Ruby library to generate PDF files. It supports text formatting trough its own HTML-esque language, which has tags for different formatting options like bold, italic, strikethrough and links. Read more about the supported tags in the Prawn documentation.
Usage
Prawndown extends Prawn with the markdown
method. It accepts the same options as Prawn::Document#text
.
Use it to render Markdown in the document:
Prawn::Document.generate('markdown.pdf') do
markdown '# Welcome to Prawndown!'
markdown '**Important:** We _hope_ you enjoy your stay!', color: 'aaaaaa', leading: 10
end
If prefered, the parser can also be invoked directly:
Prawndown::Parser.new('_Welcome_ to **Prawndown**').to_prawn #=> '<i>Welcome</i> to <b>Prawndown</b>'
More thorough examples can be found under the examples
folder. Run rake examples
to generate the examples PDF.
Supported Markdown syntax
# Header 1
## Header 2
### Header 3
#### Header 4
##### Header 5
###### Header 6
_Italic_
*Italic*
__Bold__
**Bold**
~~Strikethrough~~
[Links](https://github.com/kaspermeyer/prawndown)
Note: Prawdown can't output the tags <sub>
, <sup>
, <font>
and <color>
as they lack native support in Markdown.
Installation
Add this line to your application's Gemfile:
gem 'prawndown'
And then execute:
$ bundle
Or install it yourself as:
$ gem install prawndown
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake test
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
.
Credits
- Henrik Ny for the idea and name of the project.
- Johnny Broadway for creating Slimdown and coming up with great regular expressions to match Markdown tags with.