Jump to content

Extension:QuickGV

From mediawiki.org
This page is a translated version of the page Extension:QuickGV and the translation is 56% complete.
MediaWiki 拡張機能マニュアル
QuickGV
リリースの状態: 安定
実装 タグ
説明 Generate graph with few code.
作者 Raymond Wu (小璋丸トーク)
最新バージョン 0.3.0 (2025-04-03)
MediaWiki >=1.31
データベースの変更 いいえ
ライセンス Apache ライセンス 2.0
ダウンロード リンクなし
Cache mechanism
http://www.graphviz.org/Gallery.php
‎<quickgv>

The QuickGV extension helps you generate graph with few code.

All you have to do is giving the nodes and edges, styles are not necessary.

使用法

タグのみ

既定のグラフです。

<quickgv name="nothing" />

メタデータ

Default graph and metadata.

<quickgv name="withmeta" showmeta="true"/>

使用法のオプション

ER モデル (usage="er")

<quickgv name="ER_Model" usage="er">
   // node 123456789012345678901
   A [label="<fT> user_data | <fPK> [PK] user_id\l | <f0> user_type\l | <f1>gender\l | <f2> country\l | <f3> city\l }"];
   B [label="<fT> user_type | <fPK> [PK] user_type\l | desc\l"];
   C [label="<fT> gender | <fPK> [PK] gender\l | desc\l"];

   // edges
   A:f0 -> B:fPK [label="1 .. N"];
   A:f1 -> C:fPK [label="1 .. N"];
   A:f3 -> A:f2;
</quickgv>

マインドマップ (usage="mindmap")

<quickgv name="MM" usage="mindmap">
start = "A";

A [label="Project"];
B1 [label="Budget"];
B2 [label="Risk"];
B3 [label="Members"];

A -> {B1 B2 B3};
</quickgv>

テーマのオプション

デフォルト (theme="default")

<quickgv name="Pointer1" usage="ram">
   A [label="RAM (0x71xx) | 0x710c\l | 0x7108\l | <fsrc> 0x7104 - 0x830c\l (int* a) | 0x7100\l "];
   B [label="RAM (0x83xx) | <fdst> 0x830c - 0x00ff\l | 0x8308\l | 0x8304\l | 0x8300\l"];
   A:fsrc -> B:fdst [label="a = 0x830c;\l*a = 0x00ff;\l"];
</quickgv>

Cold (theme="cold")

<quickgv name="Pointer2" usage="ram" theme="cold">
   A [label="RAM (0x71xx) | 0x710c\l | 0x7108\l | <fsrc> 0x7104 - 0x830c\l (int* a) | 0x7100\l "];
   B [label="RAM (0x83xx) | <fdst> 0x830c - 0x00ff\l | 0x8308\l | 0x8304\l | 0x8300\l"];
   A:fsrc -> B:fdst [label="a = 0x830c;\l*a = 0x00ff;\l"];
</quickgv>

Warm (theme="warm")

<quickgv name="Pointer3" usage="ram" theme="warm">
   A [label="RAM (0x71xx) | 0x710c\l | 0x7108\l | <fsrc> 0x7104 - 0x830c\l (int* a) | 0x7100\l "];
   B [label="RAM (0x83xx) | <fdst> 0x830c - 0x00ff\l | 0x8308\l | 0x8304\l | 0x8300\l"];
   A:fsrc -> B:fdst [label="a = 0x830c;\l*a = 0x00ff;\l"];
</quickgv>

Sakura (theme="sakura")

<quickgv name="Pointer4" usage="ram" theme="sakura">
   A [label="RAM (0x71xx) | 0x710c\l | 0x7108\l | <fsrc> 0x7104 - 0x830c\l (int* a) | 0x7100\l "];
   B [label="RAM (0x83xx) | <fdst> 0x830c - 0x00ff\l | 0x8308\l | 0x8304\l | 0x8300\l"];
   A:fsrc -> B:fdst [label="a = 0x830c;\l*a = 0x00ff;\l"];
</quickgv>

Attribute Reference

属性 利用できる値 説明
name RegExp: [a-zA-Z0-9_]+ グラフの名前
showmeta true, false Set true to show metadata. (default false)
showdot true, false Set true to show dot source code. (default false)
theme default, cold, warm, sakura See theme option.
usage default, neato (mindmap), record (er, ram) See usage option.

インストール

リポジトリのインストール

Step 1: Install from GitHub

cd /path/to/wiki/extensions
git clone https://github.com/virus-warnning/QuickGV


Install zip package

Step 1: Install from zip package

  • unzip package
  • rename mw-quickgv to QuickGV

Step 2: Apply this extension

Append following code to LocalSettings.php

require_once("$IP/extensions/QuickGV/QuickGV.php");

要件

  • Graphviz 2.38 or later
    • OSX: brew install graphviz
    • CentOS: yum install graphviz
    • Ubuntu: sudo apt-get install graphviz
    • Windows: Install from an Installer package (Tested on Win7)
  • PHP 5.x, and need these functions
    • exec()
    • proc_open()
    • proc_close()

Changelog

  • 0.3.0 (2025-03-03)
    • Fix problems on MW>=1.35
    • Tested on 4 LTS versions 1.31, 1.35, 1.39, 1.43
  • 0.2.4 (2016-08-17)
    • Extension registration.
    • JSON format language file.
  • 0.2.3 (2016-03-18)
    • Support URL attribute of node, open the link in new tab.
    • Set arrowsize=0.6.
    • Set splines=ortho for usage not set.
    • Set splines=curved for usage="neato".
    • Set splines=spline for usage="record".

The project is hosted at wikimedia.org since 0.2.4, see project dashboard.