<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Creative Cyborg: References]]></title><description><![CDATA[Reference documents. These are made available to provide additional background information about topics, technologies, products, etc., mentioned in the newsletter posts.  All these documents are assembled using AI.]]></description><link>https://creativecyborg.substack.com/s/references</link><image><url>https://substackcdn.com/image/fetch/$s_!HPv9!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24b78991-fdd9-4aad-9332-169a1cd4f62e_1280x1280.png</url><title>The Creative Cyborg: References</title><link>https://creativecyborg.substack.com/s/references</link></image><generator>Substack</generator><lastBuildDate>Mon, 22 Jun 2026 03:41:13 GMT</lastBuildDate><atom:link href="https://creativecyborg.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Mauricio Longo]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[creativecyborg@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[creativecyborg@substack.com]]></itunes:email><itunes:name><![CDATA[Mauricio Longo]]></itunes:name></itunes:owner><itunes:author><![CDATA[Mauricio Longo]]></itunes:author><googleplay:owner><![CDATA[creativecyborg@substack.com]]></googleplay:owner><googleplay:email><![CDATA[creativecyborg@substack.com]]></googleplay:email><googleplay:author><![CDATA[Mauricio Longo]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[A Short History of Markdown]]></title><description><![CDATA[How and why Markdown came to be]]></description><link>https://creativecyborg.substack.com/p/a-short-history-of-markdown</link><guid isPermaLink="false">https://creativecyborg.substack.com/p/a-short-history-of-markdown</guid><dc:creator><![CDATA[Mauricio Longo]]></dc:creator><pubDate>Sun, 05 Apr 2026 02:18:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!HPv9!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24b78991-fdd9-4aad-9332-169a1cd4f62e_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Origins (2004)</h2><p>Markdown was created by <strong>John Gruber</strong>, author of the Daring Fireball blog, in collaboration with <strong>Aaron Swartz</strong>. Gruber &#8212; born in 1973 in Philadelphia, a Drexel University CS graduate, and former developer at Bare Bones Software (makers of BBEdit) &#8212; announced Markdown on <strong>March 15, 2004</strong>, in a post titled &#8220;Introducing Markdown&#8221; on Daring Fireball.</p><p>Gruber&#8217;s motivation was simple: he was tired of writing raw HTML for his blog. As he put it, &#8220;It grew tiresome, and it just felt like I was making work for myself, and I really thought that HTML made it hard to proofread my work.&#8221; He wanted to allow authors to &#8220;write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).&#8221;</p><p>Aaron Swartz served as Markdown&#8217;s &#8220;sole beta-tester,&#8221; providing substantial feedback on syntax design. Swartz &#8212; who at just 14 had co-authored the RSS 1.0 specification and later co-founded Reddit &#8212; had created <strong>atx</strong> in 2002, a structured text format whose <code>#</code>-prefixed headings were adopted directly into Markdown. This is why hash-style headings are still called &#8220;atx-style headers&#8221; in specs today. Swartz also wrote <strong>html2text</strong>, a tool for converting HTML back into Markdown.</p><h2>Design Philosophy</h2><p>Markdown&#8217;s primary design goal was <strong>readability</strong>. A Markdown-formatted document should be publishable as-is, as plain text, without looking like it&#8217;s been tagged or formatted with special instructions.</p><p>The single biggest source of inspiration was the format of <strong>plain text email</strong>. Markdown&#8217;s syntax borrowed from conventions people already used in email and Usenet posts: asterisks for emphasis, dashes for lists, and so on.</p><p>Other influences included:</p><ul><li><p><strong>setext</strong> (c. 1992) &#8212; underline-style headers using <code>===</code> and <code>---</code></p></li><li><p><strong>Textile</strong> (c. 2002)</p></li><li><p><strong>reStructuredText</strong> (c. 2002)</p></li><li><p><strong>atx</strong> (Aaron Swartz, 2002) &#8212; <code>#</code>-prefixed headers</p></li></ul><p>Markdown was conceived as two things at once: a plain text formatting <strong>syntax</strong> and a <strong>software tool</strong> (Markdown.pl) that converts that syntax to HTML.</p><h2>The Original Implementation</h2><p>The reference implementation was a <strong>Perl script</strong> of approximately 1,400 lines that processed text through a series of regular expression substitutions, requiring Perl 5.6.0 or later and the Digest::MD5 module.</p><ul><li><p>Gruber initially released it as a GPL-licensed plug-in for <strong>Movable Type</strong> and <strong>Blosxom</strong>, as well as a standalone filter for <strong>BBEdit</strong>.</p></li><li><p><strong>Markdown 1.0</strong> was released on <strong>August 28, 2004</strong>. It placed third in Six Apart&#8217;s plugin contest for Movable Type 3.0.</p></li><li><p><strong>Markdown 1.0.1</strong> followed on <strong>December 14, 2004</strong>, fixing a bug and changing the license from GPL to a BSD-style open source license.</p></li><li><p>The last-ever update to Markdown.pl was on <strong>December 17, 2004</strong>. It was never updated again.</p></li></ul><p>The BSD license included a clause that the name &#8220;Markdown&#8221; could not be used to endorse or promote derived products without specific prior written permission &#8212; a clause that would become significant a decade later.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://creativecyborg.substack.com/p/a-short-history-of-markdown?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://creativecyborg.substack.com/p/a-short-history-of-markdown?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>The Fragmentation Problem</h2><p>Because Gruber&#8217;s specification was informal prose rather than a rigorous spec, and because Markdown.pl was abandoned after December 2004 despite known bugs, implementations quickly diverged. A document that rendered one way on GitHub might render differently on Pandoc or another system. One analysis found that a simple list starting mid-sentence could render in up to 15 different ways depending on the parser.</p><p>Major implementations that emerged:</p><ul><li><p><strong>PHP Markdown</strong> (Michel Fortin, 2004) &#8212; PHP port of Markdown.pl, created just days after Gruber&#8217;s announcement</p></li><li><p><strong>PHP Markdown Extra</strong> (Michel Fortin, 2005) &#8212; Added footnotes, fenced code blocks, tables, definition lists, abbreviations</p></li><li><p><strong>MultiMarkdown</strong> (Fletcher T. Penney, 2005) &#8212; Added metadata, LaTeX output, citations, cross-references, math</p></li><li><p><strong>Pandoc</strong> (John MacFarlane, 2006) &#8212; Universal document converter with massively extended syntax</p></li><li><p><strong>Python-Markdown</strong> (Community, 2007) &#8212; Python implementation with extension system</p></li><li><p><strong>GitHub Flavored Markdown</strong> (GitHub, ~2009) &#8212; Added tables, task lists, fenced code with language IDs, strikethrough</p></li></ul><p>Each implementation added features Gruber&#8217;s original lacked, but no two agreed on how to handle the ambiguities in the original specification.</p><h2>The CommonMark Standardization Effort</h2><h3>The Call for Standards (2012)</h3><p>On <strong>October 25, 2012</strong>, Jeff Atwood (co-founder of Stack Overflow) published &#8220;The Future of Markdown&#8221; on his Coding Horror blog, calling on the community to create an official specification and standard test suites.</p><p>The next day, a <strong>Markdown Community Group</strong> was formed at the <strong>W3C</strong>. Atwood, John MacFarlane (creator of Pandoc, philosophy professor at UC Berkeley), and others emailed Gruber in November 2012 inviting him to participate. <strong>They never heard back.</strong></p><h3>The &#8220;Standard Markdown&#8221; Naming Dispute (2014)</h3><p>John MacFarlane led the writing of the specification, drawing on his experience building Markdown parsers in multiple languages &#8212; including the first Markdown parser not based on regex substitutions (Pandoc).</p><p>On <strong>September 3, 2014</strong>, Atwood announced the project as <strong>&#8220;Standard Markdown.&#8221;</strong> Gruber&#8217;s reaction was swift &#8212; he called it &#8220;infuriating,&#8221; demanded the group rename the project, shut down the domain, and apologize. He initially suggested names like &#8220;Strict Markdown&#8221; or &#8220;Pedantic Markdown,&#8221; but then indicated that <strong>no form of the word &#8220;Markdown&#8221; was acceptable</strong> in the project name.</p><p>Gruber had argued that complete standardization would be a mistake: &#8220;Different sites (and people) have different needs. No one syntax would make all happy.&#8221; The BSD license&#8217;s clause about the &#8220;Markdown&#8221; name gave him legal standing.</p><p>On <strong>September 5, 2014</strong>, the project was renamed first to &#8220;Common Markdown,&#8221; then to <strong>&#8220;CommonMark&#8221;</strong> (one word). Atwood published an apology. Gruber eventually accepted the name.</p><h3>The Specification</h3><p>CommonMark provided what had been missing for a decade:</p><ul><li><p>A rigorous, unambiguous specification with formal grammar</p></li><li><p>Over <strong>600 conformance tests</strong></p></li><li><p>Reference implementations in <strong>C</strong> (cmark) and <strong>JavaScript</strong> (commonmark.js)</p></li><li><p>The latest spec version is <strong>0.31.2</strong> (January 28, 2024)</p></li></ul><p>Performance was a major advance: cmark is approximately <strong>10,000 times faster</strong> than the original Markdown.pl.</p><p>The W3C Markdown Community Group was closed on August 13, 2019, but CommonMark development continues independently. As of late 2025, six critical issues remain before a 1.0 release can be declared.</p><h3>IETF Recognition</h3><p>In <strong>March 2016</strong>, the IETF registered the <code>text/markdown</code> media type via <strong>RFC 7763</strong>, defining it as an informational standard for identifying Markdown documents in MIME-compliant systems, with required UTF-8 charset and optional variant parameters.</p><h2>Key Variants and Their Contributions</h2><h3>GitHub Flavored Markdown (GFM)</h3><p>GitHub began using its own Markdown variant around 2009 to render README files in repositories. It formalized GFM in 2011, and in <strong>March 2017</strong> released a <strong>formal GFM specification</strong> built as a strict superset of CommonMark. GFM introduced tables, task lists (<code>- [x]</code>), fenced code blocks with language identifiers, strikethrough (<code>~~text~~</code>), auto-linking, and emoji shortcodes (<code>:smile:</code>). Footnote support was added in 2021. GFM also includes post-processing sanitization to prevent XSS attacks, blocking potentially malicious HTML tags like <code>&lt;script&gt;</code>.</p><h3>MultiMarkdown</h3><p>Created by Fletcher T. Penney in 2005, MultiMarkdown aimed to make Markdown suitable for <strong>academic and professional writing</strong>. It added metadata headers, LaTeX/PDF output, footnotes, tables, citations, cross-references, glossary/index features, and math support. Version 6 improved parsing for cross-references and transclusion in ebooks, with version 7 in pre-release as of 2025.</p><h3>Pandoc Markdown</h3><p>John MacFarlane began developing Pandoc around 2004 as a personal experiment while learning Haskell, motivated by the need for a reliable Markdown parser to manage his lecture notes. The first public release came in <strong>2006</strong>. More than a Markdown tool, Pandoc is a <strong>universal document converter</strong> supporting over 50 input and output formats (LaTeX, DOCX, PDF, EPUB, and more).</p><p>Key milestones:</p><ul><li><p><strong>Version 1.0</strong> (September 2008) &#8212; extended Markdown support</p></li><li><p><strong>Version 2.0</strong> (October 2017) &#8212; built-in Lua filter support</p></li><li><p><strong>Version 2.8</strong> (November 2019) &#8212; native CiteProc for citations and bibliographies</p></li><li><p><strong>Version 3.0</strong> (January 2023) &#8212; JATS XML, Typst output, rewritten CommonMark parser</p></li></ul><p>Pandoc&#8217;s architecture processes documents through an abstract syntax tree (AST), enabling format-agnostic transformations. It underpins tools like <strong>R Markdown</strong> (launched 2012 by RStudio) and <strong>Quarto</strong> for reproducible research documents.</p><h3>PHP Markdown Extra</h3><p>Created by Michel Fortin, who had ported Markdown to PHP within days of Gruber&#8217;s original announcement. PHP Markdown Extra (2005) added footnotes, abbreviations, fenced code blocks, tables, definition lists, and attribute lists for attaching classes and IDs to elements. It found particular popularity in PHP-based CMS platforms like <strong>Grav</strong>.</p><h3>MDX (Markdown + JSX)</h3><p>Emerging around 2018-2019, MDX combines Markdown with JSX, allowing React components to be embedded directly in Markdown documents. Key contributor John Otander wrote most of the code. MDX is now integrated with Docusaurus, Next.js, Gatsby, and major bundlers, with 2.5 million weekly npm downloads.</p><h2>Adoption Timeline</h2><ul><li><p><strong>March 15, 2004</strong> &#8212; Gruber announces Markdown on Daring Fireball</p></li><li><p><strong>Late March 2004</strong> &#8212; Michel Fortin creates PHP Markdown</p></li><li><p><strong>August 28, 2004</strong> &#8212; Markdown 1.0 released; places third in Six Apart&#8217;s Movable Type plugin contest</p></li><li><p><strong>December 17, 2004</strong> &#8212; Last-ever update to Markdown.pl</p></li><li><p><strong>July 2005</strong> &#8212; PHP Markdown Extra and MultiMarkdown announced (one day apart)</p></li><li><p><strong>2006</strong> &#8212; Pandoc published; Michel Fortin rewrites PHP Markdown as object-oriented</p></li><li><p><strong>September 2006</strong> &#8212; TextMate editor incorporates Markdown syntax highlighting</p></li><li><p><strong>September 2008</strong> &#8212; Stack Overflow launches with Markdown support, exposing it to a massive developer audience</p></li><li><p><strong>December 2008</strong> &#8212; Jekyll released; GitHub Pages launches with Markdown as primary content format</p></li><li><p><strong>~2009</strong> &#8212; GitHub and Reddit adopt Markdown variants</p></li><li><p><strong>2011</strong> &#8212; GitHub ships GFM; README.md becomes the standard for project documentation</p></li><li><p><strong>2012</strong> &#8212; Jeff Atwood calls for Markdown standardization; R Markdown launched by RStudio</p></li><li><p><strong>2014</strong> &#8212; CommonMark launched after naming controversy; cmark and commonmark.js reference implementations released; markdown-it parser released</p></li><li><p><strong>March 2016</strong> &#8212; IETF registers <code>text/markdown</code> media type (RFC 7763)</p></li><li><p><strong>March 2017</strong> &#8212; GitHub releases formal GFM spec based on CommonMark</p></li><li><p><strong>~2018</strong> &#8212; MDX first stable release</p></li><li><p><strong>2020+</strong> &#8212; Obsidian, Notion, and dozens of modern tools adopt Markdown as core format</p></li><li><p><strong>2021</strong> &#8212; GitHub adds footnote support to GFM</p></li><li><p><strong>2022-2024</strong> &#8212; AI language models (ChatGPT, Claude, Gemini) adopt Markdown as their default output format</p></li><li><p><strong>2025</strong> &#8212; Windows Notepad adds basic Markdown support; Markdown/YAML frontmatter becomes standard for LLM agent configuration files</p></li><li><p><strong>February 2026</strong> &#8212; Cloudflare launches Markdown for Agents, converting HTML to Markdown in real time for AI crawlers</p></li></ul><h2>Markdown Today</h2><p>Markdown has become the dominant format for an extraordinary range of use cases:</p><ul><li><p><strong>Technical writing and documentation</strong> &#8212; MkDocs (2014), Docusaurus, VuePress, GitBook, Read the Docs</p></li><li><p><strong>Developer platforms</strong> &#8212; GitHub, GitLab, Bitbucket, Stack Overflow, Discord</p></li><li><p><strong>Note-taking and knowledge management</strong> &#8212; Obsidian (2,600+ community plugins as of 2025), Notion, Bear, Typora, iA Writer, Logseq, Joplin</p></li><li><p><strong>Static site generators</strong> &#8212; Hugo, Jekyll, Gatsby, Next.js, Astro</p></li><li><p><strong>AI output</strong> &#8212; ChatGPT, Claude, Gemini, Grok, and other LLMs use Markdown as their default output format, massively expanding its reach beyond the developer community</p></li><li><p><strong>AI agent configuration</strong> &#8212; Tools like Cursor, Claude Code, GitHub Copilot, and VS Code extensions use Markdown with YAML frontmatter for agent rules and custom instructions, with analyses showing up to 30% fewer tokens than equivalent JSON</p></li><li><p><strong>AI content delivery</strong> &#8212; Cloudflare&#8217;s Markdown for Agents (2026) converts HTML to Markdown at the edge for AI crawlers, reducing token consumption by up to 80%</p></li></ul><p>The most significant platforms have converged on CommonMark as their baseline, finally delivering the consistency that eluded the format for its first decade.</p><p>Markdown&#8217;s enduring appeal comes down to what Gruber got right from the start: plain text files are portable, version-controllable, readable without special software, and not locked to any vendor. Twenty-two years later, that bet on simplicity continues to pay off.</p><div><hr></div><h2>Research and Authoring</h2><p>This document was researched and compiled by Claude Opus 4.6 at the request of Mauricio Longo for The Creative Cyborg Newsletter. All sources used in the creation of the document are listed below in the Sources section.</p><div><hr></div><h2>Sources</h2><h3>Grokipedia</h3><ul><li><p><a href="https://grokipedia.com/page/Markdown">Markdown &#8212; Grokipedia</a></p></li><li><p><a href="https://grokipedia.com/page/John_Gruber">John Gruber &#8212; Grokipedia</a></p></li><li><p><a href="https://grokipedia.com/page/Aaron_Swartz">Aaron Swartz &#8212; Grokipedia</a></p></li><li><p><a href="https://grokipedia.com/page/Pandoc">Pandoc &#8212; Grokipedia</a></p></li><li><p><a href="https://grokipedia.com/page/Markdown_for_Agents">Markdown for Agents &#8212; Grokipedia</a></p></li><li><p><a href="https://grokipedia.com/page/Lightweight_markup_language">Lightweight markup language &#8212; Grokipedia</a></p></li><li><p><a href="https://grokipedia.com/page/Comparison_of_document_markup_languages">Comparison of document markup languages &#8212; Grokipedia</a></p></li></ul><h3>Primary Sources</h3><ul><li><p><a href="https://daringfireball.net/2004/03/introducing_markdown">Daring Fireball: Introducing Markdown</a></p></li><li><p><a href="https://daringfireball.net/projects/markdown/">Daring Fireball: Markdown</a></p></li><li><p><a href="https://daringfireball.net/projects/markdown/syntax">Daring Fireball: Markdown Syntax Documentation</a></p></li><li><p><a href="https://daringfireball.net/2004/08/markdown_10">Daring Fireball: Markdown 1.0</a></p></li><li><p><a href="https://daringfireball.net/2004/12/markdown_licensing">Daring Fireball: Markdown Licensing</a></p></li><li><p><a href="https://commonmark.org/">CommonMark</a></p></li><li><p><a href="https://spec.commonmark.org/current/">CommonMark Spec 0.31.2</a></p></li><li><p><a href="https://github.com/commonmark/commonmark.js">CommonMark parser and renderer &#8212; GitHub</a></p></li><li><p><a href="https://github.com/commonmark/cmark">cmark &#8212; GitHub</a></p></li><li><p><a href="https://github.github.com/gfm/">GitHub Flavored Markdown Spec</a></p></li><li><p><a href="https://github.blog/engineering/user-experience/a-formal-spec-for-github-markdown/">GitHub Blog: A formal spec for GitHub Flavored Markdown</a></p></li><li><p><a href="https://www.rfc-editor.org/rfc/rfc7763">RFC 7763: The text/markdown Media Type</a></p></li><li><p><a href="https://pandoc.org/MANUAL.html">Pandoc User&#8217;s Guide</a></p></li><li><p><a href="https://github.com/jgm/pandoc">Pandoc &#8212; GitHub</a></p></li><li><p><a href="https://haskell.foundation/podcast/37/">John MacFarlane &#8212; Haskell Foundation Podcast</a></p></li><li><p><a href="https://fletcherpenney.net/multimarkdown/">MultiMarkdown &#8212; Fletcher Penney</a></p></li><li><p><a href="https://michelf.ca/projects/php-markdown/">PHP Markdown &#8212; Michel Fortin</a></p></li><li><p><a href="https://michelf.ca/projects/php-markdown/extra/">PHP Markdown Extra &#8212; Michel Fortin</a></p></li><li><p><a href="https://michelf.ca/blog/2004/the-little-story-of-php-markdown/">The little story of PHP Markdown &#8212; Michel Fortin</a></p></li><li><p><a href="https://michelf.ca/blog/2006/state-of-markdown/">The state of Markdown &#8212; Michel Fortin</a></p></li><li><p><a href="https://mdxjs.com/community/about/">MDX: About</a></p></li><li><p><a href="https://github.com/mundimark/markdown.pl">Markdown.pl source &#8212; GitHub</a></p></li><li><p><a href="https://blog.cloudflare.com/markdown-for-agents/">Introducing Markdown for Agents &#8212; Cloudflare Blog</a></p></li><li><p><a href="https://developers.cloudflare.com/fundamentals/markdown-for-agents/">Markdown for Agents &#8212; Cloudflare Docs</a></p></li></ul><h3>Commentary and Analysis</h3><ul><li><p><a href="https://blog.codinghorror.com/the-future-of-markdown/">Jeff Atwood: The Future of Markdown (2012)</a></p></li><li><p><a href="https://blog.codinghorror.com/standard-markdown-is-now-common-markdown/">Jeff Atwood: Standard Markdown is now Common Markdown (2014)</a></p></li><li><p><a href="https://www.infoq.com/news/2014/09/markdown-commonmark/">Standard Markdown Becomes Common Markdown then CommonMark &#8212; InfoQ</a></p></li><li><p><a href="https://onemanandhisblog.com/2014/09/markdown-commonmark-open-source-controversy/">One Man and His Blog: Markdown versus CommonMark</a></p></li><li><p><a href="https://www.anildash.com/2026/01/09/how-markdown-took-over-the-world/">How Markdown took over the world &#8212; Anil Dash</a></p></li><li><p><a href="https://www.webpronews.com/markdowns-enduring-impact-revolutionizing-web-writing-from-2004-to-2026/">Markdown&#8217;s Enduring Impact &#8212; WebProNews</a></p></li><li><p><a href="https://www.taskade.com/blog/markdown-history">The History of Markdown &#8212; Taskade</a></p></li><li><p><a href="https://hackmd.io/@hackmd-blog/markdown-history">The History of Markdown: How Plain Text Took Over &#8212; HackMD</a></p></li><li><p><a href="https://markdown.co.in/blog/history-of-markdown.html">The History of Markdown &#8212; markdown.co.in</a></p></li><li><p><a href="https://news.ycombinator.com/item?id=5048117">Aaron Swartz was a key contributor to Markdown &#8212; Hacker News</a></p></li><li><p><a href="https://news.ycombinator.com/item?id=24860615">The Story Behind Markdown &#8212; Hacker News</a></p></li><li><p><a href="https://stackoverflow.blog/2009/10/15/markdown-one-year-later/">Markdown, One Year Later &#8212; Stack Overflow Blog</a></p></li><li><p><a href="https://stackoverflow.blog/2008/06/25/three-markdown-gotchas/">Three Markdown Gotchas &#8212; Stack Overflow Blog</a></p></li><li><p><a href="https://www.vox.com/2018/1/16/16897674/john-gruber-recode-media-peter-kafka-podcast-interview-daring-fireball">Full transcript: John Gruber on Recode Media</a></p></li><li><p><a href="https://www.theverge.com/2013/9/10/4698262/how-john-gruber-built-daring-fireball">How Apple obsessive John Gruber built Daring Fireball &#8212; The Verge</a></p></li><li><p><a href="https://www.w3.org/community/markdown/">W3C Markdown Community Group</a></p></li><li><p><a href="https://talk.commonmark.org/t/issues-we-must-resolve-before-1-0-release/4735">Issues we MUST resolve before 1.0 release &#8212; CommonMark Forum</a></p></li></ul><h3>Related Tools and Implementations</h3><ul><li><p><a href="https://github.com/markedjs/marked">marked.js &#8212; GitHub</a></p></li><li><p><a href="https://github.com/markdown-it/markdown-it">markdown-it &#8212; GitHub</a></p></li><li><p><a href="https://github.com/showdownjs/showdown">showdown.js &#8212; GitHub</a></p></li><li><p><a href="https://pypi.org/project/Markdown/">Python-Markdown &#8212; PyPI</a></p></li><li><p><a href="https://github.com/vmg/redcarpet">Redcarpet &#8212; GitHub</a></p></li><li><p><a href="https://rmarkdown.rstudio.com/">R Markdown</a></p></li><li><p><a href="https://www.mkdocs.org/">MkDocs</a></p></li><li><p><a href="https://jekyllrb.com/">Jekyll</a></p></li><li><p><a href="https://gohugo.io/content-management/formats/">Hugo Content Formats</a></p></li><li><p><a href="https://obsidian.md/">Obsidian</a></p></li><li><p><a href="https://typora.io/">Typora</a></p></li><li><p><a href="https://blogs.windows.com/windows-insider/2025/01/text-formatting-notepad/">Text Formatting in Notepad &#8212; Windows Insider Blog</a></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://creativecyborg.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Creative Cyborg is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>