项目

一般

简介

插件 » Redmine Mermaid Macro 添加mermaid图的wiki快捷宏

Redmine Mermaid Macro

发布于: https://github.com/taikii/redmine_mermaid_macro
兼容于: Redmine 4.1.*, 4.0.*, 3.4.*, 3.3.*, 3.2.*, 3.1.*, 3.0.*, 2.6.*

最新版本: 1.0.0 更新日期: 2023-03-16 14:54

基本介绍

Mermaid 是一个用于画流程图、状态图、时序图、甘特图的库,使用 JS 进行本地渲染,广泛集成于许多 Markdown 编辑器中。Mermaid 作为一个使用 JS 渲染的库,生成的不是一个“图片”,而是一段 HTML 代码,因此安全许多。其官网:https://mermaidjs.github.io/ Github 项目地址:https://github.com/knsv/mermaid

该插件可为redmine扩展mermaid图的wiki宏语法,通过wiki宏的方式快速引入流程图、状态图、时序图、甘特图等多种图形。更多关于mermaid信息详见 https://mermaidjs.github.io ,样图参考:

  • 在页面中嵌入mermaid图

为了方便在文档中画流程图,时序图和甘特图,Redmine mermaid扩展了一个新的宏定义,可以直接在redmine中编辑流程图/时序图的文本,具体语法可参见mermaid官网,并在redmine中嵌入流程图/时序图的源码。第一个参数填写标题,缺省值为空,即没有标题,第二个参数表示是否在页面中显示图形的文本源码,缺省为false,表示不显示文本源码,只显示解析好的svg图

{{mermaid(时序图演示,showsource=true)
sequenceDiagram
  participant RTP客户端
  participant RTP服务器
  participant 新闻服务器
  loop 配置新闻服务
    RTP服务器->>RTP服务器:新闻服务url
  end
  RTP客户端->>RTP服务器:登陆
  RTP服务器-->>RTP客户端: 返回新闻服务器链接
    Note left of RTP服务器: XMPP feature
    Note left of RTP服务器: 返回:新闻服务url
  RTP客户端->>新闻服务器:获取新闻列表
    Note right of RTP客户端: HTTP request
    Note right of RTP客户端: 参数:用户名,所属部门,session key等等
  新闻服务器-->> RTP客户端:返回新闻列表
    Note left of 新闻服务器: HTTP response
    Note left of 新闻服务器: 返回:json(预定的格式,可翻页)
  RTP客户端->>新闻服务器:获取某条新闻
    Note right of RTP客户端: HTTP request
    Note right of RTP客户端: 参数:新闻正文链接
  新闻服务器-->> RTP客户端:返回新闻
    Note left of 新闻服务器: HTTP response
    Note left of 新闻服务器: 返回:新闻正文页面
    Note over RTP服务器: 以下略......
}}

保存redmine页面后可查看效果。

时序图演示

sequenceDiagram
  participant RTP客户端
  participant RTP服务器
  participant 新闻服务器
  loop 配置新闻服务
    RTP服务器->>RTP服务器:新闻服务url
  end
  RTP客户端->>RTP服务器:登陆
  RTP服务器-->>RTP客户端: 返回新闻服务器链接
    Note left of RTP服务器: XMPP feature
    Note left of RTP服务器: 返回:新闻服务url
  RTP客户端->>新闻服务器:获取新闻列表
    Note right of RTP客户端: HTTP request
    Note right of RTP客户端: 参数:用户名,所属部门,session key等等
  新闻服务器-->> RTP客户端:返回新闻列表
    Note left of 新闻服务器: HTTP response
    Note left of 新闻服务器: 返回:json(预定的格式,可翻页)
  RTP客户端->>新闻服务器:获取某条新闻
    Note right of RTP客户端: HTTP request
    Note right of RTP客户端: 参数:新闻正文链接
  新闻服务器-->> RTP客户端:返回新闻
    Note left of 新闻服务器: HTTP response
    Note left of 新闻服务器: 返回:新闻正文页面
    Note over RTP服务器: 以下略......