Book Image

The Official Guide to Mermaid.js

By : Knut Sveidqvist, Ashish Jain
Book Image

The Official Guide to Mermaid.js

By: Knut Sveidqvist, Ashish Jain

Overview of this book

Mermaid is a JavaScript-based charting and diagramming tool that lets you represent diagrams using text and code, which simplifies the maintenance of complex diagrams. This is a great option for developers as they’re more familiar with code, rather than using special tools for generating diagrams. Besides, diagrams in code simplify maintenance and ensure that the code is supported by version control systems. In some cases, Mermaid makes refactoring support for name changes possible while also enabling team collaboration for review distribution and updates. Developers working with any system will be able to put their knowledge to work with this practical guide to using Mermaid for documentation. The book is also a great reference for looking up the syntax for specific diagrams when authoring diagrams. You’ll start by learning the importance of accurate and visual documentation. Next, the book introduces Mermaid and establishes how to use it to create effective documentation. By using different tools, editors, or a custom documentation platform, you’ll also understand how to use Mermaid syntax for various diagrams. Later chapters cover advanced configuration settings and theme options to manipulate your diagram as per your needs. By the end of this book, you’ll be well-versed with Mermaid diagrams and how they can be used in your workflows.
Table of Contents (19 chapters)
1
Section 1: Getting Started with Mermaid
7
Section 2: The Most Popular Diagrams
12
Section 3: Powerful Diagrams for the Advanced User

Chapter 11: Representing System Behavior with State Diagrams

A state diagram is a type of diagram that you can use to model and document state machines. A state machine is an abstract way of representing a system or an algorithm. With a state machine, you can describe the various states that a system can be in and the different ways in which the system can move between those states. A state machine needs to be modeled in such a way that there is a finite number of states.

In the literature, there is a wealth of different types of state machines both in software engineering and computer science, where they are used to provide a mathematical model of computation. In software engineering, they are used to model systems and have, for instance, been included in the Unified Modeling Language. Mermaid's approach is not strict adherence to any specific type of state machine, but to provide the tools required to create state machines and let the author of the diagram worry about what...