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 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 ;)