MarkMaker
Programatically generate markdown documents.
Installation
Add this line to your application's Gemfile:
gem 'mark_maker'
And then execute:
$ bundle
Or install it yourself as:
$ gem install mark_maker
Usage
MarkMaker provides line oriented conversion of content to markdown elements. It currently supports first, second and third level headings, links, bullets, numbered bullets, emphasis and code markdown. See bin/generate_readme.rb for the code used to generate this document and a sample of all these markdown generators in action.
Header Example
gen = MarkMaker::Generator.new
gen.header1('Let It Begin'')
Produces
Let It Begin
============
Bulleted List Example
list_content = ['gold', 'silver', 'bronze']
gen.bullets(*list_content)
Produces
- gold
- silver
- bronze
Or a numbered list with...
gen.numbers(*list_content)
Produces
1. gold
2. silver
3. bronze
Code Examples
Standard markdown code blocks and embedding are supported, as well as github flavored markdown fenced code blocks.
some_code = [ "# add it up",
"total = [1, 2, 3, 4].inject do |sum, i|",
" sum += i",
"end",
"",
"puts total" ]
gen.code_block(*some_code)
Produces
# add it up
total = [1, 2, 3, 4].inject do |sum, i|
sum += i
end
puts total
You can also generate a github flavored markdown fenced code version.
gen.fenced_code_block(*some_code)
Produces
```
# add it up
total = [1, 2, 3, 4].inject do |sum, i|
sum += i
end
puts total
```
You can also include a language in a fenced code block.
gen.fenced_code_language('ruby', *some_code)
Produces
```ruby
# add it up
total = [1, 2, 3, 4].inject do |sum, i|
sum += i
end
puts total
```
Rendering beautifully highlighted code like so, if you are viewing this on github.
# add it up
total = [1, 2, 3, 4].inject do |sum, i|
sum += i
end
puts total
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
About This README
This readme document is created using MarkMaker. To modify it, edit the code in bin/generate_readme.rb and then run the 'readme' rake task to generate and overwrite the existing README.md
vi bin/generate_readme.rb
rake readme
I'm calling this Extreme Readme Driven Development. It's kind of like Inception ;)