TODO.md in render-as-markdown-0.0.5 vs TODO.md in render-as-markdown-0.0.6

- old
+ new

@@ -1,6 +1,51 @@ -# TODO +TODO +==== -- rename files (markdown-heder.rb -> header.rb) +- create image link (img_url, href) +- create [Tasklists](https://help.github.com/articles/github-flavored-markdown#task-lists) +- create TOC (table of contents) structur (see github anchor links) +- create link references +- create document from hash (Document) - create DSL methods like table(titles) instead of Table.new - Readme: better examples - create example folder +- include files (code, multimarkdown, version number, etc) +- show typical Github project signs of life like travis build image, code climate, versioneye +- auto-numbering of headers (h2, h3, h4) so TOC works with numbers (Document walker) +- create InvoiceTable class for invoices (currency, items description, time, rate, item total, total, tax(Umsatzsteuer Germany), total+tax) +- create changelog like https://raw.github.com/mitchellh/vagrant/master/CHANGELOG.md + +Option Hash +----------- + +- an option hash could be a good thing to implement http://blog.rlmflores.me/blog/2012/07/16/method-with-options/ +- also splats may be useful http://www.paperplanes.de/2012/2/16/fun-with-ruby-block-parameters.html + + +Ideas for DSL +------------- + +```ruby +"<url>".link # => create link +"<url>".img # => create image +"<url>".ref # => create reference +"markdown".tag # => create tag #markdown, should work with arrays too +``` + +```ruby +DSL.markdown do |md| + + md.options :link_urls => :as_references, :link_images => true, :toc => true, :auto_numbering => [:h2. :h3] + md.meta # date, author (name, email for multiple authors) + + md.h1 "This is the main title" + md.chapter "title for chapter 1" do |c1| # put this title in h2, add numbering, add it to TOC + c1.paragraph "paragraph1" + c1.img "http://...jpeg" + c1.list ["item 1", "item2", "item3"] + c1.table #... + c1.ref text, "<url>" + c1.code :ruby, File.open "examples/example-dsl.rb" + end +end # => renders title, toc, references etc +```