Formatar publicações de blog em Markdown
Você deve buscar algumas publicações de blog em uma API e formatá-las usando Markdown, para que seu colega de trabalho (que não faz ideia do que é Markdown) possa publicá-las facilmente no site da sua empresa.
Você já descobriu como obter as publicações e os usuários associados da API; agora só precisa escrever uma função que receba esses dados e os formate em uma string Markdown. As regras são as seguintes:
- O
titledeve começar com um caractere maiúsculo e ser exibido como um H1. - Adicione 2 quebras de linha depois do
title. A
metadatada publicação tem o seguinte formato:Written by <author> on <date>- A parte
<author>é um link cujo texto é ofirstNamee olastNamedo autor (separados por um espaço), enquanto o href é ummailto:<author email>. - A parte
<date>é a data da publicação, e o formato é o seguinte:<weekday>, <month> <date>, <year>- O dia da semana aparece na forma abreviada (
Thu,Sun, …) - O mês aparece por extenso (
April,December, …) - A data aparece com 2 dígitos (
01 - 31) - O ano sempre aparece no formato estendido (
2018)
- O dia da semana aparece na forma abreviada (
- A parte
Adicione 2 quebras de linha depois da
metadata.- O
separatoré uma linha horizontal; em Markdown, ele é escrito assim:---. - Adicione 2 quebras de linha depois do
separator. - O
bodyda publicação já está formatado corretamente e é a última coisa que você deve adicionar.
Estrutura de dados
Post
| Propriedade | Tipo | Descrição |
|---|---|---|
id | number | id da publicação |
userId | number | id do usuário que escreveu a publicação |
timestamp | number | timestamp da publicação (em milissegundos) |
title | string | título da publicação |
body | string | corpo (conteúdo) da publicação |
User
| Propriedade | Tipo | Descrição |
|---|---|---|
id | number | id do usuário |
firstName | string | nome do usuário |
lastName | string | sobrenome do usuário |
email | string | endereço de e-mail do usuário |
Exemplos
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
);Saída (como uma 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.Observações
- Acha trabalhoso formatar as datas? Não precisa ser! Confira a aba Recursos para encontrar uma maneira simples de formatá-las.
- Se você está começando com Markdown ou não se lembra de alguma coisa, confira a aba Recursos para relembrar. Alguns elementos podem ser escritos de várias maneiras, então tenha cuidado para usar a correta neste desafio.