wiki-plugin-assets
Advanced tools
Comparing version 0.1.5 to 0.1.6
@@ -9,7 +9,9 @@ (function() { | ||
fetch = function($item, item) { | ||
var $p, assets, link, render, trouble; | ||
var $p, assets, link, remote, render, site, trouble; | ||
$p = $item.find('p'); | ||
assets = item.text.match(/([\w\/-]*)/)[1]; | ||
remote = $item.parents('.page').data('site'); | ||
site = remote != null ? "//" + remote : ''; | ||
link = function(file) { | ||
return "<a href=\"" + location.origin + "/assets/" + assets + "/" + (encodeURIComponent(file)) + "\" target=_blank>" + (expand(file)) + "</a>"; | ||
return "<a href=\"" + site + "/assets/" + assets + "/" + (encodeURIComponent(file)) + "\" target=_blank>" + (expand(file)) + "</a>"; | ||
}; | ||
@@ -19,7 +21,10 @@ render = function(data) { | ||
if (data.error) { | ||
return $p.text("server reports: " + data.error.code); | ||
if (data.error.code === 'ENOENT') { | ||
return $p.text("no files"); | ||
} | ||
return $p.text("plugin reports: " + data.error.code); | ||
} | ||
files = data.files; | ||
if (files.length === 0) { | ||
return $p.text("no files among these assets"); | ||
return $p.text("no files"); | ||
} | ||
@@ -36,7 +41,7 @@ return $p.html(((function() { | ||
}; | ||
trouble = function() { | ||
return $p.text("can't get asset list"); | ||
trouble = function(e) { | ||
return $p.text("plugin error: " + e.statusText + " " + (e.responseText || '')); | ||
}; | ||
return $.ajax({ | ||
url: '/plugin/assets/list', | ||
url: site + "/plugin/assets/list", | ||
data: { | ||
@@ -43,0 +48,0 @@ assets: assets |
{ | ||
"name": "wiki-plugin-assets", | ||
"version": "0.1.5", | ||
"version": "0.1.6", | ||
"description": "Federated Wiki - Assets Plugin", | ||
@@ -42,4 +42,5 @@ "keywords": [ | ||
"async": "^2.6.0", | ||
"formidable": "^1.1.1" | ||
"formidable": "^1.1.1", | ||
"mkdirp": "^0.5.1" | ||
} | ||
} |
(function() { | ||
var async, formidable, fs, startServer; | ||
var async, cors, formidable, fs, mkdirp, startServer; | ||
fs = require('fs'); | ||
mkdirp = require('mkdirp'); | ||
async = require('async'); | ||
@@ -10,2 +12,7 @@ | ||
cors = function(req, res, next) { | ||
res.header('Access-Control-Allow-Origin', '*'); | ||
return next(); | ||
}; | ||
startServer = function(params) { | ||
@@ -15,5 +22,6 @@ var app, argv; | ||
argv = params.argv; | ||
app.get('/plugin/assets/list', function(req, res) { | ||
var isFile, path; | ||
path = argv.assets + "/" + req.query.assets; | ||
app.get('/plugin/assets/list', cors, function(req, res) { | ||
var assets, isFile, path; | ||
assets = (req.query.assets || '').match(/([\w\/-]*)/)[1]; | ||
path = argv.assets + "/" + assets; | ||
isFile = function(name, done) { | ||
@@ -52,6 +60,11 @@ if (name.match(/^\./)) { | ||
form.uploadDir = "" + argv.assets; | ||
mkdirp.sync(form.uploadDir); | ||
form.on('field', function(name, value) { | ||
if (name === 'assets') { | ||
return form.uploadDir = argv.assets + "/" + value; | ||
var assets; | ||
if (name !== 'assets') { | ||
return; | ||
} | ||
assets = (value || '').match(/([\w\/-]*)/)[1]; | ||
form.uploadDir = argv.assets + "/" + assets; | ||
return mkdirp.sync(form.uploadDir); | ||
}); | ||
@@ -58,0 +71,0 @@ form.on('file', function(field, file) { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
16692
257
3
+ Addedmkdirp@^0.5.1
+ Addedminimist@1.2.8(transitive)
+ Addedmkdirp@0.5.6(transitive)