summaryrefslogtreecommitdiffstats
path: root/lib/parse/readme.js
diff options
context:
space:
mode:
authorDavid Graf <davidagraf@gmail.com>2014-05-21 16:24:07 +0200
committerDavid Graf <davidagraf@gmail.com>2014-05-21 16:24:07 +0200
commite7be132194aed102c9d1983a68cd2de5f6b4c45b (patch)
tree336fe9a9ca8086c41d9730d487718c7670444c49 /lib/parse/readme.js
parent7c65adc9b2c7a1f386a8bd54cdc03bdeac4df5a5 (diff)
parent0e1717f4bb979ebdbba5500dd5ae85f7f10f3528 (diff)
downloadgitbook-e7be132194aed102c9d1983a68cd2de5f6b4c45b.zip
gitbook-e7be132194aed102c9d1983a68cd2de5f6b4c45b.tar.gz
gitbook-e7be132194aed102c9d1983a68cd2de5f6b4c45b.tar.bz2
Merge branch 'master' into livereload
Diffstat (limited to 'lib/parse/readme.js')
-rw-r--r--lib/parse/readme.js23
1 files changed, 18 insertions, 5 deletions
diff --git a/lib/parse/readme.js b/lib/parse/readme.js
index aab094d..85a8749 100644
--- a/lib/parse/readme.js
+++ b/lib/parse/readme.js
@@ -1,5 +1,6 @@
var _ = require('lodash');
var marked = require('marked');
+var textRenderer = require('marked-text-renderer');
function extractFirstNode(nodes, nType) {
return _.chain(nodes)
@@ -14,16 +15,28 @@ function extractFirstNode(nodes, nType) {
function parseReadme(src) {
var nodes, title, description;
+ var renderer = textRenderer();
// Parse content
nodes = marked.lexer(src);
-
- var title = extractFirstNode(nodes, "heading");
- var description = extractFirstNode(nodes, "paragraph");
+
+ title = extractFirstNode(nodes, "heading") || '';
+ description = extractFirstNode(nodes, "paragraph") || '';
+
+ var convert = _.compose(
+ function(text) {
+ return _.unescape(text.replace(/(\r\n|\n|\r)/gm, ""));
+ },
+ function(text) {
+ return marked.parse(text, _.extend({}, marked.defaults, {
+ renderer: renderer
+ }));
+ }
+ );
return {
- title: title,
- description: description
+ title: convert(title),
+ description: convert(description)
};
}