diff options
| author | Jules Laplace <jules@okfoc.us> | 2015-09-07 02:17:51 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2015-09-07 02:17:51 -0400 |
| commit | 694dbdf6ff3eef3e33fcbe95ebd676eea3353dcc (patch) | |
| tree | 91b2cf8a9310005e9bd6d1ff443ef7d593086271 /public | |
| parent | f5cd692caf98cfeddc61df6442d401619d264aa7 (diff) | |
linking urls
Diffstat (limited to 'public')
| -rw-r--r-- | public/assets/js/lib/views/details/comments.js | 2 | ||||
| -rw-r--r-- | public/assets/js/lib/views/index/hootbox.js | 2 | ||||
| -rw-r--r-- | public/assets/js/util/format.js | 21 |
3 files changed, 23 insertions, 2 deletions
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 '<a href="' + str + '" target="_blank">[' + get_domain(str) + ']</a>' + } + else { + return '<a href="' + str + '" target="_blank">' + str + '</a>' + } + }); + + }).join("<br>\n") + return ret +} +function get_domain(url){ + return url.replace(/https?:\/\//,"").replace(/\/.*/,"").replace(/www\./, "") }
\ No newline at end of file |
