刚学不久 Ruby 的小成果,分享一个写脑图的 DSL
Gems 上看了一些,DSL 不够简单。直接用 Graphviz 或者用 Ruby 接入的接口,都略显复杂。
借鉴了 PlantUML 对 mindmap 的 DSL 语法。 语法简单,迅速表达。
Github:https://github.com/Mark24Code/mini_mindmap
Gem: https://gems.ruby-china.com/gems/mini_mindmap
require "mini_mindmap"
name = 'mindmap' # filename
output = {
format: 'png',
dir: "#{Dir.home}/mindmap" # output dir
}
# online
dsl = %Q{
* MiniMindmap
** name
** DSL
** output
*** dir
*** format
}
demo = MiniMindmap::Mindmap.new(name,dsl,output)
demo.export # export files to dir