stringtranslate.com

Reducción

Markdown [9] es un lenguaje de marcado ligero para crear texto formateado utilizando un editor de texto simple . John Gruber creó Markdown en 2004 como un lenguaje de marcado fácil de leer . [9] Markdown se usa ampliamente para blogs y mensajería instantánea , y también se usa en otros lugares en foros en línea , software colaborativo , páginas de documentación y archivos README .

La descripción inicial de Markdown [10] contenía ambigüedades y planteaba preguntas sin respuesta, lo que hacía que las implementaciones se desviaran de la versión original, tanto intencional como accidentalmente. Esto se solucionó en 2014, cuando los colaboradores de Markdown de larga data publicaron CommonMark, una especificación y un conjunto de pruebas inequívocos para Markdown. [11]

Historia

Markdown se inspiró en convenciones preexistentes para marcar texto simple en correos electrónicos y publicaciones de Usenet , [12] como los lenguajes de marcado anteriores setext ( c.  1992 ), Textile (c. 2002) y reStructuredText (c. 2002). [9]

En 2002, Aaron Swartz creó atx y se refirió a él como "el verdadero formato de texto estructurado". Gruber creó el lenguaje Markdown en 2004 con Swartz como su "caja de resonancia". [13] El objetivo del lenguaje era permitir a las personas "escribir utilizando un formato de texto simple fácil de leer y escribir, y opcionalmente convertirlo a XHTML (o HTML ) estructuralmente válido". [5]

Su objetivo de diseño clave era la legibilidad , que el lenguaje fuera legible tal como está, sin que pareciera que ha sido marcado con etiquetas o instrucciones de formato, [9] a diferencia del texto formateado con lenguajes de marcado "más pesados" , como Rich Text Format (RTF), HTML o incluso wikitexto (cada uno de los cuales tiene etiquetas en línea obvias e instrucciones de formato que pueden hacer que el texto sea más difícil de leer para los humanos).

Gruber escribió un script en PerlMarkdown.pl , , que convierte la entrada de texto marcado en XHTML o HTML válido y bien formado y reemplaza los corchetes angulares ( <, >) y los símbolos & ( &) con sus referencias de entidad de caracteres correspondientes . Puede asumir el papel de un script independiente, un complemento para Blosxom o Movable Type , o de un filtro de texto para BBEdit . [5]

Ascenso y divergencia

A medida que la popularidad de Markdown creció rápidamente, aparecieron muchas implementaciones de Markdown , impulsadas principalmente por la necesidad de características adicionales como tablas , notas al pie , listas de definiciones, [nota 1] y Markdown dentro de bloques HTML.

El comportamiento de algunos de ellos divergía de la implementación de referencia, ya que Markdown solo se caracterizaba por una especificación informal [16] y una implementación de Perl para la conversión a HTML.

Al mismo tiempo, una serie de ambigüedades en la especificación informal habían llamado la atención. [17] Estos problemas impulsaron la creación de herramientas como Babelmark [18] [19] para comparar el resultado de varias implementaciones, [20] y un esfuerzo por parte de algunos desarrolladores de analizadores de Markdown para la estandarización. Sin embargo, Gruber ha argumentado que la estandarización completa sería un error: "Distintos sitios (y personas) tienen diferentes necesidades. Ninguna sintaxis haría felices a todos". [21]

Gruber evitó usar llaves en Markdown para reservarlas extraoficialmente para extensiones específicas de la implementación. [22]

Normalización

A partir de 2012, un grupo de personas, entre ellas Jeff Atwood y John MacFarlane , lanzaron lo que Atwood caracterizó como un esfuerzo de estandarización. [11]

Un sitio web comunitario ahora tiene como objetivo "documentar varias herramientas y recursos disponibles para los autores y desarrolladores de documentos, así como para los implementadores de las diversas implementaciones de Markdown". [25]

En septiembre de 2014, Gruber se opuso al uso de "Markdown" en nombre de este esfuerzo y se lo renombró como CommonMark. [12] [26] [27] CommonMark.org publicó varias versiones de una especificación, una implementación de referencia, un conjunto de pruebas y "[planes] para anunciar una especificación 1.0 finalizada y un conjunto de pruebas en 2019". [28]

Desde entonces no se ha publicado ninguna especificación 1.0 porque todavía quedan problemas importantes sin resolver. [29]

Sin embargo, los siguientes sitios web y proyectos han adoptado CommonMark: Discourse , GitHub , GitLab , Reddit , Qt , Stack Exchange ( Stack Overflow ) y Swift .

En marzo de 2016 se publicaron dos RFC de Internet con información relevante:

Variantes

Sitios web como Bitbucket , Diaspora , GitHub , [31] OpenStreetMap , Reddit , [32] SourceForge [33] y Stack Exchange [34] utilizan variantes de Markdown para facilitar las discusiones entre usuarios.

Dependiendo de la implementación, se pueden admitir etiquetas HTML básicas en línea. [35]

El texto en cursiva se puede implementar mediante _underscores_o *single-asterisks*. [36]

Markdown con estilo de GitHub

GitHub ha estado usando su propia variante de Markdown desde 2009, [37] que agregó soporte para formato adicional, como tablas y contenido de bloques anidados dentro de elementos de lista, así como características específicas de GitHub, como referencias de enlaces automáticos a confirmaciones, problemas, nombres de usuario, etc.

En 2017, GitHub publicó una especificación formal de su GitHub Flavored Markdown (GFM) que se basa en CommonMark. [31] Es un superconjunto estricto de CommonMark, que sigue su especificación exactamente a excepción de las tablas, el tachado , los enlaces automáticos y las listas de tareas, que GFM agrega como extensiones. [38]

En consecuencia, GitHub también cambió el analizador utilizado en sus sitios, lo que requirió que se modificaran algunos documentos. Por ejemplo, GFM ahora requiere que el símbolo de almohadilla que crea un encabezado esté separado del texto del encabezado por un carácter de espacio.

Descuento adicional

Markdown Extra es un lenguaje de marcado ligero basado en Markdown implementado en PHP (originalmente), Python y Ruby . [39] Agrega las siguientes características que no están disponibles con Markdown normal:

Markdown Extra es compatible con algunos sistemas de gestión de contenido como Drupal , [41] Grav (CMS) y TYPO3 . [42]

LiaScript

LiaScript [43] es un dialecto Markdown que fue diseñado para crear contenido educativo interactivo. Está implementado en Elm y TypeScript y agrega elementos de sintaxis adicionales para definir características como:

Ejemplos

Implementaciones

Existen implementaciones de Markdown disponibles para más de una docena de lenguajes de programación ; además, muchas aplicaciones , plataformas y marcos de trabajo admiten Markdown. [44] Por ejemplo, existen complementos de Markdown para todas las principales plataformas de blogs . [12]

Si bien Markdown es un lenguaje de marcado mínimo y se lee y edita con un editor de texto normal , existen editores especialmente diseñados que previsualizan los archivos con estilos y que están disponibles para todas las plataformas principales. Muchos editores de texto y código de uso general tienen complementos de resaltado de sintaxis para Markdown integrados o disponibles como descarga opcional. Los editores pueden presentar una ventana de vista previa en paralelo o representar el código directamente en modo WYSIWYG .

Algunas aplicaciones, servicios y editores admiten Markdown como formato de edición, entre ellos:

Véase también

Notas explicativas

  1. ^ Técnicamente, las listas de descripciones HTML

Referencias

  1. ^ Gruber, John (8 de enero de 2014). "La extensión de archivo Markdown". The Daring Fireball Company, LLC. Archivado del original el 12 de julio de 2020. Consultado el 27 de marzo de 2022. Supongo que ya es demasiado tarde, pero la única extensión de archivo que recomendaría es ".markdown", por la misma razón que ofreció Hilton Lipschitz: ya no vivimos en un mundo 8.3, por lo que deberíamos usar las extensiones de archivo más descriptivas. Es triste que todos nuestros sistemas operativos dependan de esta estúpida convención en lugar del mejor código del creador o un modelo de metadatos, pero es genial que ahora admitan extensiones de archivo más largas.
  2. ^ abc Leonard, Sean (marzo de 2016). "El tipo de medio text/markdown". Solicitud de comentarios: 7763 . Grupo de trabajo de ingeniería de Internet. Archivado desde el original el 22 de marzo de 2022 . Consultado el 27 de marzo de 2022 . Este documento registra el tipo de medio text/markdown para su uso con Markdown, una familia de sintaxis de formato de texto simple que opcionalmente se pueden convertir a lenguajes de marcado formales como HTML.
  3. ^ Swartz, Aaron (19 de marzo de 2004). "Markdown". Aaron Swartz: The Weblog . Archivado desde el original el 24 de diciembre de 2017. Consultado el 1 de septiembre de 2013 .
  4. ^ Gruber, John . "Markdown". Daring Fireball . Archivado desde el original el 2004-03-11 . Consultado el 20 de agosto de 2022 .
  5. ^ Código fuente del archivo readme de abc Markdown 1.0.1 "Daring Fireball – Markdown". 17 de diciembre de 2004. Archivado desde el original el 2 de abril de 2004.
  6. ^ "Markdown: Licencia". Daring Fireball. Archivado desde el original el 18 de febrero de 2020. Consultado el 25 de abril de 2014 .
  7. ^ ab Leonard, Sean (marzo de 2016). "Guía sobre Markdown: filosofías de diseño, estrategias de estabilidad y registros de selección". Solicitud de comentarios: 7764 . Grupo de trabajo de ingeniería de Internet. Archivado desde el original el 17 de abril de 2022 . Consultado el 27 de marzo de 2022 . Este documento explica en detalle el tipo de medio text/markdown para su uso con Markdown, una familia de sintaxis de formato de texto simple que opcionalmente se pueden convertir a lenguajes de marcado formales como HTML. Se proporciona información de fondo, estrategias de almacenamiento local y registros de sintaxis adicionales.
  8. ^ "Sitio de referencia de RMarkdown". Archivado desde el original el 3 de marzo de 2020. Consultado el 21 de noviembre de 2019 .
  9. ^ abcd Sintaxis de Markdown "Daring Fireball – Markdown – Sintaxis". 13 de junio de 2013."Sin embargo, la legibilidad es lo que se enfatiza por encima de todo. Un documento con formato Markdown debe poder publicarse tal como está, como texto sin formato, sin que parezca que ha sido marcado con etiquetas o instrucciones de formato. Si bien la sintaxis de Markdown ha sido influenciada por varios filtros de texto a HTML existentes, incluidos Setext, atx, Textile, reStructuredText, Grutatext [14] y EtText [15] , la mayor fuente de inspiración para la sintaxis de Markdown es el formato de correo electrónico de texto sin formato".
  10. ^ "Daring Fireball: Presentamos Markdown". daringfireball.net . Archivado desde el original el 2020-09-20 . Consultado el 2020-09-23 .
  11. ^ ab Atwood, Jeff (2012-10-25). "El futuro de Markdown". CodingHorror.com. Archivado desde el original el 2014-02-11 . Consultado el 2014-04-25 .
  12. ^ abc Gilbertson, Scott (5 de octubre de 2014). "Markdown throwdown: What happen when FOSS software gets corporate backing?". Ars Technica . Archivado desde el original el 14 de noviembre de 2020. Consultado el 14 de junio de 2017. La bifurcación de CommonMark podría terminar siendo mejor para los usuarios... pero los creadores originales parecen no estar de acuerdo.
  13. ^ @gruber (12 de junio de 2016). "Debería escribir sobre ello, pero es doloroso. Más o menos: Aaron era mi caja de resonancia, mi musa" ( Tweet ) – vía Twitter .
  14. ^ "Un naufragio personal: El marcado de Grutatxt". triptico.com . Consultado el 30 de junio de 2022 .
  15. ^ "EtText: Documentación: Uso de EtText". ettext.taint.org . Consultado el 30 de junio de 2022 .
  16. ^ "Documentación de sintaxis de Markdown". Daring Fireball. Archivado desde el original el 2019-09-09 . Consultado el 2018-03-09 .
  17. ^ "Especificación de Markdown con sabor a GitHub: ¿por qué se necesita una especificación?". github.github.com . Archivado desde el original el 2020-02-03 . Consultado el 2018-05-17 .
  18. ^ "Babelmark 2 – Comparación de implementaciones de Markdown". Johnmacfarlane.net. Archivado desde el original el 18 de julio de 2017. Consultado el 25 de abril de 2014 .
  19. ^ "Babelmark 3 – Comparación de implementaciones de Markdown". github.io. Archivado desde el original el 2020-11-12 . Consultado el 2017-12-10 .
  20. ^ "Babelmark 2 – FAQ". Johnmacfarlane.net. Archivado desde el original el 28 de julio de 2017. Consultado el 25 de abril de 2014 .
  21. ^ Gruber, John [@gruber] (4 de septiembre de 2014). "@tobie @espadrine @comex @wycats Porque diferentes sitios (y personas) tienen diferentes necesidades. Ninguna sintaxis haría felices a todos" ( Tweet ) – vía Twitter .
  22. ^ Gruber, John (19 de mayo de 2022). "Markdoc". Daring Fireball . Archivado del original el 19 de mayo de 2022 . Consultado el 19 de mayo de 2022 . Me encantan sus extensiones de sintaxis, muy fieles al espíritu de Markdown. Usan llaves para sus extensiones; no estoy seguro de haberlo dejado claro públicamente, pero evité usar llaves en Markdown en sí, aunque son caracteres muy tentadores, para reservarlas extraoficialmente para extensiones específicas de la implementación. El uso extensivo de llaves por parte de Markdoc para su sintaxis es exactamente el tipo de cosas en las que estaba pensando.
  23. ^ "UTI de un documento CommonMark". 12 de abril de 2017. Archivado desde el original el 22 de noviembre de 2018. Consultado el 29 de septiembre de 2017 .
  24. ^ "Especificación CommonMark". Archivado desde el original el 7 de agosto de 2017. Consultado el 26 de julio de 2017 .
  25. ^ "Página de la comunidad de Markdown". GitHub. Archivado desde el original el 26 de octubre de 2020. Consultado el 25 de abril de 2014 .
  26. ^ "Standard Markdown ahora es Common Markdown". Jeff Atwood. 4 de septiembre de 2014. Archivado desde el original el 9 de octubre de 2014. Consultado el 7 de octubre de 2014 .
  27. ^ "El Markdown estándar se convierte en Common Markdown y luego en CommonMark". InfoQ . Archivado desde el original el 2020-09-30 . Consultado el 2014-10-07 .
  28. ^ "CommonMark". Archivado desde el original el 12 de abril de 2016. Consultado el 20 de junio de 2018. La versión actual de la especificación CommonMark está completa y es bastante sólida después de un año de comentarios públicos... pero no es del todo definitiva. Con su ayuda, planeamos anunciar una especificación 1.0 finalizada y un conjunto de pruebas en 2019.
  29. ^ "Problemas que DEBEMOS resolver antes del lanzamiento de la versión 1.0 [quedan 6]". Discusión de CommonMark . 2015-07-26. Archivado desde el original el 2021-04-14 . Consultado el 2020-10-02 .
  30. ^ "Variantes de Markdown". IANA . 28 de marzo de 2016. Archivado desde el original el 27 de octubre de 2020 . Consultado el 6 de julio de 2016 .
  31. ^ abc "GitHub Flavored Markdown Spec". GitHub. Archivado desde el original el 2020-02-03 . Consultado el 2020-06-11 .
  32. ^ "Manual de Markdown para Reddit. O, de todos modos, ¿cómo haces para aplicar todo ese formato sofisticado a tus comentarios?". Reddit. Archivado desde el original el 2019-06-11 . Consultado el 2013-03-29 .
  33. ^ "SourceForge: Guía de sintaxis de Markdown". SourceForge . Archivado desde el original el 2019-06-13 . Consultado el 2013-05-10 .
  34. ^ "Ayuda para editar Markdown". StackOverflow.com. Archivado desde el original el 28 de marzo de 2014. Consultado el 11 de abril de 2014 .
  35. ^ "Documentación de sintaxis de Markdown". daringfireball.net . Archivado desde el original el 2019-09-09 . Consultado el 2021-03-01 .
  36. ^ "Sintaxis básica: cursiva". Guía de Markdown . Matt Cone. Archivado del original el 26 de marzo de 2022 . Consultado el 27 de marzo de 2022 . Para poner en cursiva un texto, agregue un asterisco o un guión bajo antes y después de una palabra o frase. Para poner en cursiva la mitad de una palabra para enfatizarla, agregue un asterisco sin espacios alrededor de las letras.
  37. ^ Tom Preston-Werner . "Ejemplos de Markdown con sabor a GitHub". GitHub . Archivado desde el original el 2021-05-13 . Consultado el 2021-04-02 .
  38. ^ "Una especificación formal para GitHub Flavored Markdown". GitHub Engineering . 14 de marzo de 2017. Archivado desde el original el 3 de febrero de 2020 . Consultado el 16 de marzo de 2017 .
  39. ^ Fortin, Michel (2018). «PHP Markdown Extra». Sitio web de Michel Fortin . Archivado desde el original el 17 de enero de 2021. Consultado el 26 de diciembre de 2018 .
  40. ^ "PHP Markdown Extra". Michel Fortin . Archivado desde el original el 17 de enero de 2021 . Consultado el 26 de diciembre de 2018 .
  41. ^ "Editor de Markdown para BUEditor". 4 de diciembre de 2008. Archivado desde el original el 17 de septiembre de 2020. Consultado el 15 de enero de 2017 .
  42. ^ "Markdown para TYPO3 (markdown_content)". extensions.typo3.org . Archivado desde el original el 2021-02-01 . Consultado el 2019-02-06 .
  43. ^ Dietrich, André. «LiaScript». liascript.github.io . Archivado desde el original el 19 de enero de 2022. Consultado el 17 de enero de 2022 .
  44. ^ "Página de la comunidad W3C sobre implementaciones de Markdown". Wiki Markdown de W3C . Archivado desde el original el 17 de septiembre de 2020. Consultado el 24 de marzo de 2016 .
  45. ^ "330707 - Añadir compatibilidad opcional con MarkDown". bugzilla.mozilla.org . Archivado desde el original el 2022-10-11 . Consultado el 2022-10-11 .
  46. ^ "Texto de Markdown 101 (formato de chat: negrita, cursiva, subrayado)". discord.com . Archivado desde el original el 26 de junio de 2020.
  47. ^ "Manual de Doxygen: compatibilidad con Markdown". Archivado desde el original el 2019-08-09 . Consultado el 2019-08-09 .
  48. ^ "Escritura en GitHub". help.github.com . GitHub, Inc. Archivado desde el original el 4 de junio de 2018 . Consultado el 9 de julio de 2014 .
  49. ^ @EvolutionGnome (23 de marzo de 2022). "¡Evolution 3.44 ya está disponible en #Flathub! Además de muchas mejoras y correcciones menores, incluye un editor de Markdown para redactar mensajes. 👇" ( Tweet ) – vía Twitter .
  50. ^ "Guía de Markdown". joplinapp.org . Archivado desde el original el 23 de septiembre de 2022 . Consultado el 14 de julio de 2022 .
  51. ^ "Por qué necesitas un editor WYSIWYG cuando escribes en Markdown y Fountain". Blog de JotterPad . 2020-11-17. Archivado desde el original el 2020-11-27 . Consultado el 2020-12-06 .
  52. ^ "Sintaxis de Markdown — Documentación de Kanboard". docs.kanboard.org . Archivado desde el original el 2022-10-11 . Consultado el 2022-10-11 .
  53. ^ "Sintaxis de Markdown para archivos, widgets y wikis: Azure DevOps". 25 de marzo de 2024. Archivado desde el original el 18 de abril de 2024. Consultado el 18 de abril de 2024 .
  54. ^ "Usar el formato Markdown en Teams". Microsoft . Archivado desde el original el 13 de enero de 2022 . Consultado el 13 de enero de 2022 .
  55. ^ "Akkoma - Redes sociales mágicamente expresivas". akkoma.social . Archivado desde el original el 2023-04-05 . Consultado el 2024-04-18 .
  56. ^ "MFM". Misskey Hub . Archivado desde el original el 24 de marzo de 2024 . Consultado el 18 de abril de 2024 .
  57. ^ "Nextcloud Notes* App". Aplicaciones de Nextcloud . Archivado desde el original el 2022-02-18 . Consultado el 2022-02-18 .
  58. ^ "Obsidiana". obsidian.md . Archivado desde el original el 2022-07-12 . Consultado el 2022-07-14 .
  59. ^ R Markdown: La guía definitiva. Archivado desde el original el 13 de abril de 2021. Consultado el 23 de agosto de 2021 .
  60. ^ Allaire, JJ ; ea (30 de junio de 2015). «Markdown.cpp». Proyecto de GitHub RStudio . Archivado desde el original el 26 de julio de 2017 . Consultado el 7 de julio de 2016 .
  61. ^ "Ayuda". Simplenote . 2015-07-30. Archivado desde el original el 2022-07-14 . Consultado el 2022-07-14 .

Enlaces externos