mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-16 15:45:13 +00:00
Add new gitbook-markdown and gitbook-asciidoc
This commit is contained in:
+1
-1
@@ -1,7 +1,6 @@
|
||||
var _ = require('lodash');
|
||||
var path = require('path');
|
||||
var Ignore = require('ignore');
|
||||
var parsers = require('gitbook-parsers');
|
||||
|
||||
var Config = require('./config');
|
||||
var Readme = require('./backbone/readme');
|
||||
@@ -13,6 +12,7 @@ var pathUtil = require('./utils/path');
|
||||
var error = require('./utils/error');
|
||||
var Promise = require('./utils/promise');
|
||||
var Logger = require('./utils/logger');
|
||||
var parsers = require('./parsers');
|
||||
|
||||
|
||||
/*
|
||||
|
||||
+1
-1
@@ -1,9 +1,9 @@
|
||||
var _ = require('lodash');
|
||||
var path = require('path');
|
||||
var chokidar = require('chokidar');
|
||||
var parsers = require('gitbook-parsers');
|
||||
|
||||
var Promise = require('../utils/promise');
|
||||
var parsers = require('../parsers');
|
||||
|
||||
// Watch a folder and resolve promise once a file is modified
|
||||
function watch(dir) {
|
||||
|
||||
+1
-1
@@ -1,11 +1,11 @@
|
||||
var _ = require('lodash');
|
||||
var path = require('path');
|
||||
var parsers = require('gitbook-parsers');
|
||||
var direction = require('direction');
|
||||
|
||||
var error = require('../utils/error');
|
||||
var pathUtil = require('../utils/path');
|
||||
var location = require('../utils/location');
|
||||
var parsers = require('../parsers');
|
||||
var HTMLPipeline = require('./html');
|
||||
|
||||
/*
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
var _ = require('lodash');
|
||||
var path = require('path');
|
||||
|
||||
var markdownParser = require('gitbook-markdown');
|
||||
var asciidocParser = require('gitbook-asciidoc');
|
||||
|
||||
var Promise = require('./utils/promise');
|
||||
|
||||
// This list is ordered by priority of parsers to use
|
||||
var PARSERS = [
|
||||
createParser(markdownParser, {
|
||||
name: 'markdown',
|
||||
extensions: ['.md', '.markdown', '.mdown']
|
||||
}),
|
||||
createParser(asciidocParser, {
|
||||
name: 'asciidoc',
|
||||
extensions: ['.adoc', '.asciidoc']
|
||||
})
|
||||
];
|
||||
|
||||
|
||||
// Prepare and compose a parser
|
||||
function createParser(parser, base) {
|
||||
var nparser = base;
|
||||
|
||||
nparser.glossary = Promise.wrapfn(parser.glossary);
|
||||
nparser.glossary.toText = Promise.wrapfn(parser.glossary.toText);
|
||||
|
||||
nparser.summary = Promise.wrapfn(parser.summary);
|
||||
nparser.summary.toText = Promise.wrapfn(parser.summary.toText);
|
||||
|
||||
nparser.langs = Promise.wrapfn(parser.langs);
|
||||
nparser.langs.toText = Promise.wrapfn(parser.langs.toText);
|
||||
|
||||
nparser.readme = Promise.wrapfn(parser.readme);
|
||||
|
||||
nparser.page = Promise.wrapfn(parser.page);
|
||||
nparser.page.prepare = Promise.wrapfn(parser.page.prepare || _.identity);
|
||||
|
||||
return nparser;
|
||||
}
|
||||
|
||||
// Return a specific parser according to an extension
|
||||
function getParser(ext) {
|
||||
return _.find(PARSERS, function(input) {
|
||||
return input.name == ext || _.contains(input.extensions, ext);
|
||||
});
|
||||
}
|
||||
|
||||
// Return parser for a file
|
||||
function getParserForFile(filename) {
|
||||
return getParser(path.extname(filename));
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
all: PARSERS,
|
||||
extensions: _.flatten(_.pluck(PARSERS, 'extensions')),
|
||||
get: getParser,
|
||||
getForFile: getParserForFile
|
||||
};
|
||||
@@ -1,11 +1,11 @@
|
||||
var _ = require('lodash');
|
||||
var path = require('path');
|
||||
var nunjucks = require('nunjucks');
|
||||
var parsers = require('gitbook-parsers');
|
||||
var escapeStringRegexp = require('escape-string-regexp');
|
||||
|
||||
var Promise = require('../utils/promise');
|
||||
var error = require('../utils/error');
|
||||
var parsers = require('../parsers');
|
||||
var defaultBlocks = require('./blocks');
|
||||
var Loader = require('./loader');
|
||||
|
||||
|
||||
@@ -43,8 +43,20 @@ function map(arr, iter) {
|
||||
}, []);
|
||||
}
|
||||
|
||||
// Wrap a fucntion in a promise
|
||||
function wrap(func) {
|
||||
return _.wrap(func, function(_func) {
|
||||
var args = Array.prototype.slice.call(arguments, 1);
|
||||
return Q()
|
||||
.then(function() {
|
||||
return _func.apply(null, args);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = Q;
|
||||
module.exports.reduce = reduce;
|
||||
module.exports.map = map;
|
||||
module.exports.serie = serie;
|
||||
module.exports.some = some;
|
||||
module.exports.wrapfn = wrap;
|
||||
|
||||
+2
-1
@@ -11,7 +11,8 @@
|
||||
"resolve": "0.6.3",
|
||||
"mkdirp": "0.5.1",
|
||||
"error": "7.0.2",
|
||||
"gitbook-parsers": "0.8.9",
|
||||
"gitbook-markdown": "1.0.0",
|
||||
"gitbook-asciidoc": "1.0.0",
|
||||
"gitbook-plugin-highlight": "1.0.3",
|
||||
"gitbook-plugin-sharing": "1.0.1",
|
||||
"gitbook-plugin-search": "1.1.0",
|
||||
|
||||
Reference in New Issue
Block a user