diff --git a/app.js b/app.js index 72c578153..bbf93acf7 100755 --- a/app.js +++ b/app.js @@ -172,10 +172,14 @@ app.get('/libs/:username/:scriptname', script.lib(script.view)); app.get('/lib/:scriptname/edit', script.lib(script.edit)); app.post('/lib/:scriptname/edit', script.lib(script.edit)); app.get('/libs/:username/:scriptname/source', script.lib(user.editScript)); -app.get('/libs/src/:username/:scriptname', scriptStorage.sendScript); app.get('/vote/libs/:username/:scriptname/:vote', script.lib(script.vote)); //app.get(listRegex('\/use\/lib\/([^\/]+?)\/([^\/]+?)', 'script'), script.useLib); +// Raw source +app.get('/src/:type(scripts|libs)/:username/:scriptname', + scriptStorage.sendScript); +app.get('/libs/src/:username/:scriptname', scriptStorage.sendScript); // Legacy + // Issues routes app_route('/:type(scripts|libs)/:username/:namespace?/:scriptname/issues/:open(closed)?').get(issue.list); //app_route('/:type(scripts|libs)/:username/:namespace?/:scriptname/issues/:topic').get(issue.view); diff --git a/controllers/scriptStorage.js b/controllers/scriptStorage.js index 564fe5950..8d63fce57 100644 --- a/controllers/scriptStorage.js +++ b/controllers/scriptStorage.js @@ -115,8 +115,8 @@ exports.sendScript = function (req, res, next) { res.set('Content-Type', 'text/javascript; charset=utf-8'); stream.pipe(res); - // Don't count installs on libraries - if (script.isLib) { return; } + // Don't count installs on raw source route + if (script.isLib || req.route.params.type) { return; } // Update the install count ++script.installs; @@ -232,7 +232,7 @@ exports.storeScript = function (user, meta, buf, callback, update) { var libraryRegex = new RegExp('^https?:\/\/' + (process.env.NODE_ENV === 'production' ? 'openuserjs\.org' : 'localhost:8080') + - '\/libs\/src\/(.+?\/.+?\.js)$', ''); + '\/(?:libs\/src|src\/libs)\/(.+?\/.+?\.js)$', ''); if (!meta) { return callback(null); } diff --git a/libs/modelParser.js b/libs/modelParser.js index b0df61047..9ffa31747 100644 --- a/libs/modelParser.js +++ b/libs/modelParser.js @@ -77,7 +77,7 @@ var getScriptEditSourcePageUrl = function (script) { var getScriptInstallPageUrl = function (script) { var isLib = script.isLib || false; - return (isLib ? '/libs/src/' : '/install/') + script.installName; + return (isLib ? '/src/libs/' : '/install/') + script.installName; }; //