Olá mundo!
Publicado em: Jul 13, 2014 | Última modificação: Jul 02, 2020

Este blog é uma forma de compartilhar um pouco da minha pesquisa (através das anotações que venho escrevendo ao longo do tempo e digitando vagarosamente) e integrar o fluxo de trabalho que tenho utilizado desde 2013. Este post é basicamente uma breve descrição das ferramentas que eu uso no desenvolvimento do conteúdo, a geração da página e o seu armazenamento.

Desenvolvimento do conteúdo

Boa parte do conteúdo é escrito usando o org mode, uma ferramenta fantástica que me fez trocar o Vim (e quase qualquer outra ferramenta de edição de textos) pelo Emacs.

Explicar o que é o org é um pouco complicado, porque ele faz uma porção de coisas! Porém, para os meus propósitos ele é basicamente um estilo de formatação de documentos que é ao mesmo tempo legível, estruturado e formatado (uma espécie de poor man's Word). Algumas características do org são:

Veja abaixo um exemplo de documento do org, para ter uma ideia de como funciona a sua estrutura:

  * Estrutura do org-mode
  O texto no org é estruturado por cabeçalhos, que são indicado por
  linhas que iniciam com um ou mais asteriscos (*). Dessa forma, estamos 
  agora em uma seção do documento.

  ** Uma subseção
  Começa com um asterisco a mais, e por aí vai para subsubseções e etc.

  ** Listas
  - Listas podem ser criadas começando uma linha com um ou mais espaços
    e um hífen -
  - Podemos também aninhar listas
    - como esta,
    - e mais outro subitem.

  *** Listas numeradas
  1) Também é possível criar listas numeradas
  2) como esta

  ** Equações
  O texto no org pode conter equações formatadas em LaTeX. Por exemplo:
  \begin{equation}
  x = \sqrt{b},
  \end{equation}
  ou também podemos escrever equações em linha como \(a = 1\).

Este documento, quando convertido para pdf pelo Emacs, resulta em:

Org Document

Figure 1: pdf gerado pelo documento org.

Essas são apenas algumas das vantagens. Eu comecei a usar o org para editar minhas anotações pessoais devido à integração com o LaTeX, que é de grande importância para redação de textos que contém equações matemáticas.

Nem todas as anotações são feitas no org mode. Escrevo parte do conteúdo também na forma manuscrita, usando o xournal para anotações rápidas, e também na forma de notebooks do Jupyter através o software matemático SageMath. Documentos do Jupyter, assim como os documentos do org, podem conter tanto texto como código computacional, e são bem convenientes para análise de dados ou experimentação. (Update: um exemplo disso é uma análise dos dados das observações recentes de ondas gravitacionais).

Hospedagem da página

O Git tem sido a minha ferramenta de controle de versão por alguns anos. Até algum tempo atrás boa parte do meu tempo com o git era passado no GitHub. Porém, como eu gosto que algumas das anotações/projetos permaneçam privadas até que alcancem um certo estado de maturidade, mudei para o serviço do GitLab. Algumas vantagens dele em relação ao GitHub são:

  • Número ilimitado de repositórios privados;
  • É software livre, podendo ser instalado em um servidor local, por exemplo;
  • Ferramentas para migração de projetos do GitHub ou Bitbucket;
  • GitLab pages.

O GitLab pages permite a utilização de qualquer gerador estático de sites, como o Jekyll, Hugo e Octopress, através de sua infraestrutura baseada no Docker. O GitLab pages é de fácil utilização; o próprio GitLab fornece uma série de repositórios com exemplos para vários geradores de sites.

Conclusão

Tem sido relativamente simples manter e compartilhar as anotações usando este fluxo de trabalho. O org funciona muito bem como linguagem de marcação para a maioria dos meus textos. Para entender melhor como funciona o esquema de publicação do org, você pode olhar aqui.

Victor Santos

Físico, Universidade Federal do Ceará. Buracos negros, relatividade geral, computação e tudo mais.