summaryrefslogtreecommitdiffstats
path: root/lib/parse/page.js
diff options
context:
space:
mode:
authorAaron O'Mullan <aaron.omullan@friendco.de>2014-10-15 21:20:10 +0200
committerAaron O'Mullan <aaron.omullan@friendco.de>2014-10-15 21:20:10 +0200
commit52e83618467a238f6b20f5fb77f6f6a2e1450c8c (patch)
tree96b43d8396fedea81409677f1e10698a0b36265c /lib/parse/page.js
parent49e3bbc3d6e9e128df721494e9a10eaf15b7ddc8 (diff)
downloadgitbook-52e83618467a238f6b20f5fb77f6f6a2e1450c8c.zip
gitbook-52e83618467a238f6b20f5fb77f6f6a2e1450c8c.tar.gz
gitbook-52e83618467a238f6b20f5fb77f6f6a2e1450c8c.tar.bz2
Add include support, with variables and the whole shebang
Fixes #462
Diffstat (limited to 'lib/parse/page.js')
-rw-r--r--lib/parse/page.js15
1 files changed, 5 insertions, 10 deletions
diff --git a/lib/parse/page.js b/lib/parse/page.js
index ae71666..846d339 100644
--- a/lib/parse/page.js
+++ b/lib/parse/page.js
@@ -5,7 +5,7 @@ var hljs = require('highlight.js');
var lex = require('./lex');
var renderer = require('./renderer');
-var codeInclude = require('./code_include');
+var include = require('./include');
var lnormalize = require('../utils/lang').normalize;
@@ -51,7 +51,7 @@ function parsePage(src, options) {
options = options || {};
// Lex if not already lexed
- return (_.isArray(src) ? src : lex(src))
+ return (_.isArray(src) ? src : lex(include(src, options.dir, options.variables)))
.map(function(section) {
// Transform given type
if(section.type === 'exercise') {
@@ -74,20 +74,15 @@ function parsePage(src, options) {
// Main language
var lang = validLangs ? langs[0] : null;
- // codeInclude shortcut
- var ci = function(code) {
- return codeInclude(code, options.dir);
- };
-
return {
id: section.id,
type: section.type,
content: render(nonCodeNodes, options),
lang: lang,
code: {
- base: ci(codeNodes[0].text),
- solution: ci(codeNodes[1].text),
- validation: ci(codeNodes[2].text),
+ base: codeNodes[0].text,
+ solution: codeNodes[1].text,
+ validation: codeNodes[2].text,
// Context is optional
context: codeNodes[3] ? codeNodes[3].text : null,
}