summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-markdown/lib
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gitbook-markdown/lib')
-rw-r--r--packages/gitbook-markdown/lib/glossary.js10
-rw-r--r--packages/gitbook-markdown/lib/langs.js16
-rw-r--r--packages/gitbook-markdown/lib/summary.js32
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;