Org Mode - Markdown fullstack
1. Introdução
O org-mode é um modo para o Emacs que permite o gerenciamento de informações e planejamento e tudo mais que o usuário quiser (menos adivinhar os números da sena). Utiliza uma linguagem de marcação que pode se assemelhar ao Markdown ou outra em simplicidade mas muito mais poderosa (quando usada com o Emacs). Existem algumas implementações para:
- Vim (ordmode.nvim, vim-orgmode, org-vim)
- VSCode (vscode-org-mode)
- Android (orgzly, Orgro, Org Note)
- iOS (MobileOrg, Orgro)
- Web (Organice(PWA), Org Note).
O texto pode ser exportado para diversos formatos como html, pdf (via \(LaTeX\)), blogs, sites, etc..
Mas vamos ao que interessa…
2. A linguagem
2.1. Básico
2.1.1. Títulos
Basicamente como no Markdown mas usa asterisco * em vez de #. Tem mais coisas mas vamos ficar por aqui. Alt+Enter cria um novo título no mesmo nível.
* titulo * sub titulo ** sub sub título etc ...
2.1.2. Formatação de texto
/itálico/ *negrito* _sublinhado_ +cancelado+ =verbatim= ~código~
itálico negrito sublinhado cancelado verbatim código
2.1.3. Links
Usa o formato [[url][descrição]]. A descrição é opcional. Os links podem ser internos, quando direcionam para a própria página. Por exemplo [[tabela 1][veja tabela]] apresentao texto veja tabela e redirecionará para o local especificado como <<tabela 1>> como pular daqui para equações. Se a url terminar em .jpg, por exemplo, e sem descrição, a imagem será automaticamente inserida na página.
2.1.4. Listas
Basta iniciar com um hífem para listas não numeradas ou um número para listas numeradas.
- item 1
- item 2
- item 2.a
- item 2.a.a
1. item 1
2. item 1.1
3. item 1.1.1
2. item 2
- [ ] tarefa a
- [x] tarefa b
- [-] tarefa c
2.1.5. Tabelas
As tabelas são de simples digitação e formatação no Emacs. Você define as colunas com as barras verticais | e escreve o conteúdo. Ao pressionar TAB, vai para a próxima célula. Se for a última, cria uma nova linha com as colunas ealinha o que for necessário. Se a linha iniciar com |- , uma linha divisória será adicionada. O alinhamento é pela esquerda mas você pode especificar centralizado <c>, direita <r> ou esquerda <l>. Também aceita fórmulas nas células sendo possível recalcular o resultado quando os dados são alterados. No menu Table são encontradas outras opções para trabalhar com tabelas.
| <c> | <l> | <r> | |------+-------------------+-----| | item | descrição | qtd | |------+-------------------+-----| | 1 | toalha de _rosto_ | 25 | | 2 | toalha de /banho/ | 30 | | 3 | lençol *casal* | 7 | |------+-------------------+-----|
Resulta em:
| item | descrição | qtd |
|---|---|---|
| 1 | toalha de rosto | 25 |
| 2 | toalha de banho | 30 |
| 3 | lençol casal | 7 |
2.1.6. Notas de rodapé.
2.1.7. HTML
Pode ser que você deseje exportar um trecho de html para o documento. Uma forma simples de incluir diretamente no texto é usando @@html:<b>texto em negrito</b>@@
- A dissolução do trióxido de enxofre em água forma o ácido sulfúrico: SO3(g)+H2O(l) ⇄ H2SO4(aq). Sei lá, tirei da internet.
Também é possível utilizar #+HTML: trecho em HTML. A desvantagem é que não pode ser escrita no meio de um texto. Termina quando iniciar uma nova linha.
Veja mais em blocos.
2.1.8. Símbolos
É bastante fácil incluir símbolos no texto. O difícl pode ser decorar todos. Mas em org-symbols você encontra uma relação para os que você não lembra. Basta colocar uma \ e escrever o nome do símbolo que o org-mode™ entenderá. Para α+Δ+γ² fica \alfph+\Delta+\gamma\sup2.
2.2. Blocos
Blocos são estruturas mais complexas que iniciam com #+BEGIN_ , podem conter uma ou mais linhas e terminam com #+END_. Se você escrever quote (citação) logo após o sublinhado, deverá encerrar escrevendo quote logo após o sublinhado do end_.
A maioria das configurações inclui a facilidade do usuário digita <s TAB que expande para #+BEGIN_SRC ... #+END_SRC (para código fonte) entre outras. Vai deverá olhar o arquivo de configuração e procurar por org-temp e poderá incluir/alterar/excluir os modelos definidos.
A formatação da maioria irá depender do CSS utilizado para o HTML.
2.2.1. Citação
#+begin_quote Uma citação inicia e termina com a palavra ~quote~ Deixe uma linha em branco para nova linha. #+end_quote
Uma citação inicia e termina com a palavra
quoteDeixe uma linha em branco para nova linha.
2.2.2. Comentário
O que estiver dentro do bloco não será exportado.
#+begin_comment Comentário que não será exportado #+end_comment
3. Finalmentes
Bem, é impossível falar de de tudo, mesmo que seja apenas para traçar um paralelo entre o org-mode e o Markdown.