Albert221 has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/401093 )

Change subject: Add source DL link to popup
......................................................................

Add source DL link to popup

Add storing .ly source file and add ability
to download by creating a DL link in score's popup.

Bug: T183736
Change-Id: Ie80bda1f30d1b7046669ffa6353fc7f5328e7be0
---
M extension.json
M i18n/en.json
M i18n/qqq.json
M includes/Score.php
M modules/ext.score.popup.css
M modules/ext.score.popup.js
6 files changed, 29 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Score 
refs/changes/93/401093/1

diff --git a/extension.json b/extension.json
index 29b7755..a64d03f 100644
--- a/extension.json
+++ b/extension.json
@@ -64,7 +64,8 @@
                                "mediawiki.api"
                        ],
                        "messages": [
-                               "score-download-midi-file"
+                               "score-download-midi-file",
+                               "score-download-source-file"
                        ]
                }
        },
diff --git a/i18n/en.json b/i18n/en.json
index 0129a0b..2e41273 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -10,6 +10,7 @@
        "score-backend-error": "Unable to copy the generated files to their 
final location:\n$1",
        "score-desc": "Adds a tag for rendering musical scores with LilyPond",
        "score-download-midi-file": "Download MIDI file",
+       "score-download-source-file": "Download source file",
        "score-error-category": "Pages with score rendering errors",
        "score-error-category-desc": "There was an error while rendering the 
score.",
        "score-getcwderr": "Unable to obtain current working directory",
diff --git a/i18n/qqq.json b/i18n/qqq.json
index b2fb0bc..52941cc 100644
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -16,6 +16,7 @@
        "score-backend-error": "Parameters:\n* $1 - result message which was 
returned",
        "score-desc": 
"{{desc|name=Score|url=https://www.mediawiki.org/wiki/Extension:Score}}";,
        "score-download-midi-file": "Content of link to download MIDI file of 
score shown in score popup",
+       "score-download-source-file": "Content of link to download source .ly 
file of score shown in score popup",
        "score-error-category": "Name of [[mw:Help:Tracking categories|tracking 
category]] to list pages where there was an error rendering the 
<code><nowiki><score></nowiki></code> tag.",
        "score-error-category-desc": "Description on 
[[Special:TrackingCategories]] for the {{msg-mw|score-error-category}} tracking 
category.",
        "score-getcwderr": "Displayed if the extension cannot obtain the 
current working directory.",
diff --git a/includes/Score.php b/includes/Score.php
index 854deb1..ece621e 100644
--- a/includes/Score.php
+++ b/includes/Score.php
@@ -477,14 +477,15 @@
                        'class' => 'mw-ext-score',
                        'data-midi' => $options['override_midi'] ?
                                $options['midi_file']->getUrl()
-                               : 
"{$options['dest_url']}/{$options['file_name_prefix']}.midi"
+                               : 
"{$options['dest_url']}/{$options['file_name_prefix']}.midi",
+                       'data-source' => 
"{$options['dest_url']}/{$options['file_name_prefix']}.ly"
                ], $link );
 
                return $link;
        }
 
        /**
-        * Generates score PNG file(s) and a MIDI file.
+        * Generates score PNG file(s), LY source and a MIDI file.
         *
         * @param string $code Score code.
         * @param array $options Rendering options. They are the same as for
@@ -604,6 +605,14 @@
                // Backend operation batch
                $ops = [];
 
+               // Add LY source to its file
+               $ops[] = [
+                       'op' => 'store',
+                       'src' => $factoryLy,
+                       'dst' => 
"{$options['dest_storage_path']}/{$options['file_name_prefix']}.ly"
+               ];
+               $newFiles["{$options['file_name_prefix']}.ly"] = true;
+
                if ( $needMidi ) {
                        // Add the MIDI file to the batch
                        $ops[] = [
diff --git a/modules/ext.score.popup.css b/modules/ext.score.popup.css
index 61802b7..9d8bd1d 100644
--- a/modules/ext.score.popup.css
+++ b/modules/ext.score.popup.css
@@ -42,3 +42,9 @@
        background: #fff;
        transform: rotate( 45deg );
 }
+
+.mw-ext-score-popup a:last-child:before {
+       content: "•";
+       display: inline-block;
+       margin: 0 0.5em;
+}
diff --git a/modules/ext.score.popup.js b/modules/ext.score.popup.js
index ab81595..d3c32ab 100644
--- a/modules/ext.score.popup.js
+++ b/modules/ext.score.popup.js
@@ -2,14 +2,17 @@
        var popupShown = false;
 
        function showPopup( $score ) {
-               var $popup, midi = $score.data( 'midi' );
+               var $popup, midi = $score.data( 'midi' ), source = $score.data( 
'source' );
                $popup = $( '<div>' )
                        .addClass( 'mw-ext-score-popup' )
                        .attr( 'id', 'mw-ext-score-popup' )
-                       .html(
-                               $( '<a>' )
-                                       .attr( 'href', midi )
-                                       .text( mw.msg( 
'score-download-midi-file' ) )
+                       .append( $( '<a>' )
+                               .attr( 'href', midi )
+                               .text( mw.msg( 'score-download-midi-file' ) )
+                       )
+                       .append( $( '<a>' )
+                               .attr( 'href', source )
+                               .text( mw.msg( 'score-download-source-file' ) )
                        )
                        .css( 'opacity', 0 );
 

-- 
To view, visit https://gerrit.wikimedia.org/r/401093
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie80bda1f30d1b7046669ffa6353fc7f5328e7be0
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Score
Gerrit-Branch: master
Gerrit-Owner: Albert221 <w.albert...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to