Sometimes it's required or at least a good option to have a cite this page
link on pages, that aren't content pages (like the project namespace).
This change adds a new configuration option for this extensions to allow to
add namespaces as namespaces that should have a cite this page link, even if
they're not a content page.
Bug: T150053
Change-Id: I2523bd9124ab8998a7c327d8045d7585d4dcf8b4
The main goal of this rewrite is to not use or mess with any global
state.
The ParserGetVariableValueTs and ParserGetVariableValueVarCache hooks
were replaced with setting the timestamp via
ParserOptions::setTimestamp(). This also means that {{#time:...}} from
ParserFunctions extension will correctly use the page's timestamp
instead of the current one.
Disabling tidy is also done using ParserOptions instead of changing
global state.
Change-Id: Ib2810aa5891c57831380a1a4718656cc09932b96
The SkinTemplateToolboxEnd hook is nasty and requires echo-ing raw HTML.
It also has the problem that if there are any other extensions using
that hook, the CiteThisPage link will easily end up in the wrong place
and under the wrong heading.
This is trivial to fix though by using the BaseTemplateToolbox hook,
which is designed for actually adding links to the toolbox!
Bug: T140290
Change-Id: I9557130c40e17edc12a225a3b7b1cdec028f93d0
Style modules currently added through addModuleStyles default
to being in the head ("top" position). This is an unhealthy default,
since only critical styles that are needed at pageload should be
in the head. In order to be able to switch the default to "bottom",
existing module positions have to be defined explicitly.
Bug: T97410
Change-Id: I6831621bf4d684c84e5e77fa8bfb18f6a20f3b7d