From b0bc37e59cb521890be25015a66a1ae5d4f5c6f7 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 7 Jan 2014 22:15:00 +0000 Subject: Move options reading to separate module --- lib/options-reader.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 lib/options-reader.js (limited to 'lib/options-reader.js') diff --git a/lib/options-reader.js b/lib/options-reader.js new file mode 100644 index 0000000..caf4fe5 --- /dev/null +++ b/lib/options-reader.js @@ -0,0 +1,42 @@ +exports.readOptions = readOptions; + +var extend = require("xtend"); +var _ = require("underscore"); +var style = require("./style-reader").readStyle; + + +var standardOptions = { + styleMap: [ + style("p.Heading1 => h1:fresh"), + style("p.Heading2 => h2:fresh"), + style("p.Heading3 => h3:fresh"), + style("p.Heading4 => h4:fresh"), + style("p:unordered-list(1) => ul > li:fresh"), + style("p:unordered-list(2) => ul|ol > li > ul > li:fresh"), + style("p:unordered-list(3) => ul|ol > li > ul|ol > li > ul > li:fresh"), + style("p:unordered-list(4) => ul|ol > li > ul|ol > li > ul|ol > li > ul > li:fresh"), + style("p:unordered-list(5) => ul|ol > li > ul|ol > li > ul|ol > li > ul|ol > li > ul > li:fresh"), + style("p:ordered-list(1) => ol > li:fresh"), + style("p:ordered-list(2) => ul|ol > li > ol > li:fresh"), + style("p:ordered-list(3) => ul|ol > li > ul|ol > li > ol > li:fresh"), + style("p:ordered-list(4) => ul|ol > li > ul|ol > li > ul|ol > li > ol > li:fresh"), + style("p:ordered-list(5) => ul|ol > li > ul|ol > li > ul|ol > li > ul|ol > li > ol > li:fresh") + ], + transformDocument: identity +}; + +function readOptions(options) { + options = options || {}; + if (options.styleMap && _.isString(options.styleMap)) { + options.styleMap = options.styleMap.split("\n").map(function(line) { + return style(line.trim()); + }); + } + + return extend(standardOptions, options); +} + + +function identity(value) { + return value; +} -- cgit v1.2.3