Está atualmente a visualizar o Portugal versão do sítio.
Gostaria de mudar para o seu sítio local?
13 TEMPO DE LEITURA MIN

MERMAID

How to code diagrams, graphs and pie charts

Mihalis Tsoukalos explains how to use Mermaid to create beautiful technical graphs and diagrams you can reuse and update anywhere.

   OUR EXPERT

Mihalis Tsoukalos is a systems engineer and a technical writer. He’s also the author of Go Systems Programming and Mastering Go, with a third book in the works!

QUICK TIP

If Mermaid isn’t to your liking, try Vega and Vega Lite, which enable you to create graphs and plots. Both grammars are based on D3.js and JavaScript. Learn more about Vega and Vega Lite at https://vega. github.io/ and at https:// github.com/ vega/vega.

The subject of this tutorial is Mermaid, which is a Markdown dialect. Put simply, Mermaid code looks like Markdown code and enables you to create flows, diagrams, charts and more. It’s based on JavaScript that renders the Markdown as code to generate the output, because Markdown doesn’t offer support for drawing. Mermaid is supported by many editors including Microsoft Visual Code and typora, which we’ll cover here. There are also online editors that can render Mermaid code and create the respective output.

Mermaid code is delivered in blocks. The first line of a Mermaid block specifies the type of the plot. Valid values include graph, pie, sequence diagram and flowchart. Each plot type has its own syntax, and it’s much easier to include Mermaid code in Markdown files that use the md file extension (filename.md), which is what we’ll be using for the examples of this tutorial.

A Mermaid block in a Markdown file begins with ```mermaid and ends with ``` – this is the Markdown way of telling that the embedded code has a given property, which in this case is Mermaid. However, Mermaid code can also be saved on its own in files that use the mmd file extension (filename.mmd).

Installing Mermaid… or not!

You don’t need to install Mermaid. All you need is an editor that supports Mermaid to see the output from a Mermaid block. The following is a Markdown file, saved as mermaid.md, with a block in Mermaid format: 

The first line is plain Markdown and generates a title in the output. Then, we declare that we’re creating a graph that’s going to be rendered from the top to the bottom (TD: Top-Down) of the page. Next, we add nodes  and we connect them with other nodes. The --> notation shows that the node on the left is connected to the node on the right. The graph contains four nodes, named A1, S2, A3 and A4. If you want to include more nodes and connections between them, just declare what you want – Mermaid takes care of the output.

Desbloqueie este artigo e muito mais com
Pode desfrutar:
Desfrute desta edição na íntegra
Acesso instantâneo a mais de 600 títulos
Milhares de edições anteriores
Sem contrato ou compromisso
INSCREVA-SE AGORA
30 dias de teste, depois apenas €11,99 / mês. Cancelar em qualquer altura. Apenas para novos subscritores.


Saiba mais
Pocketmags Plus
Pocketmags Plus

Este artigo é de...


View Issues
Linux Format
April 2021
VER NA LOJA

Outros artigos desta edição


LINUX FORMAT
WHO WE ARE
This issue Jonni’s getting paranoid with securing and monitoring his Mint install, so we asked our writers what’s their favourite security or monitoring tool?
Puny humans!
I’d always say the biggest security threat to
REGULARS AT A GLANCE
LibreOffice Community Edition and NG project
OFFICE SOFTWARE
NEW WAYS OF MEETING
OPINION
Kernel Watch
Jon Masters summarises the latest happenings in the Linux kernel, so you don’t have to
Answers
Got a burning question about open source or the kernel? Whatever your level, email it to lxf.answers @ futurenet.com
Mailserver
Write to us at Linux Format, Future Publishing, Quay House, The Ambury, Bath BA1 1UA or lxf.letters@futurenet.com.
CudaText
CODE EDITOR
Pdfarranger
PDF TOOL
Visum
OFFICE APPLICATION
Mint 20.1 “Ulyssa”
FRESH AND FLAVOURSOME  MIN SPECS: 64-BIT CPU, 1GB RAM, 15GB DISK SPACE, SVGA DISPLAY
SparkyLinux 5.14
LIGHTWEIGHT LINUX  MIN SPECS: i686 CPU, 256MB MEMORY, 10GB DISK SPACE
NEWSDESK
CentOS fallout continues
SERVER DISTROS
Rocky Linux gets a surprise backer
SERVER DISTROS
TRY MONADO OUT TODAY
OPINION
FUNCTION OVER FORM
OPINION
What’s coming to Ubuntu 21.04
DISTROS
24-year-old kernel bug found
LINUX KERNEL
Android ported to RISC-V
ANDROID
Distro watch
What’s behind the free software sofa?
LICENCE TO CHANGE
OPINION
REVIEWS
Cosmo Communicator
Is the Linux-compatible Cosmo Communicator PDA out of this world? Christian Cawley boldly launches a five-day mission to find out
Sabrent Rocket 4 Plus
A superfast, 2TB second-generation PCIe 4.0 drive that comes in at a decent price? Sign me up, says Alan Dexter
KDE neon 5.21.0
Jonni Bidwell has had it with Gnome, at least for this page, where he dabbles with KDE’s latest desktop delights
Siduction 2021.1.0
Jonni Bidwell is once again seduced by the dark side of the Linux Distribution community, or at least the Debian Sid side
Vivaldi 3.6
Will someone please stop Jonni Bidwell incessantly whistling the first movement of Four Seasons as he reviews this browser
Cyber Shadow
Management loves saving money, so when Stacey Henley says she’s using fewer pixels and reusing old ideas they were all aboard
ROUNDUP
Window Managers
Shashank Sharma shines a spotlight on a collection of window managers that can help you broaden your Linux desktop experience
The types of window manager
Does it really make a difference?
Installation
Are they available for your distribution?
User experience
Are they drastically different or disastrously so?
Documentation and support
When you can’t tell if you’re coming or going
Configurability
Are these windows managers easy to customise?
Standout features
What makes them special?
Appearance
Don’t like it? Then change it!
Windows managers The Verdict
T he fvwm3 window manager recently published 1.0.2
Fortress Linux!
FORTRESS LINUX!
Linux is pretty secure, but the ever-vigilant Jonni Bidwell has studied the threatscape and recommends applying reinforcements…
Viruses, villains and infection vectors
Linux does a lot to protect you, but should you do more to protect it?
Build that firewall
Protect your ports, lock down your sockets – there’s a packet storm ahead
Keys and signatures
Trust no one, unless their SSH key is signed by Linux Format’s public key
Web browsing and email
Our two favourite network applications are attractive targets for hackers and zombie scripts. Don’t let them in!
Pi USER
HOW THE PI OPENED DOORS
Caroline Keep is an awardwinning teacher at Spark
Controversy over Pi OS Microsoft repro
The community pushes back over official support for Microsoft’s Visual Studio Code repro in the Pi OS
Make your own silicon!
How the Raspberry Pi Pico was designed, a love story…
Thonny 3.3.0
Les Pounder has been tinkering with Python for many years. A recent change of editor revealed a fresh new way to write code
FydeOS
The ever-curious Les Pounder wonders if his trusty Raspberry Pi 4 can be used as another Chrome device?
Install a new OS to SD and USB media
Les Pounder is always flashing a new OS to his Raspberry Pi and these are the tools of his trade
Build a Raspberry Pi Pico voltmeter
Tam Hanna uses the Raspberry Pi Pico’s analog-to-digital converter and an OLED display to create a small, but decently useful voltmeter
IN-DEPTH
SENSORS AND SENSIBILIT Y
Recalling a past life where he gazed on dials and Galilean thermometers, Jonni Bidwell assesses Linux’s system monitoring offerings
TUTORIALS
Reduce spam emails
Shashank Sharma keeps the menace of spam at bay by using temporary email addresses from the comfort of the terminal
Back up and sync files quickly and easily
Nick Peers reveals how to back up and synchronise files over your local network and even further afield, enabling you to stay on top of your data
Master black and white photography
Mike Bedford reveals the secrets of good black and white photography, an art form that stands alongside its more colourful counterpart
Virtualising Arch the easy way
Want to test software without crashing your computer? Neil Bothwick creates a disposable system that you can crash without consequence
TUTORIAL
Control real-world hardware on your PC
Mike Bedford shows PC users how to add GPIO interfaces to their computers, just like those Raspberry Pi and Arduino users are familiar with
How to easily emulate 486 PCs and run DOS
Relive the halcyon 32-bit years of PC computing, play your favourite games and look back at OSes of yore with the ever-dependable Les Pounder!
HOTPICKS
Reco
Version: 2.4.2 Web: https://github. com/ryonakano/reco
Pingnoo
Version: 2021.01.10-develop Web: https://github.com/fizzyade/pingnoo
Farge
Version: 1.0.5 Web: https://github. com/sdushantha/farge
Tty-share
Version: 2.0 Web: https://github.com/ elisescu/tty-share
Png2svg
Version: 1.3.2 Web: https://github. com/xyproto/png2svg
Deskreen
Version: 1.0.2 Web: https://github. com/pavlobu/deskreen
Games HOTPICKS
Super Bombinhas
Version: 1.0.0 Web: https://github. com/victords/super-bombinhas
Pomodoro
Version: GIT Web: https://github.com/ nardinan/pomodoro
CODING ACADEMY
Coding the arcade classic Space Invaders
Calvin Robinson will always extend the hand of friendship – unless menacing aliens are descending from the skies, in which case… blast ‘em!
Conversa
X
Suporte Pocketmags