summaryrefslogtreecommitdiff
path: root/lib/response.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/response.js')
-rwxr-xr-xlib/response.js36
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,