Bmansurov has uploaded a new change for review.
https://gerrit.wikimedia.org/r/309202
Change subject: WIP: Show the lead section first paragraph before infoboxes
......................................................................
WIP: Show the lead section first paragraph before infoboxes
Proof of concept using MobileFormatter.
DO NOT MERGE.
Bug: T143803
Change-Id: Ic57b02b1db6f7d0c37a5526fe69c1c2e3f269fc6
---
M extension.json
M includes/MobileFormatter.php
2 files changed, 34 insertions(+), 9 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend
refs/changes/02/309202/1
diff --git a/extension.json b/extension.json
index ba9b3ea..6e96863 100644
--- a/extension.json
+++ b/extension.json
@@ -1998,6 +1998,10 @@
"beta": [],
"base": []
},
+ "MFShowFirstParagraphBeforeInfobox": {
+ "base": false,
+ "beta": true
+ },
"MFLazyLoadImages": {
"base": false,
"beta": true
diff --git a/includes/MobileFormatter.php b/includes/MobileFormatter.php
index 67d0cc9..6313012 100644
--- a/includes/MobileFormatter.php
+++ b/includes/MobileFormatter.php
@@ -128,8 +128,11 @@
$isSpecialPage = $this->title->isSpecialPage();
$mfRemovableClasses = $config->get( 'MFRemovableClasses' );
$removableClasses = $mfRemovableClasses['base'];
+ $mfShowFirstSectionBeforeInfobox = $config->get(
'MFShowFirstParagraphBeforeInfobox' );
+ $showFirstSectionBeforeInfobox =
$mfShowFirstSectionBeforeInfobox[ 'base' ];
if ( $ctx->isBetaGroupMember() ) {
$removableClasses = array_merge( $removableClasses,
$mfRemovableClasses['beta'] );
+ $showFirstSectionBeforeInfobox =
$mfShowFirstSectionBeforeInfobox[ 'beta' ];
}
// Don't remove elements in special pages
@@ -141,7 +144,11 @@
$this->doRemoveImages();
}
- $transformOptions = [ 'images' => $removeImages, 'references'
=> $removeReferences ];
+ $transformOptions = [
+ 'images' => $removeImages,
+ 'references' => $removeReferences,
+ 'showFirstSectionBeforeInfobox' =>
$showFirstSectionBeforeInfobox
+ ];
// Sectionify the content and transform it if necessary per
section
if ( !$this->mainPage && $this->expandableSections ) {
list( $headings, $subheadings ) = $this->getHeadings(
$doc );
@@ -174,6 +181,15 @@
if ( $options['references'] ) {
$this->doRewriteReferencesListsForLazyLoading( $el,
$doc );
}
+ }
+
+ /*
+ * Move the first paragraph from the section above the first infobox
+ *
+ * @param DOMElement $sectionBody
+ */
+ private function showFirstSectionBeforeInfobox( $sectionBody ) {
+
}
/**
@@ -456,14 +472,19 @@
// Insert the previous section body and reset
it for the new section
$body->insertBefore( $sectionBody, $node );
- if ( $sectionNumber === 0 &&
$this->isTOCEnabled ) {
- // Insert table of content placeholder
which will be progressively enhanced via JS
- $toc = $doc->createElement( 'div' );
- $toc->setAttribute( 'id', 'toc' );
- $toc->setAttribute( 'class',
'toc-mobile' );
- $tocHeading = $doc->createElement(
'h2', wfMessage( 'toc' )->text() );
- $toc->appendChild( $tocHeading );
- $sectionBody->appendChild( $toc );
+ if ( $sectionNumber === 0 ) {
+ if ( $this->isTOCEnabled ) {
+ // Insert table of content
placeholder which will be progressively enhanced via JS
+ $toc =
$doc->createElement('div');
+ $toc->setAttribute('id', 'toc');
+ $toc->setAttribute('class',
'toc-mobile');
+ $tocHeading =
$doc->createElement('h2', wfMessage('toc')->text());
+ $toc->appendChild($tocHeading);
+ $sectionBody->appendChild($toc);
+ }
+ if ( $transformOptions[
'showFirstSectionBeforeInfobox' ] ) {
+
$this->showFirstSectionBeforeInfobox( $sectionBody );
+ }
}
$sectionNumber += 1;
$sectionBody = $doc->createElement( 'div' );
--
To view, visit https://gerrit.wikimedia.org/r/309202
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic57b02b1db6f7d0c37a5526fe69c1c2e3f269fc6
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Bmansurov <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits