diff options
Diffstat (limited to 'packages/gitbook-markdown/lib')
-rw-r--r-- | packages/gitbook-markdown/lib/glossary.js | 10 | ||||
-rw-r--r-- | packages/gitbook-markdown/lib/langs.js | 16 | ||||
-rw-r--r-- | packages/gitbook-markdown/lib/summary.js | 32 |
3 files changed, 55 insertions, 3 deletions
diff --git a/packages/gitbook-markdown/lib/glossary.js b/packages/gitbook-markdown/lib/glossary.js index 4673f2d..e66f68f 100644 --- a/packages/gitbook-markdown/lib/glossary.js +++ b/packages/gitbook-markdown/lib/glossary.js @@ -37,4 +37,14 @@ function parseGlossary(src) { }; }); } + +function glossaryToMarkdown(glossary) { + var bl = "\n"; + + return _.map(glossary, function(entry) { + return "## "+entry.name+bl+bl+entry.description; + }).join(bl+bl); +} + module.exports = parseGlossary; +module.exports.toText = glossaryToMarkdown; diff --git a/packages/gitbook-markdown/lib/langs.js b/packages/gitbook-markdown/lib/langs.js index 57ac38b..45202e3 100644 --- a/packages/gitbook-markdown/lib/langs.js +++ b/packages/gitbook-markdown/lib/langs.js @@ -2,8 +2,20 @@ var _ = require("lodash"); var parseEntries = require("./summary").entries; -var parseLangs = function(content) { +function parseLangs(content) { return parseEntries(content); -}; +} + +function langsToMarkdown(langs) { + var bl = "\n"; + var content = "# Languages"+bl+bl; + + _.each(langs, function(lang) { + content = content + "* ["+lang.title+"]("+lang.path+")"+bl; + }); + + return content; +} module.exports = parseLangs; +module.exports.toText = langsToMarkdown; diff --git a/packages/gitbook-markdown/lib/summary.js b/packages/gitbook-markdown/lib/summary.js index 8d90e14..1c46800 100644 --- a/packages/gitbook-markdown/lib/summary.js +++ b/packages/gitbook-markdown/lib/summary.js @@ -137,6 +137,36 @@ function parseEntries (src) { } -// Exports +function summaryToMarkdown(summary) { + var bl = "\n"; + var content = "# Summary"+bl+bl; + + var _base = function(_article) { + var article = _article.toJSON(); + if (article.path) { + return "* ["+article.title+"]("+article.path+")"; + } else { + return "* "+article.title; + } + }; + + var convertArticle = function(article, d) { + content = content + Array(4*d).join(" ") + _base(article)+bl; + article.articles.each(function(_article) { + convertArticle(_article, d + 1); + }); + }; + + _.each(summary.chapters, function(chapter) { + convertArticle(chapter, 0); + }); + + content = content+bl; + + return content; +}; + + module.exports = parseSummary; module.exports.entries = parseEntries; +module.exports.toText = summaryToMarkdown; |