Entrada

Tutorial : Presentaciones con HackMD

Últimamente he estado experimentando con HackMD, una plataforma en línea que permite escribir y compartir documentos en Markdown. Lo interesante es que, más allá de escribir notas, también puedes crear excelentes presentaciones.

En este artículo comparto lo que he descubierto, por qué lo estoy usando para preparar mis trabajos y charlas técnicas, y además dejaré algunos ejemplos reales que he preparado para que puedas explorar y adaptarlo a tus necesidades.

¿Qué es HackMD?

HackMD es un editor colaborativo de Markdown basado en la web, pensado para facilitar la escritura de contenido técnico y su distribución. Es como una mezcla entre Google Docs y un IDE ligero, pero con soporte completo para Markdown, LaTeX y varias librerías adicionales.

La plataforma fue lanzada originalmente en 2016 por la startup HackMD Co., Ltd., fundada en Taiwán.

Con el paso del tiempo, HackMD se volvió popular entre comunidades open source, equipos DevOps y startups. Además, se lanzó una versión open source llamada CodiMD, ideal para quienes quieren alojar su propia instancia personalizada.

HackMD integra reveal.js para crear fácilmente presentaciones con una serie de diapositivas dentro de una nota en Markdown.

Cambiar a Modo de Diapositivas

Podemos elegir el Modo de diapositiva desde el menú desplegable “Modo” (de forma predeterminada se muestra el Modo de visualización) en el menú uso compartido en la esquina superior derecha y presiona en “vista previa” para ver su diapositiva.

Cambiar a modo Slide

Crear Diapositivas

La estructura básica es simple, cada diapositiva regular se separa con un interlineado de tres guiones (---) y las diapositivas de sección por un interlineado de cuatro guiones (----). Por ejemplo, las diapositivas se escriben de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Diapositiva 1
text

---

# Diapositiva 2
text

----

## Diapositiva 2.1
text

----

## Diapositiva 2.2
text

---

# Diapositiva 3
text

Escribiendo Slides

Diapositivas Personalizada

Cada sección separada por --- se convierte automáticamente en una diapositiva. Reveal.js asigna a cada una de ellas una clase CSS llamada .slide. Esta clase se puede usar para asignar atributos especiales como transiciones, alineación, estilos y más.

A continuación, puedes ver algunos de estos atributos especiales:

AtributoDescripción
data-transition="..."Tipo de transición (fade, slide, etc.)
data-background-colorCambia el fondo de esa diapositiva
data-background-imageAñade una imagen de fondo
data-background-videoUsa un video de fondo
data-auto-animateActiva animaciones automáticas entre slides

Configurar Transiciones

En HackMD, puedes usar bloques de HTML embebido antes de cada diapositiva para asignarle una transición específica.

1
<!-- .slide: data-transition="fade-in zoom-out" -->

Esto es un comentario HTML especial que HackMD y Reveal.js interpretan como una instrucción para la siguiente diapositiva. Se compone de tres partes:

  1. <!-- : indica el inicio del comentario HTML.
  2. .slide: : especifica que el atributo debe aplicarse al contenedor <section> de la diapositiva.
  3. data-transition="..." : es el atributo Reveal.js que define el tipo de transición.
  4. fade-in: la diapositiva entra con un efecto de desvanecimiento.
  5. zoom-out: la diapositiva sale con un efecto de alejamiento.

Escribir y Resaltar Bloques de Código

Una de las mayores ventajas de usar HackMD para documentación técnica es su excelente soporte de código fuente. Utiliza la librería de Highlight.js, lo que significa que reconoce automáticamente más de 180 lenguajes de programación y los resalta correctamente.

Para comenzar a resaltar código, se debe usar tres backticks (```) para iniciar y cerrar un bloque de código. Después de los primeros backticks, puedes indicar el lenguaje:

1
2
3
4
```python
def saludar(nombre):
    print(f"Hola, {nombre}")
```
Esta entrada está licenciada bajo CC BY 4.0 por el autor.