Clone
1
Micro Markdown Guide
gitea-actions edited this page 2026-08-23 11:42:22 +00:00

Micro Markdown

Every bit of text on the map — station titles, station subtitles, and free-standing text boxes — accepts a small set of formatting markers typed directly into the text itself. No separate bold/italic controls to hunt for: type the marker, the map renders it styled.

It's called "micro" markdown on purpose. It's not the full Markdown you'd write a README in — no headings, links, or lists — just enough inline emphasis to make a label pop.

Syntax

You type You get
**bold** bold
*italic* italic
__underline__ underlined text
~~strikethrough~~ struck-through text
[#ff0000]colored[/] text in that hex color
[w300]weighted[/] text at an explicit font weight
24^th^ superscript
H~2~O subscript

A few examples:

**Oxford Circus**
Meet at *platform 3*
__Zone 1__ station
~~Closed~~ reopening soon
[#e32017]Central line[/] interchange
[w300]light[/] and [w900]heavy[/] in the same label
King's Cross 5^th^ entrance

Nesting

Markers combine freely. Wrap one inside another to stack effects:

**bold [#ff0000]and red[/]**

renders as bold text where the words "and red" are also red.

Color

Color tags take a hex value only — 6 digits ([#ff0000]) or the 3-digit shorthand ([#f00], same as #ff0000). There's no named-color list to memorize; if you know the hex, you can use it. [/] closes the nearest still-open color (or weight) tag.

Explicit weight

**bold** is really just shorthand for [w700]bold[/] — the conventional "bold" weight. If you want something lighter or heavier than that, set the weight directly: any number from 1 to 1000, e.g. [w300] for a light weight or [w900] for a very heavy one. Whether the difference is visible depends on the font — see the font weight note in the prefab scripting guide for how that works.

Superscript and subscript

^ raises a bit of text, ~ lowers it — handy for ordinals (24^th^ Street), footnote marks (Baker Street^*^), and the occasional formula (H~2~O). The raised text shrinks and shifts automatically; you don't set a size for it.

These two have one extra rule the other markers don't: no spaces inside. ^st^ works, ^a b^ doesn't. That's deliberate — carets and tildes turn up in ordinary label text ("Terminal 2 ^ 3", "~5 mins to the pier"), and without the rule every stray one would start swallowing words. If there's a space in between, it's treated as plain text and left alone.

Note that ~~ is still strikethrough. A single ~ is a subscript, a double ~~ strikes through — the same way * is italic and ** is bold.

Unclosed or malformed markers

If a marker never finds its match — a ** with no closing ** before the text ends, a [#ff0000] with no [/] — it's left as plain text, asterisks, brackets and all, rather than swallowing the rest of the label or breaking the render. A typo shouldn't eat your text.

Glyph shortcodes still work

If your map has custom glyphs imported, :alias: shortcodes work exactly as before, and can appear inside or alongside markdown:

**Oxford Circus :interchange:**

Where it applies

  • Station titles and subtitles
  • Free-standing text box objects (the "text" tool)

It works the same way whether you're typing directly into a text field on the canvas, or setting text.text from a prefab script — the markup lives in the string itself either way.