확장기능:QuickGV

From mediawiki.org
This page is a translated version of the page Extension:QuickGV and the translation is 17% complete.
미디어위키 확장 기능 설명서
QuickGV
출시 상태: 안정
구현 태그
설명 Generate graph with few code.
만든 이 Raymond Wu (小璋丸토론)
최신 버전 0.2.3 (2016-03-18)
MediaWiki >= 1.25
데이터베이스 변경 아니오
라이선스 Apache License 2.0
다운로드
Cache mechanism
예제 http://www.graphviz.org/Gallery.php
‎<quickgv>
Quarterly downloads 2 (Ranked 147th)
QuickGV 확장 기능 번역 (translatewiki.net에서 가능한 경우)

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.

사용법

그냥 태그

Default graph.

<quickgv name="nothing" />

메타데이터

Default graph and metadata.

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

사용 옵션

ER 모델 (사용="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>

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};
</quickgv>

Theme option

Default (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

Attribute Available Values Description
name RegExp: [a-zA-Z0-9_]+ Name of the graph. (default G)
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.

Installation

Install repository

Step 1: Install from GitHub

cd /path/to/wiki/extensions
git clone https://github.com/virus-warnning/mw-quickgv.git 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");

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.