3 pontos por GN⁺ 2024-12-02 | 1 comentários | Compartilhar no WhatsApp
  • Markwhen é uma linguagem semelhante a Markdown para registrar em texto simples logs, agendas, notas e tarefas que acontecem ao longo do tempo, permitindo visualizá-los como timeline ou calendário
  • A sintaxe oferece suporte não só a datas únicas e intervalos de datas, mas também a vários formatos de data, grupos, tags, checklists, links, fusos horários, recorrência, frontmatter e propriedades
  • A mesma entrada pode ser visualizada como JSON, Timeline, Calendar e Oneview, permitindo transitar entre registros legíveis por humanos e dados processáveis por máquina
  • A saída em JSON inclui árvore de eventos, intervalos de data em ISO, tags, texto suplementar e a versão do parser 1.0.1, permitindo verificar diretamente o resultado do parsing
  • O Meridiem, fornecido em conjunto, é um editor para Markwhen/Markdown com edição colaborativa, comandos personalizados, snippets, visualizações, autocompletar e destaque de eventos

Registros baseados em tempo que o Markwhen cobre

  • Markwhen é uma linguagem de diário semelhante a Markdown para escrever itens baseados em tempo em texto simples
  • É voltado a formatos como logs, gráficos de Gantt, blogs, feeds, notas, journals, diários, tarefas, timelines e calendários
  • Sintaxe de entrada

    • Representação de datas: é possível usar data única, intervalo e vários formatos de data, como 2025-04-09: Single date, 2025-01-22 / 2026-10-24: Date range e Dec 1 2025
    • Grupos: group Part one e endGroup agrupam itens como Christmas Eve e Christmas
    • Tags: adiciona tags como #holiday e #haloween aos eventos
    • Checklist: tarefas por ano podem ser escritas nos formatos - [x] e - []
    • Links: links do Google, DuckDuckGo e Bing podem ser inseridos em itens de checklist
    • Fusos horários: após definir timezone: America/New_York, é possível escrever horários como 2025-01-01 12:00
    • Recorrência: usa expressões como every year for 10 years e every 60 minutes x12
    • Frontmatter e propriedades: inclui valores como title, description, leader e attendees
  • Saídas e resultado do parsing

    • As abas de saída são JSON, Timeline, Calendar e Oneview
    • O exemplo de JSON inclui firstLine, properties, textRanges, dateRangeIso, tags, supplemental e matchedListItems dos eventos
    • No exemplo de JSON, parser.version aparece como 1.0.1, e também há uma mensagem de aviso recomendando definir o cabeçalho timezone quando o fuso horário não é especificado

Editor e recursos relacionados

  • Meridiem é um editor para Markwhen e Markdown
    • Oferece edição colaborativa, comandos personalizados, snippets, visualizações personalizadas, autocompletar e destaque de eventos
    • O link de download aparece como Download v1.0.12 2026-07-01
  • Remark.ing trata cada item escrito com Markwhen como uma observação no estilo de tweet
    • Como exemplos, são fornecidos meridiem.markwhen.com/bella/recipes.raw e remark.ing/bella/recipes
    • Há um link orientando a fazer login no Meridiem para começar
  • Também são fornecidos recursos de desenvolvimento e uso
  • No repositório do GitHub, estão listados landing site, rastreamento geral de issues, Obsidian Plugin, Markwhen CLI, Timeline, Parser, VS Code Extension, View client library, Calendar, C2 e Resume

1 comentários

 
GN⁺ 2024-12-02
Comentários no Hacker News
  • Sou o desenvolvedor. Fico feliz que estejam gostando do markwhen; trabalho nele há alguns anos e, no começo, me inspirei na linha do tempo da vida do cheeaun mencionada em outro comentário
    Hoje ele existe como extensão do VS Code, plugin do Obsidian, ferramenta de CLI e editor web do Meridiem
    Recentemente também criei o Dial, um fork do bolt.new da Stackblitz, e nele dá para editar ou criar diretamente no navegador as visualizações existentes do markwhen (linha do tempo e calendário). Foi lançado ontem, então ainda está meio bruto, mas pretendo expandi-lo bastante
    Também adicionei a possibilidade de anexar propriedades de evento no formato key: value a cada item e, pensando em interoperabilidade com iCal no futuro, quero permitir metadados como participantes e ID do Google Calendar
    O remark.ing ainda está bem incompleto, mas é um site de blog integrado parecido com Twitter/Bluesky/Mastodon; usando markwhen, cada item vira uma postagem. Se você colocar uma data futura, a postagem fica agendada, e dá para manter o blog inteiro em um único arquivo

    • Recentemente fiz um gráfico de Gantt interativo com Markwhen para uma proposta colaborativa e funcionou muito bem
      Desenvolvi com o plugin do Obsidian e publiquei como HTML estático
    • Parabéns pelo lançamento. Eu estava criando exatamente a mesma ferramenta, mas você chegou primeiro, e parece difícil competir com esse nível de funcionalidade e acabamento
    • Parece muito bom, mas foi bem difícil encontrar como se cadastrar
      Além disso, ainda não consegui descobrir como fazer login no app desktop
    • O Remark.ing parece realmente muito bom. Eu estava pensando em fazer algo tipo o Memos, mas baseado em arquivos Markdown em vez de banco de dados relacional para uso pessoal, e isso chega bem perto do que eu procurava
      Fico curioso para saber se há planos de liberar como open source. Não consegui encontrar no GitHub
    • Queria saber qual é a diferença entre o plano gratuito e o plano de assinatura mensal
  • Ao ver este projeto, ele me lembrou o projeto do cheeaun. A ideia era permitir criar uma linha do tempo visual com um formato simples baseado em texto, para dispor visualmente acontecimentos da vida
    https://github.com/cheeaun/life
    O arquivo de exemplo no repositório é assim: @USERNAME's life, 24/02/1955 Born, ~1968 Summer job, 03/1976 Built a computer, 01/04/1976 Started a company, 04/1976-2011 Whole bunch of interesting events

  • O Mermaid também oferece suporte a linha do tempo, desde que esteja em uma versão recente o bastante: https://mermaid.js.org/syntax/timeline.html
    O Mermaid pode ser usado dentro de blocos de código no GitLab/GitHub e em vários editores Markdown

    • O gráfico no link não parece ser do mesmo tipo. Ele mostra o que aconteceu depois de quê, mas parece faltar informação sobre quanto tempo cada tarefa levou
    • Faço isso com Mermaid há anos, mas o markwhen imediatamente parece mais fácil
  • Bem interessante. Sou um desenvolvedor que cria um sistema semiautomático de diário de bordo eletrônico para veleiros: https://bergie.iki.fi/blog/electronic-logbook/
    No momento uso YAML porque quero um formato de arquivo razoavelmente legível tanto por pessoas quanto por máquinas. O Markwhen também pode servir bem, pelo menos vale considerar como formato de exportação
    Só que minhas entradas têm muitas propriedades, como velocidade do vento, coordenadas da embarcação e valores do barômetro. Os diários de bordo navais tradicionais eram escritos em formato tabular justamente para registrar esse tipo de coisa, então isso pode ficar meio bagunçado no Markwhen
    Há um exemplo aqui de um diário de bordo de um dia escrito no formato atual: https://github.com/meri-imperiumi/log/blob/main/_data/logboo...
    Também uso esses dados para análises como o estado do anti-incrustante e a distância navegada por cada tripulante

  • Tem que tomar cuidado. Gruber tem uma marca registrada sobre “Markdown” e aparentemente não gosta que as pessoas usem esse nome
    https://blog.codinghorror.com/standard-markdown-is-now-commo...

    • Além do nome ser diferente, na época aquilo era, na prática, uma tentativa de adotar o Markdown. Não é nada sequer parecido com este projeto
    • A licença está aqui: http://daringfireball.net/projects/downloads/Markdown_1.0.1....
      Acho que nunca vi o Gruber mencionar “marca registrada”. O ponto principal parecia ser o fato de terem se apropriado do nome do projeto dele de forma antiética. É parecido com alguém pegar o nome de um projeto open source e fazer parecer que é oficial. Talvez não seja violação de marca, mas não é algo bom nem ético
    • Procurei uma marca registrada de “Markdown”, mas não encontrei. Você pode mostrar essa marca?
    • Joel tentou usar um padrão IETF pelos fundos para algo que ele não inventou
      Quando não puderam usar a palavra “standard”, ele imediatamente passou a pensar em “como continuar tecnicamente sem violar isso” e escolheu uma palavra o mais próxima possível de Standard, insinuando que seria a versão definitiva
      No lugar dele, eu também teria ficado bravo. Se o nome fosse “Atwood Flavoured Markdown”, não haveria problema, mas Joel queria ser dono da definição de Markdown
      Foi como um grupo de CEOs de empresas de tecnologia decidindo adotar a ideia de outra pessoa sem nem perguntar se tudo bem, e na verdade excluir o John do projeto era parte do objetivo
      Eles podem até fazer isso, mas não podem continuar usando o nome que a pessoa criou
    • John Gruber também ficou muito irritado porque a palavra Markdown não aparecia com inicial maiúscula em toda a especificação
  • Mais uma vez estão reimplementando o Org mode do Emacs. Ficou bem feito
    Parece ótimo, mas, sinceramente, Markdown é uma linguagem de marcação para documentos. Org mode, embora tenha uma abrangência aparente parecida, na prática é mais próximo de um formato para armazenamento e troca de dados. Acho difícil reproduzir em Markdown os recursos de manipulação e consulta de dados que se acumularam em torno do Org mode

    • Concordo. Isso dá para fazer facilmente no Org. Se o Org fosse mais popular, muitas dessas soluções desapareceriam, ou virariam só um projetinho para ler propriedades do Org
      A questão central provavelmente está no suporte a editores fáceis como o VS Code, talvez até em um editor dedicado melhor
    • Por exemplo, há https://github.com/legalnonsense/elgantt/, https://github.com/elsatch/org-timeline-viewer, https://orgmode.org/worg/org-tutorials/org-taskjuggler.html
      Usuários de Org-mode e essas ferramentas parecem se atrair como mariposas para a chama. O próprio Org-mode já é um pacote de um software bem de nicho, então a quantidade de pacotes criados em cima dele sempre me surpreende
    • Eu queria muito conseguir gostar de Org mode, mas não dá. A sintaxe parece estranha demais. Markdown é só usar mais alguns símbolos, mas Org mode em certos aspectos dá a sensação de estar usando LaTeX
      O MediaWiki é parecido. Gosto de sistemas wiki, mas o WikiText é ruim demais
  • Fico curioso se isso também funciona para linhas do tempo de fantasia
    Eu queria fazer uma linha do tempo como title: History of the World, 0: Foo Calendar's civilization founding., 124: Invention of the Foo Calendar, 220: Founding of Bar, 1310: Invention of GlooblyGock, 5621: Demon invasion.
    Testei por conta própria e não parece servir para esse caso de uso

  • Estou comentando porque parece estranho deixar os comentários vazios. Não tenho muito a dizer, mas parece realmente muito bom, e espero ter uma desculpa para usar isso algum dia

  • Para quem, como eu, não sabia: isso também pode ser usado como plugin do Obsidian: https://obsidian.md/plugins?search=markw

  • Será que dá para aproveitar um pouco da estética daqui? https://www.chronoflotimeline.com/timeline/shared/3118/Home-...

    • Esse é o meu produto. Obrigado por mencionar
    • Seria bom aproveitar, menos a latência. Testei no Firefox e no Safari em um M2 Macbook Air de 2022, e a resposta é lenta