diff options
Diffstat (limited to 'lib/response.js')
-rwxr-xr-x | lib/response.js | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/lib/response.js b/lib/response.js index fa97f157..0004f824 100755 --- a/lib/response.js +++ b/lib/response.js @@ -16,15 +16,6 @@ var config = require("./config.js"); var logger = require("./logger.js"); var models = require("./models"); -//slides -var md = require('reveal.js/plugin/markdown/markdown'); - -//reveal.js -var slideOptions = { - separator: '^(\r\n?|\n)---(\r\n?|\n)$', - verticalSeparator: '^(\r\n?|\n)----(\r\n?|\n)$' -}; - //public var response = { errorForbidden: function (res) { @@ -187,26 +178,28 @@ function showPublishNote(req, res, next) { } var body = LZString.decompressFromBase64(note.content); var meta = null; + var markdown = null; try { - meta = models.Note.parseMeta(metaMarked(body).meta); + var obj = metaMarked(body); + markdown = obj.markdown; + meta = models.Note.parseMeta(obj.meta); } catch(err) { //na } if (!meta) meta = {}; var createtime = note.createdAt; var updatetime = note.lastchangeAt; - var text = S(body).escapeHTML().s; var title = models.Note.decodeTitle(note.title); title = models.Note.generateWebTitle(meta.title || title); var origin = config.serverurl; var data = { title: title, - description: meta.description, + description: meta.description || markdown ? models.Note.generateDescription(markdown) : null, viewcount: note.viewcount, createtime: createtime, updatetime: updatetime, url: origin, - body: text, + body: body, useCDN: config.usecdn, owner: note.owner ? note.owner.id : null, ownerprofile: note.owner ? models.User.parseProfile(note.owner.profile) : null, @@ -259,19 +252,21 @@ function actionDownload(req, res, note) { function actionInfo(req, res, note) { var body = LZString.decompressFromBase64(note.content); var meta = null; + var markdown = null; try { - meta = models.Note.parseMeta(metaMarked(body).meta); + var obj = metaMarked(body); + markdown = obj.markdown; + meta = models.Note.parseMeta(obj.meta); } catch(err) { //na } if (!meta) meta = {}; var createtime = note.createdAt; var updatetime = note.lastchangeAt; - var text = S(body).escapeHTML().s; var title = models.Note.decodeTitle(note.title); var data = { title: meta.title || title, - description: meta.description, + description: meta.description || markdown ? models.Note.generateDescription(markdown) : null, viewcount: note.viewcount, createtime: createtime, updatetime: updatetime @@ -571,9 +566,10 @@ function showPublishSlide(req, res, next) { } var body = LZString.decompressFromBase64(note.content); var meta = null; + var markdown = null; try { var obj = metaMarked(body); - body = obj.markdown; + markdown = obj.markdown; meta = models.Note.parseMeta(obj.meta); } catch(err) { //na @@ -581,19 +577,17 @@ function showPublishSlide(req, res, next) { if (!meta) meta = {}; var createtime = note.createdAt; var updatetime = note.lastchangeAt; - var text = S(body).escapeHTML().s; var title = models.Note.decodeTitle(note.title); title = models.Note.generateWebTitle(meta.title || title); - var slides = md.slidify(text, slideOptions); var origin = config.serverurl; var data = { title: title, - description: meta.description, + description: meta.description || markdown ? models.Note.generateDescription(markdown) : null, viewcount: note.viewcount, createtime: createtime, updatetime: updatetime, url: origin, - slides: slides, + body: markdown, meta: JSON.stringify(obj.meta || {}), useCDN: config.usecdn, owner: note.owner ? note.owner.id : null, |