diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-05-02 16:14:39 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-12-22 15:00:55 +0100 |
commit | b918cbcb0305bb5269d5a7ee7513b4e32317677b (patch) | |
tree | 85430e1258b026ce433899ab4f86811a8b24c71f | |
parent | 157446e9286e0ccab6cea1924e22f696c4ebc698 (diff) | |
download | gitbook-b918cbcb0305bb5269d5a7ee7513b4e32317677b.zip gitbook-b918cbcb0305bb5269d5a7ee7513b4e32317677b.tar.gz gitbook-b918cbcb0305bb5269d5a7ee7513b4e32317677b.tar.bz2 |
Adapt for gitbook-html@1.1.0
-rw-r--r-- | packages/gitbook-markdown/lib/index.js | 8 | ||||
-rw-r--r-- | packages/gitbook-markdown/lib/page.js | 22 | ||||
-rw-r--r-- | packages/gitbook-markdown/lib/tohtml.js | 26 | ||||
-rw-r--r-- | packages/gitbook-markdown/lib/tomarkdown.js | 8 | ||||
-rw-r--r-- | packages/gitbook-markdown/package.json | 2 | ||||
-rw-r--r-- | packages/gitbook-markdown/test/langs.js | 4 | ||||
-rw-r--r-- | packages/gitbook-markdown/test/summary.js | 16 |
7 files changed, 65 insertions, 21 deletions
diff --git a/packages/gitbook-markdown/lib/index.js b/packages/gitbook-markdown/lib/index.js index 1f575a5..49edee6 100644 --- a/packages/gitbook-markdown/lib/index.js +++ b/packages/gitbook-markdown/lib/index.js @@ -1,8 +1,10 @@ -var htmlParser = require('gitbook-html'); +var HTMLParser = require('gitbook-html'); var toHTML = require('./tohtml'); -var toMarkdown = require('./tomarkdown'); +var toMarkdown = require('./toMarkdown'); var page = require('./page'); -module.exports = htmlParser.createParser(toHTML, toMarkdown); +module.exports = HTMLParser.createParser(toHTML, toMarkdown); + +// Add the custom page escaping module.exports.page.prepare = page.prepare; diff --git a/packages/gitbook-markdown/lib/page.js b/packages/gitbook-markdown/lib/page.js index bdb359e..5bb842e 100644 --- a/packages/gitbook-markdown/lib/page.js +++ b/packages/gitbook-markdown/lib/page.js @@ -5,17 +5,33 @@ var annotate = require('kramed/lib/annotate/'); var RAW_START = '{% raw %}'; var RAW_END = '{% endraw %}'; -// Escape a code block using raw blocks +/** + Escape a code block's content using raw blocks + + @param {String} + @return {String} +*/ function escape(str) { return RAW_START + str + RAW_END; } -// Combines annotated nodes +/** + Combines annotated nodes + + @param {Array} + @return {String} +*/ function combine(nodes) { return _.pluck(nodes, 'raw').join(''); } -// Add templating "raw" to code blocks +/** + Add templating "raw" to code blocks to + avoid nunjucks processing their content. + + @param {String} src + @return {String} +*/ function preparePage(src) { var lexed = annotate.blocks(src); var levelRaw = 0; diff --git a/packages/gitbook-markdown/lib/tohtml.js b/packages/gitbook-markdown/lib/tohtml.js index 628ebce..c40c545 100644 --- a/packages/gitbook-markdown/lib/tohtml.js +++ b/packages/gitbook-markdown/lib/tohtml.js @@ -1,7 +1,11 @@ var _ = require('lodash'); var kramed = require('kramed'); -// Get renderer for kramed +/** + Get renderer for kramed with correct configuration + + @return {kramed.Renderer} +*/ function getRenderer() { return new kramed.Renderer({ langPrefix: 'lang-', @@ -12,14 +16,23 @@ function getRenderer() { }); } -// Get options for markdown parsing +/** + Get options for markdown parsing + + @return {Object} +*/ function getOption() { return _.extend({}, kramed.defaults, { mathjax: false }); } -// Convert Markdown to HTML +/** + Convert Markdown block to HTML + + @param {String} src (markdown) + @return {String} (html) +*/ function convertMdToHTMLBlock(src) { var options = _.extend(getOption(), { renderer: getRenderer() @@ -28,7 +41,12 @@ function convertMdToHTMLBlock(src) { return kramed(src, options); } -// Convert Markdown to HTML (inline) +/** + Convert Markdown inline to HTML + + @param {String} src (markdown) + @return {String} (html) +*/ function convertMdToHTMLInline(src) { return kramed.inlineLexer(src, getOption(), getRenderer()); } diff --git a/packages/gitbook-markdown/lib/tomarkdown.js b/packages/gitbook-markdown/lib/tomarkdown.js index 5bee4e0..aab642c 100644 --- a/packages/gitbook-markdown/lib/tomarkdown.js +++ b/packages/gitbook-markdown/lib/tomarkdown.js @@ -4,6 +4,10 @@ function ns(s, n) { return Array(n + 1).join(s); } +/* + This module provides markup rules for gitbook-html + These rules are being used to generate SUMMARY/GLOSSARY/LANGS +*/ module.exports = { onTitleStart: function(level) { return ns('#', level) + ' '; @@ -39,5 +43,9 @@ module.exports = { onListItemEnd: function() { return ''; }, + + onHR: function() { + return '-----'; + } }; diff --git a/packages/gitbook-markdown/package.json b/packages/gitbook-markdown/package.json index cb5e8b4..9dc78d9 100644 --- a/packages/gitbook-markdown/package.json +++ b/packages/gitbook-markdown/package.json @@ -8,7 +8,7 @@ "lodash": "^3.2.0", "kramed": "0.5.6", "kramed-text-renderer": "0.2.1", - "gitbook-html": "1.1.0" + "gitbook-html": "1.2.0" }, "devDependencies": { "mocha": "^2.3.3" diff --git a/packages/gitbook-markdown/test/langs.js b/packages/gitbook-markdown/test/langs.js index bb75d11..3c2f108 100644 --- a/packages/gitbook-markdown/test/langs.js +++ b/packages/gitbook-markdown/test/langs.js @@ -14,10 +14,10 @@ describe('Languages parsing', function () { it('should detect paths and titles', function() { assert.equal(LEXED.length, 2); - assert.equal(LEXED[0].path,'en/'); + assert.equal(LEXED[0].ref,'en/'); assert.equal(LEXED[0].title,'English'); - assert.equal(LEXED[1].path,'fr/'); + assert.equal(LEXED[1].ref,'fr/'); assert.equal(LEXED[1].title,'French'); }); diff --git a/packages/gitbook-markdown/test/summary.js b/packages/gitbook-markdown/test/summary.js index 22800d4..31dbff9 100644 --- a/packages/gitbook-markdown/test/summary.js +++ b/packages/gitbook-markdown/test/summary.js @@ -32,11 +32,11 @@ describe('Summary parsing', function () { }); it('should detect paths and titles', function() { - assert(PART.articles[0].path); - assert(PART.articles[1].path); - assert(PART.articles[2].path); - assert(PART.articles[3].path); - assert.equal(PART.articles[4].path, null); + assert(PART.articles[0].ref); + assert(PART.articles[1].ref); + assert(PART.articles[2].ref); + assert(PART.articles[3].ref); + assert.equal(PART.articles[4].ref, null); assert(PART.articles[0].title); assert(PART.articles[1].title); @@ -46,9 +46,9 @@ describe('Summary parsing', function () { }); it('should normalize paths from .md', function() { - assert.equal(PART.articles[0].path,'chapter-1/README.md'); - assert.equal(PART.articles[1].path,'chapter-2/README.md'); - assert.equal(PART.articles[2].path,'chapter-3/README.md'); + assert.equal(PART.articles[0].ref, 'chapter-1/README.md'); + assert.equal(PART.articles[1].ref, 'chapter-2/README.md'); + assert.equal(PART.articles[2].ref, 'chapter-3/README.md'); }); it('should part parts', function() { |