Os editores

O editor é onde passas o teu tempo no Caliu, por isso é o que recebe mais cuidado. Cada aplicação tem o seu próprio editor, construído sobre a tecnologia de texto da sua plataforma, e todos partilham uma promessa: o que fica guardado é Markdown simples, e o que vês é esse Markdown, formatado no próprio sítio à medida que escreves.

Um ciclo, três editores

Todos os editores do Caliu fazem as mesmas três coisas:

  1. Ler o Markdown da nota e perceber a sua estrutura: títulos, listas, tarefas, citações, código, tabelas.
  2. Mostrar essa estrutura como texto formatado, escondendo a sintaxe até precisares dela.
  3. Escrever as tuas edições de volta em Markdown, o mesmo texto simples que qualquer outra aplicação de Markdown consegue ler.

Abrir uma nota nunca a altera. Uma nota só muda quando a editas, por isso lê-la noutro dispositivo nunca a reescreve nas tuas costas.

Na web: ProseMirror

O editor web é construído sobre o Tiptap, que assenta no ProseMirror, um conjunto de ferramentas para edição de texto rico no navegador usado por muitas ferramentas de escrita conhecidas. Os blocos de código são coloridos com o Shiki, o mesmo realce de sintaxe que muitos editores de código usam.

No iPhone, iPad e Mac: o sistema de texto da própria Apple

O editor Apple é construído diretamente sobre a vista de texto nativa da Apple (UITextView no iPhone e no iPad, NSTextView no Mac) e sobre o TextKit, o motor de texto por trás das aplicações da própria Apple. O Markdown é lido com a biblioteca swift-markdown da Apple, que segue a mesma especificação que o GitHub usa, e é escrito de volta mantendo intactas as tuas escolhas originais: se escreveste *italic* em vez de _italic_, fica assim.

A nota inteira é uma única vista de texto contínua. É isso que torna naturais a seleção, o deslocamento e a edição entre parágrafos. Os elementos que não são texto simples, como tabelas e blocos de código, são desenhados como vistas próprias sobrepostas ao texto.

No Android: o campo de texto da plataforma

O editor Android é construído sobre o próprio campo de texto do Android, formatado à medida que escreves. O Markdown é lido com o commonmark-java e verificado contra a mesma referência que a aplicação Apple. Centenas de documentos de exemplo têm de sair do editor Android exatamente como entraram, tal como acontece nos dispositivos Apple.

Porque é que o texto nativo importa

Editar texto é uma das coisas mais difíceis de fazer bem numa aplicação. Ao construir sobre o motor de texto de cada plataforma em vez de reinventar um, o Caliu herda tudo o que o teu dispositivo já sabe fazer: correção automática e verificação ortográfica, ditado, métodos de introdução para japonês, chinês e coreano, leitores de ecrã como o VoiceOver e o TalkBack, e as pegas de seleção e os atalhos a que estás habituado.

Ver o Markdown

Sempre que quiseres ver o que está realmente guardado, muda para o modo de origem. Mostra o Markdown em bruto, com cada # e * incluído, e também podes editá-lo aí. Consulta o artigo Modo de origem.