From 188e4961fecdccbca4e579d22d9811f0ccc7a5ab Mon Sep 17 00:00:00 2001 From: Denis Smetannikov Date: Thu, 12 Dec 2019 18:52:39 +0300 Subject: [PATCH] Update README.md --- README.md | 38 ++++++++++++++++++++++++-------------- tests/FlowchartTest.php | 23 +++++++++++------------ 2 files changed, 35 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 2c033d3..c3bf007 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,34 @@ # JBZoo Mermaid-PHP [![Build Status](https://travis-ci.org/JBZoo/mermaid-php.svg?branch=master)](https://travis-ci.org/JBZoo/mermaid-php) [![Coverage Status](https://coveralls.io/repos/github/JBZoo/Mermaid-PHP/badge.svg?branch=master)](https://coveralls.io/github/JBZoo/Mermaid-PHP?branch=master) -Example +### Usage ```php +addNode($nodeA = new Node('A', 'Hard edge', Node::SQUARE)); -$graph->addNode($nodeB = new Node('B', 'Round edge', Node::ROUND)); -$graph->addNode($nodeC = new Node('C', 'Decision', Node::RHOMBUS)); -$graph->addNode($nodeD = new Node('D', 'Result one', Node::SQUARE)); -$graph->addNode($nodeE = new Node('E', 'Result two', Node::SQUARE)); +$graph = (new Graph()) + ->addNode($nodeA = new Node('A', 'Hard edge', Node::SQUARE)) + ->addNode($nodeB = new Node('B', 'Round edge', Node::ROUND)) + ->addNode($nodeC = new Node('C', 'Decision', Node::RHOMBUS)) + ->addNode($nodeD = new Node('D', 'Result one', Node::SQUARE)) + ->addNode($nodeE = new Node('E', 'Result two', Node::SQUARE)) + ->addLink(new Link($nodeA, $nodeB, 'Link text')) + ->addLink(new Link($nodeB, $nodeC)) + ->addLink(new Link($nodeC, $nodeD, 'One')) + ->addLink(new Link($nodeC, $nodeE, 'Two')) + ->addStyle('linkStyle default interpolate basis'); + +echo $graph; // Get result as string +$graph->renderHtml(true, '8.4.3'); // Get result as HTML code for debugging +``` -$graph->addLink(new Link($nodeA, $nodeB, 'Link text')); -$graph->addLink(new Link($nodeB, $nodeC)); -$graph->addLink(new Link($nodeC, $nodeD, 'One')); -$graph->addLink(new Link($nodeC, $nodeE, 'Two')); +### Result -echo $graph; -``` +[Mermaid Live Editor](https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gICAgQVtcIkhhcmQgZWRnZVwiXTtcbiAgICBCKFwiUm91bmQgZWRnZVwiKTtcbiAgICBDe1wiRGVjaXNpb25cIn07XG4gICAgRFtcIlJlc3VsdCBvbmVcIl07XG4gICAgRVtcIlJlc3VsdCB0d29cIl07XG4gICAgQS0tPnxMaW5rIHRleHR8QjtcbiAgICBCLS0-QztcbiAgICBDLS0-fE9uZXxEO1xuICAgIEMtLT58VHdvfEU7XG5saW5rU3R5bGUgZGVmYXVsdCBpbnRlcnBvbGF0ZSBiYXNpczsiLCJtZXJtYWlkIjp7InRoZW1lIjoiZm9yZXN0In19) -Result ``` graph LR; A["Hard edge"]; @@ -34,8 +40,12 @@ graph LR; B-->C; C-->|One|D; C-->|Two|E; +linkStyle default interpolate basis ``` +### See also + - [Mermaid on GitHub](https://github.com/knsv/mermaid) + - [Mermaid Documentation](https://mermaidjs.github.io/) ## Unit tests and check code style ```sh diff --git a/tests/FlowchartTest.php b/tests/FlowchartTest.php index b0a042c..85bb7ef 100644 --- a/tests/FlowchartTest.php +++ b/tests/FlowchartTest.php @@ -106,18 +106,17 @@ public function testSimpleGraph() public function testComplexGraph() { - $graph = new Graph(); - $graph->addNode($nodeA = new Node('A', 'Hard edge', Node::SQUARE)); - $graph->addNode($nodeB = new Node('B', 'Round edge', Node::ROUND)); - $graph->addNode($nodeC = new Node('C', 'Decision', Node::RHOMBUS)); - $graph->addNode($nodeD = new Node('D', 'Result one', Node::SQUARE)); - $graph->addNode($nodeE = new Node('E', 'Result two', Node::SQUARE)); - - $graph->addLink(new Link($nodeA, $nodeB, 'Link text')); - $graph->addLink(new Link($nodeB, $nodeC)); - $graph->addLink(new Link($nodeC, $nodeD, 'One')); - $graph->addLink(new Link($nodeC, $nodeE, 'Two')); - $graph->addStyle('linkStyle default interpolate basis'); + $graph = (new Graph()) + ->addNode($nodeA = new Node('A', 'Hard edge', Node::SQUARE)) + ->addNode($nodeB = new Node('B', 'Round edge', Node::ROUND)) + ->addNode($nodeC = new Node('C', 'Decision', Node::RHOMBUS)) + ->addNode($nodeD = new Node('D', 'Result one', Node::SQUARE)) + ->addNode($nodeE = new Node('E', 'Result two', Node::SQUARE)) + ->addLink(new Link($nodeA, $nodeB, 'Link text')) + ->addLink(new Link($nodeB, $nodeC)) + ->addLink(new Link($nodeC, $nodeD, 'One')) + ->addLink(new Link($nodeC, $nodeE, 'Two')) + ->addStyle('linkStyle default interpolate basis'); $this->dumpHtml($graph);