Merge branch 'stable' into develop

This commit is contained in:
Jonne Haß 2015-05-04 04:04:48 +02:00
commit 971a3dd021
6 changed files with 47 additions and 4 deletions

View file

@ -93,13 +93,14 @@ gem "js-routes", "1.0.0"
source "https://rails-assets.org" do source "https://rails-assets.org" do
gem "rails-assets-jquery", "1.11.2" # Should be kept in sync with jquery-rails gem "rails-assets-jquery", "1.11.2" # Should be kept in sync with jquery-rails
gem "rails-assets-markdown-it", "4.2.0" gem "rails-assets-markdown-it", "4.2.1"
gem "rails-assets-markdown-it-hashtag", "0.3.0" gem "rails-assets-markdown-it-hashtag", "0.3.0"
gem "rails-assets-markdown-it-diaspora-mention", "0.3.0" gem "rails-assets-markdown-it-diaspora-mention", "0.3.0"
gem "rails-assets-markdown-it-sanitizer", "0.3.0" gem "rails-assets-markdown-it-sanitizer", "0.3.0"
gem "rails-assets-markdown-it--markdown-it-for-inline", "0.1.0" gem "rails-assets-markdown-it--markdown-it-for-inline", "0.1.0"
gem "rails-assets-markdown-it-sub", "1.0.0" gem "rails-assets-markdown-it-sub", "1.0.0"
gem "rails-assets-markdown-it-sup", "1.0.0" gem "rails-assets-markdown-it-sup", "1.0.0"
gem "rails-assets-highlightjs", "8.5.0"
# jQuery plugins # jQuery plugins

View file

@ -489,6 +489,7 @@ GEM
rails-assets-jquery-fullscreen (~> 1.1.4) rails-assets-jquery-fullscreen (~> 1.1.4)
rails-assets-jquery-ui (~> 1.10.4) rails-assets-jquery-ui (~> 1.10.4)
rails-assets-jquery.slimscroll (~> 1.3.3) rails-assets-jquery.slimscroll (~> 1.3.3)
rails-assets-highlightjs (8.5.0)
rails-assets-jakobmattsson--jquery-elastic (1.6.11) rails-assets-jakobmattsson--jquery-elastic (1.6.11)
rails-assets-jquery (>= 1.2.6) rails-assets-jquery (>= 1.2.6)
rails-assets-jasmine (2.3.0) rails-assets-jasmine (2.3.0)
@ -513,7 +514,7 @@ GEM
rails-assets-jquery.slimscroll (1.3.3) rails-assets-jquery.slimscroll (1.3.3)
rails-assets-jquery (>= 1.7) rails-assets-jquery (>= 1.7)
rails-assets-markdown-it--markdown-it-for-inline (0.1.0) rails-assets-markdown-it--markdown-it-for-inline (0.1.0)
rails-assets-markdown-it (4.2.0) rails-assets-markdown-it (4.2.1)
rails-assets-markdown-it-diaspora-mention (0.3.0) rails-assets-markdown-it-diaspora-mention (0.3.0)
rails-assets-markdown-it-hashtag (0.3.0) rails-assets-markdown-it-hashtag (0.3.0)
rails-assets-markdown-it-sanitizer (0.3.0) rails-assets-markdown-it-sanitizer (0.3.0)
@ -774,6 +775,7 @@ DEPENDENCIES
rack-ssl (= 1.4.1) rack-ssl (= 1.4.1)
rails (= 4.2.1) rails (= 4.2.1)
rails-assets-diaspora_jsxc (~> 0.1.1)! rails-assets-diaspora_jsxc (~> 0.1.1)!
rails-assets-highlightjs (= 8.5.0)!
rails-assets-jakobmattsson--jquery-elastic (= 1.6.11)! rails-assets-jakobmattsson--jquery-elastic (= 1.6.11)!
rails-assets-jasmine-ajax (= 3.1.0)! rails-assets-jasmine-ajax (= 3.1.0)!
rails-assets-jeresig--jquery.hotkeys (= 0.2.0)! rails-assets-jeresig--jquery.hotkeys (= 0.2.0)!
@ -783,7 +785,7 @@ DEPENDENCIES
rails-assets-jquery-simulate (= 1.0.1)! rails-assets-jquery-simulate (= 1.0.1)!
rails-assets-jquery-simulate-ext (= 1.3.0)! rails-assets-jquery-simulate-ext (= 1.3.0)!
rails-assets-jquery-textchange (= 0.2.3)! rails-assets-jquery-textchange (= 0.2.3)!
rails-assets-markdown-it (= 4.2.0)! rails-assets-markdown-it (= 4.2.1)!
rails-assets-markdown-it--markdown-it-for-inline (= 0.1.0)! rails-assets-markdown-it--markdown-it-for-inline (= 0.1.0)!
rails-assets-markdown-it-diaspora-mention (= 0.3.0)! rails-assets-markdown-it-diaspora-mention (= 0.3.0)!
rails-assets-markdown-it-hashtag (= 0.3.0)! rails-assets-markdown-it-hashtag (= 0.3.0)!

View file

@ -8,7 +8,8 @@
breaks: true, breaks: true,
html: true, html: true,
linkify: true, linkify: true,
typographer: true typographer: true,
langPrefix: ""
}); });
var inlinePlugin = window.markdownitForInline; var inlinePlugin = window.markdownitForInline;
@ -50,6 +51,23 @@
var sanitizerPlugin = window.markdownitSanitizer; var sanitizerPlugin = window.markdownitSanitizer;
md.use(sanitizerPlugin); md.use(sanitizerPlugin);
var hljs = window.hljs;
md.set({
highlight: function(str, lang) {
if (lang && hljs.getLanguage(lang)) {
try {
return hljs.highlight(lang, str).value;
} catch (__) {}
}
try {
return hljs.highlightAuto(str).value;
} catch (__) {}
return "";
}
});
// xmpp: should behave like mailto: // xmpp: should behave like mailto:
md.linkify.add("xmpp:","mailto:"); md.linkify.add("xmpp:","mailto:");
// mumble:// should behave like http://: // mumble:// should behave like http://:

View file

@ -35,6 +35,7 @@
//= require markdown-it-sanitizer //= require markdown-it-sanitizer
//= require markdown-it-sub //= require markdown-it-sub
//= require markdown-it-sup //= require markdown-it-sup
//= require highlightjs
//= require clear-form //= require clear-form
//= require app/app //= require app/app
//= require diaspora //= require diaspora

View file

@ -92,6 +92,7 @@
/* code */ /* code */
@import 'new_styles/code'; @import 'new_styles/code';
@import 'highlightjs/github';
/* statistics */ /* statistics */
@import 'new_styles/statistics'; @import 'new_styles/statistics';

View file

@ -88,6 +88,26 @@ describe("app.helpers.textFormatter", function(){
}); });
}); });
context("highlight", function(){
it("works with javascript code", function(){
var code = "```js\nfunction test() { return; } //test\n```";
expect(this.formatter(code)).toContain("<span class=\"hljs-function\">");
expect(this.formatter(code)).toContain("<span class=\"hljs-comment\">");
});
it("works with markdown", function(){
var code = "```markdown\n# header\n**strong**\n```";
expect(this.formatter(code)).toContain("<span class=\"hljs-header\">");
expect(this.formatter(code)).toContain("<span class=\"hljs-strong\">");
});
it("works with ruby code", function(){
var code = "```ruby\n# comment\nmodule test\nend\n```";
expect(this.formatter(code)).toContain("<span class=\"hljs-comment\">");
expect(this.formatter(code)).toContain("<span class=\"hljs-class\">");
});
});
context("markdown", function(){ context("markdown", function(){
it("autolinks", function(){ it("autolinks", function(){
var links = [ var links = [