Desenvolupament d'extensions per a MediaWiki
La revisió el 19:23, 9 feb 2025 per Jordi Binefa (discussió | contribucions) (→Instal·lació de npm)
Contingut
Previ
Heu hagut de seguir les passes de Instal·lació de MediaWiki amb dockers
Instal·lació de PHP Composer
jordi@asix2:~/bin/mediawiki-docker/mediawiki_extensions$ docker exec -it mediawiki bash root@6396f9a287aa:/var/www/html# cd /opt root@6396f9a287aa:/opt# php -r "copy('https://getcomposer.org/installer','composer-setup.php');" root@6396f9a287aa:/opt# php composer-setup.php All settings correct for using Composer Downloading... Composer (version 2.8.5) successfully installed to: /opt/composer.phar Use it: php composer.phar root@6396f9a287aa:/opt# php composer.phar ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 2.8.5 2025-01-21 15:23:40 ...
Font: Complete guide to PHP Composer: what it is, how to install it, and how to use it to the fullest
Instal·lació de npm
Primer hem de saber sobre quina distribució s'ha fet el docker:
root@6396f9a287aa:/opt# cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 12 (bookworm)" NAME="Debian GNU/Linux" VERSION_ID="12" VERSION="12 (bookworm)" VERSION_CODENAME=bookworm ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" root@6396f9a287aa:/opt#
Actualitzem la informació dels dipòsits i instal·lem npm
root@6396f9a287aa:/opt# apt update ... root@6396f9a287aa:/opt# apt install nodejs -y ... root@6396f9a287aa:/opt# node -v v18.19.0 root@6396f9a287aa:/opt# apt install npm -y ... root@6396f9a287aa:/opt# npm -v
Creació de l'exensió DemoExension
jordi@asix2:~/bin/mediawiki-docker$ cd mediawiki_extensions jordi@asix2:~/bin/mediawiki-docker/mediawiki_extensions$ mkdir DemoExtension jordi@asix2:~/bin/mediawiki-docker/mediawiki_extensions$ cd DemoExtension jordi@asix2:~/bin/mediawiki-docker/mediawiki_extensions/DemoExtension$ nano DemoExtension.php jordi@asix2:~/bin/mediawiki-docker/mediawiki_extensions/DemoExtension$ cat DemoExtension.php if(!defined('MEDIAWIKI')){ die("This is a mediawiki extension and cannot be accessed directly."); } $wgExtensionCredits['DemoExtension']['other'] = array( 'path'=>__FILE__, //path of the extension setup file 'name'=>'DemoExtension', // name of extension 'author'=>'Pere Camps i López', //Escriviu aquí el vostre nom 'url'=>'http://www.examsmyantra.com', //extension url where a user can find details about the extension. 'description'=>'Això és una demostració d\'extensió per a MediaWiki.', //description of extension 'version'=>'1.0.0', //version of extension 'licence-name'=>, //name or url to the license under which the extension is released );
- Entreu dins del contenidor i instal·leu-hi l'editor nano:
jordi@asix2:~/bin/mediawiki-docker/mediawiki_extensions/DemoExtension$ docker exec -it mediawiki bash root@5c7c23878ac3:/var/www/html# apt update root@5c7c23878ac3:/var/www/html# apt install nano
- Afegiu al final de LocalSettings.php': require_once "$IP/extensions/DemoExtension/DemoExtension.php";
root@5c7c23878ac3:/var/www/html# nano LocalSettings.php root@5c7c23878ac3:/var/www/html# tail LocalSettings.php wfLoadExtension( 'Interwiki' ); wfLoadExtension( 'Nuke' ); wfLoadExtension( 'WikiEditor' ); # End of automatically generated settings. # Add more configuration options below. require_once "$IP/extensions/DemoExtension/DemoExtension.php"; root@5c7c23878ac3:/var/www/html# exit exit
Font
MediaWiki Extension – How to develop custom extension in MediaWiki