mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-01-14 06:43:25 +08:00
fixed css, sequenceConfig, and ganttConfig being sent as buffer to phantomjs
made verbose cli argument a boolean
This commit is contained in:
parent
aa6e15e3ac
commit
0c62c08abd
48
lib/cli.js
48
lib/cli.js
@ -29,7 +29,7 @@ function cli(options) {
|
||||
, css: 't'
|
||||
, width: 'w'
|
||||
}
|
||||
, 'boolean': ['help', 'png', 'svg']
|
||||
, 'boolean': ['help', 'png', 'svg', 'verbose']
|
||||
, 'string': ['outputDir']
|
||||
}
|
||||
|
||||
@ -96,23 +96,36 @@ cli.prototype.parse = function(argv, next) {
|
||||
}
|
||||
|
||||
if (options.sequenceConfig) {
|
||||
options.sequenceConfig = checkConfig(options.sequenceConfig)
|
||||
}
|
||||
|
||||
if (options.ganttConfig) {
|
||||
options.ganttConfig = checkConfig(options.ganttConfig)
|
||||
}
|
||||
|
||||
if (options.css) {
|
||||
try {
|
||||
options.css = fs.readFileSync(options.css, 'utf8')
|
||||
|
||||
fs.accessSync(options.sequenceConfig, fs.R_OK)
|
||||
|
||||
} catch (err) {
|
||||
this.errors.push(err)
|
||||
}
|
||||
} else {
|
||||
options.css = fs.readFileSync(path.join(__dirname, '..', 'dist', 'mermaid.css'))
|
||||
options.sequenceConfig = null
|
||||
}
|
||||
|
||||
if (options.ganttConfig) {
|
||||
try {
|
||||
fs.accessSync(options.ganttConfig, fs.R_OK)
|
||||
|
||||
} catch (err) {
|
||||
this.errors.push(err)
|
||||
}
|
||||
} else {
|
||||
options.ganttConfig = null
|
||||
}
|
||||
|
||||
if (options.css) {
|
||||
try {
|
||||
fs.accessSync(options.css, fs.R_OK)
|
||||
|
||||
} catch (err) {
|
||||
this.errors.push(err)
|
||||
}
|
||||
} else {
|
||||
options.css = path.join(__dirname, '..', 'dist', 'mermaid.css')
|
||||
}
|
||||
|
||||
// set svg/png flags appropriately
|
||||
@ -136,17 +149,6 @@ cli.prototype.parse = function(argv, next) {
|
||||
}
|
||||
}
|
||||
|
||||
function checkConfig(configPath) {
|
||||
try {
|
||||
var text = fs.readFileSync(configPath, 'utf8');
|
||||
JSON.parse(text)
|
||||
return text
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
function createCheckPhantom(_phantomPath) {
|
||||
var phantomPath = _phantomPath
|
||||
, phantomVersion
|
||||
|
@ -18,7 +18,7 @@ function processMermaid(files, _options, _next) {
|
||||
, outputDir
|
||||
, options.png
|
||||
, options.svg
|
||||
, options.css || ''
|
||||
, options.css
|
||||
, options.sequenceConfig
|
||||
, options.ganttConfig
|
||||
, options.verbose
|
||||
|
@ -28,7 +28,6 @@ var system = require('system')
|
||||
, fs = require('fs')
|
||||
, webpage = require('webpage')
|
||||
|
||||
|
||||
var page = webpage.create()
|
||||
, files = system.args.slice(9, system.args.length)
|
||||
, width = system.args[8]
|
||||
@ -40,21 +39,15 @@ var options = {
|
||||
outputDir: system.args[1]
|
||||
, png: system.args[2] === 'true' ? true : false
|
||||
, svg: system.args[3] === 'true' ? true : false
|
||||
, css: system.args[4] !== '' ? system.args[4] : '* { margin: 0; padding: 0; }'
|
||||
, sequenceConfig: system.args[5]
|
||||
, ganttConfig: system.args[6]
|
||||
, css: fs.read(system.args[4])
|
||||
, sequenceConfig: system.args[5] !== 'null' ? JSON.parse(fs.read(system.args[5])) : '{}'
|
||||
, ganttConfig: system.args[6] !== 'null' ? fs.read(system.args[6]) : '{}'
|
||||
, verbose: system.args[7] === 'true' ? true : false
|
||||
, width: width
|
||||
}
|
||||
, log = logger(options.verbose)
|
||||
|
||||
// If no css is suuplied make sure a fixed witdth is given to the gant renderer
|
||||
if(system.args[3] !== ''){
|
||||
if(typeof options.ganttConfig === 'undefined'){
|
||||
options.ganttConfig = {};
|
||||
}
|
||||
options.ganttConfig.useWidth = 1200;
|
||||
}
|
||||
options.sequenceConfig.useMaxWidth = false;
|
||||
|
||||
page.content = [
|
||||
'<html>'
|
||||
@ -218,7 +211,7 @@ function resolveForeignObjects(element) {
|
||||
function executeInPage(data) {
|
||||
var xmlSerializer = new XMLSerializer()
|
||||
, contents = data.contents
|
||||
, sequenceConfig = data.sequenceConfig
|
||||
, sequenceConfig = JSON.stringify(data.sequenceConfig)
|
||||
, ganttConfig = data.ganttConfig
|
||||
, toRemove
|
||||
, el
|
||||
@ -245,38 +238,21 @@ function executeInPage(data) {
|
||||
|
||||
document.body.appendChild(el)
|
||||
|
||||
mermaid.initialize({
|
||||
sequenceDiagram:{useMaxWidth:false},
|
||||
flowchart:{useMaxWidth:false},
|
||||
logLevel:1
|
||||
});
|
||||
var config = {
|
||||
sequenceDiagram: sequenceConfig,
|
||||
flowchart: {useMaxWidth: false},
|
||||
logLevel: 1
|
||||
};
|
||||
|
||||
mermaid.initialize(config);
|
||||
|
||||
//console.log('after initialize',sequenceConfig);
|
||||
|
||||
if(typeof sequenceConfig !== undefined && sequenceConfig !== 'undefined'){
|
||||
//sc = document.createElement("script")
|
||||
//scContent = document.createTextNode('mermaid.sequenceConfig = JSON.parse(' + JSON.stringify(sequenceConfig) + ');')
|
||||
//sc.appendChild(scContent)
|
||||
sc = document.createElement("script")
|
||||
scContent = document.createTextNode('mermaid.ganttConfig = ' + ganttConfig + ';')
|
||||
sc.appendChild(scContent)
|
||||
|
||||
//document.body.appendChild(sc)
|
||||
mermaid.initialize({
|
||||
sequenceDiagram:JSON.parse(sequenceConfig)
|
||||
});
|
||||
}
|
||||
|
||||
//console.log('after initialize 2');
|
||||
if(typeof ganttConfig !== undefined && ganttConfig !== 'undefined'){
|
||||
sc = document.createElement("script")
|
||||
scContent = document.createTextNode('mermaid.ganttConfig = JSON.parse(' + JSON.stringify(ganttConfig) + ');')
|
||||
sc.appendChild(scContent)
|
||||
|
||||
document.body.appendChild(sc)
|
||||
}else{
|
||||
sc = document.createElement("script")
|
||||
scContent = document.createTextNode('mermaid.ganttConfig = {useWidth:1200};')
|
||||
sc.appendChild(scContent)
|
||||
|
||||
document.body.appendChild(sc)
|
||||
}
|
||||
document.body.appendChild(sc)
|
||||
|
||||
mermaid.init();
|
||||
|
||||
|
@ -24,12 +24,18 @@ var singleFile = {
|
||||
, outputDir: path.join(process.cwd(),'test/tmp2/')
|
||||
, phantomPath: path.join(process.cwd(),phantomCmd)
|
||||
, width : 1200
|
||||
, css: path.join(__dirname, '..', 'dist', 'mermaid.css')
|
||||
, sequenceConfig: null
|
||||
, ganttConfig: null
|
||||
}
|
||||
, multiFile = {
|
||||
files: [path.join('test','fixtures','test.mermaid'), path.join('test','fixtures','test2.mermaid')]
|
||||
, outputDir: 'test/tmp2/'
|
||||
, phantomPath: path.join(process.cwd(),phantomCmd)
|
||||
, width : 1200
|
||||
, css: path.join(__dirname, '..', 'dist', 'mermaid.css')
|
||||
, sequenceConfig: null
|
||||
, ganttConfig: null
|
||||
}
|
||||
|
||||
|
||||
@ -113,7 +119,7 @@ test('output including CSS', function(t) {
|
||||
one = fs.statSync(filename)
|
||||
//console.log('one: '+opt.files[0]);
|
||||
|
||||
opt2.css = fs.readFileSync(path.join('test','fixtures','test.css'), 'utf8')
|
||||
opt2.css = path.join('test','fixtures','test.css')
|
||||
//console.log(opt2.css);
|
||||
|
||||
console.log('Generating #2');
|
||||
|
Loading…
x
Reference in New Issue
Block a user