Current configuration on the wiki
Find a file
Roan Kattouw 8a39d83175 Codex: Allow a local development version to be used
Developers can use this to test their local version of Codex with
MediaWiki by pointing $wgCodexDevelopmentDir to their local clone of the
Codex repo, e.g. $wgCodexDevelopmentDir = '/home/yourname/git/codex';

Setting $wgCodexDevelopmentDir affects where the following things come
from:
- Codex JS/CSS files for the full library
- Codex JS/CSS files for code-split chunks, and the manifest.json file
  that points to them
- Icons retrieved by CodexModule::getIcons()
- CSS-only icons imported in Less
- Design tokens imported in Less

Other changes in this patch:
- Add CodexModule::makeFilePath() to centralize the repeated path
  concatenation. This makes it easier to switch out the regular path for
  the dev mode path.
- Replace all uses of $IP (which is deprecated) and MW_INSTALL_PATH in
  CodexModule with the BaseDirectory config setting.
- Make CodexModule::getIcons() reset its static cache if the path to the
  icons file changes. Without this, it's impossible to make the unit
  tests pass.
- Move the i18n messages code from the CodexModule constructor to
  getMessages(). It can't be in the constructor because makeFilePath()
  doesn't work there (it fails because the Config object hasn't been set
  up yet).
- Add a 'mediawiki.skin.codex' import path so that we can stop
  hard-coding the path to the Codex mixins file. Without this, we can't
  make the Codex mixins come from the right place in development mode.
- Consider $wgCodexDevelopmentDir in setting the cache key for compiled
  Less code, since changing this setting can change the output of Less
  compilation (by changing design tokens, icons or mixins).
- Add unit tests for (the non-dev mode behavior of)
  CodexModule::getIcons() and the i18n message key handling.

Bug: T314507
Change-Id: I11c6a81a1ba34fe10f4b1c98bf76f0db40c1ce98
2024-08-22 17:20:24 -07:00
.phan Alias Parsoid DOM nodes to PHP DOM implementation 2024-05-22 10:35:02 -04:00
cache Update Apache config syntax in .htaccess files 2024-03-23 23:36:31 -04:00
docs Codex: Allow a local development version to be used 2024-08-22 17:20:24 -07:00
extensions docs: Don't point people to deprecated Diffusion copies of gerrit repos 2023-04-03 10:27:57 -04:00
images Set "X-Content-Type-Options: nosniff" header in images/.htaccess 2023-02-24 23:59:22 -05:00
includes Codex: Allow a local development version to be used 2024-08-22 17:20:24 -07:00
languages Localisation updates from https://translatewiki.net. 2024-08-12 07:33:18 +00:00
maintenance Consolidate Maintenance 'includes' code in one place 2024-08-11 18:09:08 +02:00
mw-config Remove superfluous spaces 2024-07-03 04:24:59 +00:00
resources Codex: Allow a local development version to be used 2024-08-22 17:20:24 -07:00
skins docs: Don't point people to deprecated Diffusion copies of gerrit repos 2023-04-03 10:27:57 -04:00
tests Codex: Allow a local development version to be used 2024-08-22 17:20:24 -07:00
.dockerignore
.editorconfig Fix .editorconfig for tests/parser/ directory 2024-02-27 17:35:16 +01:00
.eslintignore Codex: Allow a local development version to be used 2024-08-22 17:20:24 -07:00
.eslintrc.json
.fresnel.yml Add explanatory comment for .fresnel.yml 2022-02-01 20:32:20 -05:00
.git-blame-ignore-revs Add .git-blame-ignore-revs 2024-06-02 23:03:04 +02:00
.gitattributes .gitattributes: Ship docker-compose.yml to the tarball 2022-11-30 09:37:13 -05:00
.gitignore Merge "maintenance: Remove dev folder" 2024-01-01 20:24:44 +00:00
.gitmessage git: Introduce .gitmessage 2023-05-21 14:20:31 +03:00
.gitreview
.mailmap Swap my main and secondary emails around 2024-06-15 22:38:33 +02:00
.phpcs.xml Ignore/fix MediaWiki.Commenting.PropertyDocumentation.WrongStyle 2024-04-22 18:26:14 +03:00
.stylelintrc.json Login page: Use Codex CSS components 2023-07-06 17:20:17 -07:00
.svgo.config.js build: Update SVGO to v3.0.2 2023-06-15 12:24:22 -07:00
.vsls.json build: Upgrade eslint-config-wikimedia from 0.22.1 to 0.24.0 2023-02-07 10:17:30 -05:00
api.php Namespace includes/context 2024-02-08 11:07:01 -05:00
autoload.php Consolidate Maintenance 'includes' code in one place 2024-08-11 18:09:08 +02:00
CODE_OF_CONDUCT.md
composer.json Update composer/semver to 3.4.2 2024-08-11 13:12:00 +02:00
composer.local.json-sample
COPYING Replace HTTP by HTTPS in docs 2017-10-15 11:11:16 +02:00
CREDITS Prepare active branch following REL1_42 cut, labelling as 1.43-alpha 2024-04-08 21:35:12 -04:00
DEVELOPERS.md Codex: Allow a local development version to be used 2024-08-22 17:20:24 -07:00
docker-compose.yml docker-compose.yml: Remove obsolete version element 2024-05-14 07:49:57 +00:00
FAQ
Gruntfile.js Merge "codex: Provide i18n function and messages" 2024-07-03 07:06:47 +00:00
HISTORY HISTORY: Add 1.39.8/1.40.4/1.41.2/1.42.1 2024-06-27 16:53:26 +01:00
img_auth.php filerepo: extract AuthenticatedFileEntryPoint from img_auth.php 2024-05-16 13:22:00 +02:00
index.php Namespace includes/context 2024-02-08 11:07:01 -05:00
INSTALL Move ext-openssl from suggest to require 2024-05-05 09:42:06 +00:00
jsdoc.json Update jsdoc-wmf-theme from 1.0.1 to 1.1.0 2024-06-27 19:29:24 +00:00
load.php ResourceLoader: Follow-up creation of ResourceLoaderEntryPoint 2024-02-22 22:30:39 +00:00
opensearch_desc.php Replace direct use of $wgRestPath with wfScript() 2024-07-01 22:01:32 +00:00
package-lock.json Update jsdoc-wmf-theme from 1.0.1 to 1.1.0 2024-06-27 19:29:24 +00:00
package.json Merge "build: alphabetize package.json scripts" 2024-07-05 00:39:07 +00:00
phpunit.xml.dist phpunit: Determine what extensions to load in unit tests via config 2023-09-25 23:03:48 +00:00
README.md docs: Link to "Local development quickstart" in README 2024-01-22 13:58:11 +00:00
RELEASE-NOTES-1.43 Update composer/semver to 3.4.2 2024-08-11 13:12:00 +02:00
rest.php Use namespaced classes (1) 2024-06-16 20:18:23 +02:00
SECURITY
thumb.php Use namespaced classes (1) 2024-06-16 20:18:23 +02:00
thumb_handler.php Use namespaced classes (1) 2024-06-16 20:18:23 +02:00
UPGRADE UPGRADE: Update mailing list archive link 2024-04-14 21:36:52 +03:00

MediaWiki

MediaWiki is a free and open-source wiki software package written in PHP. It serves as the platform for Wikipedia and the other Wikimedia projects, used by hundreds of millions of people each month. MediaWiki is localised in over 350 languages and its reliability and robust feature set have earned it a large and vibrant community of third-party users and developers.

MediaWiki is:

  • feature-rich and extensible, both on-wiki and with hundreds of extensions;
  • scalable and suitable for both small and large sites;
  • simple to install, working on most hardware/software combinations; and
  • available in your language.

For system requirements, installation, and upgrade details, see the files RELEASE-NOTES, INSTALL, and UPGRADE.

MediaWiki is the result of global collaboration and cooperation. The CREDITS file lists technical contributors to the project. The COPYING file explains MediaWiki's copyright and license (GNU General Public License, version 2 or later). Many thanks to the Wikimedia community for testing and suggestions.