It might be (more) feasible to use Lua (and Extension:Scribunto) for this, or even just templates more generally, as this allows one to define on-wiki mechanisms dynamically in a more flexible way.

(I've not fully read the thread, apologies if this is incompatible with a requirement, I thought I'd mention it as it seemed likely to be of use.)

On Sun, Apr 18, 2021 at 2:40 PM FreedomFighterSparrow <FreedomFighterSparrow@gmail.com> wrote:
My use case is this:

I have three alternative access points to the wiki, where some things
are not allowed - e.g. videos. Each access point has different
extensions disabled, and then tags and parser functions show "as is" on
screen, which looks bad.

My goal is to hide those, obviously.

I'm upgrading MW from 1.29 to 1.35; My previous solution is here:
https://github.com/kolzchut/mediawiki-extensions-NoopTags

Basically I hooked ParserFirstCallInitHook and LanguageGetMagic to
dynamically declare empty stubs for those missing function parsers and
tags, using global variables $wgNoopTagsFunctionBlacklist and
$wgNoopTagsBlacklist.


This doesn't work in MW 1.35, because LanguageGetMagic was removed. I
tried bypassing the issue by hooking GetMagicVariableIDsHook, but
apparently that's only for "variables" ({{variable}}), and not parser
functions.

Is there a way to achieve my goal? Either by fixing my extension or
doing something completely different which I haven't thought about?

Thanks in advance
Dror


_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l