diff --git a/data/autolink.st b/data/autolink.st new file mode 100644 index 000000000..ab1e80f92 --- /dev/null +++ b/data/autolink.st @@ -0,0 +1,12 @@ + + diff --git a/data/static/js/autolink.js b/data/static/js/autolink.js new file mode 100644 index 000000000..986fda157 --- /dev/null +++ b/data/static/js/autolink.js @@ -0,0 +1,37 @@ +// this file comes from: https://raw.githubusercontent.com/bryanwoods/autolink-js/master/autolink.js [MIT license] + +// Generated by CoffeeScript 1.10.0 +(function() { + var autoLink, + slice = [].slice; + + autoLink = function() { + var callback, k, linkAttributes, option, options, pattern, v; + options = 1 <= arguments.length ? slice.call(arguments, 0) : []; + pattern = /(^|[\s\n]|<[A-Za-z]*\/?>)((?:https?|ftp):\/\/[\-A-Z0-9+\u0026\u2019@#\/%?=()~_|!:,.;]*[\-A-Z0-9+\u0026@#\/%=~()_|])/gi; + if (!(options.length > 0)) { + return this.replace(pattern, "$1$2"); + } + option = options[0]; + callback = option["callback"]; + linkAttributes = ((function() { + var results; + results = []; + for (k in option) { + v = option[k]; + if (k !== 'callback') { + results.push(" " + k + "='" + v + "'"); + } + } + return results; + })()).join(''); + return this.replace(pattern, function(match, space, url) { + var link; + link = (typeof callback === "function" ? callback(url) : void 0) || ("" + url + ""); + return "" + space + link; + }); + }; + + String.prototype['autoLink'] = autoLink; + +}).call(this); diff --git a/data/templates/autolink.st b/data/templates/autolink.st new file mode 100644 index 000000000..a77954dd1 --- /dev/null +++ b/data/templates/autolink.st @@ -0,0 +1,12 @@ + + diff --git a/data/templates/page.st b/data/templates/page.st index 3bb382ac9..5cd97eafb 100644 --- a/data/templates/page.st +++ b/data/templates/page.st @@ -43,5 +43,6 @@ $javascripts$ $expire()$ $getuser()$ + $autolink()$