Шаблон:Mscgen
{{Mscgen}} — шаблон для вывода диаграмм обмена сообщениями, отрисованных программой MscGen, использующий функциональность расширения MediaWiki ExternalData.
Параметры:
- или
msc
— описание диаграммы на языке MSC. Если в описании присутсвует знак равенства, потребуется использовать синтаксис именованного параметра (1=
илиmsc=
). Если имеется символ|
, его надо заменить на{{!}}
.
ПримерыПравить
Описание | Викитекст | Вывод |
---|---|---|
Простой пример |
{{mscgen|id=e1|msc= msc {
hscale = "1";
a,b,c;
a->b [ label = "ab()" ] ;
b->c [ label = "bc(TRUE)"];
c=>c [ label = "process(1)" ];
c=>c [ label = "process(2)" ];
...;
c=>c [ label = "process(n)" ];
c=>c [ label = "process(END)" ];
a<<=c [ label = "callback()"];
--- [ label = "If more to run", ID="*" ];
a->a [ label = "next()"];
a->c [ label = "ac1()\nac2()"];
b<-c [ label = "cb(TRUE)"];
b->b [ label = "stalled(...)"];
a<-b [ label = "ab() = FALSE"];
}
}} |
|
Рамки |
{{mscgen|id=e2|msc= msc {
# The entities
A, B, C, D;
# Small gap before the boxes
{{!}}{{!}}{{!}};
# Next four on same line due to ','
A box A [label="box"],
B rbox B [label="rbox"],
C abox C [label="abox"],
D note D [label="note"];
# Example of the boxes with filled backgrounds
A abox B [label="abox", textbgcolour="#ff7f7f"];
B rbox C [label="rbox", textbgcolour="#7fff7f"];
C note D [label="note", textbgcolour="#7f7fff"];
}
}} |
|
Настройки викиПравить
Для работы шаблон требует установки расширения MediaWiki ExternalData, программы mscgen и настроек в LocalSettings.php
:
$edgExeName ['mscgen'] = 'mscgen';
$edgExeUrl ['mscgen'] = 'https://www.mcternan.me.uk/mscgen/';
$edgExeVersion ['mscgen'] = 'Mscgen version 0.20, Copyright (C) 2010 Michael C McTernan, [email protected]';
$edgExeCommand ['mscgen'] = 'mscgen -Tsvg -o -';
$edgExeInput ['mscgen'] = 'msc';
$edgExePreprocess ['mscgen'] = 'EDConnectorExe::wikilinks4dot';
$edgExePostprocess ['mscgen'] = 'EDConnectorExe::innerXML';
$edgExeTags ['mscgen'] = 'mscgen';