Commit graph

8 commits

Author SHA1 Message Date
alex4401 b73fe26c29 Extract description algorithm into a new class
Separating the extract algorithm from integration code. This results in a slightly cleaner code structure (at least in my opinion) and enables adding alternate algorithms without devolving into spaghetti.

The DescriptionProvider (name of the new base interface) is exposed as a service through dependency injection to avoid factories. The implementation can be swapped at service instantiation time.

Depends-On: I73c61ce045dcf31ac1ca5888f1548de8fd8b56ff
Change-Id: I97fd065c9554837747021ba9fff26005e33270f4
2024-01-12 08:24:19 +00:00
alex4401 43eb47183e Switch to hook handlers and inject ConfigFactory
Moving hooks into a separate class, and using dependency injection for configuration. Due to hook interfaces being added in MW 1.35, this change also raises the MediaWiki requirement to >1.35.0.

This patch is a part of my RemexHtml deriver chain (split into multiple patches to avoid a single commit altering almost the entirety of the codebase), which raises the floor to 1.38 later. There's not really a point in merging this if the rest of the patch chain is declined.

Depends-On: I484feeb51beab0c2e06c9f958a1c15c40853b967
Change-Id: I73c61ce045dcf31ac1ca5888f1548de8fd8b56ff
2024-01-11 22:44:02 +00:00
C. Scott Ananian b269304773 ParserOutput::getPageProperty() now returns null when key is missing.
The return value of ParserOutput::getPageProperty() has transitioned
to returning `null` instead of `false` when the page property is missing.

Bug: T301915
Depends-On: Iaa25c390118d2db2b6578cdd558f2defd5351d15
Change-Id: I31d4115d75e080bb0177f30b2acf55ca2525a19d
2022-02-16 19:33:00 -05:00
C. Scott Ananian 84276905bc Update uses of ParserOutput::getPageProperty() to handle new return value
The return value of ParserOutput::getPageProperty() will transition to
returning `null` instead of `false` when the page property is missing.

Bug: T301915
Change-Id: Id95dbdd427310e4e1cf40330b149adfe2b68f848
2022-02-16 19:31:35 -05:00
Umherirrender 6d3b7ce782 Replace deprecated ParserOutput::getProperty
Change-Id: I9278120212bcd0c003af899ce9602c292edac947
2022-02-06 13:11:38 +01:00
C. Scott Ananian 70325b3952 Remove <metadesc>
The {{description2}} parser function is still present. The <metadesc>
hooks was just added "so that Description2 can be used as a
replacement for Extension:MetaDescriptionTag", but MW 1.35 deprecated
and 1.36 removed support for Parser::setFunctionTagHook.

Bug: T236809
Change-Id: I53710f0d0a7bc8de4a3404b6df9ccbd1381cf36d
2020-08-26 18:47:07 -04:00
libraryupgrader 06229d23c4 build: Updating mediawiki/mediawiki-codesniffer to 18.0.0
The following sniffs now pass and were enabled:
* MediaWiki.Commenting.LicenseComment.InvalidLicenseTag

Change-Id: I6d9d49895a44890710017d55401618735f43337e
2018-04-14 00:16:14 +00:00
Sam Wilson 74dfa5fdd9 Add composer for CI, and fix CS errors
Also move class to its own namespace.

Bug: T183532
Change-Id: I5a89efd3f162d73e247543c86967562a949a3bf4
2017-12-22 08:01:33 +00:00
Renamed from Description2.class.php (Browse further)