Dar formato a publicaciones de blog en Markdown
Se te encomienda obtener algunas publicaciones de blog de una API y darles formato usando Markdown, para que tu compañero de trabajo (que no tiene idea de qué es Markdown) pueda publicarlas fácilmente en el sitio web de tu empresa.
Ya descubriste cómo obtener las publicaciones y los usuarios asociados desde la API; ahora solo necesitas escribir una función que reciba esos datos y los formatee en una cadena Markdown. Las reglas son las siguientes:
- El
titledebe comenzar con un carácter en mayúscula y mostrarse como un H1. - Agrega 2 saltos de línea después del
title. La
metadatade la publicación tiene el siguiente formato:Written by <author> on <date>- La parte
<author>es un enlace cuyo texto es elfirstNameylastNamedel autor (separados por un espacio), mientras que el href es unmailto:<author email>. - La parte
<date>es la fecha de la publicación y el formato es el siguiente:<weekday>, <month> <date>, <year>- El día de la semana aparece en forma abreviada (
Thu,Sun, …) - El mes aparece en forma completa (
April,December, …) - La fecha aparece en formato de 2 dígitos (
01 - 31) - El año siempre aparece en formato extendido (
2018)
- El día de la semana aparece en forma abreviada (
- La parte
Agrega 2 saltos de línea después de la
metadata.- El
separatores una línea horizontal; en Markdown se escribe así:---. - Agrega 2 saltos de línea después del
separator. - El
bodyde la publicación ya tiene el formato correcto y es lo último que debes agregar.
Estructura de datos
Post
| Propiedad | Tipo | Descripción |
|---|---|---|
id | number | id de la publicación |
userId | number | id del usuario que escribió la publicación |
timestamp | number | timestamp de la publicación (en milisegundos) |
title | string | título de la publicación |
body | string | cuerpo (contenido) de la publicación |
User
| Propiedad | Tipo | Descripción |
|---|---|---|
id | number | id del usuario |
firstName | string | nombre del usuario |
lastName | string | apellido del usuario |
email | string | correo electrónico del usuario |
Ejemplos
Entrada:
formatBlogPost(
{
id: 1,
userId: 10,
timestamp: 1536581919628,
title: 'varius ut blandit non interdum in ante',
body:
'Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh.\n\nIn quis justo. Maecenas rhoncus aliquam lacus. Morbi quis tortor id nulla ultrices aliquet.',
},
users, // Array of objects, see structure above
);Salida (como string):
# Varius ut blandit non interdum in ante
Written by [Sigismond Reavell](mailto:sreavell9@cargocollective.com) on Mon, September 10, 2018
---
Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh.
In quis justo. Maecenas rhoncus aliquam lacus. Morbi quis tortor id nulla ultrices aliquet.Notas
- ¿Sientes que dar formato a las fechas es tedioso? ¡No tiene por qué serlo! Consulta la pestaña de Recursos para encontrar una forma sencilla de darles formato.
- Si eres nuevo en Markdown o no recuerdas algo, consulta la pestaña de Recursos para refrescar tus conocimientos. Algunos elementos pueden escribirse de varias maneras, así que asegúrate de usar la correcta para este desafío.