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:
- Ler o Markdown da nota e perceber a sua estrutura: títulos, listas, tarefas, citações, código, tabelas.
- Mostrar essa estrutura como texto formatado, escondendo a sintaxe até precisares dela.
- 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.