Proper escaping for the web service.

This commit is contained in:
Thaddee Tyl 2014-01-03 23:49:05 +01:00
parent 1bd5cda174
commit c04d52da73

View File

@ -6,7 +6,13 @@ var badge = require('./badge.js');
// Escapes `t` using the format specified in
// <https://github.com/espadrine/gh-badges/issues/12#issuecomment-31518129>
function escapeFormat(t) {
return t.replace('_', ' ').replace('__', '_').replace('--', '-');
return t
// Inline single underscore.
.replace(/([^_])_([^_])/g, '$1 $2')
// Leading or trailing underscore.
.replace(/([^_])_$/, '$1 ').replace(/^_([^_])/, ' $1')
// Double underscore and double dash.
.replace(/__/g, '_').replace(/--/g, '-');
}
camp.route(/^\/(([^-]|--)+)-(([^-]|--)+)-(([^-]|--)+).svg$/,