Extension:QuickGV/pl

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.

Just a tag
Default graph. 



Metadata
Default graph and metadata.  



ER Model (usage="er")
  // node 123456789012345678901 A [label=" user_data |  [PK] user_id\l |  user_type\l | gender\l |  country\l |  city\l }"]; B [label=" user_type |  [PK] user_type\l | desc\l"]; C [label=" gender |  [PK] gender\l | desc\l"];

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

Mindmap (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};

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

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

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

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

Step 1: Install from zip package

 * Download ZIP package from QuickGV Releases
 * unzip package
 * rename mw-quickgv to QuickGV

Step 2: Apply this extension
Append following code to LocalSettings.php

Requirements

 * 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.2.4 (Latest)
 * 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.