Skip to content

Commit 31512c7

Browse files
committed
Merge pull request #976 from Martii/Issue-970authorToolsMeta
Add `@updateURL` to script homepage Auto-merge
2 parents 504ef38 + c5b5dff commit 31512c7

File tree

5 files changed

+37
-4
lines changed

5 files changed

+37
-4
lines changed

controllers/script.js

+7
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,11 @@ exports.view = function (aReq, aRes, aNext) {
376376
options.isMod = authedUser && authedUser.isMod;
377377
options.isAdmin = authedUser && authedUser.isAdmin;
378378

379+
// Lockdown
380+
options.lockdown = {};
381+
options.lockdown.scriptStorageRO = process.env.READ_ONLY_SCRIPT_STORAGE === 'true';
382+
options.lockdown.updateURLCheck = process.env.FORCE_BUSY_UPDATEURL_CHECK === 'true';
383+
379384
// Script
380385
options.script = script = modelParser.parseScript(aScript);
381386
options.isOwner = authedUser && authedUser._id == script._authorId;
@@ -385,6 +390,8 @@ exports.view = function (aReq, aRes, aNext) {
385390
script.scriptInstallPageUrl;
386391
script.scriptPermalinkInstallPageXUrl = 'https://' + aReq.get('host') +
387392
script.scriptInstallPageXUrl;
393+
script.scriptPermalinkMetaPageUrl = 'https://' + aReq.get('host') +
394+
script.scriptMetaPageUrl;
388395

389396
// Page metadata
390397
pageMetadata(options, ['About', script.name, (script.isLib ? 'Libraries' : 'Userscripts')],

libs/modelParser.js

+20
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,15 @@ var getScriptInstallPageUrl = function (aScriptData) {
139139
(isLib ? '.js' : '.user.js')
140140
};
141141

142+
var getScriptMetaPageUrl = function (aScriptData) {
143+
var isLib = aScriptData.isLib || false;
144+
145+
return (isLib ? null : '/meta/') +
146+
aScriptData.authorSlugUrl +
147+
'/' +
148+
aScriptData.nameSlugUrl +
149+
'.meta.js'
150+
};
142151

143152

144153
// Uris
@@ -173,6 +182,15 @@ var getScriptInstallPageUri = function (aScriptData) {
173182
(isLib ? '.js' : '.user.js')
174183
};
175184

185+
var getScriptMetaPageUri = function (aScriptData) {
186+
var isLib = aScriptData.isLib || false;
187+
188+
return (isLib ? null : '/meta/') +
189+
aScriptData.authorSlugUri +
190+
'/' +
191+
aScriptData.nameSlugUri +
192+
'.meta.js'
193+
};
176194

177195

178196
//
@@ -312,6 +330,7 @@ var parseScript = function (aScript) {
312330
script.scriptPageUrl = getScriptPageUrl(script);
313331
script.scriptInstallPageUrl = getScriptInstallPageUrl(script);
314332
script.scriptInstallPageXUrl = script.scriptInstallPageUrl.replace(/(\.user)?\.js/, '');
333+
script.scriptMetaPageUrl = getScriptMetaPageUrl(script);
315334
script.scriptViewSourcePageUrl = getScriptViewSourcePageUrl(script);
316335

317336
// Urls: Issues
@@ -338,6 +357,7 @@ var parseScript = function (aScript) {
338357
script.scriptPageUri = getScriptPageUri(script);
339358
script.scriptInstallPageUri = getScriptInstallPageUri(script);
340359
script.scriptInstallPageXUri = script.scriptInstallPageUri.replace(/(\.user)?\.js/, '');
360+
script.scriptMetaPageUri = getScriptMetaPageUri(script);
341361
script.scriptViewSourcePageUri = getScriptViewSourcePageUri(script);
342362

343363
// Uris: Issues

views/includes/scriptAuthorToolsPanel.html

+8
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@
99
<li><a rel="nofollow" href="{{{script.scriptEditSourcePageUrl}}}"><i class="fa fa-file-text"></i> Edit Script</a></li>
1010
</ul>
1111
{{^script.isLib}}
12+
<div class="form-group">
13+
<div class="input-group col-xs-12">
14+
<span class="input-group-btn">
15+
<button class="btn btn-{{#lockdown.updateURLCheck}}info{{/lockdown.updateURLCheck}}{{^lockdown.updateURLCheck}}default{{/lockdown.updateURLCheck}}" id="updateurl-raw" data-clipboard-text="// @updateURL {{{script.scriptPermalinkMetaPageUrl}}}" title="Copy key and raw URL to clipboard"><i class="octicon octicon-clippy"></i> // @updateURL</button>
16+
</span>
17+
<input type="text" class="form-control" id="updateurl" value="{{{script.scriptPermalinkMetaPageUrl}}}" readonly="readonly">
18+
</div>
19+
</div>
1220
<hr>
1321
<h4>Installs per Version <small>effective <time title='Tue Sep 2 2014'>Sep '14</time></small></h4>
1422
<p><code>{{script.meta.version}}{{^script.meta.version}}Current{{/script.meta.version}}</code> <span class="label label-default">{{script.installsSinceUpdate}} installs</span></p>

views/includes/scripts/clipboard.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script type="text/javascript" src="/redist/npm/clipboard/dist/clipboard.js"></script>
22
<script type="text/javascript">
33
(function () {
4-
var clipboard = new Clipboard('#require-raw, #require-min');
4+
var clipboard = new Clipboard('#require-raw, #require-min, #updateurl-raw');
55
var rMin = /\.min\.js$/;
66

77
clipboard.on('success', function(aE) {

views/pages/scriptPage.html

+1-3
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,6 @@ <h4>Userscripts Using This Library</h4>
117117
{{> includes/scriptModals.html }}
118118
{{> includes/footer.html }}
119119
{{> includes/scripts/lazyIconScript.html }}
120-
{{#script.isLib}}
121-
{{> includes/scripts/clipboard.html }}
122-
{{/script.isLib}}
120+
{{> includes/scripts/clipboard.html }}
123121
</body>
124122
</html>

0 commit comments

Comments
 (0)