mediawiki/extensions/examples - Gitiles

Examples for how to create an extension. This is not the repo to test out git/gerrit, for that please see the test/* projects.

Clone this repo:
  1. b0bdb7c selenium: Replace Node.js Assert library with WebdriverIO Expect library by Željko Filipin · 5 days ago master
  2. 023ce94 resources: Make bug slightly easier to find by Timo Tijhof · 8 days ago
  3. 80da06a Merge "selenium: Add links to Selenium/How-to/Create the first test in a repository" by jenkins-bot · 8 weeks ago
  4. 6190a77 build: Updating micromatch to 4.0.8 by libraryupgrader · 8 weeks ago
  5. 14d0478 selenium: Add links to Selenium/How-to/Create the first test in a repository by Željko Filipin · 8 weeks ago

Example extension for MediaWiki

The Examples extension is a collection of small example features that implement common extension interfaces in MediaWiki.

The basic structure of this repository is based on the BoilerPlate extension.

Usage

This repository is for reading, and contains verbose guidances and comments along the way. You can freely copy snippets from here. To start your own extension, it is recommended to copy the BoilerPlate extension instead.

Testing

This extension implements the recommended entry points of Wikimedia CI for PHP and Front-end projects.

Before you can test and build code locally, you need:

PHP

To run the PHP code checks and unit tests:

  • Run composer update

This will install testing software to vendor/ in the current directory.

Now, run compose test whenever you want to run the automated checks and tests.

Front-end

To run the checks for JavaScript, JSON, and CSS:

  • Run npm install

This will intall testing software to node_modules/ in the current directory/

Now, run npm test to run the automated front-end code checks..

Contributing

git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/examples.git

Known issues

  • TODO comments in this repo are left on purpose.

    You're welcome to follow the excercises and try to fix these locally, save it as patch, and upload such commit as a patch on Gerrit.

    However, please do not merge such patches, so that the next person can follow the excercise too.