Quick answer
Markdown deliberately leaves out underline, centering, text color, and image sizing — but most renderers pass inline HTML through, and a handful of well-known tags fill the gaps. These hacks work in GitHub READMEs and most documentation pipelines; the catch is knowing which platforms strip HTML and what is genuinely impossible.
The foundation of every hack on this page is the same: original Markdown was designed as a thin layer over HTML, so anything Markdown cannot express, you write as HTML directly in the file. Underline is the classic example — Markdown has no underline syntax because underlined text reads as a link on the web, but <u>text</u> or the more semantic <ins>text</ins> (marking inserted content) render underlined on GitHub and anywhere else HTML passes through. The same logic gives you <kbd>Ctrl</kbd>+<kbd>C</kbd> for keyboard shortcuts, which GitHub styles as actual key caps — easily the highest polish-per-character hack for documentation — and <sub>/<sup> for subscripts and superscripts like H<sub>2</sub>O or x<sup>2</sup>.
Layout hacks lean on older, attribute-based HTML because GitHub strips style attributes and CSS. Centering uses the legacy align attribute: <div align="center"> wrapped around text, images, or badges centers them in a README (the modern CSS equivalent gets sanitized away, but align survives). Image sizing works the same way — Markdown's  offers no dimensions, so swap it for an <img> tag with width or height attributes, e.g. <img src="logo.png" width="200">. Combine the two and you get the centered, neatly sized logo header that tops most popular open-source READMEs. For indentation, Markdown collapses leading spaces, but the entity is a non-breaking space the renderer must respect — a few of them fake a first-line indent or nudge inline content apart.
Two hacks need no HTML at all. Collapsible sections come from <details><summary>Click to expand</summary>…</details> — okay, that one is HTML — but the content inside still renders as Markdown on GitHub as long as you leave a blank line after the <summary> tag, which makes it perfect for tucking away long logs, FAQs, or optional install instructions (add the open attribute to start expanded). And clickable video embeds: GitHub will not embed an iframe, but YouTube exposes every video's thumbnail at a predictable URL, so a linked image — [](https://www.youtube.com/watch?v=VIDEO_ID) — produces a thumbnail that looks like an embedded player and opens the video when clicked.
Now the honest limits. Text color is not possible in pure Markdown, and not in GitHub-flavored HTML either: GitHub strips style attributes, <font> tags, and CSS, so there is no way to make a word red in a README. The workarounds are all images — shields.io badges for colored labels, ```diff code blocks where lines starting with + render green and - render red, or LaTeX color commands in math blocks — each a hack on top of a hack, acceptable for a badge row but not for prose. Multi-column layouts have a similar caveat: people simulate columns with borderless tables or aligned <img> tags, but tables are semantically tables — screen readers announce them as data, and the layout collapses awkwardly on narrow screens — so treat column hacks as decoration for profile READMEs, not document structure. Finally, remember every hack here rides on HTML pass-through: Discord, Slack, and most chat apps show the raw tags, and strict CommonMark pipelines with HTML disabled strip them entirely. Preview on the target platform before you commit.