From 18a8211cc34e9e4fbc6e9f12ad41758bf5d04f7f Mon Sep 17 00:00:00 2001 From: Steffen van Bergerem Date: Thu, 11 Jun 2015 11:33:28 +0200 Subject: [PATCH] Add img-responsive to image class --- Gemfile | 2 +- Gemfile.lock | 4 ++-- app/assets/javascripts/app/helpers/text_formatter.js | 7 +++++-- spec/javascripts/app/helpers/text_formatter_spec.js | 10 ++++++++++ 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index b97420a62..ca32a065a 100644 --- a/Gemfile +++ b/Gemfile @@ -98,7 +98,7 @@ source "https://rails-assets.org" do gem "rails-assets-markdown-it", "4.2.2" gem "rails-assets-markdown-it-hashtag", "0.3.1" gem "rails-assets-markdown-it-diaspora-mention", "0.3.0" - gem "rails-assets-markdown-it-sanitizer", "0.3.1" + gem "rails-assets-markdown-it-sanitizer", "0.3.2" gem "rails-assets-markdown-it--markdown-it-for-inline", "0.1.1" gem "rails-assets-markdown-it-sub", "1.0.0" gem "rails-assets-markdown-it-sup", "1.0.0" diff --git a/Gemfile.lock b/Gemfile.lock index 3bef698ae..858c83a02 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -550,7 +550,7 @@ GEM rails-assets-markdown-it (4.2.2) rails-assets-markdown-it-diaspora-mention (0.3.0) rails-assets-markdown-it-hashtag (0.3.1) - rails-assets-markdown-it-sanitizer (0.3.1) + rails-assets-markdown-it-sanitizer (0.3.2) rails-assets-markdown-it-sub (1.0.0) rails-assets-markdown-it-sup (1.0.0) rails-assets-perfect-scrollbar (0.6.2) @@ -835,7 +835,7 @@ DEPENDENCIES rails-assets-markdown-it--markdown-it-for-inline (= 0.1.1)! rails-assets-markdown-it-diaspora-mention (= 0.3.0)! rails-assets-markdown-it-hashtag (= 0.3.1)! - rails-assets-markdown-it-sanitizer (= 0.3.1)! + rails-assets-markdown-it-sanitizer (= 0.3.2)! rails-assets-markdown-it-sub (= 1.0.0)! rails-assets-markdown-it-sup (= 1.0.0)! rails-assets-perfect-scrollbar (= 0.6.2)! diff --git a/app/assets/javascripts/app/helpers/text_formatter.js b/app/assets/javascripts/app/helpers/text_formatter.js index 163f938ed..93adee239 100644 --- a/app/assets/javascripts/app/helpers/text_formatter.js +++ b/app/assets/javascripts/app/helpers/text_formatter.js @@ -29,6 +29,10 @@ tokens[idx].attrPush([ "target", "_blank" ]); }); + md.use(inlinePlugin, "responsive_images", "image", function (tokens, idx) { + tokens[idx].attrPush([ "class", "img-responsive" ]); + }); + var hashtagPlugin = window.markdownitHashtag; md.use(hashtagPlugin, { // compare tag_text_regexp in app/models/acts_as_taggable_on-tag.rb @@ -49,7 +53,7 @@ var supPlugin = window.markdownitSup; md.use(supPlugin); var sanitizerPlugin = window.markdownitSanitizer; - md.use(sanitizerPlugin); + md.use(sanitizerPlugin, {imageClass: "img-responsive"}); var hljs = window.hljs; md.set({ @@ -76,7 +80,6 @@ // Bootstrap table markup 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 04c18a9f4..34b914190 100644 --- a/spec/javascripts/app/helpers/text_formatter_spec.js +++ b/spec/javascripts/app/helpers/text_formatter_spec.js @@ -147,6 +147,16 @@ describe("app.helpers.textFormatter", function(){ expect(wrapper.find('code').text()).toEqual(''); }); + it("adds 'img-responsive' to the image class", function() { + var content = "![alt](http://google.com)]"; + var wrapper = $("
").html(this.formatter(content)); + expect(wrapper.find("img")).toHaveClass("img-responsive"); + + content = ""; + wrapper = $("
").html(this.formatter(content)); + expect(wrapper.find("img")).toHaveClass("img-responsive"); + }); + context("symbol conversion", function() { beforeEach(function() { this.input_strings = [