Jakob has uploaded a new change for review. https://gerrit.wikimedia.org/r/293728
Change subject: Show a help dialog. ...................................................................... Show a help dialog. Done: - slide show dialog using OOJS UI - setting a user option to only show it once To Do: - translatable content - images of the slides Bug: T136830 Change-Id: Ia820aecb20aa6b239f1a64dd328683639baf399e --- M .jshintrc M extension.json A modules/ext.RevisionSlider.HelpDialog.js M modules/ext.RevisionSlider.css M modules/ext.RevisionSlider.init.js A resources/ext.RevisionSlider.helpDialog/landscape.svg A resources/ext.RevisionSlider.helpDialog/portrait.svg 7 files changed, 514 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider refs/changes/28/293728/1 diff --git a/.jshintrc b/.jshintrc index 1dea050..78ccf2e 100644 --- a/.jshintrc +++ b/.jshintrc @@ -19,6 +19,7 @@ "$": false, "mediaWiki": false, "jQuery": false, - "QUnit": false + "QUnit": false, + "OO": false } } diff --git a/extension.json b/extension.json index c49ca4f..2f89b5b 100644 --- a/extension.json +++ b/extension.json @@ -31,11 +31,13 @@ "ext.RevisionSlider.Slider", "ext.RevisionSlider.Revision", "ext.RevisionSlider.RevisionList", + "ext.RevisionSlider.HelpDialog", "ext.RevisionSlider.fetchRevisions", "ext.RevisionSlider.arrows.left", "ext.RevisionSlider.arrows.right", "ext.RevisionSlider.pointers.lower", - "ext.RevisionSlider.pointers.upper" + "ext.RevisionSlider.pointers.upper", + "mediawiki.api.options" ], "messages": [ "revisionslider-loading-out-of-range", @@ -163,6 +165,26 @@ "oldid": "resources/ext.RevisionSlider.pointers/pointer-upper-old.svg", "newid": "resources/ext.RevisionSlider.pointers/pointer-upper-new.svg" } + }, + "ext.RevisionSlider.HelpDialog": { + "scripts": [ + "modules/ext.RevisionSlider.HelpDialog.js" + ], + "dependencies": [ + "oojs-ui", + "ext.RevisionSlider.dialogImages" + ] + }, + "ext.RevisionSlider.dialogImages": { + "position": "top", + "class": "ResourceLoaderImageModule", + "selector": ".mw-help-dialog-slide-{name}", + "images": { + "1": "resources/ext.RevisionSlider.helpDialog/landscape.svg", + "2": "resources/ext.RevisionSlider.helpDialog/landscape.svg", + "3": "resources/ext.RevisionSlider.helpDialog/portrait.svg", + "4": "resources/ext.RevisionSlider.helpDialog/landscape.svg" + } } }, "ResourceFileModulePaths": { diff --git a/modules/ext.RevisionSlider.HelpDialog.js b/modules/ext.RevisionSlider.HelpDialog.js new file mode 100644 index 0000000..21697c0 --- /dev/null +++ b/modules/ext.RevisionSlider.HelpDialog.js @@ -0,0 +1,120 @@ +( function ( mw, $ ) { + // JSHint does not like OOJS' usage of "static" and "super" + /*jshint -W024 */ + + var HelpDialog = function ( config ) { + HelpDialog.super.call( this, config ); + }; + + OO.inheritClass( HelpDialog, OO.ui.ProcessDialog ); + + HelpDialog.static.title = 'Revision Slider Tutorial'; + HelpDialog.static.actions = [ + { action: 'next', label: 'Next', flags: [ 'primary', 'progressive' ], modes: [ 'initial', 'middle' ] }, + { action: 'previous', flags: 'safe', label: 'Previous', modes: [ 'middle', 'last' ] }, + { label: 'Close', flags: 'safe', modes: 'initial' }, + { label: 'Close', flags: 'primary', modes: 'last' } + ]; + + $.extend( HelpDialog.prototype, { + slides: [], + slidePointer: 0, + + initialize: function () { + HelpDialog.super.prototype.initialize.call( this ); + + this.slides = [ this.getSlide1(), this.getSlide2(), this.getSlide3(), this.getSlide4() ]; + + this.stackLayout = new OO.ui.StackLayout( { + items: this.slides + } ); + + this.$body.append( this.stackLayout.$element ); + }, + + getSlide1: function () { + var slide = new OO.ui.PanelLayout( { $: this.$, padded: true, expanded: false } ); + + slide.$element.append( '<div class="mw-help-dialog-image-landscape mw-help-dialog-slide-1" />' ) + .append( '<p>The RevisionSlider helps you to navigate and compare revisions on the diff page. It is based on a community wish from the German-speaking community technical wishlist.</p>' ); + + return slide; + }, + + getSlide2: function () { + var slide = new OO.ui.PanelLayout( { $: this.$, padded: true, expanded: false } ); + + slide.$element.append( '<div class="mw-help-dialog-image-landscape mw-help-dialog-slide-2" />' ) + .append( '<p>Each bar represents an article revision. Bars to the top show growth of the article, bars to the bottom show a reduction of size.</p>' ); + + return slide; + }, + + getSlide3: function () { + var slide = new OO.ui.PanelLayout( { $: this.$, padded: true, expanded: false } ); + + slide.$element.append( '<div class="mw-help-dialog-image-portrait mw-help-dialog-slide-3 mw-left-column"/>' ) + .append( '<div class="mw-right-column"><p>To compare certain revisions, select the revisions using the yellow and blue pointer.</p><p>The blue right pointer controls the right revision text, the yellow left pointer maps to the left revision text.</p> <p>Move the pointers by drag and drop or click on a bar. </p></div>' ); + + return slide; + }, + + getSlide4: function () { + var slide = new OO.ui.PanelLayout( { $: this.$, padded: true, expanded: false } ); + + slide.$element.append( '<div class="mw-help-dialog-image-landscape mw-help-dialog-slide-4" />' ) + .append( '<p>Use the left- and right buttons to move through revision history and show older and newer revisions.</p>' ); + + return slide; + }, + + getActionProcess: function ( action ) { + switch ( action ) { + case 'next': + this.stackLayout.setItem( this.slides[ ++this.slidePointer ] ); + break; + case 'previous': + this.stackLayout.setItem( this.slides[ --this.slidePointer ] ); + break; + } + + if ( this.slidePointer === 0 ) { + this.actions.setMode( 'initial' ); + } else if ( this.slidePointer === this.slides.length - 1 ) { + this.actions.setMode( 'last' ); + } else { + this.actions.setMode( 'middle' ); + } + + return HelpDialog.super.prototype.getActionProcess.call( this, action ); + }, + + getSetupProcess: function ( data ) { + return HelpDialog.super.prototype.getSetupProcess.call( this, data ) + .next( function () { + this.actions.setMode( 'initial' ); + }, this ); + }, + + /** + * Needed to set the initial height of the dialog + * + * @return {int} + */ + getBodyHeight: function () { + return this.slides[ this.slidePointer ].$element.outerHeight( true ); + } + } ); + + HelpDialog.show = function () { + var windowManager = new OO.ui.WindowManager(), + dialogue = new HelpDialog( { size: 'medium' } ); + + $( 'body' ).append( windowManager.$element ); + windowManager.addWindows( [ dialogue ] ); + windowManager.openWindow( dialogue ); + }; + + mw.libs.revisionSlider = mw.libs.revisionSlider || {}; + mw.libs.revisionSlider.HelpDialog = HelpDialog; +}( mediaWiki, jQuery ) ); diff --git a/modules/ext.RevisionSlider.css b/modules/ext.RevisionSlider.css index fff7b2d..0429098 100644 --- a/modules/ext.RevisionSlider.css +++ b/modules/ext.RevisionSlider.css @@ -161,3 +161,24 @@ top: 0; left: 0; } + +.mw-help-dialog-image-landscape { + height: 100px; + width: 100%; + background-repeat: no-repeat; + background-position: center; +} +.mw-help-dialog-image-portrait { + height: 160px; + width: 100%; + background-repeat: no-repeat; + background-position: center; +} +.mw-left-column { + width: 50%; + float: left; +} +.mw-right-column { + width: 50%; + float: right; +} diff --git a/modules/ext.RevisionSlider.init.js b/modules/ext.RevisionSlider.init.js index ba7764d..7e650c2 100644 --- a/modules/ext.RevisionSlider.init.js +++ b/modules/ext.RevisionSlider.init.js @@ -24,6 +24,11 @@ slider.getView().render( $container ); $( '#mw-revision-slider-placeholder' ).remove(); + + if ( !mw.user.options.get( 'userjs-revslider-help' ) ) { + mw.libs.revisionSlider.HelpDialog.show(); + ( new mw.Api() ).saveOption( 'userjs-revslider-help', true ); + } } catch ( err ) { if ( err === 'RS-rev-out-of-range' ) { $( '#mw-revision-slider-placeholder' ) diff --git a/resources/ext.RevisionSlider.helpDialog/landscape.svg b/resources/ext.RevisionSlider.helpDialog/landscape.svg new file mode 100644 index 0000000..848fbdc --- /dev/null +++ b/resources/ext.RevisionSlider.helpDialog/landscape.svg @@ -0,0 +1,182 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + viewBox="0 0 503.7811 214.99999" + id="svg4282" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="landscape.svg"> + <defs + id="defs4284"> + <clipPath + id="g13488b0831_0_24.3"> + <path + style="clip-rule:nonzero" + inkscape:connector-curvature="0" + id="path64" + d="m 0,0 179.11623,0 0,49 L 0,49 Z" /> + </clipPath> + <clipPath + id="g13488b0831_0_24.2"> + <path + style="clip-rule:nonzero" + inkscape:connector-curvature="0" + id="path55" + d="m 0,0 55,0 0,203 -55,0 z" /> + </clipPath> + <clipPath + id="g13488b0831_0_24.1"> + <path + style="clip-rule:nonzero" + inkscape:connector-curvature="0" + id="path46" + d="m 0,0 83,0 0,215 -83,0 z" /> + </clipPath> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.98994949" + inkscape:cx="212.1329" + inkscape:cy="190.1542" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + showguides="true" + inkscape:guide-bbox="true" + inkscape:window-width="1920" + inkscape:window-height="1056" + inkscape:window-x="0" + inkscape:window-y="24" + inkscape:window-maximized="1" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0"> + <sodipodi:guide + position="370.56906,193.77056" + orientation="0,1" + id="guide4878" /> + <sodipodi:guide + position="274.60457,21.034481" + orientation="0,1" + id="guide4880" /> + </sodipodi:namedview> + <metadata + id="metadata4287"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-32.481807,-48.254344)"> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path41" + d="m 453.26292,48.254354 83,0 0,214.999986 -83,0 z" /> + <g + id="g43" + transform="translate(453.26292,48.254344)"> + <clipPath + id="clipPath4262"> + <path + style="clip-rule:nonzero" + inkscape:connector-curvature="0" + id="path4264" + d="m 0,0 83,0 0,215 -83,0 z" /> + </clipPath> + <image + style="fill:#000000" + id="image48" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFMAAADXCAIAAADp8fqZAAACz0lEQVR42u3cv2oiURTH8byFf6LYiCkC2oiFPoAB0SoE7YT0grY+gqWVjfgCWohgpVGSNo1FwBXRuIwYtFAwiA6T3QuBxb0pkiyrzFy/v8JGZPgw55x7RsGzX6eaM+TIkSNHjhw5cuTIkSNHjhw5cuTILSPXdX17lBiGYS75dDr9cZSsVivkZpKLV/1gGQ6H5pXPZrPDjSLkyJEjR44cOXLkyJEjR44cOXLkyJEjR44cOXLkyJEjR44cOXLkyJEjR44cOXLkyJEjR44cOXLkyJEjR44cOXLkyJEjR44cOXLkyM0v1zRts9mclny3293c3NhstouLi1qtdkLyZrNp20smk1mv1ych73Q6tr8TDod7vZ768re3t2w2K+HdbnepVBJvqT/h6vW6z+eT/KL/X15e1D/VJpNJLBaT8JeXl61WS/3zXNf1QqHgcDj28Xa7PZ/PiyNA/U2m2+36/X7p5kej0dFopP4ON5/PU6mUhPd6vdVqVf3t1TCMYrHocrkkfy6Xkypfzb398fExFApJeDELTuKJ5e7uTpp56XRacbnYZD4WvBj1jUZDZbkYcslkUqpz8VQj9nyVJ9zDw0MgEJDYV1dXz8/Pys7292XG6XR+fZl5ly+XSwvLNU1LJBIfF9h2u/3p9iq6w6py0cCijSX29fX1p5+1cLVvt1tRzKKk983n5+ei7L/yb81WlYvGjsfj0q0OBoNih1H8m4n7+3uJfXt7+61xZVV5v9//U+cej6dSqXz3Ehbu83K5HIlExDB7enr6h0vwSwNy5MiRI0eOHDly5MiRI0eOHDly5MiRI0eOHDly5MiRI0eOHDly5MiRI0eOHDly5MiRI0eOHDly5MiRI0eOHDly5MiRI0eOHDly5MiRI0eO/L/Lx+Px/GAZDAbmlR8hppMvFoufR8nr66u55NYNcuTIkSNHjhw5cuTIkSNHjhw5cuTID5/fexs5t+4DuJgAAAAASUVORK5CYII=" + preserveAspectRatio="none" + y="0" + x="0" + height="215" + width="83" + clip-path="url(#g13488b0831_0_24.1)" /> + </g> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path50" + d="m 32.481807,53.153176 55.00005,0 0,202.999984 -55.00005,0 z" /> + <g + id="g52" + transform="translate(32.481807,53.153166)"> + <clipPath + id="clipPath4269"> + <path + style="clip-rule:nonzero" + inkscape:connector-curvature="0" + id="path4271" + d="m 0,0 55,0 0,203 -55,0 z" /> + </clipPath> + <image + style="fill:#000000" + id="image57" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADcAAADLCAIAAABF6ZxzAAACZUlEQVR42u3dz6uhURzH8ftfoEhKVhaWKLaUPQtLCykr+QPYUXayIP+ADVK2/gEbbNTEPH5E6SbyiHr8mDk1NZmn6TZzwz135v1Zo1fHOd/z/T6b5+XbZ8gLSpQoUaJEiRIlyn9GeT6ft0+JqqrvVx4Ohy9PyXQ6vYNyPB5/fUxGo9HdlJfL5UHbbr1eo0SJEiVKlChRokSJEiVKlChRokSJEiVKlChRokSJEiVKlChRokSJEiVKlChRokSJEuV/oVQUpVarLZdLSZXX67VUKpnNZoPBYLfbR6ORdMrVahWJRAw3KRQKcik7nY7T6TT8mmazKYtS07RsNms0Gm99JpMpl8uJDSCFcjabhUIh3RKKRRVLK8sZb7VaDodDRwyHw2KDSlGJVFVNp9M6n8ViKRaLf7iVH67s9/sej0dH9Hq9g8FAiqouTkOlUvlRDm+TTCb3+70Ud8/xeIxGozqfKN31el2iG7JcLuuIwWBwMpnIdY/n83mdMpPJnE4nuZSLxcLlcumgoljO53O5eiLx07/dmm/chB9Tid445uJbcvWXvV7P7XbroD6fbzgcytUF73a7RCKhg1qtVrHS0vXqoie32Ww6aywW2263ck0U4l/2+/1/e2F+QBcsPp9KpXRQscbj8Vi6iaLRaIiqdAutVqsyTmdiegwEAj/b9W63K+mkKwYMMUbG4/F2u81TA5QoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRKlyPxhURTlbkqp33CnadrrU7LZbN6vlCEoUaJEiRIlys+r/A6CxjsKYJzMswAAAABJRU5ErkJggg==" + preserveAspectRatio="none" + y="0" + x="0" + height="203" + width="55" + clip-path="url(#g13488b0831_0_24.2)" /> + </g> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path59" + d="m 120.63406,113.13087 303.559,0 0,83.0446 -303.559,0 z" /> + <g + id="g61" + transform="matrix(1.6947602,0,0,1.6947882,120.63406,113.13086)"> + <clipPath + id="clipPath4276"> + <path + style="clip-rule:nonzero" + inkscape:connector-curvature="0" + id="path4278" + d="m 0,0 179.11623,0 0,49 L 0,49 Z" /> + </clipPath> + <image + style="fill:#000000" + id="image66" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALYAAAAxCAIAAAD4J8QzAAADvElEQVR42u3aW0hTcRwHcN+CeqisqIfSQAKJiqKHXqLo9lARUQTRQ71UJHSBqAgLItKHIqgeyiwJS92lm6XNnOlWayWsi102ncOznZ1zNqczN+c8bvN4jv1rPWjiapB26v/98n3YORy2cc4Hfv/9WcYQgowdQRAycBcQEEFABEnnkf9+/gyRdD9SbWlIJyACIiACIqonMt73E0RUR8TKp1EQAREQAREQAREQUR2R8X6E4/3+x/TMnpv23+y1OgZEqCNy2dQxaXdlzhl7bqErRckF5LJqG+tyudxuN4hQRISMj53XP2Udb9ygHUrRrBON267YgsGgw+FgGAZE6CJiZuWco/WLLrBj+Vh8gZ1/xHj/jZ8QcTqdLMuCCF1ESMve9kzb92RlSXS0D3Jy6t7qq3VMVVNHOBz2eDw8z4MIdURID2lcsw+b1mvk4T7IITm5r6Sp6n3A8OlLf38/x3FYrlJKxMIpS09bcgucw4nknmtefNJU+db/5EPwmTMqSRJ+0dBLhPSRXZy+37CiqDvpg7wg06fU4iUjxtjcY3YnFEUBEaqJkJ6t8s7IM64tk9aUS5kHavN1djJiaj53m9piFq+MrTMQ+da15205p5tIVxdYvy1BPnbVt/ZZ2EHsroLIjxqc8Vl5T2fl1Wga/dUfOo0tkeeeAWzAg8iIXmoIXDTytY4wqZmJv+QUEAGRn0smC8FBmhwxqiYiTGA6TFvTavE/nqzDxrQqqDIgAiK/IjLB/89Q2vWjK9rzRfup0ecpHEyqGvTR7/n7RCSuhNNO5bTTxLbimLdcErQgAiIjGjAs7apaQCo8XhJqvdXPlst+HYiAyI9GbPt5feagdSMpp8sUzLt7XKUJTpNUAiK0E0kwl70Vk2Pm1fKrzaQx8yq2fHLHu8Iocyc5bkCEaiKyT+N7kB2uWZT0kWyoZqFXP7fLcUP0lA36dEPqC4hMHJGQdYf//hzZumk4EXLovzdbqNtCFiVxrkJRFBChlEispcBbMSXxYt0IH99LTpJxE7Dl97bdliQJRGgkMsiX8vqZvcblo30kG6ldxmozg/aroijKsgwi1BHpaljTWZk9lo9kAw/n8YaVoVAoHo+ratyAyLhHtJ9y387orJz35XFOipIL3KUZ7c13I5HIwMAAiFBEpPfdwe7Xu4Ivd7abd/gatgv1qdr+sSgcDsdiMRChbC3i05FfK1HmDlmQpi75fn19fYlEAkTo3V1NXeyLgAiIgAiIgAiIgAiIqDoggvzNgAgCIgiIIP8hEeSfI/IVE8ZDKs/gqloAAAAASUVORK5CYII=" + preserveAspectRatio="none" + y="0" + x="0" + height="49" + width="182" + clip-path="url(#g13488b0831_0_24.3)" /> + </g> + <path + style="fill:#ffffff;fill-opacity:0.65380004;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path68" + d="m 113.45816,103.41302 321.6693,0 0,101.07086 -321.6693,0 z" /> + </g> +</svg> diff --git a/resources/ext.RevisionSlider.helpDialog/portrait.svg b/resources/ext.RevisionSlider.helpDialog/portrait.svg new file mode 100644 index 0000000..a7745f5 --- /dev/null +++ b/resources/ext.RevisionSlider.helpDialog/portrait.svg @@ -0,0 +1,161 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + viewBox="0 0 358.73757 364.80319" + id="svg5007" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="portrait.svg"> + <defs + id="defs5009"> + <clipPath + id="g13488b0831_0_14.2"> + <path + style="clip-rule:nonzero" + inkscape:connector-curvature="0" + id="path4386" + d="m 0,0 179.11623,0 0,49 L 0,49 Z" /> + </clipPath> + <clipPath + id="g13488b0831_0_14.1"> + <path + style="clip-rule:nonzero" + inkscape:connector-curvature="0" + id="path4377" + d="m 0,0 940,0 0,555 -940,0 z" /> + </clipPath> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.98994949" + inkscape:cx="287.39752" + inkscape:cy="157.41068" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-width="1920" + inkscape:window-height="1056" + inkscape:window-x="0" + inkscape:window-y="24" + inkscape:window-maximized="1" /> + <metadata + id="metadata5012"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-10.35638,-26.380492)"> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4360" + d="m 231.78945,97.600966 54.07873,73.795304" /> + <path + style="fill-rule:evenodd;stroke:#595959;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4362" + d="m 231.78945,97.600966 50.53217,68.955704" /> + <path + style="fill:#595959;fill-rule:evenodd;stroke:#595959;stroke-width:1;stroke-linecap:butt" + inkscape:connector-curvature="0" + id="path4364" + d="m 280.98934,167.53297 4.01474,2.6841 -1.35016,-4.6368 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4366" + d="m 117.08603,101.61147 -13.63779,69.7953" /> + <path + style="fill-rule:evenodd;stroke:#595959;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4368" + d="m 117.08603,101.61147 -12.48717,63.9067" /> + <path + style="fill:#595959;fill-rule:evenodd;stroke:#595959;stroke-width:1;stroke-linecap:butt" + inkscape:connector-curvature="0" + id="path4370" + d="m 102.97779,165.20137 0.75081,4.7706 2.49134,-4.1371 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4372" + d="m 10.35638,179.37527 358.73755,0 0,211.8084 -358.73755,0 z" /> + <g + id="g4374" + transform="matrix(0.3816357,0,0,0.38163675,10.35638,179.37527)"> + <clipPath + id="clipPath4995"> + <path + style="clip-rule:nonzero" + inkscape:connector-curvature="0" + id="path4997" + d="m 0,0 940,0 0,555 -940,0 z" /> + </clipPath> + <image + style="fill:#000000" + id="image4379" + xlink:href="data:image/png;base64,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" + preserveAspectRatio="none" + y="0" + x="0" + height="555" + width="940" + clip-path="url(#g13488b0831_0_14.1)" /> + </g> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4381" + d="m 52.86819,26.380492 248.70868,0 0,68.039374 -248.70868,0 z" /> + <g + id="g4383" + transform="matrix(1.3885325,0,0,1.3885585,52.86819,26.380492)"> + <clipPath + id="clipPath5002"> + <path + style="clip-rule:nonzero" + inkscape:connector-curvature="0" + id="path5004" + d="m 0,0 179.11623,0 0,49 L 0,49 Z" /> + </clipPath> + <image + style="fill:#000000" + id="image4388" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALYAAAAxCAIAAAD4J8QzAAADvElEQVR42u3aW0hTcRwHcN+CeqisqIfSQAKJiqKHXqLo9lARUQTRQ71UJHSBqAgLItKHIqgeyiwJS92lm6XNnOlWayWsi102ncOznZ1zNqczN+c8bvN4jv1rPWjiapB26v/98n3YORy2cc4Hfv/9WcYQgowdQRAycBcQEEFABEnnkf9+/gyRdD9SbWlIJyACIiACIqonMt73E0RUR8TKp1EQAREQAREQAREQUR2R8X6E4/3+x/TMnpv23+y1OgZEqCNy2dQxaXdlzhl7bqErRckF5LJqG+tyudxuN4hQRISMj53XP2Udb9ygHUrRrBON267YgsGgw+FgGAZE6CJiZuWco/WLLrBj+Vh8gZ1/xHj/jZ8QcTqdLMuCCF1ESMve9kzb92RlSXS0D3Jy6t7qq3VMVVNHOBz2eDw8z4MIdURID2lcsw+b1mvk4T7IITm5r6Sp6n3A8OlLf38/x3FYrlJKxMIpS09bcgucw4nknmtefNJU+db/5EPwmTMqSRJ+0dBLhPSRXZy+37CiqDvpg7wg06fU4iUjxtjcY3YnFEUBEaqJkJ6t8s7IM64tk9aUS5kHavN1djJiaj53m9piFq+MrTMQ+da15205p5tIVxdYvy1BPnbVt/ZZ2EHsroLIjxqc8Vl5T2fl1Wga/dUfOo0tkeeeAWzAg8iIXmoIXDTytY4wqZmJv+QUEAGRn0smC8FBmhwxqiYiTGA6TFvTavE/nqzDxrQqqDIgAiK/IjLB/89Q2vWjK9rzRfup0ecpHEyqGvTR7/n7RCSuhNNO5bTTxLbimLdcErQgAiIjGjAs7apaQCo8XhJqvdXPlst+HYiAyI9GbPt5feagdSMpp8sUzLt7XKUJTpNUAiK0E0kwl70Vk2Pm1fKrzaQx8yq2fHLHu8Iocyc5bkCEaiKyT+N7kB2uWZT0kWyoZqFXP7fLcUP0lA36dEPqC4hMHJGQdYf//hzZumk4EXLovzdbqNtCFiVxrkJRFBChlEispcBbMSXxYt0IH99LTpJxE7Dl97bdliQJRGgkMsiX8vqZvcblo30kG6ldxmozg/aroijKsgwi1BHpaljTWZk9lo9kAw/n8YaVoVAoHo+ratyAyLhHtJ9y387orJz35XFOipIL3KUZ7c13I5HIwMAAiFBEpPfdwe7Xu4Ivd7abd/gatgv1qdr+sSgcDsdiMRChbC3i05FfK1HmDlmQpi75fn19fYlEAkTo3V1NXeyLgAiIgAiIgAiIgAiIqDoggvzNgAgCIgiIIP8hEeSfI/IVE8ZDKs/gqloAAAAASUVORK5CYII=" + preserveAspectRatio="none" + y="0" + x="0" + height="49" + width="182" + clip-path="url(#g13488b0831_0_14.2)" /> + </g> + </g> +</svg> -- To view, visit https://gerrit.wikimedia.org/r/293728 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia820aecb20aa6b239f1a64dd328683639baf399e Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/RevisionSlider Gerrit-Branch: master Gerrit-Owner: Jakob <jakob.warkot...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits