123

Cómo crear diagramas en Notion con Mermaid 😬

52091Puntos

hace 2 años

Mermaid es una herramienta que permite crear diagramas y visualizaciones utilizando únicamente texto. Está basada en JavaScript y renderiza el texto escrito en diagramas, muy al estilo de Markdown.

Untitled.png

En una reciente actualización de Notion se introdujo la compatibilidad con Mermaid. Haciendo a Notion más poderoso de lo que ya era, cada actualización que recibe es como un powerup nuevo para ayudarlo a luchar contra la improductividad.

A continuación, te enseñaré cómo crear diagramas de flujo con Notion.

¿Dónde está Mermaid?

Mermaid se encuentra dentro del bloque de código de Notion, para encontrarlo solo tienes que seguir estos pasos:

  1. Activa el menú de bloques en el cuerpo de cualquier página con el comando /.
  2. Busca el bloque de código llamado code.
  3. Cambia el lenguaje del bloque por Mermaid.
mermaid1.gif

En el bloque de código que estará listo para crear los diagramas se tienen tres opciones:

  1. Code: en esta opción solo se verá el código utilizado para crear el diagrama.
  2. Preview: es el opuesto a la opción de código, aquí únicamente se verá el diagrama.
  3. Split: esta, a mi parecer, es la mejor opción porque te permite ver el diagrama al mismo tiempo que vas escribiendo el código.
Screen_Shot_2022-03-29_at_16.36.30.png

Empieza a crear tus diagramas

Antes de empezar a escribir un diagrama, es importante elegir el tipo de diagrama que necesitas. Mermaid tiene soporte para diferentes tipos de diagramas como: flujo, secuencia, entidad o relación, entre otros.

En la documentación de Mermaid puedes leer en detalle sobre los diagramas disponibles. En general, todos se crean de la misma forma. A modo de ejemplo, a lo largo de este blog crearemos diagramas de flujo para ilustrar mejor el proceso de construcción.

Una vez selecciones el tipo de diagrama que quieres crear, es momento de elegir la dirección que va a tener dicho diagrama. Las direcciones que están disponibles son:

  1. De izquierda a derecha: LR
  2. De derecha a izquierda: RL
  3. De arriba a abajo: TB
  4. De abajo a arriba: BT

Con esto decidido, puedes empezar a construir tu diagrama, por lo cual la primera línea de código para iniciar es la siguiente:

Screen_Shot_2022-03-29_at_18.30.44.png

Ahora sí, vamos a crear diagramas en Notion siguiendo 8 sencillos pasos:

Paso 1. Conecta dos nodos

Los diagramas están construidos con nodos, los nodos son los bloques con información y cada nodo tiene un ID y una etiqueta. Si quieres conectar dos o más nodos se necesitan los conectores o también llamados enlaces.

Supongamos que estás creando un diagrama de flujo para la gestión de un proyecto en Notion. Para iniciar, necesitas dos nodos, uno para objetivos y otro para proyectos. Estos se crean de forma separada así:

flowchart LR
	G(Objetivos)
	P(Proyectos)
Untitled 1.png

Pero no los quieres por separado, en realidad uno depende del otro. Por lo que es necesario utilizar los conectores, estos los puedes añadir usando guiones -.

flowchart LR
	G(Objetivos) ---> P(Proyectos)
Untitled 2.png

El hecho de usar ID es una forma muy cómoda de trabajar, ya que te permite referirte a un nodo de forma sencilla. Solo es necesario etiquetar los nodos una sola vez.

Paso 2. Añade más nodos, todos los que necesites

Hay dos formas de encadenar los nodos:

  1. Encadenar un nodo detrás de otro:

    flowchart LR
    G(Objetivos) ---> P(Proyectos) ---> Tsk(Tareas)
    
    Untitled 3.png
  2. Separarlos por secciones:

    flowchart LR
    G(Objetivos) ---> P(Proyectos)
    P ---> Tsk(Tareas)
    
    Untitled 4.png

Como ves, con ambas formas se obtiene el mismo resultado, pero hay una tercera que en realidad es la que yo prefiero, ya que primero declaras todos los nodos que vas a emplear y después los enlazas.

flowchart LR
	G(Objetivos)
	P(Proyectos)
	Tsk(Tareas)

	G ---> P
	P ---> Tsk
Screen_Shot_2022-03-29_at_19.49.55.png

Puedes añadir tantos nodos como necesites.

Paso 3. Crear múltiples direcciones

Siguiendo con el diagrama de gestión de proyectos, supón que las tareas pueden tener dos resultados: completas o incompletas. Si quieres crear esta relación hacia dos caminos diferentes, utiliza el símbolo & como puedes ver a continuación:

flowchart LR
	Tsk(Tareas) --- Tic(Incompletas) & Tc(Completas)
Untitled 5.png

También se puede obtener el mismo resultado de esta forma:

flowchart LR
	Tsk(Tareas) --- Tic(Incompletas)
	Tsk(Tareas) --- Tc(Completas)

Elige la opción que sea más cómoda para ti, según la estructura que estés dando al código de tu diagrama.

Ahora sabes cómo ir en más de una dirección en tus diagramas, lo cual te permite conectar múltiples nodos a uno mismo. El diagrama de proyectos se ve de la siguiente forma, hasta el momento:

flowchart LR
	G(Objetivos)
	P(Proyectos)
	Tsk(Tareas)
	Tic(Incompletas)
	Tc(Completas)
	R(Revisión)

	G ---> P
	P ---> Tsk
	Tsk --- Tic & Tc
	Tc ---> R
	R ---> G
Untitled 6.png

Paso 4. Incluye comentarios

Mermaid también permite añadir un poco de contexto a las conexiones entre los nodos. La forma de hacerlo es con el símbolo |, tanto al inicio como al final del comentario, después del conector:

flowchart LR
	G(Objetivos)
	P(Proyectos)
	Tsk(Tareas)

	G ---> |tienen| PP ---> Tsk
Untitled 7.png

Paso 5. Personaliza la forma de cada nodo

Los nodos no tienen por qué ser siempre rectángulos, los diagramas de flujo tienen diferentes formas para facilitar su interpretación y esto Mermaid lo sabe. Por ello, pone un puñado de estilos a tu disposición, para que construyas los diagramas.

Algunas de estas formas son:

  • Bases de datos

    flowchart LR
    	G[(Objetivos)]
    Untitled 8.png
  • Bordes redondeados

    flowchart LR
    	Tic([Incompletas])
    
    Untitled 9.png
  • Subrutina

    flowchart LR
    	R[[Revisión]]
    Untitled 10.png
  • Rombo

    flowchartLR
    	Rh{Decisión}
    
    Untitled 11.png

Estas formas te permiten crear diagramas más detallados. El que hemos usado como ejemplo se ve de la siguiente manera:

flowchart LR
	G[(Objetivos)]
	P[(Proyectos)]
	Tsk(Tareas)
	Tic([Incompletas])
	Tc([Completas])
	R[[Revisión]]

	G ---> |conecta| P
	P ---> |tienen| Tsk
	Tsk --- |estan| Tic & Tc
	Tc ---> |necesitan| R
	R ---> |crea| G
Untitled 12.png

Paso 6. Personaliza los conectores

Además de los nodos, también se pueden personalizar los conectores. Hay varias opciones, las cuales puedes revisar en la siguiente tabla:

Length123
Normal---------
Normal with arrow–>—>---->
Thick============
Thick with arrow==>===>====>
Dotted-.--…--…-
Dotted with arrow-.->-…->-…->

Los conectores no solo van en un sentido, también tienen dos vías, líneas simples, paradas de flujo y otras características. Siguiendo con el diagrama que hemos utilizado como ejemplo a lo largo de este blog, con los conectores personalizados se ve de la siguiente forma:

flowchart LR
	G[(Objetivos)]
	P[(Proyectos)]
	Tsk(Tareas)
	Tic([Incompletas])
	Tc([Completas])
	R[[Revisión]]

	G <===> |conecta| P
	P ---o |tienen| Tsk
	Tsk ---x |estan| Tic
	Tsk --- |estan| Tc
	Tc ---> |necesitan| R
	R -..-> |crea| G
Untitled 13.png

Paso 7. Organiza el código

Es recomendable que organices el código de tu diagrama a medida que este va creciendo y las conexiones se multiplican. Para esto puedes utilizar la funcionalidad de comentarios.

Los comentarios se crean utilizando %% al inicio y al final del comentario. Así se logran crear diferentes secciones dentro del flujo.

Por ejemplo, puedes separar todas las conexiones de la base de datos de Objetivos de la base de datos de Proyectos, organizando el diagrama de la siguiente forma:

flowchart LR
	%% Nodos %%
	G[(Objetivos)]
	P[(Proyectos)]
	Tsk(Tareas)
	Dl(Deadline)
	Mt([A tiempo])
	Ov([Atrasado])
	Ovf{2 días}
	Tic([Incompletas])
	Tc([Completas])
	R[[Revisión]]

	%% Objetivos y proyectos %%
	G <===> |conecta| P

	%% Projectos %%
	%% Deadline %%
	P ---o |tienen| Dl
	Dl ---x |está| Mt
	Dl ---- |está| Ov
	Ov ---> |push| Ovf
	
	%% Tareas %%
	P ---o |tienen| Tsk
	Tsk ---x |estan| Tic
	Tsk --- |estan| Tc
	Tc ---> |necesitan| R

	%% Revisiones y objetivos %%
	R -..-> |crea| G
Untitled 14.png

Paso 8. Usa colores

Mermaid no solo te permite crear diagramas de flujo en blanco y negro, también puedes personalizar los colores que van a tener los nodos, con el fin de que tus diagramas sean fáciles de entender.

Lo primero que tienes que hacer es crear una sección únicamente para los colores. A continuación, añadir la definición de estilos que deseas tener. Por ejemplo:

%% Colors %%
classDef blue fill:#2374f7, stroke:#000, stroke-width:2px, color:#fff

Este código te permite manipular cómo va a lucir cada nodo. classDef es la definición de la clase a utilizar, la cual contiene:

  • fill es el relleno del nodo.
  • stroke es color del borde.
  • stroke-width es el ancho del borde.
  • color es el color de la letra.

Sabiendo esto, puedes crear tantas clases como requieras para personalizar tu diagrama.

Una vez que tengas las clases creadas, solo debes asignarlas al nodo que quieras afectar.

flowchartLR
	%% Nodos %%
	G[(Objetivos)]:::blue

	%% Colors %%
	classDef blue fill:#2374f7, stroke:#000, stroke-width:2px, color:#fff
Untitled 15.png

Siguiendo con el diagrama de ejemplo, al incluir colores quedaría de esta forma:

flowchart LR
	%% Nodos %%
	G[(Objetivos)]:::blue
	P[(Proyectos)]:::blue
	Tsk(Tareas):::orange
	Dl(Deadline):::orange
	Mt([A tiempo]):::green
	Ov([Atrasado]):::red
	Ovf{2 días}
	Tic([Incompletas]):::red
	Tc([Completas]):::green
	R[[Revisión]]:::pink

	...

	%% Colores %%
	classDef bluefill:#2374f7, stroke:#000, stroke-width:2px, color:#fff
	classDef pink  fill:#eb3dd6,stroke:#000, stroke-width:2px, color:#fff
	classDef orange  fill:#fc822b,stroke:#000,stroke-width:2px,color:#fff
	classDef redfill:#ed2633,stroke:#000,stroke-width:2px,color:#fff
	classDef greenfill:#16b522,stroke:#000,stroke-width:2px,color:#fff
Untitled 16.png

Información extra para los diagramas

Además de todo lo que ya te mostré, Mermaid también permite que los nodos contengan enlaces en caso de que así lo requieras. Eso es útil si necesitas hacer referencia a alguna página o base de datos que consideres importante.

Para añadir enlaces, utiliza la palabra reservada click y entre “” añade la url:

flowchart LR
	G[(Objetivos)]
	click G"https://www.notion.so/product"

Ahora es tu turno

Ya aprendiste cómo crear diagramas de flujo con Mermaid en Notion. Pero estos no son los únicos tipos de diagramas que puedes crear, experimenta con diferentes opciones y prueba todas las posibilidades que Mermaid ofrece.

Además de eso, puedes crear diagramas para apoyar tus notas de los cursos que hayas tomado recientemente y también de los próximos cursos que seguramente tomarás en estos días. El límite en Notion depende de tú creatividad.

Por último, comparte en los comentarios si ya conocías esta característica de Notion y cómo la has usado. Si no, cómo piensas sacarle provecho a partir de ahora. Recuerda nunca parar de aprender 💚

Alex
Alex
alexcamachogz

52091Puntos

hace 2 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
9
21072Puntos

Notion me cambió la vida, super recomendado aprender a utilizar esta herramienta!

4
1790Puntos

No conocía Mermaid, puede ser una herramienta muy útil para la automatización de la creación de diagramas

2
10701Puntos

¡Gran funcionalidad!

No la conocía… gracias

2
62907Puntos

OMG!!! Notion la está rompiendo, muchas gracias Alex por enseñarme este super poder, me sirve muchísimo 💚

2
7430Puntos

Wooooooo está fenomenal!! muchas gracias por este tremendo artículo.

2
41633Puntos

Notion es hermoso

2
7160Puntos

Que buena. Uso Notion desde hace unos meses pero desconocía por completo esta función

1

Me re sirvió y lo estoy implementando en mis résumenes de los cursos de platzi, me gusta repasar con mapas conceptuales y esto me facilita todo. Sólo estuve un buen rato hasta darme cuenta que el código me daba error por comenzar con el signo “¿” las preguntas jaja

1
1787Puntos

Muchas gracias. Lo estaré usando en mis apuntes de clases.

1

Excelentisimo! Me encanta la integración de mil funciones en una misma aplicación! Un mundo completo de posibilidades…

1
17505Puntos

Fue de mucha ayuda, muchas gracias. Me encantó 💚

1
32690Puntos

Que herramienta mas increíble, gracias por el tuto ya hice mi chart. Notion y Platzi en sinergia son increibles.

1
52091Puntos
2 años

Que cool, yo disfruto mucho de todas las bondades que trae Notion para uno.

1
4861Puntos

Hola Alex, me encanto este aporte… pero pregunta
¿si quiero meter un párrafo como puedo hacerlo?, lo que quiero es hacer un mapa mental que es más o menos la misma estructura.

1
4861Puntos
2 años

ya vi, eso funciona igual que HTML con un <br/> se pueden dar espacios para crear mapas mentales.

1
4861Puntos
2 años

ejemplo

Nodo1(linea uno <br/> linea dos);

1
52091Puntos
2 años

¡Justo así que bueno que encontraste la forma! 💚

1
34829Puntos

Excelente herramienta.

1

¿Entonces ya se encuentra actualizado el curso de Notion con estas nuevas funcionalidades?

1
3746Puntos

Muy interesante artículo, ahora a ponerlo en práctica.

1
5407Puntos

No conocía esta forma de hacer mapas mentales, muchas gracias ✌️

1
34508Puntos

Notion es un gran arma del dia a dia woh