Usecase
Wikitext
Output
{{#get_web_data:}}
{| class="wikitable"
! URL !! Title !! Date
{{#for_external_table:|
{{!}}-
{{!}} {{{url}}} {{!}}{{!}} {{{title}}} {{!}}{{!}} {{{date}}}
| 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"
! iata !! icao !! name !! name_eng !! city !! city_eng !! gmt_offset !! country !! country_eng !! iso !! latitude !! longitude !! length !! elevation !! phone !! fax !! emai !! website
{{#for_external_table:|
{{!}}-
{{!}} {{{iata}}} {{!}}{{!}} {{{icao}}} {{!}}{{!}} {{{name}}} {{!}}{{!}} {{{name_eng}}} {{!}}{{!}} {{{city}}} {{!}}{{!}} {{{city_eng}}} {{!}}{{!}} {{{gmt_offset}}} {{!}}{{!}} {{{country}}} {{!}}{{!}} {{{country_eng}}} {{!}}{{!}} {{{iso}}} {{!}}{{!}} {{{latitude}}} {{!}}{{!}} {{{longitude}}} {{!}}{{!}} {{{length}}} {{!}}{{!}} {{{elevation}}} {{!}}{{!}} {{{phone}}} {{!}}{{!}} {{{fax}}} {{!}}{{!}} {{{emai}}} {{!}}{{!}} {{{website}}}
| url = http://www.apinfo.ru/airports/export.html
| post data = fields%5B%5D=1&fields%5B%5D=2&fields%5B%5D=3&fields%5B%5D=4
&fields%5B%5D=5&fields%5B%5D=6&fields%5B%5D=7&fields%5B%5D=8&fields%5B%5D=9
&fields%5B%5D=10&fields%5B%5D=11&fields%5B%5D=12&fields%5B%5D=13
&fields%5B%5D=14&fields%5B%5D=15&fields%5B%5D=16&fields%5B%5D=17&type=csv
| end line = 20
| encoding = Windows-1251
| format = CSV with header
| delimiter = {{!}}
| data = iata=iata_code,icao=icao_code,name=name_rus,name_eng=name_eng,city=city_rus,
city_eng=city_eng,gmt_offset=gmt_offset,country=country_rus,country_eng=country_eng,
iso=iso_code,latitude=latitude,longitude=longitude,length=runway_length,
elevation=runway_elevation,phone=phone,fax=fax,emai=email,website=website
| use stale cache
}}
|}
Источник: [http://www.apinfo.ru/airports/export.html apiinfo.ru]/
iata
icao
name
name_eng
city
city_eng
gmt_offset
country
country_eng
iso
latitude
longitude
length
elevation
phone
fax
emai
website
AAA
NTGA
Анаа
{{{name_eng}}}
Анаа
Anaa
+10.0
Французская Полинезия
{{{country_eng}}}
PF
-17.354999
-145.508332
1500
{{{elevation}}}
AAB
YARY
{{{name_eng}}}
Arrabury
-10.0
Австралия
{{{country_eng}}}
AU
-26.690555
141.047500
1144
{{{elevation}}}
AAC
HEAR
{{{name_eng}}}
Аль-Ариш
Al Arish
+2.0
Египет
{{{country_eng}}}
EG
31.073333
33.835833
2650
{{{elevation}}}
AAD
TVSV
{{{name_eng}}}
Ad-Dabbah
+3.0
Судан
{{{country_eng}}}
SD
17.592777777778
33.959166666667
{{{elevation}}}
AAE
DABB
{{{name_eng}}}
Annaba
+1.0
Алжир
{{{country_eng}}}
DZ
36.822222
7.809444
3000
{{{elevation}}}
AAF
KAAF
{{{name_eng}}}
Apalachicola
-5.0
США
{{{country_eng}}}
US
29.727549
-85.027377
1585
{{{elevation}}}
AAG
SSYA
{{{name_eng}}}
Arapoti
+0.0
Бразилия
{{{country_eng}}}
BR
-24.103875
-49.789078
{{{elevation}}}
AAH
EDKA
{{{name_eng}}}
Аахен
Aachen
+1.0
Германия
{{{country_eng}}}
DE
50.823056
6.186111
{{{elevation}}}
http://www.flugplatz-aachen.de/
AAI
SWRA
{{{name_eng}}}
Arraias
+3.0
Бразилия
{{{country_eng}}}
BR
-13.025
-46.884
1725
{{{elevation}}}
AAJ
SMCA
{{{name_eng}}}
Аварадам
Awaradam
-3.0
Суринам
{{{country_eng}}}
SR
3.898611
-55.577778
{{{elevation}}}
AAK
NGUK
Аранука
{{{name_eng}}}
Аранука
Aranuka
-12.0
Кирибати
{{{country_eng}}}
KI
0.185278
173.636667
902
{{{elevation}}}
AAL
EKYT
Аальборг
{{{name_eng}}}
Аальбург
Aalborg
-1.0
Дания
{{{country_eng}}}
DK
57.092789
9.849164
2652
{{{elevation}}}
http://www.aal.dk/
AAM
FAMD
Мала-Мала
{{{name_eng}}}
Мала-Мала
Mala Mala
+2.0
ЮАР
{{{country_eng}}}
ZA
-24.818111
31.544584
1347
{{{elevation}}}
AAN
OMAL
Эль-Аин
{{{name_eng}}}
Аль-Айн
Al Ain
+4.0
ОАЭ
{{{country_eng}}}
AE
24.261667
55.609167
4000
{{{elevation}}}
AAO
SVAN
Анако
{{{name_eng}}}
Анако
Anaco
-4.0
Венесуэла
{{{country_eng}}}
VE
9.430225
-64.470724
1200
{{{elevation}}}
AAP
BGAG
{{{name_eng}}}
Houston, TX
-6.0
США
{{{country_eng}}}
US
72.886944
-55.596111
{{{elevation}}}
AAQ
URKA
Витязево
{{{name_eng}}}
Анапа
Anapa
+3.0
Россия
{{{country_eng}}}
RU
45.002222
37.347222
{{{elevation}}}
(861-33) 3-32-33; 9-43-77
(861-33) 4-35-44
[email protected]
http://www.anapa-airport.ru
AAR
EKAH
{{{name_eng}}}
Аарус
Aarhus
+1.0
Дания
{{{country_eng}}}
DK
56.300017
10.619008
2782
{{{elevation}}}
+45 8775 7000
+45 8775 7030
[email protected]
http://www.aar.dk
AAS
{{{name_eng}}}
Apalapsili
+9.0
Индонезия
{{{country_eng}}}
ID
-3.882499
139.310833
900
{{{elevation}}}
Источник: apiinfo.ru /
{| class="wikitable"
! URL !! Title {{#for_external_table:|
{{!}}-
{{!}} {{{url}}} {{!}}{{!}} {{{title}}} {{!}}{{!}} {{{date}}}
| url=https://vz.ru/opinions/expert/2618/
| format=HTML
| use xpath
| data=title=//div[@class="new_post"]/h4/a,url=//div[@class="new_post"]/h4/a/@href, date=//div[@class="new_post"]/div[@class="post_date"]/span
}}
|}
URL
Title
/opinions/2024/11/24/1299002.html
Правый поворот Европы неостановим
24 ноября 2024
/opinions/2024/11/16/1297713.html
В личности адмирала Колчака нет ничего «неоднозначного»
16 ноября 2024
/opinions/2024/11/12/1296968.html
Трамп подвигнет мир стоять на трех ногах
12 ноября 2024
/opinions/2024/11/5/1296233.html
Пятого ноября американские выборы только начнутся
5 ноября 2024
/opinions/2024/10/29/1295031.html
Как Великая депрессия в США развязала войну
29 октября 2024
/opinions/2024/10/24/1293969.html
Северная Корея – способ увидеть себя со стороны
24 октября 2024
/opinions/2024/10/15/1292341.html
Ницше как пророк нашего времени
15 октября 2024
/opinions/2024/10/10/1291161.html
Начнет ли Трамп Третью мировую в Иране
10 октября 2024
/opinions/2024/9/28/1281939.html
Как приватизировали Европу
28 сентября 2024
/opinions/2024/9/7/1285020.html
Американские выборы решат, быть ли мировой войне
7 сентября 2024
/opinions/2024/8/28/1284123.html
Андрей Платонов – самая яркая звезда русской мечты
28 августа 2024
/opinions/2024/8/2/1278045.html
Трамп выбрал нового Трампа
2 августа 2024
/opinions/2024/7/22/1278647.html
Демократы не простили Байдену «пули Трампа»
22 июля 2024
/opinions/2024/7/15/1277213.html
Главная цель Орбана – формирование новой Европы
15 июля 2024
/opinions/2024/7/5/1274952.html
«Третья сила» Глобального Юга
5 июля 2024
/opinions/2024/6/21/1273451.html
Европа накренилась вправо
21 июня 2024
/opinions/2024/6/6/1271469.html
Пушкин – русский Адам
6 июня 2024
/opinions/2024/5/29/1270026.html
«Они считают, что миром движет страх»
29 мая 2024
/opinions/2024/5/26/1269248.html
Еврейский вопрос раскалывает Америку
26 мая 2024
/opinions/2024/5/16/1267705.html
Фильм «Гражданская война» готовит Америку к революции
16 мая 2024
{| class="wikitable"
! URL !! Title !! Date{{#for_external_table:|
{{!}}-
{{!}} {{{url}}} {{!}}{{!}} {{{title}}} {{!}}{{!}} {{{date}}}
| url=https://web.archive.org/web/20240227035624/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')
| use stale cache
}}
|}
Format: XML .
Selectors: plain.
Charset: UTF-8 .
{{#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: 26 ноября 2024 15:28:11
{{#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}}}}
Format: XML .
Selectors: XPath .
Uses default namespace.
Charset: UTF-8 .
res: {{#for_external_table:|
* {{{res}}}
| 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:
* CID
Format: CSV .
Selectors: .
Charset: UTF-8 .
{| class="wikitable"
! Name !! Color !! Shape
{{#for_external_table:|
{{!}}-
{{!}} [[{{{name}}}]] {{!}}{{!}} {{{color}}} {{!}}{{!}} {{{shape}}}
| url=https://discoursedb.org/wiki/Special:GetData/Fruits_data
| format=CSV with header
| data=name=Name,color=Color,shape=Shape
}}
|}
Yellow fruits only (retrieved from the URL https://discoursedb.org/wiki/Special:GetData/Fruits_data?Color=Yellow):
{| class="wikitable"
! Name !! Color !! Shape
{{#for_external_table:|
{{!}}-
{{!}} {{{name}}} {{!}}{{!}} {{{color}}} {{!}}{{!}} {{{shape}}}
| url=https://discoursedb.org/wiki/Special:GetData/Fruits_data?Color=Yellow
| format=CSV with header
| data=name=Name,color=Color,shape=Shape
}}
|}
Orange fruits only (retrieved from the URL https://discoursedb.org/wiki/Special:GetData/Fruits_data, with an additional "color=Orange" filter placed in the call):
{| class="wikitable"
! Name !! Color !! Shape
{{#for_external_table:|
{{!}}-
{{!}} {{{name}}} {{!}}{{!}} {{{color}}} {{!}}{{!}} {{{shape}}}
| url=https://discoursedb.org/wiki/Special:GetData/Fruits_data
| format=CSV with header
| filters=color=Orange
| data=name=Name,color=Color,shape=Shape
}}
|}
Name
Color
Shape
Apple
Red or green
Round
Banana
Yellow
Oblong
Orange
Orange
Round
Pear
Yellow
Pear-shaped
Yellow fruits only (retrieved from the URL https://discoursedb.org/wiki/Special:GetData/Fruits_data?Color=Yellow ):
Name
Color
Shape
Banana
Yellow
Oblong
Pear
Yellow
Pear-shaped
Orange fruits only (retrieved from the URL https://discoursedb.org/wiki/Special:GetData/Fruits_data , with an additional "color=Orange" filter placed in the call):
Name
Color
Shape
Orange
Orange
Round
Format: CSV with headers.
Selectors: .
Charset: UTF-8 .
{{#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:
Germany borders the following countries: Austria , Belgium , Czech Republic , Denmark , France , Luxembourg , Netherlands , Poland , Switzerland .
Germany has population 82,411,001.
Germany has area 357,050 km².
Its capital is Berlin.
{| class="wikitable"
! URL !! Title
{{#for_external_table:|
{{!}}-
{{!}} {{{url}}} {{!}}{{!}} {{{title}}}
|url=https://falseexpert.ru/dossier/author/124728/
|format=HTML
|data=url=article h2>a.attr(href),title=article h2>a
}}
|}
{{#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, .
{{#get_external_data:
url = https://raw.githubusercontent.com/wikimedia/mediawiki/master/docker-compose.yml
| format = yaml
| use jsonpath
| data = image = $.services.mediawiki.image
}}The image is {{#external_value:image}}.
The image is docker-registry.wikimedia.org/dev/buster-php81-fpm:1.0.1-s2.
{{#get_external_data:
url = https://raw.githubusercontent.com/wikimedia/mediawiki/master/docker-compose.yml
| format = yaml
| data = image = image
}}The image is {{#external_value:image}}.
The image is docker-registry.wikimedia.org/dev/buster-php81-fpm:1.0.1-s2.
Broken JSONPath!
{| class="wikitable"
! Date
! Time
! Event
{{#for_external_table:|
{{!}}-
{{!}} {{{local_date}}}
{{!}} {{{local_time}}}
{{!}} [{{{link}}} {{{name}}}]
| 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
}}
|}
Date
Time
Event
Некорректный JSONpath //local_date
{{#get_file_data:}}
{{#get_file_data:
file=file
|format=JSON
|data=name=$.name,version=$.version
|use jsonpath
}}
The extension is called "{{#external_value:name}}". Its version is {{#external_value:version}}.
Add // {{#get_file_data:}}
$wgExternalDataSources [ 'test' ] = [ 'path' => " $wgExtensionDirectory /ExternalData/extension.json" ];
to your 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 // {{#get_file_data:}}
$wgExternalDataSources [ 'test' ] = [ 'path' => " $wgExtensionDirectory /ExternalData/extension.json" ];
to your LocalSettings.php
Файл no_such_file не определён.
The extension is called "Ошибка: локальная переменная «name» не установлена. ". Its version is Ошибка: локальная переменная «version» не установлена. .
{{#get_soap_data:}}
Echange rates on to Hungarian Forint:
{{#for_external_table:|
* {{{from_nominal}}} {{{from}}} = {{{rate}}} HUF
| url = https://www.mnb.hu/arfolyamok.asmx?wsdl
| request = GetCurrentExchangeRates
| 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
}}
sudo apt install php7.4-soap && sudo phpenmod soap && sudo service php7.4-fpm restart
Echange rates on to Hungarian Forint:
Wrong URL!
Protocol: SOAP
Format: XML
Echange rates on to Hungarian Forint:
{{#for_external_table:|
* {{{from_nominal}}} {{{from}}} = {{{rate}}} HUF
| url = https://www.mnb.hu/falsearfolyamok.asmx?wsdl
| request = GetCurrentExchangeRates
| 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
}}
sudo apt install php7.4-soap && sudo phpenmod soap && sudo service php7.4-fpm restart
Echange rates on to Hungarian Forint:
{{#get_ldap_data:}}
{{#get_ldap_data:
domain=ldap
|filter=(objectClass=person)
|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 // Examples for testing:
// {{#get_ldap_data:}}
$wgExternalDataSources [ 'ldap' ] = 'Test' ;
to your LocalSettings.php
.
Protocol: LDAP
Many entries
{| class="wikitable"
! Name !! Phone !! E-mail
{{#for_external_table:|
{{!}}-
{{!}} {{{name}}} {{!}}{{!}} {{{phone}}} {{!}}{{!}} {{{email}}}
|domain=ldap
|filter=(objectClass=person)
|data=name=cn,phone=telephoneNumber,email=mail
|all
}}
|}
sudo apt install php7.4-ldap && sudo phpenmod ldap && sudo service php7.4-fpm restart
. Add // Examples for testing:
// {{#get_ldap_data:}}
$wgExternalDataSources [ 'example' ] = 'Test' ;
to your LocalSettings.php
.
{{#get_db_data:}}
{| class="wikitable"
! Name !! Number
{{#for_external_table:|
{{!}}-
{{!}} {{{name}}} {{!}}{{!}} {{{number}}}
| db=rfam
| from=family
| limit=10
| order by=num_full DESC
| data=name=Author,number=num_full
}}
|}
Add // {{#get_db_data:}}
$wgExternalDataSources [ 'rfam' ] = 'Test' ;
to your LocalSettings.php
.
See https://docs.rfam.org/en/latest/database.html .
Name
Number
Eddy SR, Griffiths-Jones SR, Mifsud W
5335975
Griffiths-Jones SR, Mifsud W, Gardner PP
594154
Bateman A
493311
Gardner PP
383523
Bateman A
324644
Griffiths-Jones SR
278378
Griffiths-Jones SR, Gardner PP
204442
Wilkinson A
186514
Gutell RR, Nawrocki E
107465
Gutell RR, Gardner PP, Nawrocki E
75755
Database type: mySQL .
Prepared statement.
One per connection.
{| class="wikitable"
! account !! sec !! start !! end
{{#for_external_table:|
{{!}}-
{{!}} {{{account}}} {{!}}{{!}} {{{sec}}} {{!}}{{!}} {{{start}}} {{!}}{{!}} {{{end}}}
| db = rfam_prepared
| 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
}}
|}
Add $wgExternalDataSources [ 'rfam2' ] = 'Test' ;
to your LocalSettings.php
.
See https://docs.rfam.org/en/latest/database.html .
account
sec
start
end
RF00005
AY172581.1
3831
3761
RF00005
AY172581.1
11665
11735
RF00005
AY172581.1
5321
5256
RF00005
AY172581.1
2665
2739
RF00005
AY172581.1
5078
5010
RF00005
AY172581.1
3695
3763
RF00005
AY172581.1
1
67
RF00005
AY172581.1
11538
11605
RF00005
AY172581.1
5152
5081
RF00005
AY172581.1
6933
6865
RF00005
AY172581.1
1026
1093
RF00005
AY172581.1
3835
3903
RF02541
AY172581.1
1170
2552
RF00177
AY172581.1
63
1031
RF00088
CM026974.1
205621234
205621302
RF02143
CM026974.1
7478231
7477999
RF00086
CM026974.1
205620094
205620167
RF01946
CM026974.1
198450673
198451131
RF00394
CM026974.1
154965854
154965714
RF00604
CM026974.1
94734299
94734388
Database type: mySQL .
Prepared statement.
Several per connection.
{| class="wikitable"
! account !! sec !! start !! end
{{#for_external_table:|
{{!}}-
{{!}} {{{account}}} {{!}}{{!}} {{{sec}}} {{!}}{{!}} {{{start}}} {{!}}{{!}} {{{end}}}
| db = rfam_prepared_multiple
| 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
}}
|}
Add $wgExternalDataSources [ 'rfam3' ] = 'Test' ;
to your LocalSettings.php
.
See https://docs.rfam.org/en/latest/database.html .
account
sec
start
end
RF00005
AY172581.1
3831
3761
RF00005
AY172581.1
11665
11735
RF00005
AY172581.1
5321
5256
RF00005
AY172581.1
2665
2739
RF00005
AY172581.1
5078
5010
RF00005
AY172581.1
3695
3763
RF00005
AY172581.1
1
67
RF00005
AY172581.1
11538
11605
RF00005
AY172581.1
5152
5081
RF00005
AY172581.1
6933
6865
RF00005
AY172581.1
1026
1093
RF00005
AY172581.1
3835
3903
RF02541
AY172581.1
1170
2552
RF00177
AY172581.1
63
1031
RF00088
CM026974.1
205621234
205621302
RF02143
CM026974.1
7478231
7477999
RF00086
CM026974.1
205620094
205620167
RF01946
CM026974.1
198450673
198451131
RF00394
CM026974.1
154965854
154965714
RF00604
CM026974.1
94734299
94734388
Database type: MongoDB
Query type: simple find
Top ten zip codes in New York by population.
{| class="wikitable"
! Id !! City !! Name !! Coordinates !! Population
{{#for_external_table:|
{{!}}-
{{!}} {{{_id}}} {{!}}{{!}} {{{city}}} {{!}}{{!}} {{{state}}} {{!}}{{!}} {{{loc}}} {{!}}{{!}} {{formatnum:{{{pop}}}}}
| db = mongodb
| from = zips
| limit = 10
| order by = pop DESC
| where = state = NY
}}
|}
sudo apt installphp-mongodb && sudo phpenmod mongodb && sudo service php7.4-fpm restart
Add to LocalSettings.php
:$wgExternalDataSources [ 'mongodb' ] = 'Test' ;
Top ten zip codes in New York by population.
Id
City
Name
Coordinates
Population
11226
BROOKLYN
NY
[-73.956985,40.646694]
111 396
10021
NEW YORK
NY
[-73.958805,40.768476]
106 564
10025
NEW YORK
NY
[-73.968312,40.797466]
100 027
11373
JACKSON HEIGHTS
NY
[-73.878551,40.740388]
88 241
11212
BROOKLYN
NY
[-73.914483,40.662474]
87 079
11385
RIDGEWOOD
NY
[-73.896122,40.703613]
85 732
10467
BRONX
NY
[-73.871242,40.873671]
85 710
10002
NEW YORK
NY
[-73.987681,40.715231]
84 143
11207
BROOKLYN
NY
[-73.893957,40.670486]
83 158
11203
BROOKLYN
NY
[-73.934888,40.650496]
80 566
Database type: MongoDB
Query type: aggregate
US states with population above five million.
{| class="wikitable"
! State !! Population
{{#for_external_table:|
{{!}}-
{{!}} {{{state}}} {{!}}{{!}} {{formatnum:{{{pop}}}}}
| db=mongodb
| 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.
State
Population
CA
29 754 890
NY
17 990 402
TX
16 984 601
FL
12 686 644
PA
11 881 643
IL
11 427 576
OH
10 846 517
MI
9 295 297
NJ
7 730 188
NC
6 628 637
GA
6 478 216
VA
6 181 479
MA
6 016 425
IN
5 544 136
MO
5 110 648
{| class="wikitable"
! Name !! Position !! Orders
{{#for_external_table:|
{{!}}-
{{!}} {{{title}}} {{{first}}} {{{last}}} {{!}}{{!}} {{{position}}} {{!}}{{!}} {{{orders}}}
| db=mssqlserver
| 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
}}
|}
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 // sudo apt install php7.4-odbc php8.0-odbc
// sudo phpenmod odbc
$wgExternalDataSources [ 'mssql' ] = 'Test' ;
to your LocalSettings.php
.
Name
Position
Orders
Mrs. Margaret Peacock
Sales Representative
156
Ms. Janet Leverling
Sales Representative
127
Ms. Nancy Davolio
Sales Representative
123
Ms. Laura Callahan
Inside Sales Coordinator
104
Dr. Andrew Fuller
Vice President, Sales
96
Mr. Robert King
Sales Representative
72
Mr. Michael Suyama
Sales Representative
67
Ms. Anne Dodsworth
Sales Representative
43
Mr. Steven Buchanan
Sales Manager
42
Database type: Microsoft SQL Server
Prepared statement.
{| class="wikitable"
! Name !! Position !! Orders !! City
{{#for_external_table:|
{{!}}-
{{!}} {{{TitleOfCourtesy}}} {{{FirstName}}} {{{LastName}}} {{!}}{{!}} {{{Title}}} {{!}}{{!}} {{{NoOrders}}} {{!}}{{!}} {{{City}}}
| db=mssqlserver_prepared
| parameters=Sales Representative
}}
|}
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 $wgExternalDataSources [ 'odbc' ] = 'Test' ;
to your LocalSettings.php
.
Name
Position
Orders
City
Mrs. Margaret Peacock
Sales Representative
156
Redmond
Ms. Janet Leverling
Sales Representative
127
Kirkland
Ms. Nancy Davolio
Sales Representative
123
Seattle
Mr. Robert King
Sales Representative
72
London
Mr. Michael Suyama
Sales Representative
67
London
Ms. Anne Dodsworth
Sales Representative
43
London
{| class="wikitable"
! Title !! Description !! Length
{{#for_external_table:|
{{!}}-
{{!}} {{{title}}} {{!}}{{!}} {{{description}}} {{!}}{{!}} {{{length}}}
| db=postgresql
| from=film
| filters=length<45
| limit=25
}}
|}
Install and enable the pgsql extension for PHP.
Add $wgExternalDataSources [ 'postgresql' ] = 'Test' ;
to your LocalSettings.php
.
Title
Description
Length
Chamber Italian
A Fateful Reflection of a Moose And a Husband who must Overcome a Monkey in Nigeria
117
Grosse Wonderful
A Epic Drama of a Cat And a Explorer who must Redeem a Moose in Australia
49
Airport Pollock
A Epic Tale of a Moose And a Girl who must Confront a Monkey in Ancient India
54
Bright Encounters
A Fateful Yarn of a Lumberjack And a Feminist who must Conquer a Student in A Jet Boat
73
Academy Dinosaur
A Epic Drama of a Feminist And a Mad Scientist who must Battle a Teacher in The Canadian Rockies
86
Ace Goldfinger
A Astounding Epistle of a Database Administrator And a Explorer who must Find a Car in Ancient China
48
Adaptation Holes
A Astounding Reflection of a Lumberjack And a Car who must Sink a Lumberjack in A Baloon Factory
50
Affair Prejudice
A Fanciful Documentary of a Frisbee And a Lumberjack who must Chase a Monkey in A Shark Tank
117
African Egg
A Fast-Paced Documentary of a Pastry Chef And a Dentist who must Pursue a Forensic Psychologist in The Gulf of Mexico
130
Agent Truman
A Intrepid Panorama of a Robot And a Boy who must Escape a Sumo Wrestler in Ancient China
169
Airplane Sierra
A Touching Saga of a Hunter And a Butler who must Discover a Butler in A Jet Boat
62
Alabama Devil
A Thoughtful Panorama of a Database Administrator And a Mad Scientist who must Outgun a Mad Scientist in A Jet Boat
114
Aladdin Calendar
A Action-Packed Tale of a Man And a Lumberjack who must Reach a Feminist in Ancient China
63
Alamo Videotape
A Boring Epistle of a Butler And a Cat who must Fight a Pastry Chef in A MySQL Convention
126
Alaska Phantom
A Fanciful Saga of a Hunter And a Pastry Chef who must Vanquish a Boy in Australia
136
Date Speed
A Touching Saga of a Composer And a Moose who must Discover a Dentist in A MySQL Convention
104
Ali Forever
A Action-Packed Drama of a Dentist And a Crocodile who must Battle a Feminist in The Canadian Rockies
150
Alice Fantasia
A Emotional Drama of a A Shark And a Database Administrator who must Vanquish a Pioneer in Soviet Georgia
94
Alien Center
A Brilliant Drama of a Cat And a Mad Scientist who must Battle a Feminist in A MySQL Convention
46
Alley Evolution
A Fast-Paced Drama of a Robot And a Composer who must Battle a Astronaut in New Orleans
180
Alone Trip
A Fast-Paced Character Study of a Composer And a Dog who must Outgun a Boat in An Abandoned Fun House
82
Alter Victory
A Thoughtful Drama of a Composer And a Feminist who must Meet a Secret Agent in The Canadian Rockies
57
Amadeus Holy
A Emotional Display of a Pioneer And a Technical Writer who must Battle a Man in A Baloon
113
Amelie Hellfighters
A Boring Drama of a Woman And a Squirrel who must Conquer a Student in A Baloon
79
American Circus
A Insightful Drama of a Girl And a Astronaut who must Face a Database Administrator in A Shark Tank
129
{| class="wikitable"
! Title !! Description !! Length
{{#for_external_table:|
{{!}}-
{{!}} {{{title}}} {{!}}{{!}} {{{description}}} {{!}}{{!}} {{{length}}}
| db=postgresql_prepared
| limit=25
| parameters=55
}}
|}
Install and enable the pgsql extension for PHP.
Add $wgExternalDataSources [ 'postgresql' ] = 'Test' ;
to your LocalSettings.php
.
Title
Description
Length
Kill Brotherhood
A Touching Display of a Hunter And a Secret Agent who must Redeem a Husband in The Outback
54
October Submarine
A Taut Epistle of a Monkey And a Boy who must Confront a Husband in A Jet Boat
54
Juggler Hardly
A Epic Story of a Mad Cow And a Astronaut who must Challenge a Car in California
54
Go Purple
A Fast-Paced Display of a Car And a Database Administrator who must Battle a Woman in A Baloon
54
Sense Greek
A Taut Saga of a Lumberjack And a Pastry Chef who must Escape a Sumo Wrestler in An Abandoned Fun House
54
Airport Pollock
A Epic Tale of a Moose And a Girl who must Confront a Monkey in Ancient India
54
Cabin Flash
A Stunning Epistle of a Boat And a Man who must Challenge a A Shark in A Baloon Factory
53
Magnificent Chitty
A Insightful Story of a Teacher And a Hunter who must Face a Mad Cow in California
53
Beneath Rush
A Astounding Panorama of a Man And a Monkey who must Discover a Man in The First Manned Space Station
53
Thin Sagebrush
A Emotional Drama of a Husband And a Lumberjack who must Build a Cat in Ancient India
53
Primary Glass
A Fateful Documentary of a Pastry Chef And a Butler who must Build a Dog in The Canadian Rockies
53
Summer Scarface
A Emotional Panorama of a Lumberjack And a Hunter who must Meet a Girl in A Shark Tank
53
Tequila Past
A Action-Packed Panorama of a Mad Scientist And a Robot who must Challenge a Student in Nigeria
53
Movie Shakespeare
A Insightful Display of a Database Administrator And a Student who must Build a Hunter in Berlin
53
Gump Date
A Intrepid Yarn of a Explorer And a Student who must Kill a Husband in An Abandoned Mine Shaft
53
Side Ark
A Stunning Panorama of a Crocodile And a Womanizer who must Meet a Feminist in The Canadian Rockies
52
Harper Dying
A Awe-Inspiring Reflection of a Woman And a Cat who must Confront a Feminist in The Sahara Desert
52
Spartacus Cheaper
A Thrilling Panorama of a Pastry Chef And a Secret Agent who must Overcome a Student in A Manhattan Penthouse
52
Lust Lock
A Fanciful Panorama of a Hunter And a Dentist who must Meet a Secret Agent in The Sahara Desert
52
Trojan Tomorrow
A Astounding Panorama of a Husband And a Sumo Wrestler who must Pursue a Boat in Ancient India
52
Caddyshack Jedi
A Awe-Inspiring Epistle of a Woman And a Madman who must Fight a Robot in Soviet Georgia
52
Westward Seabiscuit
A Lacklusture Tale of a Butler And a Husband who must Face a Boy in Ancient China
52
Simon North
A Thrilling Documentary of a Technical Writer And a A Shark who must Face a Pioneer in A Shark Tank
51
Deep Crusade
A Amazing Tale of a Crocodile And a Squirrel who must Discover a Composer in Australia
51
Hall Cassidy
A Beautiful Panorama of a Pastry Chef And a A Shark who must Battle a Pioneer in Soviet Georgia
51
{{#get_program_data:}}
<blockquote>{{#external_value:manual
| source = man
| topic = man
| data = manual=/html/body
}}</blockquote>
Add $wgExternalDataSources [ 'man' ] = 'Reference' ;
.
MAN(1)
General Commands Manual
MAN(1)
NAME
man
— display
manual pages
SYNOPSIS
man
[-acfhklw
] [-C
file ] [-M
path ] [-m
path ] [-S
subsection ] [[-s
]
section ] name ...
DESCRIPTION
The man
utility displays the manual page
entitled name . Pages may be selected according to a
specific category (section ) or machine architecture
(subsection ).
The options are as follows:
-a
Display all matching manual pages.
-C
file
Use the specified file instead of the default
configuration file. This permits users to configure their own manual
environment. See man.conf(5) for a description of the
contents of this file.
-c
Copy the manual page to the standard output instead of using
less(1) to paginate it. This is done by default if the
standard output is not a terminal device.
When using -c
, most terminal devices
are unable to show the markup. To print the output of
man
to the terminal with markup but without
using a pager, pipe it to ul(1). To remove the markup,
pipe the output to col(1) -b
instead.
-f
A synonym for whatis(1). It searches for
name in manual page names and displays the header
lines from all matching pages. The search is case insensitive and matches
whole words only.
-h
Display only the SYNOPSIS lines of the requested manual pages. Implies
-a
and -c
.
-k
A synonym for apropos(1). Instead of
name , an expression can be provided using the syntax
described in the apropos(1) manual. By default, it
displays the header lines of all matching pages.
-l
A synonym for mandoc(1). The name
arguments are interpreted as filenames. No search is done and
file , path ,
section , subsection , and
-w
are ignored. This option implies
-a
.
-M
path
Override the list of directories to search for manual pages. The supplied
path must be a colon
(‘:
’) separated list of directories.
This option also overrides the environment variable
MANPATH
and any directories specified in the
man.conf(5) file.
-m
path
Augment the list of directories to search for manual pages. The supplied
path must be a colon
(‘:
’) separated list of directories.
These directories will be searched before those specified using the
-M
option, the MANPATH
environment variable, the man.conf(5) file, or the
default directories.
-S
subsection
Only show pages for the specified machine(1)
architecture. subsection is case insensitive.
By default manual pages for all architectures are installed.
Therefore this option can be used to view pages for one architecture
whilst using another.
This option overrides the MACHINE
environment variable.
[-s
] section
Only select manuals from the specified section . The
currently available sections are:
1
General commands (tools and utilities).
2
System calls and error numbers.
3
Library functions.
3p
perl(1) programmer's reference guide.
4
Device drivers.
5
File formats.
6
Games.
7
Miscellaneous information.
8
System maintenance and operation commands.
9
Kernel internals.
-w
List the pathnames of all matching manual pages instead of displaying any
of them. If no name is given, list the directories
that would be searched.
The options -IKOTW
are also supported and
are documented in mandoc(1). The options
-fkl
are mutually exclusive and override each
other.
The search starts with the -m
argument if
provided, then continues with the -M
argument, the
MANPATH
variable, the
manpath
entries in the man.conf(5)
file, or with
/usr/share/man :/usr/X11R6/man :/usr/local/man
by default. Within each of these, directories are searched in the order
provided. Within each directory, the search proceeds according to the
following list of sections: 1, 8, 6, 2, 3, 5, 7, 4, 9, 3p. The first match
found is shown.
The mandoc.db(5) database is used for looking up
manual page entries. In cases where the database is absent, outdated, or
corrupt, man
falls back to looking for files called
name .section . If both a
formatted and an unformatted version of the same manual page, for example
cat1/foo.0 and man1/foo.1 ,
exist in the same directory, only the unformatted version is used. The
database is kept up to date with makewhatis(8), which is
run by the weekly(8) maintenance script.
Guidelines for writing man pages can be found in
mdoc(7).
ENVIRONMENT
MACHINE
As some manual pages are intended only for specific architectures,
man
searches any subdirectories, with the same
name as the current architecture, in every directory which it searches.
Machine specific areas are checked before general areas. The current
machine type may be overridden by setting the environment variable
MACHINE
to the name of a specific architecture, or
with the -S
option.
MACHINE
is case insensitive.
Any non-empty value of the environment variable
MANPAGER
is used instead of the standard
pagination program, less(1). If
less(1) is used, the interactive
:t
command can be used to go to the definitions of
various terms, for example command line options, command modifiers,
internal commands, environment variables, function names, preprocessor
macros, errno(2) values, and some other emphasized
words. Some terms may have defining text at more than one place. In that
case, the less(1) interactive commands
t
and T
can be used to
move to the next and to the previous place providing information about the
term last searched for with :t
. The
-O
tag
[=term ] option documented
in the mandoc(1) manual opens a manual page at the
definition of a specific term rather than at the
beginning.
MANPATH
Override the standard search path which is either specified in
man.conf(5) or the default path. The format of
MANPATH
is a colon
(‘:
’) separated list of directories.
Invalid directories are ignored. Overridden by -M
,
ignored if -l
is specified.
If MANPATH
begins with a colon, it is
appended to the standard path; if it ends with a colon, it is prepended
to the standard path; or if it contains two adjacent colons, the
standard path is inserted between the colons.
Specifies the pagination program to use when
MANPAGER
is not defined. If neither PAGER nor
MANPAGER is defined, less(1) is used.
FILES
/etc/man.conf
default man
configuration file
EXIT
STATUS
The man
utility exits 0 on success,
and >0 if an error occurs. See mandoc(1) for
details.
EXAMPLES
Format a page for pasting extracts into an email message —
avoid printing any UTF-8 characters, reduce the width to ease quoting in
replies, and remove markup:
$ man -T ascii -O width=65 pledge |
col -b
Read a typeset page in a PDF viewer:
$ MANPAGER=mupdf man -T pdf
lpd
SEE
ALSO
apropos(1), col(1),
mandoc(1), ul(1),
whereis(1), man.conf(5),
mdoc(7)
STANDARDS
The man
utility is compliant with the
IEEE Std 1003.1-2008 (“POSIX.1”)
specification.
The flags [-aCcfhIKlMmOSsTWw
], as well as
the environment variables MACHINE
,
MANPAGER
, and MANPATH
, are
extensions to that specification.
HISTORY
A man
command first appeared in
Version 2 AT&T UNIX .
The -w
option first appeared in
Version 7 AT&T UNIX ;
-f
and -k
in
4BSD ; -M
in
4.3BSD ; -a
in
4.3BSD-Tahoe ; -c
and
-m
in 4.3BSD-Reno ;
-h
in 4.3BSD-Net/2 ;
-C
in NetBSD 1.0 ;
-s
and -S
in
OpenBSD 2.3 ; and -I
,
-K
, -l
,
-O
, and -W
in
OpenBSD 5.7 . The -T
option
first appeared in AT&T System III UNIX
and was also added in OpenBSD 5.7 .
Tag emulation mode.
Program: GraphViz
dot layout
<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:
// sudo apt install graphviz
$wgExternalDataSources [ 'graphviz' ] = 'Media' ;
to your LocalSettings.php
.
Example1
Жизнь
cluster_earthly
Земная
cluster_legal
Юридическая
cluster_heavenly
Загробная
Зачатие
Зачатие
Аборт
Аборт
Зачатие->Аборт
Рождение
Рождение
Зачатие->Рождение
Смерть
Смерть
Аборт->Смерть
Юность
Юность
Рождение->Юность
Зрелость
Зрелость
Юность->Зрелость
Юность->Смерть
Старость
Старость
Зрелость->Старость
Зрелость->Смерть
Старость->Смерть
Ад
Ад
Смерть->Ад
Рай
Рай
Смерть->Рай
<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 sudo wget https://downloads.sourceforge.net/project/plantuml/plantuml.jar -P /usr/share/java
Add // PlantUML
// sudo wget https://downloads.sourceforge.net/project/plantuml/plantuml.jar -P /usr/share/java
// wget http://beta.plantuml.net/plantuml-jlatexmath.zip && sudo unzip plantuml-jlatexmath.zip -d /usr/share/java
$wgExternalDataSources [ 'plantuml' ] = 'Media' ;
to your LocalSettings.php
.
User User A A B B DoWork Internal call «createRequest» RequestCreated Done
{{#get_file_data:}}
+ {{#get_program_data:}}
Диаграмма классов
обход директории
вызов dot
{{#tag:graphviz|digraph "Иерархия классов"{
rankdir {{=}} RL;
node [shape {{=}} rect, fontsize = 8];
{{#for_external_table:|{{#if:{{{class|}}}|{{#if:{{{abstract|}}}|{{{class}}}[color = gray];}}
{{{class}}}{{#if:{{{base|}}}|->{{{base}}}}};}}
| directory = directory
| file name = *.php
| regex = /^\s*(?<abstract>abstract)?\s*class\s+(?<class>\w+)(\s+extends\s*(?<extends>\w+))?/m
| data = file=__file,abstract=abstract,class=class,base=extends
}}
}|layout=dot}}
Add // GraphViz:
// sudo apt install graphviz
$wgExternalDataSources [ 'graphviz' ] = 'Media' ;
// Class hierarchy. // {{#get_dir_data:}} + {{#get_program_data:}}
$wgExternalDataSources [ 'directory' ] = 'Test' ;
to LocalSettings.php
Иерархия классов
EDParserFunctions
EDParserFunctions
EDScribunto
EDScribunto
Scribunto_LuaLibraryBase
Scribunto_LuaLibraryBase
EDScribunto->Scribunto_LuaLibraryBase
EDConnectorPreparedOdbc
EDConnectorPreparedOdbc
EDConnectorPrepared
EDConnectorPrepared
EDConnectorPreparedOdbc->EDConnectorPrepared
EDConnectorDb
EDConnectorDb
EDConnectorPrepared->EDConnectorDb
EDConnectorDirectory
EDConnectorDirectory
EDConnectorPath
EDConnectorPath
EDConnectorDirectory->EDConnectorPath
EDConnectorBase
EDConnectorBase
EDConnectorPath->EDConnectorBase
EDConnectorPreparedPostgresql
EDConnectorPreparedPostgresql
EDConnectorPreparedPostgresql->EDConnectorPrepared
EDConnectorFile
EDConnectorFile
EDConnectorFile->EDConnectorPath
EDConnectorWeb
EDConnectorWeb
EDConnectorHttp
EDConnectorHttp
EDConnectorWeb->EDConnectorHttp
EDConnectorHttp->EDConnectorBase
EDConnectorDb->EDConnectorBase
EDConnectorSoap
EDConnectorSoap
EDConnectorSoap->EDConnectorHttp
EDConnectorRdbms
EDConnectorRdbms
EDConnectorComposed
EDConnectorComposed
EDConnectorRdbms->EDConnectorComposed
EDConnectorComposed->EDConnectorDb
EDConnectorExe
EDConnectorExe
EDConnectorExe->EDConnectorBase
EDConnectorSqlite
EDConnectorSqlite
EDConnectorSqlite->EDConnectorRdbms
EDConnectorSql
EDConnectorSql
EDConnectorSql->EDConnectorRdbms
EDConnectorLdap
EDConnectorLdap
EDConnectorLdap->EDConnectorBase
EDConnectorDirectoryWalker
EDConnectorDirectoryWalker
EDConnectorDirectoryWalker->EDConnectorDirectory
EDConnectorDummy
EDConnectorDummy
EDConnectorDummy->EDConnectorBase
EDConnectorInline
EDConnectorInline
EDConnectorInline->EDConnectorBase
EDConnectorOdbcMssql
EDConnectorOdbcMssql
EDConnectorOdbc
EDConnectorOdbc
EDConnectorOdbcMssql->EDConnectorOdbc
EDConnectorOdbc->EDConnectorComposed
EDConnectorPostgresql
EDConnectorPostgresql
EDConnectorPostgresql->EDConnectorRdbms
EDConnectorMongodb
EDConnectorMongodb
EDConnectorMongodb->EDConnectorComposed
EDConnectorPreparedMysql
EDConnectorPreparedMysql
EDConnectorPreparedMysql->EDConnectorPrepared
EDReparseJob
EDReparseJob
Job
Job
EDReparseJob->Job
EDArraySlice
EDArraySlice
Test
Test
Base
Base
Test->Base
Reference
Reference
Reference->Base
Media
Media
Media->Base
EDParserXMLwithXPath
EDParserXMLwithXPath
EDParserXML
EDParserXML
EDParserXMLwithXPath->EDParserXML
EDParserBase
EDParserBase
EDParserXML->EDParserBase
EDParserXMLsimple
EDParserXMLsimple
EDParserXMLsimple->EDParserXML
EDParserAuto
EDParserAuto
EDParserAuto->EDParserBase
EDParserZip
EDParserZip
EDParserArchive
EDParserArchive
EDParserZip->EDParserArchive
EDParserArchive->EDParserBase
EDParserText
EDParserText
EDParserText->EDParserBase
EDParserHTMLwithXPath
EDParserHTMLwithXPath
EDParserHTMLwithXPath->EDParserXMLwithXPath
EDParserYAMLwithJSONPath
EDParserYAMLwithJSONPath
EDParserJSONwithJSONPath
EDParserJSONwithJSONPath
EDParserYAMLwithJSONPath->EDParserJSONwithJSONPath
EDParserJSON
EDParserJSON
EDParserJSONwithJSONPath->EDParserJSON
EDParserPhar
EDParserPhar
EDParserPhar->EDParserArchive
EDParserJSONsimple
EDParserJSONsimple
EDParserJSONsimple->EDParserJSON
EDParserJSON->EDParserBase
EDParserHTMLwithCSS
EDParserHTMLwithCSS
EDParserHTMLwithCSS->EDParserHTMLwithXPath
EDParserCSV
EDParserCSV
EDParserCSV->EDParserBase
EDParserGFF
EDParserGFF
EDParserGFF->EDParserBase
EDParserException
EDParserException
Exception
Exception
EDParserException->Exception
EDParserIni
EDParserIni
EDParserIni->EDParserBase
EDParserYAMLsimple
EDParserYAMLsimple
EDParserYAMLsimple->EDParserJSONsimple
EDParserRar
EDParserRar
EDParserRar->EDParserArchive
EDParserRegex
EDParserRegex
EDParserRegex->EDParserBase
EDDependencyException
EDDependencyException
EDDependencyException->Exception
EDJsonObject
EDJsonObject
ExternalDataHooks
ExternalDataHooks
EDGetData
EDGetData
SpecialPage
SpecialPage
EDGetData->SpecialPage
<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 sudo apt install gnuplot
and cd /var/www/js && mkdir gnuplot && cd gnuplot && wget http://gnuplot.sourceforge.net/demo_svg_5.4/gnuplot_svg.js
Add // gnuplot
// sudo apt install gnuplot
// cd /var/www/js && mkdir gnuplot && cd gnuplot && wget http://gnuplot.sourceforge.net/demo_svg_5.4/gnuplot_svg.js
$wgExternalDataSources [ 'gnuplot' ] = 'Media' ;
to your LocalSettings.php
.
gnuplot
Produced by GNUPLOT 6.0 patchlevel 0
gnuplot_plot_1
gnuplot_plot_2
cos(u)*cos(v),cos(u)*sin(v),sin(u)
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
-1
-0.75
-0.5
-0.25
0
0.25
0.5
0.75
1
Parametric Sphere