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
+```