Markdown

De BIS Wiki
Ir para navegação Ir para pesquisar

Markdown é uma linguagem de marcação baseada no Wikipédia ou na Markdown Language que permite que o BIS tenha um padrões de marcação de formatação do texto que possa ser convertido para outros formatos, como HTML, POSTSCRIPT, RichText, Console, etc.

Exemplos de aplicação:

  • Ao escrever relatórios de Log, podemos ter um conteúdo único e será formatado adequadamente em HTML quando exibido na Web, ou formatado adequadamente quando impresso dentro de um PDF;
  • Escrever mensagens de notificação que podem ir por e-mail, por texto SMS, por WhatsApp, etc.
  • Converter um texto de colunas para uma impressora térmica, ou para gerar um PDF, ou exibir o mesmo conteúdo na tela.


Diversidade e Compatibilidade
Devido aos diversos destinos que um mesmo texto de marcação pode ser convertido, é importante que ao escrever o texto se tenha alguma noção dos destinos que a mensagem será utilizada. Pois além da formatação temos questões como tamanhos e fontes de textos e efeitos que sejam ou não suportados.

Por exemplo, um destino aceita a configuração de fonte de largura fixa e outro não, fazendo com que o texto não fique formatado em colunas. Outro destino aceita uma fonte destacada ou em negrito e em outro apenas uma fonte normal.

De forma geral as formatações de Markdown não especificam atributos exatos como tamanho de texto, negrito e etc.. Mas sim efeitos como "título de nível 1", "nível 2", texto destacado, centralizado, etc. Assim, uma marcação pode ter resultado diferentes em cada destino mas de forma geral causar a mesma impressão/efeito. Quando não é possível criar o efeito, a marcação é simplesmente ignorada.


Funcionamento

  1. Cada linha deve ser separada com os caracteres "\r\n".
  2. A classe utilitária BUMarkdown contém os métodos de convert...(...) que farão a conversão de um texto de Markdown para o formato escolhido.
    Estes métodos já tomam cuidado para não permitirem códigos nocívos, como em casos de HTML e JavaScript.
  3. O markdown pode inclusiver ser ensinado e utilizado pelo usuário para gerar conteúdos.


Tabela de Marcações e Conversões

Formatação de Linha

As formações abaixo devem ser colocadas sempre no início da linha e requerem o caracter 'espaço' separando o conteúdo quando indicado.

MarkDown HTML Text
= Título de Nível 1
<h1>Título de Nível 1</h1>
##### Título de Nível 1
= Título de Nível 2
<h2>Título de Nível 2</h2>
#### Título de Nível 2
= Título de Nível 3
<h3>Título de Nível 3</h3>
### Título de Nível 3
= Título de Nível 4
<h4>Título de Nível 4</h4>
## Título de Nível 4
= Título de Nível 5
<h5>Título de Nível 5</h5>
# Título de Nível 5

Inicia uma lista Numerada

+#
<ol>

Não escreve nada, mas o texto a seguir ganhará um nível de identação.

Finaliza uma lista Numerada

-#
</ol>

Não escreve nada, mas o texto a seguir perderá um nível de identação.

Inicia uma lista não Numerada

+*
<ul>

Não escreve nada, mas o texto a seguir ganhará um nível de identação.

Finaliza uma lista não Numerada

-*
</ul>

Não escreve nada, mas o texto a seguir perderá um nível de identação.

Cria um item de lista.

** Texto do Item
<li>Texto do Item</li>

Se dentro de uma lista não numerada:

* Texto do Item

ou, se dentro de uma lista numerada:

?. Texto do Item

onde '?' é um número sequêncial começando em 1 para cada item criado dentro do mesmo nível de identação.

Linha de separação.

--
<hr>
---------------

O total de caracteres será definido conforme a definição do total de colunas do texto.

Formatação de Conteúdo

As formações abaixo devem ser colocadas "cercando o texto" para indicar o início e o fim da configuração.

MarkDown HTML Text
'''Texto com Enfase'''
<strong>Texto com Enfase</strong>
Texto com Enfase
''Texto em Itálico''
<i>Texto em Itálico</i>
Texto em Itálico
'''''Texto em Negrito e Itálico'''''
<strong><i>Texto em Negrito e Itálico</i></strong>
Texto em Negrito e Itálico