O Básico de Markdown
Markdown é uma sintaxe de marcação leve que permite inserir elementos de formatação em um texto puro. Nele é bastante fácil configurar a visualização de titulos, listas, italico, negrito, links, etc. Aplicativos como o Github possuem suporte a ele.
Vários editores possuem recursos para visualizar as formatações definidas em um arquivo markdown(.md
), como por exemplo, no VSCode pode-se utilizar o plugin Markdown All in One. Ou pode-se utilizar um editor online como o dillinger.io(utilize ele para testar as marcações).
Lista de comandos em Markdown
Abaixo você pode ver uma lista dos comandos disponíveis no markdown
Paragráfos
Para criar um parágrafo separamos uma linha de texto com uma linha em branco.
Títulos
Linhas que começam com o caractere #
são consideradas um título, o número de # é correspondente ao nível do titulo
# Título <h1>
## Título <h2>
### Título <h3>
#### Título <h4>
##### Título <h5>
###### Título <h6>
Ênfase
Para se adicionar uma enfase a um conteúdo marca-se o inicio dele com asterico *
ou um underline _.
- Italico: utiliza-se somente um asterisco ou undeline.
- Negrito:utiliza-se dois asteriscos ou undeline.
*italico*
_italico_
**negrito**
__negrito__
Links
Podemos marcar links de duas formar uma de forma direta simplesmente colocando o endereço do link desejado entre os caracteres de <
e >
onde o rótulo do link será o próprio endereço do link, ou podemos informar o rótulo do link entre colchetes []
e endereço entre parênteses ()
.
<https://www.botecodigital.dev.br>
[BotecoDigital](https://www.botecodigital.dev.br)
Imagens
A marcação para inserir uma imagem é semelhante a inserir um link com rótulo, colocamos o rótulo(que seria o texto alternativo da imagem) entre colchetes []
e o link para imagem entre parentes. O caminho do link pode ser absoluto ou relativo ao documento em que foi inserido.
![texto alternativo - alt](https://www.botecodigital.dev.br/exemplos/lazyload/img1.jpg)
Listas de itens
Para listas não ordenadas inserimos um caractere de asterico *
no inicio de cada item da lista
* item 1
* item 2
* item 3
Para listas não ordenadas inserimos um caractere numérico seguido de um ponto no inicio da lista.
1. item 1
2. item 2
3. item 3
Podemos inserir subitens utilizando tabulações.
* item 1
* item 1.1
* item 1.2
* item 2
Para listas de checkbox utilizamos os caracteres de abre e fecha colchetes com um espaço [ ]
para um item não marcado e um abre e fecha colchetes com um x para um item marcado [x]. (* alguns parsers não suportam esta macração)
[x] item 1
[ ] item 2
[ ] item 3
Tabela
Para escrever uma tabela separamos as colunas com um pipe |
e separamos a linha de título das colunas das de dados utilizando hífens -
. Veja o exemplo abaixo para ficar mais claro.
Produto | Quantidade | Valor
---------|------------|---------
Mouse | 1 | R$ 60,00
Teclado | 1 | R$ 120,00
Monitor | 1 | R$ 800,00
Para alinhar o conteúdo das colunas utilizamos o caractere de :
na linha de hífens. Colocando o :
no lado direito dos hífens a coluna será alinhada a direita, se colocado :
na direita e esquerda será alinhado ao centro, se colocado na esquerda será alinhado a esquerda.
Produto | Quantidade | Valor
:--------|:----------:|---------:
Mouse | 1 | R$ 60,00
Teclado | 1 | R$ 120,00
Monitor | 1 | R$ 800,00
Citação
Adicionamos uma citação iniciando a linha com um caractere de maior que >
, uma citação pode ter multiplas linhas.
>esta é uma citação
>apenas um exemplo
Código
Temos duas formas de adicionar uma marcação de código. Uma inline e outra em bloco.
Para um código inline colocamos o código entre acentos grave `
.
Utilizamos uma tag `<h1>` para titulos importantes
Para blocos de código colocamos todas as linha de código entre três acentos grave `
.
```
<?php
echo "Olá Mundo!";
```
Podemos especificar a linguagem do código inserido colocando o nome da linguagem junto a abertura do bloco como mostrado abaixo
```php
<?php
echo "Olá Mundo!";
```
```javascript
alert('olá mundo');
```
Nota de Rodapé
Podemos colocar uma referência de nota de rodapé com a marcação de um acento circunflexo seguido de um identificador, os dois dentro de colchetes. Para adicionar a própria nota de rodapé usa-se a mesma marcação da referência seguida de dois pontos e o texto da nota do rodapé.
Aqui tem uma sentença com uma nota de rodapé . [^1]
[^1]: Esta é uma nota de rodapé.
Tachado
Para marcar um conteúdo como taxado se coloca o texto entre dois sinais de til.
~~Um texto taxado.~~
Highlight
Para destacar um conteúdo colocamos o texto entre dois sinais de igual.
Eu preciso destacar estas ==importantes palavras==.
Subscrito/Sobrescrito
Para colocar um texto subscrito colocamos ele entre acentos til e para sobrescrito entre acentos circunflexo
Subscrito: H~2~O
Sobrescrito: X^2^
Convertendo Markdown em HTML com PHP
Existem diversas bibliotecas para converter Markdown em código HTML, uma interessante e bastante simples é Parsedown que suporta as principais marcações. Utilizamos o composer para instalá-lo.
composer require erusev/parsedown
Primeiro criamos um objeto Parsedown
e depois basta passar o código markdown para o método text
que irá retornar o código HTML.
include 'vendor/autoload.php';
$parsedown = new Parsedown();
echo $parsedown->text('Olá _Mundo_!');
// Saída: <p>Olá <em>Mundo</em>!</p>
Caso estivermos “parseando” um código não confiável(entrada de usuário) podemos utilizar o método setSafeMode(true)
para realizar a sanitização da entrada.
$parsedown = new Parsedown();
$parsedown->setSafeMode(true);
echo $parsedown->text('Uma *tag* <h1>teste</h1>');
Bom era isso, espero que tenha ajudado. T++