From 694dbdf6ff3eef3e33fcbe95ebd676eea3353dcc Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 7 Sep 2015 02:17:51 -0400 Subject: linking urls --- public/assets/js/lib/views/details/comments.js | 2 +- public/assets/js/lib/views/index/hootbox.js | 2 +- public/assets/js/util/format.js | 21 +++++++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) (limited to 'public/assets/js') diff --git a/public/assets/js/lib/views/details/comments.js b/public/assets/js/lib/views/details/comments.js index 168cc3f..399c90d 100644 --- a/public/assets/js/lib/views/details/comments.js +++ b/public/assets/js/lib/views/details/comments.js @@ -17,7 +17,7 @@ var CommentsView = FormView.extend({ parse: function(comment){ var datetime = verbose_date(comment.date, true) var t = this.template.replace(/{{username}}/g, comment.username) - .replace(/{{comment}}/g, comment.comment) + .replace(/{{comment}}/g, tidy_urls(comment.comment)) .replace(/{{date}}/g, datetime[0]) .replace(/{{time}}/g, datetime[1]) return t diff --git a/public/assets/js/lib/views/index/hootbox.js b/public/assets/js/lib/views/index/hootbox.js index 15de06b..9d1cc3d 100644 --- a/public/assets/js/lib/views/index/hootbox.js +++ b/public/assets/js/lib/views/index/hootbox.js @@ -17,7 +17,7 @@ var HootBox = FormView.extend({ parse: function(comment){ var t = this.template.replace(/{{username}}/g, comment.username) - .replace(/{{comment}}/g, comment.comment) + .replace(/{{comment}}/g, tidy_urls(comment.comment, true)) return t }, diff --git a/public/assets/js/util/format.js b/public/assets/js/util/format.js index b789602..00cc94c 100644 --- a/public/assets/js/util/format.js +++ b/public/assets/js/util/format.js @@ -169,4 +169,25 @@ function get_age (t) { if (age < 12) { return r(age) + "m" } age /= 12 return r(age) + "y" +} + +function tidy_urls (s, short_urls) { + var ret = s.split("\n").map(function(line){ + if (line.indexOf("<") !== -1) { + return line + } + return line.replace(/https?:\/\/[^ ]+/g, function(str){ + if (short_urls) { + return '[' + get_domain(str) + ']' + } + else { + return '' + str + '' + } + }); + + }).join("
\n") + return ret +} +function get_domain(url){ + return url.replace(/https?:\/\//,"").replace(/\/.*/,"").replace(/www\./, "") } \ No newline at end of file -- cgit v1.2.3-70-g09d2