WIP - scaffolding for rendering gitgraph.

This commit is contained in:
Raghu Rajagopalan
2016-03-29 15:16:08 +05:30
parent 4b91dbfed6
commit 2fee6e62aa
6 changed files with 37274 additions and 679 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -246,7 +246,8 @@ function executeInPage(data) {
mermaid.initialize({ mermaid.initialize({
sequenceDiagram:{useMaxWidth:false}, sequenceDiagram:{useMaxWidth:false},
flowchart:{useMaxWidth:false} flowchart:{useMaxWidth:false},
logLevel:1
}); });
//console.log('after initialize',sequenceConfig); //console.log('after initialize',sequenceConfig);

View File

@@ -27,6 +27,7 @@
"dist-slim-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.slim.min.js", "dist-slim-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.slim.min.js",
"dist-slim-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.slim.min.js", "dist-slim-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.slim.min.js",
"dist-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.min.js", "dist-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.min.js",
"dist-mermaid-nomin": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && node bin/mermaid -v -p testgitgraph.mm && testgitgraph.mm.png",
"dist-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.min.js", "dist-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.min.js",
"dist": "npm run dist-slim-mermaid && npm run dist-slim-mermaidAPI && npm run dist-mermaid && npm run dist-mermaidAPI" "dist": "npm run dist-slim-mermaid && npm run dist-slim-mermaidAPI && npm run dist-mermaid && npm run dist-mermaidAPI"
}, },

View File

@@ -1,39 +1,49 @@
var db = require('./gitGraphAst.js'); var db = require('./gitGraphAst');
var gitGraphParser = require('./parser/gitGraph.js'); var gitGraphParser = require('./parser/gitGraph');
var d3 = require('../../d3'); var d3 = require('../../d3');
var Logger = require('../../logger'); var Logger = require('../../logger');
var log = new Logger.Log(); var log = new Logger.Log();
exports.setConf = function(config) {
}
exports.draw = function (txt, id, ver) { exports.draw = function (txt, id, ver) {
var parser; try{
parser = gitGraphParser.parser; var parser;
parser.yy = db; parser = gitGraphParser.parser;
parser.yy = db;
// Parse the graph definition log.debug('in gitgraph renderer', txt, id, ver);
parser.parse(txt); // Parse the graph definition
//log.debug(parser, db);
parser.parse(txt + "\n");
// Fetch the default direction, use TD if none was found // Fetch the default direction, use TD if none was found
var svg = d3.select('#'+id); var svg = d3.select('#'+id);
var g = svg.append('g'); var g = svg.append('g');
g.append('text') // text label for the x axis g.append('text') // text label for the x axis
.attr('x', 100) .attr('x', 100)
.attr('y', 40) .attr('y', 40)
.attr('class','version') .attr('class','version')
.attr('font-size','32px') .attr('font-size','32px')
.style('text-anchor', 'middle') .style('text-anchor', 'middle')
.text('mermaid '+ ver); .text('mermaid raghu'+ ver);
/* /*
var box = exports.bounds.getBounds(); var box = exports.bounds.getBounds();
var height = box.stopy-box.starty+2*conf.diagramMarginY; var height = box.stopy-box.starty+2*conf.diagramMarginY;
var width = box.stopx-box.startx+2*conf.diagramMarginX;*/ var width = box.stopx-box.startx+2*conf.diagramMarginX;*/
svg.attr('height',100); svg.attr('height',100);
svg.attr('width', 400 ); svg.attr('width', 400);
//svg.attr('viewBox', '0 0 300 150'); //svg.attr('viewBox', '0 0 300 150');
}catch(e) {
log.error("Error while rendering gitgraph");
log.error(e.message);
}
}; };

View File

@@ -403,10 +403,10 @@ var render = function(id, txt, cb, container){
config.flowchart.arrowMarkerAbsolute = config.arrowMarkerAbsolute; config.flowchart.arrowMarkerAbsolute = config.arrowMarkerAbsolute;
gitGraphRenderer.setConf(config.gitGraph); gitGraphRenderer.setConf(config.gitGraph);
gitGraphRenderer.draw(txt, id, false); gitGraphRenderer.draw(txt, id, false);
if(config.cloneCssStyles){ //if(config.cloneCssStyles){
classes = gitGraphRenderer.getClasses(txt, false); //classes = gitGraphRenderer.getClasses(txt, false);
utils.cloneCssStyles(element.firstChild, classes); //utils.cloneCssStyles(element.firstChild, classes);
} //}
break; break;
case 'graph': case 'graph':
config.flowchart.arrowMarkerAbsolute = config.arrowMarkerAbsolute; config.flowchart.arrowMarkerAbsolute = config.arrowMarkerAbsolute;

12
testgitgraph.mm Normal file
View File

@@ -0,0 +1,12 @@
gitGraph:
commit
branch newbranch
checkout newbranch
commit
commit
checkout master
commit
merge newbranch
commit
checkout newbranch
merge master