Diferència entre revisions de la pàgina «Desenvolupament d'extensions per a MediaWiki»

De binefa.com
Salta a la navegació Salta a la cerca
Línia 22: Línia 22:
 
  ...
 
  ...
 
Font: [https://webjump.ai/en/composer-what-it-is-how-to-use-it-and-how-to-install-it/ Complete guide to PHP Composer: what it is, how to install it, and how to use it to the fullest]
 
Font: [https://webjump.ai/en/composer-what-it-is-how-to-use-it-and-how-to-install-it/ 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
 +
...
  
 
= Creació de l'exensió DemoExension =
 
= Creació de l'exensió DemoExension =

Revisió del 19:23, 9 feb 2025

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
...

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