刚学不久 Ruby 的小成果,分享一个写脑图的 DSL

背景

刚学不久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

DSL

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

输出

Mark24

Everything can Mix.