diff options
author | Samy Pessé <samypesse@gmail.com> | 2014-05-20 23:45:35 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2014-05-20 23:45:35 +0200 |
commit | 86f05c68c581968d3f650e5df1c972d13a43268f (patch) | |
tree | db1dedfc1d7b3fb382ab794771f1b1407e06e24a /lib/parse | |
parent | 8dd407eaa8aaf7447329afa48a3662706322732a (diff) | |
download | gitbook-86f05c68c581968d3f650e5df1c972d13a43268f.zip gitbook-86f05c68c581968d3f650e5df1c972d13a43268f.tar.gz gitbook-86f05c68c581968d3f650e5df1c972d13a43268f.tar.bz2 |
Improve parsing of readme (extraction of title and description as plain text and not markdown)
Diffstat (limited to 'lib/parse')
-rw-r--r-- | lib/parse/readme.js | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/parse/readme.js b/lib/parse/readme.js index aab094d..e3788af 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,26 @@ 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"); + var convert = _.compose( + function(text) { + return _.unescape(text.replace(/(\r\n|\n|\r)/gm, "")); + }, + _.partialRight(marked, _.extend({}, marked.defaults, { + renderer: renderer + })) + ); + return { - title: title, - description: description + title: convert(title), + description: convert(description) }; } |