3 puntos por GN⁺ 2024-12-02 | 1 comentarios | Compartir por WhatsApp
  • Markwhen es un lenguaje similar a Markdown para registrar en texto plano logs, agendas, notas y tareas que ocurren a lo largo del tiempo, y verlos como una línea de tiempo o un calendario
  • La sintaxis admite no solo fechas individuales y rangos de fechas, sino también varios formatos de fecha, grupos, etiquetas, checklists, enlaces, zonas horarias, eventos recurrentes, frontmatter y propiedades
  • La misma entrada puede verse como JSON, Timeline, Calendar y Oneview, lo que permite moverse entre registros legibles por humanos y datos procesables por máquinas
  • La salida JSON incluye el árbol de eventos, rangos de fechas ISO, etiquetas, texto complementario, la versión del parser 1.0.1, entre otros, para revisar directamente el resultado del parseo
  • Meridiem, incluido junto con Markwhen, es un editor para Markwhen/Markdown con edición colaborativa, comandos personalizados, snippets, visualizaciones, autocompletado y resaltado de eventos

Registros basados en tiempo que maneja Markwhen

  • Markwhen es un lenguaje de diario similar a Markdown para escribir elementos basados en tiempo en texto plano
  • Está orientado a formatos como logs, diagramas de Gantt, blogs, feeds, notas, journals, diarios, tareas, líneas de tiempo y calendarios
  • Sintaxis de entrada

    • Expresiones de fecha: se pueden usar fechas individuales, rangos y varios formatos de fecha, como 2025-04-09: Single date, 2025-01-22 / 2026-10-24: Date range y Dec 1 2025
    • Grupos: agrupa elementos como Christmas Eve y Christmas con group Part one y endGroup
    • Etiquetas: agrega etiquetas como #holiday y #haloween a los eventos
    • Checklists: escribe tareas por año con formatos como - [x] y - []
    • Enlaces: se pueden incluir enlaces a Google, DuckDuckGo y Bing en elementos de checklist
    • Zonas horarias: después de especificar timezone: America/New_York, se pueden escribir horas como 2025-01-01 12:00
    • Eventos recurrentes: usa expresiones como every year for 10 years y every 60 minutes x12
    • frontmatter y propiedades: incluye valores como title, description, leader y attendees
  • Salida y resultados del parseo

    • Las pestañas de salida están compuestas por JSON, Timeline, Calendar y Oneview
    • El ejemplo JSON incluye firstLine, properties, textRanges, dateRangeIso, tags, supplemental, matchedListItems, entre otros, para los eventos
    • En el ejemplo JSON, parser.version aparece como 1.0.1, y también se incluye un mensaje de advertencia que recomienda especificar el encabezado timezone cuando no se indicó una zona horaria

Editor y recursos relacionados

  • Meridiem es un editor para Markwhen y Markdown
    • Soporta edición colaborativa, comandos personalizados, snippets, visualizaciones personalizadas, autocompletado, resaltado de eventos y más
    • El enlace de descarga aparece como Download v1.0.12 2026-07-01
  • Remark.ing es una forma de tratar cada elemento escrito en Markwhen como un remark tipo tweet
    • Se ofrecen como ejemplos meridiem.markwhen.com/bella/recipes.raw y remark.ing/bella/recipes
    • Para comenzar, se ofrece un enlace para iniciar sesión con Meridiem
  • También se ofrecen recursos de desarrollo y uso
  • En los repositorios de GitHub se listan landing site, seguimiento general de issues, Obsidian Plugin, Markwhen CLI, Timeline, Parser, VS Code Extension, View client library, Calendar, C2 y Resume

1 comentarios

 
GN⁺ 2024-12-02
Opiniones en Hacker News
  • Soy el desarrollador. Me alegra que les guste markwhen; llevo varios años trabajando en él y al principio me inspiré en la línea de tiempo de vida de cheeaun que se mencionó en otro comentario.
    Ahora está disponible como extensión de VS Code, plugin de Obsidian, herramienta CLI y editor web de Meridiem.
    Hace poco hice Dial, un fork de bolt.new de Stackblitz, que permite editar o crear directamente en el navegador las visualizaciones existentes de markwhen (línea de tiempo y calendario). Lo lancé apenas ayer, así que todavía está algo verde, pero planeo ampliarlo mucho.
    También agregué la posibilidad de adjuntar propiedades de evento en formato key: value a cada elemento, y a futuro, pensando en la interoperabilidad con iCal, quiero permitir incluir metadatos como asistentes o IDs de Google Calendar.
    remark.ing todavía está muy incompleto, pero es un sitio de blog integrado, similar a Twitter/Bluesky/Mastodon, donde al usar markwhen cada elemento se convierte en una publicación. Si le pones una fecha futura, la publicación queda programada, y puedes tener todo el blog en un solo archivo.

    • Hace poco creé con Markwhen un diagrama de Gantt interactivo para una propuesta de colaboración y funcionó muy bien. Al final conseguimos ese trabajo.
      Lo desarrollé con el plugin de Obsidian y lo publiqué como HTML estático.
    • Felicitaciones por el lanzamiento. Estaba creando exactamente la misma herramienta, pero ustedes se adelantaron, y parece difícil competir con este nivel de funcionalidad y pulido.
    • Se ve muy bien, pero me costó bastante encontrar cómo registrarme.
      Además, en la app de escritorio todavía no he podido encontrar cómo iniciar sesión.
    • Remark.ing se ve realmente muy bien. Para uso personal estaba pensando en hacer algo tipo Memos basado en archivos Markdown en lugar de una base de datos relacional, y esto se acerca bastante a lo que estaba buscando.
      Me pregunto si tienen planes de publicarlo como open source. No lo encontré en GitHub.
    • Me pregunto cuál es la diferencia entre el plan gratuito y el plan de suscripción mensual.
  • Este proyecto me recuerda al proyecto de cheeaun. Permitía crear líneas de tiempo visuales con un formato simple basado en texto, con el objetivo de ubicar visualmente eventos de la vida.
    https://github.com/cheeaun/life
    El archivo de ejemplo del repositorio es así: @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

  • Mermaid también soporta líneas de tiempo si usas una versión suficientemente reciente: https://mermaid.js.org/syntax/timeline.html
    Mermaid se puede usar dentro de bloques de código en GitLab/GitHub y en varios editores Markdown.

    • El gráfico enlazado no parece ser el mismo tipo de gráfico. Muestra qué ocurrió después de qué, pero parece faltar información sobre cuánto duró cada tarea.
    • He estado haciendo esto con Mermaid durante años, pero markwhen de inmediato se siente más fácil.
  • Bastante genial. Soy desarrollador de un sistema de bitácora electrónica semiautomática para veleros: https://bergie.iki.fi/blog/electronic-logbook/
    Ahora uso YAML porque quiero un formato de archivo que sea adecuado para que lo lean tanto personas como máquinas. Markwhen también podría encajar bien, al menos como formato de exportación a considerar.
    Sin embargo, mis entradas tienen muchas propiedades, como velocidad del viento, coordenadas del barco y valores del barómetro. Las bitácoras náuticas tradicionales se escribían en formato de tabla para registrar ese tipo de cosas, así que con Markwhen podría quedar bastante desordenado.
    Aquí hay un ejemplo de una bitácora de navegación de un día en el formato actual: https://github.com/meri-imperiumi/log/blob/main/_data/logboo...
    También uso estos datos para análisis como el estado de las membranas de la desalinizadora o la distancia navegada por cada tripulante.

  • Hay que tener cuidado. Gruber tiene derechos de marca sobre “Markdown”, y parece que no le gusta que la gente use ese nombre
    https://blog.codinghorror.com/standard-markdown-is-now-commo...

    • Esto no solo tiene un nombre distinto, sino que en ese momento fue básicamente un intento de adoptar Markdown. No tiene nada que ver con este proyecto
    • La licencia está aquí: http://daringfireball.net/projects/downloads/Markdown_1.0.1....
      No creo haber visto que Gruber mencionara “derechos de marca”. El punto parece haber sido que tomaron el nombre de su proyecto de forma poco ética. Es parecido a que alguien tome el nombre de un proyecto open source y lo haga parecer oficial. Puede que no sea una infracción de marca, pero eso no lo hace bueno ni ético
    • Busqué una marca registrada para “Markdown”, pero no la encontré. ¿Puedes mostrarla?
    • Joel intentó usar un estándar del IETF por la puerta trasera para algo que él no inventó
      Cuando ya no pudo usar la palabra “standard”, de inmediato pensó “cómo seguimos sin salirnos técnicamente de eso”, y eligió una palabra lo más cercana posible a Standard, dando a entender que era prácticamente la versión definitiva
      Yo me habría enojado en esa situación. Si lo hubieran llamado ‘Atwood Flavoured Markdown’, no habría habido problema, pero Joel quería adueñarse de la definición de Markdown
      Fue básicamente un grupo de CEOs de empresas tecnológicas decidiendo tomar la idea de otra persona sin siquiera preguntarle si estaba bien, y en realidad el objetivo era excluir a John del proyecto
      Puedes hacer eso, pero no puedes seguir usando el nombre que creó esa persona
    • John Gruber también se enojó mucho porque la palabra Markdown no estaba escrita con mayúscula inicial en toda la especificación
  • Otra vez están reimplementando Org mode de Emacs. Bien hecho
    Se ve excelente, pero, sinceramente, Markdown es un lenguaje de marcado para documentos. Org mode, aunque en apariencia cubre un ámbito parecido, en realidad se parece más a un formato de almacenamiento e intercambio de datos. Creo que sería difícil reproducir en Markdown las funciones de manipulación y consulta de datos que se han construido alrededor de Org mode

    • De acuerdo. Esto se puede hacer fácilmente en Org. Si Org fuera más popular, muchas soluciones como esta desaparecerían, o quizá solo serían pequeños proyectos para leer propiedades de Org
      La clave probablemente esté en tener mejor soporte en editores fáciles como VS Code, e incluso quizá un editor dedicado
    • Por ejemplo, están https://github.com/legalnonsense/elgantt/, https://github.com/elsatch/org-timeline-viewer, https://orgmode.org/worg/org-tutorials/org-taskjuggler.html
      Los usuarios de Org-mode y este tipo de herramientas parecen atraerse como polillas a la luz. Org-mode en sí ya es un paquete de software bastante de nicho, pero siempre me sorprende la cantidad de paquetes escritos encima de él
    • De verdad quiero que me guste Org mode, pero no puedo. La sintaxis me resulta demasiado incómoda. Markdown es apenas usar unos cuantos símbolos más, mientras que Org mode en algunos aspectos se siente como escribir LaTeX
      MediaWiki es parecido. Me gustan los sistemas wiki, pero WikiText me parece muy malo
  • Me pregunto si esto también funciona para líneas de tiempo de fantasía
    Quería crear una línea de tiempo 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.
    Lo probé yo mismo y parece que no sirve para este caso

  • Dejo este comentario porque se vería raro que no hubiera ninguno. No tengo mucho que decir, pero se ve realmente bueno, y ojalá algún día encuentre una excusa para usarlo

  • Para quienes, como yo, no lo sabían: esto también se puede usar como plugin de Obsidian: https://obsidian.md/plugins?search=markw

  • ¿Podrían tomar algo de la parte estética de aquí? https://www.chronoflotimeline.com/timeline/shared/3118/Home-...

    • Ese es mi producto. Gracias por mencionarlo
    • Estaría bien que tomaran eso, pero sin la latencia. Lo probé en un M2 Macbook Air de 2022 con Firefox y Safari, y se siente lento