使用 Graph Easy 绘制 ASCII 图

作者: lvjian700 | 来源:发表于2016-05-02 11:19 被阅读1733次

    Graph Easy 是一个很 geek 的一个绘图工具。它基于 Command Line,可以轻松的绘制 ASCII 字符图,同时还能导出成 HTML,SVG。

    例如绘制如下的图:

    ➜  3.grapheasy graph-easy 1.quiklook.dot
    
    +------+     +---------+     .............     +---------+
    | Bonn | --> | Berlin  | --> : Frankfurt : --> | Dresden |
    +------+     +---------+     :...........:     +---------+
                   :
                   :
                   v
                 +---------+     +-----------+
                 | Potsdam | ==> |  Cottbus  |
                 +---------+     +-----------+
    

    代码:

    [ Bonn ] -> [ Berlin ]
    [ Berlin ] -> [ Frankfurt ] { border: 1px dotted black; }
    [ Frankfurt ] -> [ Dresden ]
    [ Berlin ] ..> [ Potsdam ]
    [ Potsdam ] => [ Cottbus ]
    

    看起来是不是很酷?除了看起来很 Geek,ASCII 图很好使用:

    • 基于 dot 语法绘制流程图,作为 Developer 再也不用在蹩脚的 Keynote/PPT 上拖拖拽拽。
    • 输出的 ASCII 图很容易粘贴到 README 中。再也不用为了文档添加一个额外的 PNG 图。
    • 基于 dot 语法的图很容易使用 Git 进行 source control。

    如何使用

    Grape Easy 基于 Perl,你需要准备 perl 环境,然后按照下面的文档安装即可:

    https://github.com/ironcamel/Graph-Easy/blob/master/INSTALL

    接下来让我们试试一些功能:

    AWS 数据库备份流程图:

    [Database daily backup] { border: none; } -> [SNS Topic] -> [Email notification] { border: none;  }
    

    输出:

                                +-----------+
     Database daily backup  --> | SNS Topic | -->  Email notification
                                +-----------+
    

    审核流程图:

    [Task] -> [Created] -> [Audit 1] -> [Audit 2] -> [Execute Task]
    [Audit 1] ..> [Created]
    [Audit 2] ..> [Created]
    

    输出:

    
                   .................
                   v               :
    +------+     +---------+     +---------+     +---------+     +--------------+
    | Task | --> | Created | --> | Audit 1 | --> | Audit 2 | --> | Execute Task |
    +------+     +---------+     +---------+     +---------+     +--------------+
                   ^                               :
                   .................................
    

    实战应用

    最近为项目创建 AWS SNS and SQS 基础设施。为了说明 SNS 和 SQS 基础架构,使用 Graph Easy 绘制了如下流程图:

    + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    ' Publisher Event                                                                                   '
    '                                                                                                   '
    '                       +-----------------------+     +-----------------+                           '
    '     Publisher     --> | publisher-event-topic | --> | consumer-queue  | -->       Consumer        '
    '                       +-----------------------+     +-----------------+                           '
    '                                                                                                   '
    + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
                                                            :
                                                            :
                                                            v
                                                          ...................     .....................
                                                          : consumer-queue- :     :                   :
                                                          :   queue-dead    : ..> : Could Watch Alarm :
                                                          :.................:     :...................:
                                                                                    :
                                                                                    :
                                                                                    v
                                                                                  .....................
                                                                                  :    consumser-     :
                                                                                  :    alarm-topic    :
                                                                                  :...................:
                                                                                    :
                                                                                    :
                                                                                    v
                                                                                  .....................
                                                                                  :       Email       :
                                                                                  :...................:
    

    参考资料

    相关文章

      网友评论

      • 神经旷野舞者:原来都是这么绘制,终于知道了,谢谢,还有其他类似工具吗
        lvjian700:@二二零 很高兴能让你受益。 参考资料里推荐的:Graphviz 。 这个工具复杂一些。

      本文标题:使用 Graph Easy 绘制 ASCII 图

      本文链接:https://www.haomeiwen.com/subject/kbllrttx.html