The single most important feature that must be added to MediaWiki is Global templates. Please click that link. The rest of this user page is not interesting.
My name is Amir Aharoni and in Hebrew it is spelled אמיר אהרוני. It is not really important; I just wrote it to demonstrate how text appears to speakers of Hebrew (עברית) when it is not properly defined as ltr or rtl.
Try selecting the text in the above paragraph with your mouse—it's kinda fun.
My IRC nick is 'aharoni'. I am a strategist in the Language Engineering team, but this is a private account. My official WMF account is Aaharoni-WMF.
You may find some of my humble ~/.bashrc useful. If you copy anything from here, make sure to make adaptations. I make no guarantee that any of this will work on your machine.
# User specific aliases and functionsexportMY_MW=~/devel/core# That's the path for core MediaWiki, and it may be different for youexportGERRIT_USERNAME=amire80# You should put your Gerrit username here# Go to the main branch of the local git repo,# and try to take master/main/stable name variations# into account.# Don't expect it to be universally robust - it works# for the repos with which I work.functiongitmain{gitshow-ref--verify--quietrefs/heads/master
if[$?-eq0];thengitcheckoutmaster;elsegitshow-ref--verify--quietrefs/heads/main
if[$?-eq0];thengitcheckoutmain;elsegitcheckoutstable;fifi}functioncore_clone{gitclonessh://$GERRIT_USERNAME@gerrit.wikimedia.org:29418/mediawiki/core.git$1;}functionext_clone{if[-n"$1"];thengitclonessh://$GERRIT_USERNAME@gerrit.wikimedia.org:29418/mediawiki/extensions/$1;elseecho"Which extension?";fi}functionskin_clone{gitclonessh://$GERRIT_USERNAME@gerrit.wikimedia.org:29418/mediawiki/skins/$1;}functionmwupdate{dockercomposeexecmediawikicomposerupdate;docker-composeexecmediawikiphpmaintenance/update.php;}functionmwstart{dockercomposeup-d;}functionmwstop{dockercomposedown;}functionmwbash{dockercomposeexecmediawikibash;}functionamend{gitcommit-a--amend;}functionamendn{gitcommit-a--amend--no-edit;}functionpull{gitmain&&gitfetchorigin&&gitpull--ff-only;}functionreview{gitfetch--all;gitreview;}functionfetch{gitfetch--all;}functionsquash{gitrebase-iHEAD~$1;}functiongc{gitgc;}functiongood{gitbisectgood;}functionbad{gitbisectbad;}functionbranch{gitcheckout-b$1;}functionext(){cd$MY_MW/extensions/;}functionlamb(){cd$MY_MW/extensions/WikiLambda;}functionmf(){cd$MY_MW/extensions/MobileFrontend;}functionte(){cd$MY_MW/extensions/Translate;}functiontwn(){cd~/devel/translatewiki;}functionulsx(){cd$MY_MW/extensions/UniversalLanguageSelector;}functioncx(){cd$MY_MW/extensions/ContentTranslation;}functioncldr(){cd$MY_MW/extensions/cldr;}functionldata(){cd~/devel/language-data;}functionuls(){cd~/devel/jquery.uls;}functionime(){cd~/devel/jquery.ime;}functioni18n(){cd~/devel/jquery.i18n;}functioncore(){cd$MY_MW/;}functionmint(){cd~/devel/machinetranslation;}functionve(){cd$MY_MW/extensions/VisualEditor;}functionpshs(){python3-mhttp.server;}