HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
github
markup
Ruby2011–2026
github / markup

markup

Determines which markup library to use to render a content file (e.g. README) on GitHub

27Distinct people
31Mentions
1Explicit recommenders
6.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Determines which markup library to use to render a content file (e.g. README) on GitHub

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Why do this with markdown? Github supports other [1] markup languages, many of which were designed to be edited programmatically. The format produced by such tools are not…

syrrim used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 11:56:56 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year31 dated mentions

Observed mentions: 2011-01-18 12:58:27 UTC to 2026-06-02 03:49:13 UTC.

012342011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20112012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC202
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC000
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC422
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC404
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC303
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC211
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC404
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC404
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC303
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
GitHub Markup This library is the first step of a journey that every markup file in a repository goes on before it is rendered on GitHub.com: github-markup selects an underlying library to convert the raw markup to HTML. See the list of supported markup formats below. The HTML is sanitized, aggressively removing things that could harm you and your kin—such as script tags, inline-styles, and class or id attributes. Syntax highlighting is performed on code blocks. See github/linguist for more information about syntax highlighting. The HTML is passed through other filters that add special sauce, such as emoji, task lists, named anchors, CDN caching for images, and autolinking. The resulting HTML is rendered on GitHub.com. Please note that only the first step is covered by this gem — the rest happens on GitHub.com. In particular, markup itself does no sanitization of the resulting HTML, as it expects that to be covered by whatever pipeline is consuming the HTML. Please see our contributing guidelines before reporting an issue. Markups The following markups are supported. The dependencies listed are required if you wish to run the library. You can also run script/bootstrap to fetch them all. .markdown, .mdown, .mkdn, .md -- gem install commonmarker (https://github.com/gjtorikian/commonmarker) .textile -- gem install RedCloth (https://github.com/jgarber/redcloth) .rdoc -- gem install rdoc .org -- gem install org-ruby (https://github.com/wallyqs/org-ruby) .creole -- gem install creole (https://github.com/larsch/creole) .mediawiki, .wiki -- gem install wikicloth (https://github.com/nricciar/wikicloth) .rst -- pip install docutils .asciidoc, .adoc, .asc -- gem install asciidoctor (http://asciidoctor.org) .pod -- Pod::Simple::XHTML comes with Perl >= 5.10. Lower versions should install Pod::Simple from CPAN. Installation gem install github-markup or bundle install from this directory. Usage Markdown rendering supports CommonMarker 0.x and 2.x. Keep the installed version to retain that parser's option behavior. Extensions follow the installed parser; 2.x-only extensions remain unavailable with 0.x. Basic form: require 'github/markup' GitHub::Markup.render('README.markdown', "* One\n* Two") More realistic form: require 'github/markup' GitHub::Markup.render(file, File.read(file)) And a convenience form: require 'github/markup' GitHub::Markup.render_s(GitHub::Markups::MARKUP_MARKDOWN, "* One\n* Two") Local Development python3 -m venv .venv source .venv/bin/activate cd script ./bootstrap Set COMMONMARKER_VERSION to override the development bundle's default ~> 2.8.2 requirement. See Testing for parser version commands. Contributing See Contributing.
Read the full README on GitHub

What Hacker News says

31 sources
`Textile` is a similar language to Markdown, used to weave text across multiple IDEs, programming languages, and CMSs: https://textile-lang.com/ Textile is one of the core markups supported by GitHub and Pandoc: https://github.com/github/markup / https://pandoc.org/ And many CMS, most famously TextPattern and MoveableType, but also things like Jekyll: https://textile-lang.com/article/textile-markup-language-sup...
In Show HN: Textile – A desktop app for weaving together bits of text
Re: https://github.com/github/markup/issues/533 I’m the main author of KeenWrite (see screenshots[1]), a type of desktop Markdown editor that supports diagrams. It’s encouraging to see that Mermaid diagrams are being supported in GitHub. There are a few drawbacks on the syntax and implications of using MermaidJS. First, only browser-based SVG renderers can correctly parse Mermaid diagrams. I’ve tested Apache Batik, svgSalamander, resvg, rsvg-convert, svglib, CairoSVG, ConTeXt, and QtSVG. See issue 2485[2]. This implies that typesetting Mermaid diagrams is not currently possible. In effect, by including Mermaid diagrams, many documents will be restricted to web-based output, excluding the possibility of producing PDF documents based on GitHub markdown documents (for the foreseeable future). Second, there are numerous text-to-diagram facili
Read the rest
ties available beyond Mermaid. The server at https://kroki.io/ supports Mermaid, PlantUML, Graphviz, byte fields, and many more. While including MermaidJS is a great step forward, supporting Kroki diagrams would allow a much greater variety. (Most diagrams produced in MermaidJS can also be crafted in Graphviz, albeit with less terse syntax.) Third, see the CommonMark discussion thread[3] referring to a syntax for diagrams. It’s unfortunate that a standard “namespace” concept was not proposed. Fourth, KeenWrite integrates Kroki. To do so, it uses a variation on the syntax: ``` diagram-mermaid ``` ``` diagram-graphviz ``` ``` diagram-plantuml ``` The diagram- prefix tells KeenWrite that the content is a diagram. The prefix is necessary to allow using any diagram supported by a Kroki server without having to hard-code the supported diagram type within KeenWrite. Otherwise, there is no simple way to allow a user to mark up a code block with their own text style that may coincide with an existing diagram type name. Fifth, if ever someone wants to invent a programming language named Mermaid (see MeLa), then it precludes the possibility of using the following de facto syntax highlighting: ``` mermaid ``` My feature request is to add support for Kroki and the diagram- prefix syntax. That is: ``` diagram-mermaid ``` And deprecate the following syntax: ``` mermaid ``` And, later, introduce the language- prefix for defining code blocks that highlight syntax. That is, further deprecate: ``` java ``` With the following: ``` language-java ``` That would provide a “namespace” of sorts to avoid naming conflicts in the future. [1]: https://github.com/DaveJarvis/keenwrite/blob/master/docs/scr... [2]: https://github.com/mermaid-js/mermaid/issues/2485 [3]: https://talk.commonmark.org/t/mermaid-generation-of-diagrams...
In Include diagrams in your Markdown files with Mermaid
Something I haven't seen in any markdown editor so far (suggestions welcome) is extended table support. Say I have a table with a 'name' and 'value' column and 100 entries. And I'd like names to be alphabetically sorted. So far so good. But this table is too long and too small, so I want to have 4 columns and 50 rows, where the name/value continue in column 3, 4. Out of luck. This is unmanageable, as you have to shift many cells when adding a new entry. A proposal for something like this: https://github.com/github/markup/issues/1189 Also mentions multi-line cell contents, which are hard in regular markdown (require inline html)..
In Markdeep markup language

Showing the 15 most recent of 31 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.