diff --git a/core/server/apps/default-cards/cards/hr.js b/core/server/apps/default-cards/cards/hr.js
index 3a85026b59..06022a2a19 100644
--- a/core/server/apps/default-cards/cards/hr.js
+++ b/core/server/apps/default-cards/cards/hr.js
@@ -1,5 +1,5 @@
module.exports = {
- name: 'hr-card',
+ name: 'card-hr',
type: 'dom',
render(opts) {
return opts.env.dom.createElement('hr');
diff --git a/core/server/apps/default-cards/cards/html.js b/core/server/apps/default-cards/cards/html.js
index b600945dd6..57a2126b93 100644
--- a/core/server/apps/default-cards/cards/html.js
+++ b/core/server/apps/default-cards/cards/html.js
@@ -3,10 +3,10 @@ var SimpleDom = require('simple-dom'),
parser;
module.exports = {
- name: 'html-card',
+ name: 'card-html',
type: 'dom',
render(opts) {
parser = new SimpleDom.HTMLParser(tokenizer, opts.env.dom, SimpleDom.voidMap);
- return parser.parse('
' + opts.payload.html + '
');
+ return parser.parse('' + opts.payload.html + '
');
}
};
diff --git a/core/server/apps/default-cards/cards/image.js b/core/server/apps/default-cards/cards/image.js
index 644d580cd5..554f06d5a9 100644
--- a/core/server/apps/default-cards/cards/image.js
+++ b/core/server/apps/default-cards/cards/image.js
@@ -1,8 +1,9 @@
module.exports = {
- name: 'image-card',
+ name: 'card-image',
type: 'dom',
render(opts) {
var img = opts.env.dom.createElement('img');
+ img.className = 'kg-card-image';
img.setAttribute('src', opts.payload.img);
return img;
}
diff --git a/core/server/apps/default-cards/cards/markdown.js b/core/server/apps/default-cards/cards/markdown.js
index 7eb5f75c5d..95a30c0be1 100644
--- a/core/server/apps/default-cards/cards/markdown.js
+++ b/core/server/apps/default-cards/cards/markdown.js
@@ -5,10 +5,10 @@ var SimpleDom = require('simple-dom'),
parser;
module.exports = {
- name: 'markdown-card',
+ name: 'card-markdown',
type: 'dom',
render(opts) {
parser = new SimpleDom.HTMLParser(tokenizer, opts.env.dom, SimpleDom.voidMap);
- return parser.parse('' + converter.makeHtml(opts.payload.markdown || '') + '
');
+ return parser.parse('' + converter.makeHtml(opts.payload.markdown || '') + '
');
}
};
diff --git a/core/server/apps/default-cards/tests/html_spec.js b/core/server/apps/default-cards/tests/html_spec.js
index 0be91570d0..b2a706a68e 100644
--- a/core/server/apps/default-cards/tests/html_spec.js
+++ b/core/server/apps/default-cards/tests/html_spec.js
@@ -15,7 +15,7 @@ describe('HTML card', function () {
};
var serializer = new SimpleDom.HTMLSerializer([]);
- serializer.serialize(card.render(opts)).should.match('');
+ serializer.serialize(card.render(opts)).should.match('');
});
it('Plain content renders', function () {
opts = {
@@ -28,7 +28,7 @@ describe('HTML card', function () {
};
var serializer = new SimpleDom.HTMLSerializer([]);
- serializer.serialize(card.render(opts)).should.match('CONTENT
');
+ serializer.serialize(card.render(opts)).should.match('CONTENT
');
});
it.skip('Invalid HTML returns', function () {
opts = {
@@ -41,6 +41,6 @@ describe('HTML card', function () {
};
var serializer = new SimpleDom.HTMLSerializer([]);
- serializer.serialize(card.render(opts)).should.match('HEADING<
');
+ serializer.serialize(card.render(opts)).should.match('HEADING<
');
});
});
diff --git a/core/server/apps/default-cards/tests/markdown_spec.js b/core/server/apps/default-cards/tests/markdown_spec.js
index a952bc4fae..f2f1a29f6e 100644
--- a/core/server/apps/default-cards/tests/markdown_spec.js
+++ b/core/server/apps/default-cards/tests/markdown_spec.js
@@ -15,6 +15,6 @@ describe('Markdown card', function () {
};
var serializer = new SimpleDom.HTMLSerializer([]);
- serializer.serialize(card.render(opts)).should.match('');
+ serializer.serialize(card.render(opts)).should.match('');
});
});
diff --git a/core/server/utils/mobiledoc-converter.js b/core/server/utils/mobiledoc-converter.js
index 248c6e447c..8940b2784b 100644
--- a/core/server/utils/mobiledoc-converter.js
+++ b/core/server/utils/mobiledoc-converter.js
@@ -1,11 +1,17 @@
var SimpleDom = require('simple-dom'),
Renderer = require('mobiledoc-dom-renderer').default,
config = require('../config'),
+ logging = require('../logging'),
+ errors = require('../errors'),
defaults = require(config.get('paths').internalAppPath + 'default-cards'),
options = {
dom: new SimpleDom.Document(),
cards: defaults.cards,
- atoms: defaults.atoms
+ atoms: defaults.atoms,
+ unknownCardHandler: function (args) {
+ var error = new errors.InternalServerError({message: 'Mobiledoc card \'' + args.env.name + '\' not found.'});
+ logging.error(error);
+ }
};
// function getCards() {
diff --git a/core/test/unit/utils/mobiledoc-converter_spec.js b/core/test/unit/utils/mobiledoc-converter_spec.js
index f6f000eb0e..ce2712dc1f 100644
--- a/core/test/unit/utils/mobiledoc-converter_spec.js
+++ b/core/test/unit/utils/mobiledoc-converter_spec.js
@@ -6,15 +6,17 @@ describe('Convert mobiledoc to HTML ', function () {
version: '0.3.1',
atoms: [],
cards: [
- ['markdown-card',
+ ['card-markdown',
{
pos: 'top',
- card_name: 'markdown-card',
+ card_name: 'card-markdown',
markdown: '#heading\n\n- list one\n- list two\n- list three'
}
],
- ['markdown-card', {
- pos: 'top'
+ ['card-html', {
+ pos: 'top',
+ card_name: 'card-html',
+ html: 'HTML CARD
'
}]
],
markups: [],
@@ -27,6 +29,6 @@ describe('Convert mobiledoc to HTML ', function () {
]
};
it('Converts a mobiledoc to HTML', function () {
- converter.render(mobiledoc).should.match('test
heading
\n\n
\n- list one
\n- list two
\n- list three
\n
');
+ converter.render(mobiledoc).should.match('test
heading
\n\n
\n- list one
\n- list two
\n- list three
\n
');
});
});