[MediaWiki-commits] [Gerrit] mediawiki...Vector[master]: Feature flagged print styles

2017-07-21 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/366173 )

Change subject: Feature flagged print styles
..


Feature flagged print styles

These are feature flagged to allow editors to test before making
them the default. A class is added to the body tag to allow us
to switch between old and new styles at a later date.

To start with we introduce some typography improvements.
Further iterations will focus on other elements.

Changes:
* headings were previously diluted in the body content and difficult to spot.
This evens out the spacing between last content and its own content block.
* clear ownership of s with its heading
* We would like to match Latex style body typography with single column.
The new styles reduce the number of pages by around 20-25%
* hyperlink underline -
This is a community requested feature. We do not use color in print styles
because it's printer friendly. Because of this, it is not possible to indicate
blue links in articles. If a user wants to know if this article exists on 
wikipedia,
it's not possible given solution.
We would like to underline the  tags in print styles.
it's better for accessibility as well.

Bug: T169823
Change-Id: I453ae43099796a74c39d965b796f2fa13942106c
---
M SkinVector.php
A print.less
M skin.json
3 files changed, 112 insertions(+), 0 deletions(-)

Approvals:
  Bmansurov: Looks good to me, approved
  jenkins-bot: Verified
  Phuedx: Looks good to me, but someone else must approve



diff --git a/SkinVector.php b/SkinVector.php
index 1733bb6..b0915aa 100644
--- a/SkinVector.php
+++ b/SkinVector.php
@@ -40,6 +40,15 @@
$this->vectorConfig = 
ConfigFactory::getDefaultInstance()->makeConfig( 'vector' );
}
 
+   /** @inheritdoc */
+   public function getPageClasses( $title ) {
+   $className = parent::getPageClasses( $title );
+   if ( $this->vectorConfig->get( 'VectorExperimentalPrintStyles' 
) ) {
+   $className .= ' vector-experimental-print-styles';
+   }
+   return $className;
+   }
+
/**
 * Enables the responsive mode
 */
@@ -63,6 +72,14 @@
$this->enableResponsiveMode();
}
 
+   // Print styles are feature flagged.
+   // This flag can be removed when T169732 is resolved.
+   if ( $this->vectorConfig->get( 'VectorExperimentalPrintStyles' 
) ) {
+   // Note, when deploying (T169732) we'll want to fold 
the stylesheet into
+   // skins.vector.styles and remove this module 
altogether.
+   $out->addModuleStyles( 
'skins.vector.styles.experimental.print' );
+   }
+
$out->addModules( 'skins.vector.js' );
}
 
diff --git a/print.less b/print.less
new file mode 100644
index 000..8e6021d
--- /dev/null
+++ b/print.less
@@ -0,0 +1,86 @@
+@pureBlack: #000;
+
+@media print {
+
+   .vector-experimental-print-styles {
+   &body {
+   padding: 10px;
+   font-family: serif;
+   }
+
+   // Normalize Blue links in the article
+   a {
+   border-bottom: 1px solid #aaa;
+   }
+
+   .firstHeading {
+   font-size: 25pt;
+   line-height: 28pt;
+   margin-bottom: 20px;
+   padding-bottom: 5px;
+   }
+
+   // Headings
+   .firstHeading,
+   h2 {
+   border-bottom: 2px solid @pureBlack;
+   }
+
+   h3,
+   h4,
+   h5,
+   h6 {
+   margin: 30px 0 0;
+   font-family: sans-serif;
+   }
+
+   h2,
+   h3,
+   h4,
+   h5,
+   h6 {
+   padding: 0;
+   position: relative;
+   }
+
+   h2 {
+   font-size: 18pt;
+   line-height: 24pt;
+   margin-bottom: 0.25em;
+   }
+
+   h3 {
+   font-size: 13pt;
+   line-height: 20pt;
+   }
+
+   h4,
+   h5,
+   h6 {
+   font-size: 10pt;
+   line-height: 15pt;
+   }
+
+   p {
+   font-size: 10pt;
+   line-height: 16pt;
+   margin-top: 5px;
+   text-align: justify;
+   }
+
+   blockquote {
+   border-left: 2px solid @pureBlack;
+   padding-left: 20px;
+   }
+

[MediaWiki-commits] [Gerrit] mediawiki...Vector[master]: Feature flagged print styles

2017-07-18 Thread Jdlrobson (Code Review)
Jdlrobson has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/366173 )

Change subject: Feature flagged print styles
..

Feature flagged print styles

These are feature flagged to allow editors to test before making
them the default. A class is added to the body tag to allow us
to switch between old and new styles at a later date.

To start with we introduce some typography improvements.
Further iterations will focus on other elements.

Bug: T169823
Change-Id: I453ae43099796a74c39d965b796f2fa13942106c
---
M SkinVector.php
A print.less
M skin.json
3 files changed, 116 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/skins/Vector 
refs/changes/73/366173/1

diff --git a/SkinVector.php b/SkinVector.php
index 1733bb6..07dd060 100644
--- a/SkinVector.php
+++ b/SkinVector.php
@@ -40,6 +40,15 @@
$this->vectorConfig = 
ConfigFactory::getDefaultInstance()->makeConfig( 'vector' );
}
 
+   /** @inheritdoc */
+   public function getPageClasses( $title ) {
+   $className = parent::getPageClasses( $title );
+   if ( $this->vectorConfig->get( 'VectorExperimentalPrintStyles' 
) ) {
+   $className .= ' vector-print-styles';
+   }
+   return $className;
+   }
+
/**
 * Enables the responsive mode
 */
@@ -63,6 +72,12 @@
$this->enableResponsiveMode();
}
 
+   // Print styles are feature flagged.
+   // This flag can be removed when T154965 is resolved.
+   if ( $this->vectorConfig->get( 'VectorExperimentalPrintStyles' 
) ) {
+   $out->addModuleStyles( 'skins.vector.print.styles' );
+   }
+
$out->addModules( 'skins.vector.js' );
}
 
diff --git a/print.less b/print.less
new file mode 100644
index 000..b0160d4
--- /dev/null
+++ b/print.less
@@ -0,0 +1,92 @@
+@pureBlack: #000;
+
+@media print {
+   body.vector-print-styles {
+   padding: 10px;
+   font-family: serif;
+   }
+
+   .vector-print-styles {
+
+   // Normalize Blue links in the article
+   a {
+   border-bottom:1px solid #aaa;
+   }
+
+
+   .firstHeading {
+   font-size: 25pt;
+   line-height: 28pt;
+   margin-bottom: 20px;
+   padding-bottom: 5px;
+   }
+
+   // Headings
+   .firstHeading,
+   > h2 {
+   border-bottom: 2px solid @pureBlack;
+   }
+
+   h3,
+   h4,
+   h5,
+   h6 {
+   margin: 30px 0 0;
+   font-family: sans-serif;
+   }
+
+   h2,
+   h3,
+   h4,
+   h5,
+   h6 {
+   page-break-before: avoid;
+   display: block;
+   padding: 0;
+   position: relative;
+   }
+
+   h2 {
+   font-size: 18pt;
+   line-height: 24pt;
+   margin-bottom: 0.25em;
+   overflow: hidden;
+   }
+
+   h3 {
+   font-size: 13pt;
+   line-height: 20pt;
+   }
+
+   h4,
+   h5,
+   h6 {
+   font-size: 10pt;
+   line-height: 15pt;
+   }
+
+   p {
+   font-size: 10pt;
+   line-height: 16pt;
+   margin-top: 5px;
+   text-align: justify;
+   }
+
+   blockquote {
+   border-left: 2px solid @pureBlack;
+   padding-left: 20px;
+   }
+
+   ul {
+   list-style-type: square;
+   margin: .3em 0 0 1.6em;
+   padding: 0;
+   margin-top: 10px;
+
+   li {
+   padding: 5px 0;
+   font-size: 10pt;
+   }
+   }
+   }
+}
diff --git a/skin.json b/skin.json
index 3f016a7..b96f87c 100644
--- a/skin.json
+++ b/skin.json
@@ -48,6 +48,13 @@
}
}
},
+   "skins.vector.print.styles": {
+   "targets": [ "desktop", "mobile" ],
+   "position": "top",
+   "styles": [
+   "print.less"
+   ]
+   },
"skins.v