diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-03-09 15:18:57 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-03-09 15:18:57 +0100 |
commit | d39f0d6ff01bb033a4afeb1f2eb449f933719b14 (patch) | |
tree | 4172644a021e28f0eb61c5eaa041bdf2a804d47f | |
parent | bdbfbf7300ed6df752db996dfd865a695e0532fc (diff) | |
download | gitbook-d39f0d6ff01bb033a4afeb1f2eb449f933719b14.zip gitbook-d39f0d6ff01bb033a4afeb1f2eb449f933719b14.tar.gz gitbook-d39f0d6ff01bb033a4afeb1f2eb449f933719b14.tar.bz2 |
Add "output" variables for templating
-rw-r--r-- | docs/templating/variables.md | 9 | ||||
-rw-r--r-- | lib/output/base.js | 11 | ||||
-rw-r--r-- | lib/output/ebook.js | 9 |
3 files changed, 28 insertions, 1 deletions
diff --git a/docs/templating/variables.md b/docs/templating/variables.md index bca5880..8dbab98 100644 --- a/docs/templating/variables.md +++ b/docs/templating/variables.md @@ -12,6 +12,7 @@ The following is a reference of the available data during book's parsing and the | `file` | File associated with the current page specific information | | `summary` | Information about the table of contents | | `languages` | List of languages for multi-lingual books | +| `output` | Information about the output generator | | `config` | Dump of the `book.json` | ### Book Variables @@ -62,3 +63,11 @@ The whole table of contents (`SUMMARY.md`) can be accessed: | `languages.list` | List of languages for this book | Languages are defined by `{ id: 'en', title: 'English' }`. + +### Output Variables + +| Variable | Description | +| -------- | ----------- | +| `output.name` | Name of the output generator, possible values are `website`, `json`, `ebook` | +| `output.format` | When `output.name == "ebook"`, `format` defines the ebook format that will be generated, possible values are `pdf`, `epub` or `mobi` | + diff --git a/lib/output/base.js b/lib/output/base.js index 9c2153d..201eade 100644 --- a/lib/output/base.js +++ b/lib/output/base.js @@ -221,10 +221,19 @@ Output.prototype.onLanguageBook = function(book) { // ---- Utilities ---- +// Return conetxt for the output itself +Output.prototype.getSelfContext = function() { + return { + name: this.name + }; +}; + // Return a default context for templates Output.prototype.getContext = function() { return _.extend( - {}, + { + output: this.getSelfContext() + }, this.book.getContext(), this.book.langs.getContext(), this.book.summary.getContext(), diff --git a/lib/output/ebook.js b/lib/output/ebook.js index ace5255..b0b05ca 100644 --- a/lib/output/ebook.js +++ b/lib/output/ebook.js @@ -21,6 +21,15 @@ var EbookOutput = assetsInliner(_EbookOutput); EbookOutput.prototype.name = 'ebook'; +// Return context for templating +// Incldue type of ebbook generated +EbookOutput.prototype.getSelfContext = function() { + var ctx = EbookOutput.super_.prototype.getSelfContext.apply(this); + ctx.format = this.opts.format; + + return ctx; +}; + // Finish generation, create ebook using ebook-convert EbookOutput.prototype.finish = function() { var that = this; |