From 6cbb9597006217e1d17fbf57bf270051fa9e61dc Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Tue, 21 Apr 2015 21:04:55 +0200 Subject: [PATCH] add mumble protocol to linkify also use double-quotes in the whole file --- .../javascripts/app/helpers/text_formatter.js | 20 ++++++++++--------- .../app/helpers/text_formatter_spec.js | 1 + 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/assets/javascripts/app/helpers/text_formatter.js b/app/assets/javascripts/app/helpers/text_formatter.js index 458f7967a..5bdfd5830 100644 --- a/app/assets/javascripts/app/helpers/text_formatter.js +++ b/app/assets/javascripts/app/helpers/text_formatter.js @@ -12,35 +12,35 @@ }); var inlinePlugin = window.markdownitForInline; - md.use(inlinePlugin, 'utf8_symbols', 'text', function (tokens, idx) { + md.use(inlinePlugin, "utf8_symbols", "text", function (tokens, idx) { tokens[idx].content = tokens[idx].content.replace(/<->/g, "↔") .replace(/<-/g, "←") .replace(/->/g, "→") .replace(/<3/g, "♥"); }); - md.use(inlinePlugin, 'link_new_window_and_missing_http', 'link_open', function (tokens, idx) { + md.use(inlinePlugin, "link_new_window_and_missing_http", "link_open", function (tokens, idx) { tokens[idx].attrs.forEach(function(attribute, index, array) { - if( attribute[0] === 'href' ) { + if( attribute[0] === "href" ) { array[index][1] = attribute[1].replace(/^www\./, "http://www."); } }); - tokens[idx].attrPush([ 'target', "_blank" ]); + tokens[idx].attrPush([ "target", "_blank" ]); }); var hashtagPlugin = window.markdownitHashtag; md.use(hashtagPlugin, { // compare tag_text_regexp in app/models/acts_as_taggable_on-tag.rb - hashtagRegExp: '[' + PosixBracketExpressions.alnum + '_\\-]+|<3', + hashtagRegExp: "[" + PosixBracketExpressions.alnum + "_\\-]+|<3", // compare tag_strings in lib/diaspora/taggabe.rb - preceding: '^|\\s' + preceding: "^|\\s" }); var mentionPlugin = window.markdownitDiasporaMention; md.use(mentionPlugin, { mentions: mentions, allowHovercards: true, - currentUserId: app.currentUser.get('guid') + currentUserId: app.currentUser.get("guid") }); var subPlugin = window.markdownitSub; @@ -51,11 +51,13 @@ md.use(sanitizerPlugin); // xmpp: should behave like mailto: - md.linkify.add('xmpp:','mailto:'); + md.linkify.add("xmpp:","mailto:"); + // mumble:// should behave like http://: + md.linkify.add("mumble:","http:"); md.linkify.set({ fuzzyLink: false }); // Bootstrap table markup - md.renderer.rules.table_open = function () { return '\n'; }; + md.renderer.rules.table_open = function () { return "
\n"; }; return md.render(text); }; diff --git a/spec/javascripts/app/helpers/text_formatter_spec.js b/spec/javascripts/app/helpers/text_formatter_spec.js index 9432f836a..ff9dafaf0 100644 --- a/spec/javascripts/app/helpers/text_formatter_spec.js +++ b/spec/javascripts/app/helpers/text_formatter_spec.js @@ -98,6 +98,7 @@ describe("app.helpers.textFormatter", function(){ "http://japan.co.jp", "http://www.mygreat-example-website.de", "http://www.jenseitsderfenster.de", // from issue #3468 + "mumble://mumble.coding4.coffee", "xmpp:podmin@pod.tld", "mailto:podmin@pod.tld" ];