Традиция:Test/ED
Usecase | Wikitext | Output | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{{#get_web_data:}}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_web_data: url=https://expert.ru/avtory/konstantin_pakhunov/ |format=HTML |data=url=article h2>a.attr(href),title=article h2>a }} {| class="wikitable" ! URL !! Title {{#for_external_table:<nowiki/> {{!}}- {{!}} {{{url}}} {{!}}{{!}} {{{title}}} }} |} |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{{#clear_external_data:}} {{#get_web_data: url=https://www.apn.ru/index.php?do=authors&author=637 |format=HTML |data=url=div.left_cell>h2>a.attr(href),title=div.left_cell>h2>a,date=div.left_cell>ul>li:nth-of-type(2) }} {| class="wikitable" ! URL !! Title !! Date{{#for_external_table:<nowiki/> {{!}}- {{!}} {{{url}}} {{!}}{{!}} {{{title}}} {{!}}{{!}} {{{date}}} }} |} |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_web_data: url=https://expert.ru/avtory/konstantin_pakhunov/ | format=HTML | use xpath | data=title=//article//h2/a,url=//article//h2/a/@href }} {| class="wikitable" ! URL !! Title {{#for_external_table:<nowiki/> {{!}}- {{!}} {{{url}}} {{!}}{{!}} {{{title}}} }} |} |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_web_data: url=http://old.russ.ru/authors/Krylov.html | format=HTML | use xpath | data=url=//p[font='Список публикаций:']/a/@href,title=//p[font='Список публикаций:']/a,date=substring(//p[font='Список публикаций:']/nobr/font,'3','10'),charset=__encoding | use stale cache }} {| class="wikitable" ! URL !! Title !! Date{{#for_external_table:<nowiki/> {{!}}- {{!}} {{{url}}} {{!}}{{!}} {{{title}}} {{!}}{{!}} {{{date}}} }} |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_web_data:url=http://producthelp.sdl.com/SDL%20Trados%20Studio/client_en/sample.xml | format=xml | data=salutation=salutation,address=address,url=weblink,retrieved=__time}} * '''Salutation:''' {{#external_value:salutation}} * '''Address:''' {{#external_value:address}} * '''URL:''' {{#external_value:url}} * '''Retrieved:''' {{#time:d xg Y H:i:s|@{{#external_value:retrieved}}}} |
* Salutation: Dear Daniel, * Address: Smith & Company Ltd. * URL: http://www.smith-company-ltd.com * Retrieved: 18 апреля 2024 23:28:52 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_web_data:url=http://producthelp.sdl.com/SDL%20Trados%20Studio/client_en/sample.xml | format=xml | use xpath | data=salutation=/letter/salutation,maxlength=/letter/title[2]/@maxlength,address=/letter/address[@translate='no'],url=/letter/weblink,retrieved=__time}} * '''Salutation:''' {{#external_value:salutation}} * '''Max length:''' {{#external_value:maxlength}} * '''Address:''' {{#external_value:address}} * '''URL:''' {{#external_value:url}} * '''Retrieved:''' {{#time:d xg Y H:i:s|@{{#external_value:retrieved}}}} |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_web_data: url=https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/compound/3028194/XML?heading=GHS+Classification | format=xml | use xpath | data=res=/ns:Record/ns:RecordType | default xmlns prefix=ns }}res: {{#for_external_table:{{{res}}} }} |
res: CID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_web_data: url=https://discoursedb.org/wiki/Special:GetData/Fruits_data | format=CSV with header | data=name=Name,color=Color,shape=Shape }} {| class="wikitable" ! Name !! Color !! Shape {{#for_external_table:<nowiki/> {{!}}- {{!}} [[{{{name}}}]] {{!}}{{!}} {{{color}}} {{!}}{{!}} {{{shape}}} }} |} Yellow fruits only (retrieved from the URL https://discoursedb.org/wiki/Special:GetData/Fruits_data?Color=Yellow): {{#get_web_data: url=https://discoursedb.org/wiki/Special:GetData/Fruits_data?Color=Yellow | format=CSV with header | data=name=Name,color=Color,shape=Shape }} {| class="wikitable" ! Name !! Color !! Shape {{#for_external_table:<nowiki/> {{!}}- {{!}} {{{name}}} {{!}}{{!}} {{{color}}} {{!}}{{!}} {{{shape}}} }} |} Red fruits only (retrieved from the URL https://discoursedb.org/wiki/Special:GetData/Fruits_data, with an additional "color=Red" filter placed in the call): {{#get_web_data: url=https://discoursedb.org/wiki/Special:GetData/Fruits_data | format=CSV with header | filters=color=Red | data=name=Name,color=Color,shape=Shape }} {| class="wikitable" ! Name !! Color !! Shape {{#for_external_table:<nowiki/> {{!}}- {{!}} {{{name}}} {{!}}{{!}} {{{color}}} {{!}}{{!}} {{{shape}}} }} |} |
Yellow fruits only (retrieved from the URL https://discoursedb.org/wiki/Special:GetData/Fruits_data?Color=Yellow):
Red fruits only (retrieved from the URL https://discoursedb.org/wiki/Special:GetData/Fruits_data, with an additional "color=Red" filter placed in the call):
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_web_data:url=https://discoursedb.org/GermanyCSV.txt | format=csv with header | data=bordered countries=Borders,population=Population,area=Area,capital=Capital }} The following data has been retrieved from http://discoursedb.org/GermanyCSV.txt, using the [http://www.mediawiki.org/wiki/Extension:External_Data External Data] extension: * Germany borders the following countries: {{#arraymap:{{#external_value:bordered countries}}|,|x|[[x]]}}. * Germany has population {{#external_value:population}}. * Germany has area {{#external_value:area}}. * Its capital is {{#external_value:capital}}. |
The following data has been retrieved from http://discoursedb.org/GermanyCSV.txt, using the External Data extension:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_web_data: url=https://falseexpert.ru/dossier/author/124728/ |format=HTML |data=url=article h2>a.attr(href),title=article h2>a }} {| class="wikitable" ! URL !! Title {{#for_external_table:<nowiki/> {{!}}- {{!}} {{{url}}} {{!}}{{!}} {{{title}}} }} |} |
Ошибка при получении данных по URL https://falseexpert.ru/dossier/author/124728/: $2. Ошибка обращения к URL: Could not resolve host: falseexpert.ru Во время обработки HTTP-запроса обнаружена проблема: 0 Error Не удалось получить URL https://falseexpert.ru/dossier/author/124728/ после 3 попыток.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_web_data: format=json |url=https://discoursedb.org/w/extensions/ExternalData/nara.json |Use jsonpath |data=Num=$.phoneNumbers[:].number }} Numbers: {{#for_external_table:{{{Num}}}, <nowiki />}}. |
Numbers: 0123-4567-8888, 0123-4567-8910, . | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Broken JSONPath! |
{{#get_web_data: url=https://api.meetup.com/hac-dc/events?scroll=next_upcoming&page=10 | format = json with jsonpath | data = local_date=//local_date,local_time=//local_time,name=//name,link=//link,duration=//duration }} {| class="wikitable" ! Date ! Time ! Event {{#for_external_table:<nowiki/> {{!}}- {{!}} {{{local_date}}} {{!}} {{{local_time}}} {{!}} [{{{link}}} {{{name}}}] }} |} |
Некорректный JSONpath //local_date
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_file_data:}}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_file_data: file=test |format=JSON |data=name=$.name,version=$.version |use jsonpath }} The extension is called "{{#external_value:name}}". Its version is {{#external_value:version}}.Add $edgFilePath['test'] = "$wgExtensionDirectory/ExternalData/extension.json";
LocalSettings.php
|
The extension is called "External Data". Its version is 3.4-alpha. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_file_data: file=no_such_file |format=JSON |data=name=$.name,version=$.version |use jsonpath }} The extension is called "{{#external_value:name}}". Its version is {{#external_value:version}}.Add $edgFilePath['test'] = "$wgExtensionDirectory/ExternalData/extension.json";
LocalSettings.php
|
Файл no_such_file не определён.
The extension is called "Ошибка: локальная переменная «name» не установлена.". Its version is Ошибка: локальная переменная «version» не установлена..
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_soap_data:}}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_soap_data: url=http://www.mnb.hu/arfolyamok.asmx?wsdl |request=GetCurrentExchangeRates |requestData= |response=GetCurrentExchangeRatesResult |format=xml |use xpath |data=from_nominal=/MNBCurrentExchangeRates/Day/Rate/@unit,from=/MNBCurrentExchangeRates/Day/Rate/@curr,rate=/MNBCurrentExchangeRates/Day/Rate,date=/MNBCurrentExchangeRates/Day/@date }} Echange rates on {{#external_value:date}} to Hungarian Forint: {{#for_external_table:<nowiki/> * {{{from_nominal}}} {{{from}}} = {{{rate}}} HUF }}
|
Echange rates on 2024-04-18 to Hungarian Forint:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_soap_data: url=http://www.falsemnb.hu/arfolyamok.asmx?wsdl |request=GetCurrentExchangeRates |requestData= |response=GetCurrentExchangeRatesResult |format=xml |use xpath |data=from_nominal=/MNBCurrentExchangeRates/Day/Rate/@unit,from=/MNBCurrentExchangeRates/Day/Rate/@curr,rate=/MNBCurrentExchangeRates/Day/Rate,date=/MNBCurrentExchangeRates/Day/@date }} Echange rates on {{#external_value:date}} to Hungarian Forint: {{#for_external_table:<nowiki/> * {{{from_nominal}}} {{{from}}} = {{{rate}}} HUF }}
|
При создании клиента SOAP выброшено исключение SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://www.falsemnb.hu/arfolyamok.asmx?wsdl' : failed to load external entity "http://www.falsemnb.hu/arfolyamok.asmx?wsdl"
.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_ldap_data:}}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{{#get_ldap_data: domain=example |filter=(sn=training) |data=name=uid,class=objectClass,phone=telephoneNumber,email=mail }} * E-mail: {{#external_value:email}} * Phone: {{#external_value:phone}} * Name: {{#external_value:name}} sudo apt install php7.4-ldap && sudo phpenmod ldap && sudo service php7.4-fpm restart . Add $edgLDAPServer ['example'] = 'ldap.forumsys.com';
$edgLDAPBaseDN ['example'] = 'dc=example,dc=com';
$edgLDAPUser ['example'] = 'cn=read-only-admin,dc=example,dc=com';
$edgLDAPPass ['example'] = 'password';
LocalSettings.php .
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{{#get_ldap_data: domain=example |filter=(objectClass=person) |data=name=cn,phone=telephoneNumber,email=mail |all }} {| class="wikitable" ! Name !! Phone !! E-mail {{#for_external_table:<nowiki/> {{!}}- {{!}} {{{name}}} {{!}}{{!}} {{{phone}}} {{!}}{{!}} {{{email}}} }} |} sudo apt install php7.4-ldap && sudo phpenmod ldap && sudo service php7.4-fpm restart . Add $edgLDAPServer ['example'] = 'ldap.forumsys.com';
$edgLDAPBaseDN ['example'] = 'dc=example,dc=com';
$edgLDAPUser ['example'] = 'cn=read-only-admin,dc=example,dc=com';
$edgLDAPPass ['example'] = 'password';
LocalSettings.php .
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_db_data:}}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{{#get_db_data: db=rfam | from=family | limit=10 | order by=num_full DESC | data=name=Author,number=num_full }} {| class="wikitable" ! Name !! Number{{#for_external_table:<nowiki/> {{!}}- {{!}} {{{name}}} {{!}}{{!}} {{{number}}} }} |}Add $edgDBServer ['rfam'] = 'mysql-rfam-public.ebi.ac.uk:4497';
$edgDBServerType['rfam'] = 'mysql';
$edgDBName ['rfam'] = 'Rfam';
$edgDBUser ['rfam'] = 'rfamro';
$edgDBPass ['rfam'] = '';
LocalSettings.php .
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{{#get_db_data: db = mongo | from = zips | limit = 10 | order by = pop DESC | where = state = NY | data = id=_id,city=city,state=state,loc=loc,pop=pop }} Top ten zip codes in New York by population. {| class="wikitable" ! Id ! City ! Name ! Coordinates ! Population{{#for_external_table:<nowiki/> {{!}}- {{!}} {{{id}}} {{!}}{{!}} {{{city}}} {{!}}{{!}} {{{state}}} {{!}}{{!}} {{{loc}}} {{!}}{{!}} {{formatnum:{{{pop}}}}} }} |} sudo apt install mongodb mongo-tools php-mongodb
composer require mongodb/mongodb
wget http://media.mongodb.org/zips.json
mongoimport -v --file=zips.json
sudo phpenmod mongodb
sudo service php7.4-fpm restart
cd ExternalData
composer require mongodb/mongodb
LocalSettings.php :$edgDBServerType['mongo'] = 'mongodb';
$edgDBName ['mongo'] = 'test';
|
В настройках вики неполная информация для БД с ID mongo. Отсутствует server.
Top ten zip codes in New York by population.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{{#get_db_data: db=mongo | from=zips | aggregate = [ { "$group": { "_id": "$state", "totalPop": { "$sum": "$pop" } } }, { "$match": { "totalPop": { "$gte": 5000000 } } } ] | order by = totalPop DESC | data=state=_id,pop=totalPop }} US states with population above five million. {| class="wikitable" ! State !! Population{{#for_external_table:<nowiki/> {{!}}- {{!}} {{{state}}} {{!}}{{!}} {{formatnum:{{{pop}}}}} }} |} |
В настройках вики неполная информация для БД с ID mongo. Отсутствует server.
US states with population above five million.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{{#get_db_data: db=mssql | from=Employees,Orders | join on=Employees.EmployeeID=Orders.EmployeeID | limit=10 | data=title=TitleOfCourtesy,first=FirstName,last=LastName,position=Title,orders=COUNT(OrderID) AS NoOrders | group by=TitleOfCourtesy,FirstName,LastName,Title | order by=NoOrders DESC }} {| class="wikitable" ! Name !! Position !! Orders{{#for_external_table:<nowiki/> {{!}}- {{!}} {{{title}}} {{{first}}} {{{last}}} {{!}}{{!}} {{{position}}} {{!}}{{!}} {{{orders}}} }} |} Install MS SQL Server, install ODBC driver for Ubuntu, import NorthWind database, set the listening port to 5500, create login Test ang grant it databaseread role on NorthWind. It is assumed that opt/microsoft/msodbcsql17/etc/odbcinst.ini has the entry: [ODBC Driver 17 for SQL Server] Description=Microsoft ODBC Driver 17 for SQL Server Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.5.so.2.1 Install and enable the odbc extension for PHP. Add$edgDBDriver ['mssql'] = 'ODBC Driver 17 for SQL Server';
$edgDBServer ['mssql'] = 'localhost,5500';
$edgDBServerType['mssql'] = 'odbc';
$edgDBName ['mssql'] = 'NorthWind';
$edgDBUser ['mssql'] = 'Test';
$edgDBPass ['mssql'] = 'Test0000';
LocalSettings.php .
|
Отсутствует библиотека odbc, необходимая для использования функции парсера '#get_db_data (type = odbc)' или функции Lua mw.ext.getExternalData.getDbData (type = odbc) .
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{{#get_db_data: db = rfam2 | parameters=10116 <!-- this parameter is used to substitute question marks in prepared statement --> | data=account=rfam_acc,sec=rfamseq_acc,start=seq_start,end=seq_end }} {| class="wikitable" ! account !! sec !! start !! end{{#for_external_table:<nowiki/> {{!}}- {{!}} {{{account}}} {{!}}{{!}} {{{sec}}} {{!}}{{!}} {{{start}}} {{!}}{{!}} {{{end}}} }} |}Add $edgDBServer ['rfam2'] = 'mysql-rfam-public.ebi.ac.uk:4497';
$edgDBServerType['rfam2'] = 'mysql';
$edgDBName ['rfam2'] = 'Rfam';
$edgDBUser ['rfam2'] = 'rfamro';
$edgDBPass ['rfam2'] = '';
$edgDBPrepared ['rfam2'] = <<<'SQL'
SELECT fr.rfam_acc, fr.rfamseq_acc, fr.seq_start, fr.seq_end
FROM full_region fr, rfamseq rf, taxonomy tx
WHERE rf.ncbi_id = tx.ncbi_id
AND fr.rfamseq_acc = rf.rfamseq_acc
AND tx.ncbi_id = ?
AND is_significant = 1 -- exclude low-scoring matches from the same clan
LIMIT 20;
SQL;
LocalSettings.php .
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{{#get_db_data: db = rfam3 | query=sequences <!-- this parameter is used to choose one of the prepared statements --> | parameters=10116 <!-- this parameter is used to substitute question marks in prepared statement --> | data=account=rfam_acc,sec=rfamseq_acc,start=seq_start,end=seq_end }} {| class="wikitable" ! account !! sec !! start !! end{{#for_external_table:<nowiki/> {{!}}- {{!}} {{{account}}} {{!}}{{!}} {{{sec}}} {{!}}{{!}} {{{start}}} {{!}}{{!}} {{{end}}} }} |}Add $edgDBServer ['rfam'] = 'mysql-rfam-public.ebi.ac.uk:4497';
$edgDBServerType['rfam3'] = 'mysql';
$edgDBName ['rfam3'] = 'Rfam';
$edgDBUser ['rfam3'] = 'rfamro';
$edgDBPass ['rfam3'] = '';
$edgDBPrepared ['rfam3'] = [
'sequences' => <<<'SEQ'
SELECT fr.rfam_acc, fr.rfamseq_acc, fr.seq_start, fr.seq_end
FROM full_region fr, rfamseq rf, taxonomy tx
WHERE rf.ncbi_id = tx.ncbi_id
AND fr.rfamseq_acc = rf.rfamseq_acc
AND tx.ncbi_id = ?
AND is_significant = 1 -- exclude low-scoring matches from the same clan
SEQ,
'sno' => <<<'SNO'
SELECT fr.rfam_acc, fr.rfamseq_acc, fr.seq_start, fr.seq_end, f.type
FROM full_region fr, rfamseq rf, taxonomy tx, family f
WHERE
rf.ncbi_id = tx.ncbi_id
AND f.rfam_acc = fr.rfam_acc
AND fr.rfamseq_acc = rf.rfamseq_acc
AND tx.tax_string LIKE ?
AND f.type LIKE '%snoRNA%'
AND is_significant = 1 -- exclude low-scoring matches from the same clan
SNO];
LocalSettings.php .
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{{#get_db_data: db=odbc | parameters=WA | data=title=TitleOfCourtesy,first=FirstName,last=LastName,position=Title,city=City,orders=COUNT(OrderID) AS NoOrders }} {| class="wikitable" ! Name !! Position !! Orders !! City{{#for_external_table:<nowiki/> {{!}}- {{!}} {{{title}}} {{{first}}} {{{last}}} {{!}}{{!}} {{{position}}} {{!}}{{!}} {{{orders}}} {{!}}{{!}} {{{city}}} }} |} Install MS SQL Server, install ODBC driver for Ubuntu, import NorthWind database, set the listening port to 5500, create login Test ang grant it databaseread role on NorthWind. It is assumed that opt/microsoft/msodbcsql17/etc/odbcinst.ini has the entry: [ODBC Driver 17 for SQL Server] Description=Microsoft ODBC Driver 17 for SQL Server Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.5.so.2.1 Install and enable the odbc extension for PHP. Add$edgDBDriver ['odbc'] = 'ODBC Driver 17 for SQL Server';
$edgDBServer ['odbc'] = 'localhost,5500';
$edgDBServerType['odbc'] = 'odbc';
$edgDBName ['odbc'] = 'NorthWind';
$edgDBUser ['odbc'] = 'Test';
$edgDBPass ['odbc'] = 'Test0000';
$edgDBPrepared ['odbc'] = <<<'ODBC'
SELECT TOP 10 TitleOfCourtesy, FirstName, LastName, Title, City, COUNT(OrderID) AS NoOrders
FROM Employees LEFT JOIN Orders ON Employees.EmployeeID = Orders.EmployeeID
WHERE Employees.Region = ?
GROUP BY TitleOfCourtesy, FirstName, LastName, Title, City
ORDER BY NoOrders DESC;
ODBC;
LocalSettings.php .
|
Отсутствует библиотека odbc, необходимая для использования функции парсера '#get_db_data (type = odbc)' или функции Lua
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_program_data:}}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{{#get_program_data: program = man | topic = ls | data = manual=__text | format = text }}<blockquote>{{#external_value:manual}}</blockquote>Add // man
$edgExeCommand ['man'] = 'man $topic$';
$edgExeParams ['man'] = ['topic'];
LocalSettings.php .
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
<graphviz layout="dot">digraph Example1{ bgcolor = "transparent"; label = "Жизнь"; splines = ortho; subgraph cluster_earthly { bgcolor = "lightgreen"; label = "Земная"; Зачатие; [[Аборт]]; Рождение; subgraph cluster_legal { node [shape = rect]; bgcolor = "green"; label = "Юридическая"; [[Юность]]; Зрелость; Старость; } {rank = same; Аборт; Рождение} [[Смерть]]; } subgraph cluster_heavenly { node [shape = rect]; bgcolor = "lightyellow"; label = "Загробная"; labelloc = "b" rank = same; [[Ад]]; [[Рай]]; } Зачатие->Рождение->Юность->Зрелость->Старость->Смерть; Зачатие->Аборт->Смерть; Юность->Смерть; Зрелость->Смерть; Смерть->Ад; Смерть->Рай; }</graphviz>Add // GraphViz:
$edgExeName ['graphviz'] = 'GraphViz';
$edgExeUrl ['graphviz'] = 'https://graphviz.org/';
$edgExeCommand ['graphviz'] = 'dot -K$layout$ -Tsvg';
$edgExeParams ['graphviz'] = ['layout' => 'dot'];
$edgExeInput ['graphviz'] = 'dot';
$edgExePreprocess ['graphviz'] = 'EDConnectorExe::edfWikilinks4dot';
$edgExePostprocess ['graphviz'] = 'EDConnectorExe::edfExtractSVG';
LocalSettings.php .
$edgExeTags ['graphviz'] = 'graphviz'; |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
<plantuml>@startuml participant User User -> A: DoWork activate A #FFBBBB A -> A: Internal call activate A #DarkSalmon A -> B: << createRequest >> activate B B --> A: RequestCreated deactivate B deactivate A A -> User: Done deactivate A @enduml </plantuml> Run // PlantUML
// sudo wget https://downloads.sourceforge.net/project/plantuml/plantuml.jar -P /usr/share/java
$edgExeName ['plantuml'] = 'PlantUML';
$edgExeUrl ['plantuml'] = 'https://plantuml.com';
$edgExeVersionCommand ['plantuml'] = 'java -jar /usr/share/java/plantuml.jar -version';
$edgExeCommand ['plantuml'] = 'java -jar /usr/share/java/plantuml.jar -tsvg -charset UTF-8 -p';
$edgExeLimits ['plantuml'] = [ 'memory' => 0 ];
$edgExeInput ['plantuml'] = 'uml';
$edgExePreprocess ['plantuml'] = 'EDConnectorExe::wikilinks4dot';
$edgExePostprocess ['plantuml'] = 'EDConnectorExe::innerXML';
LocalSettings.php .
$edgExeTags ['plantuml'] = 'graphviz'; |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{#get_file_data:}} + {{#get_program_data:}}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Диаграмма классов
|
{{#get_file_data: directory = classes | file name = *.php | format = text | regex = /^\s*(?<abstract>abstract)?\s*class\s+(?<class>\w+)(\s+extends\s*(?<extends>\w+))?/m | data = file=__file,abstract=abstract,class=class,base=extends }}{{#tag:graphviz|digraph "Иерархия классов"{ rankdir {{=}} RL; node [shape {{=}} rect, fontsize = 8]; {{#display_external_table: template = Класс в диаграмме | data = class=class,base=base,abstract=abstract }} }|layout=dot}}Add // GraphViz:
$edgExeName ['graphviz'] = 'GraphViz';
$edgExeUrl ['graphviz'] = 'https://graphviz.org/';
$edgExeCommand ['graphviz'] = 'dot -K$layout$ -Tsvg';
$edgExeParams ['graphviz'] = ['layout' => 'dot'];
$edgExeInput ['graphviz'] = 'dot';
$edgExePreprocess ['graphviz'] = 'EDConnectorExe::edfWikilinks4dot';
$edgExePostprocess ['graphviz'] = 'EDConnectorExe::edfExtractSVG';
$edgExeTags ['graphviz'] = 'graphviz';
// Class hierarchy. // {{#get_dir_data:}} + {{#get_program_data:}}
$edgDirectoryPath ['classes'] = "$wgExtensionDirectory/ExternalData/includes";
LocalSettings.php
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
<gnuplot>set dummy u, v set key bmargin center horizontal Right noreverse enhanced autotitle nobox set parametric set view 45, 50, 1, 1 set isosamples 50, 10 set hidden3d back offset 1 trianglepattern 3 undefined 1 altdiagonal bentover set style data lines set ztics norangelimit -1.00000,0.25,1.00000 set title "Parametric Sphere" set urange [ -1.57080 : 1.57080 ] noreverse nowriteback set vrange [ 0.00000 : 6.28319 ] noreverse nowriteback set xrange [ * : * ] noreverse writeback set x2range [ * : * ] noreverse writeback set yrange [ * : * ] noreverse writeback set y2range [ * : * ] noreverse writeback set zrange [ * : * ] noreverse writeback set cbrange [ * : * ] noreverse writeback set rrange [ * : * ] noreverse writeback set colorbox vertical origin screen 0.9, 0.2 size screen 0.05, 0.6 front noinvert bdefault VoxelDistance = 9.00500479207635e-308 #NO_ANIMATION = 1 splot cos(u)*cos(v),cos(u)*sin(v),sin(u)</gnuplot> Run // gnuplot
$edgExeName ['gnuplot'] = 'gnuplot';
$edgExeUrl ['gnuplot'] = 'http://www.gnuplot.info/';
$edgExeVersionCommand ['gnuplot'] = 'gnuplot -V';
$edgExeCommand ['gnuplot'] = ['gnuplot', '-e', 'set terminal svg size $width$,$height$ dynamic enhanced '
. 'font \'arial,$size$\' mouse jsdir \'/js/gnuplot\' name \'$name$\' $heads$ dashlength 1.0', '-'];
$edgExeParams ['gnuplot'] = [ 'width' => 600, 'height' => 400, 'size' => 10, 'name' => 'gnuplot', 'heads' => 'butt' ];
$edgExeParamFilters ['gnuplot'] = [ 'width' => '/^\d+$/', 'height' => '/^\d+$/', 'size' => '/^\d+$/', 'heads' => '/^rounded|butt|square$/' ];
$edgExeInput ['gnuplot'] = 'script';
$edgExePostprocess ['gnuplot'] = 'EDConnectorExe::innerXML';
LocalSettings.php .
$edgExeTags ['gnuplot'] = 'gnuplot'; |
|
See also Module:Test/ED.