<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>Monospaced</title>
  <subtitle>Monospaced is an independent UI consultancy based in London, UK, specialising in UI systems, design engineering and modern front-end development.</subtitle>
  <link href="https://monospaced.com/feed.xml" rel="self"/>
  <link href="https://monospaced.com/"/>
  <updated>2026-09-18T00:00:00Z</updated>
  <id>https://monospaced.com/</id>
  <author>
    <name>Scott Boyle</name>
  </author>
  <entry>
    <title>Kitchen sink</title>
    <link href="https://monospaced.com/notes/kitchen-sink/"/>
    <id>https://monospaced.com/notes/kitchen-sink/</id>
    <published>2026-09-17T00:00:00Z</published>
    <updated>2026-09-18T00:00:00Z</updated>
    <summary>This is the first article, and it is about itself.</summary>
    <content type="html">&lt;p&gt;This article contains all the &lt;a href=&quot;https://www.markdownguide.org/basic-syntax/&quot;&gt;Markdown&lt;/a&gt; elements and structures used by this site, with the copy to demonstrate them.&lt;/p&gt;
&lt;p&gt;What you're reading isn't Markdown though, it's the HTML Markdown has produced, styled by the site's CSS (if you're reading on the site).&lt;/p&gt;
&lt;p&gt;These are paragraphs. Where supported, they never end in a widow.&lt;/p&gt;
&lt;p&gt;Links are coloured rather than underlined, until you hover. Visited links change colour. Here's one to &lt;a href=&quot;https://scottboyle.co/&quot;&gt;an external site&lt;/a&gt;, one to &lt;a href=&quot;https://monospaced.com/&quot;&gt;a local page&lt;/a&gt;, and one to &lt;a href=&quot;https://monospaced.com/notes/kitchen-sink/#an-h2-heading&quot;&gt;a section heading in this article&lt;/a&gt;. Autolink literals like &lt;a href=&quot;http://www.monospaced.com/&quot;&gt;www.monospaced.com&lt;/a&gt; become links without any markup. Footnotes are supported &lt;sup&gt;&lt;a href=&quot;https://monospaced.com/notes/kitchen-sink/#user-content-fn-1&quot; id=&quot;user-content-fnref-1&quot; data-footnote-ref=&quot;&quot; aria-describedby=&quot;footnote-label&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; and there can be more than one &lt;sup&gt;&lt;a href=&quot;https://monospaced.com/notes/kitchen-sink/#user-content-fn-2&quot; id=&quot;user-content-fnref-2&quot; data-footnote-ref=&quot;&quot; aria-describedby=&quot;footnote-label&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Emphasis&lt;/em&gt; is for stressed words (or when you just want &lt;em&gt;italics&lt;/em&gt;), &lt;code&gt;code&lt;/code&gt; is for anything a machine might read, &lt;del&gt;deleted&lt;/del&gt; is for showing your working, and &lt;strong&gt;bold&lt;/strong&gt; is used sparingly.&lt;/p&gt;
&lt;p&gt;Hex colours in &lt;code&gt;code&lt;/code&gt; are displayed as colour chips: &lt;code&gt;#ff6aff&lt;span class=&quot;gfm-color-chip&quot; style=&quot;background-color: #ff6aff;&quot;&gt;&lt;/span&gt;&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&quot;an-h2-heading&quot;&gt;An &lt;code&gt;h2&lt;/code&gt; heading&lt;/h2&gt;
&lt;p&gt;Headings are for structure, not bigger text. They get an anchor &lt;code&gt;id&lt;/code&gt; for free, and sit closer to the text they introduce than the text they follow.&lt;/p&gt;
&lt;p&gt;Blockquotes have their quotation marks added for them. Attribution is in the paragraph that follows the quote.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;One more attribute the modern typographer must have: the capacity for taking great pains with seemingly unimportant detail. To him, one typographical point must be as important as one inch, and he must harden his heart against the accusation of being too fussy.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://www.germandesigners.net/designers/hans_peter_schmoller&quot;&gt;Hans P. Schmoller&lt;/a&gt;, in &lt;em&gt;Book Design Today&lt;/em&gt;, &lt;em&gt;Printing Review&lt;/em&gt;, Spring 1951&lt;/p&gt;
&lt;h3 id=&quot;an-h3-heading&quot;&gt;An &lt;code&gt;h3&lt;/code&gt; heading&lt;/h3&gt;
&lt;p&gt;Unordered lists are for items with no sequence, like&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;this one&lt;/li&gt;
&lt;li&gt;that one&lt;/li&gt;
&lt;li&gt;the other one&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ordered lists are for sequenced items, and can reach double digits without the numbers colliding with the text&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;first item&lt;/li&gt;
&lt;li&gt;second item&lt;/li&gt;
&lt;li&gt;third item&lt;/li&gt;
&lt;li&gt;fourth item&lt;/li&gt;
&lt;li&gt;fifth item&lt;/li&gt;
&lt;li&gt;sixth item&lt;/li&gt;
&lt;li&gt;seventh item&lt;/li&gt;
&lt;li&gt;eighth item&lt;/li&gt;
&lt;li&gt;ninth item&lt;/li&gt;
&lt;li&gt;tenth item&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Nested lists mix both, and the indentation has to make the hierarchy obvious at a glance&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;First, get these ingredients&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;carrots&lt;/li&gt;
&lt;li&gt;celery&lt;/li&gt;
&lt;li&gt;lentils&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Boil some water&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dump everything in the pot&lt;/p&gt;
&lt;p&gt;Do not bump wooden spoon or it will fall&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&quot;an-h4-heading&quot;&gt;An &lt;code&gt;h4&lt;/code&gt; heading&lt;/h4&gt;
&lt;p&gt;A code block with no language is set plain.&lt;/p&gt;
&lt;pre&gt;&lt;code tabindex=&quot;0&quot;&gt;define foo() {
  print &quot;bar&quot;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A code block with a language is syntax-highlighted, in the site's own colours.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;span class=&quot;hljs-comment&quot;&gt;/* &lt;span class=&quot;hljs-doctag&quot;&gt;TODO:&lt;/span&gt; turn Markdown -&gt; HTML, then publish. */&lt;/span&gt;

&lt;span class=&quot;hljs-keyword&quot;&gt;import&lt;/span&gt; { &lt;span class=&quot;hljs-title&quot;&gt;Article&lt;/span&gt; } &lt;span class=&quot;hljs-keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;&quot;./article.js&quot;&lt;/span&gt;;

&lt;span class=&quot;hljs-keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot;&gt;AMBIGUOUS&lt;/span&gt; = &lt;span class=&quot;hljs-string&quot;&gt;&quot;oO0 iIlL1 g9qCGQ&quot;&lt;/span&gt;;
&lt;span class=&quot;hljs-keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot;&gt;HEX&lt;/span&gt; = &lt;span class=&quot;hljs-regexp&quot;&gt;/#[0-9a-f]{6}/gi&lt;/span&gt;;

&lt;span class=&quot;hljs-keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;hljs-title&quot;&gt;KitchenSink&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;hljs-title&quot;&gt;Article&lt;/span&gt; {
  &lt;span class=&quot;hljs-keyword&quot;&gt;static&lt;/span&gt; demonstrations = &lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;;

  &lt;span class=&quot;hljs-title&quot;&gt;constructor&lt;/span&gt;(&lt;span class=&quot;hljs-params&quot;&gt;&lt;/span&gt;) {
    &lt;span class=&quot;hljs-variable&quot;&gt;super&lt;/span&gt;({
      &lt;span class=&quot;hljs-attr&quot;&gt;aboutItself&lt;/span&gt;: &lt;span class=&quot;hljs-literal&quot;&gt;true&lt;/span&gt;,
      &lt;span class=&quot;hljs-attr&quot;&gt;published&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;2026-09-17&quot;&lt;/span&gt;,
      &lt;span class=&quot;hljs-attr&quot;&gt;revised&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;2026-09-18&quot;&lt;/span&gt;,
      &lt;span class=&quot;hljs-attr&quot;&gt;slug&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;kitchen-sink&quot;&lt;/span&gt;,
    });
  }

  &lt;span class=&quot;hljs-title&quot;&gt;demonstrate&lt;/span&gt;(&lt;span class=&quot;hljs-params&quot;&gt;feature&lt;/span&gt;) {
    &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; (feature === &lt;span class=&quot;hljs-string&quot;&gt;&quot;reading time&quot;&lt;/span&gt;) &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;hljs-literal&quot;&gt;null&lt;/span&gt;;
    &lt;span class=&quot;hljs-title&quot;&gt;KitchenSink&lt;/span&gt;.&lt;span class=&quot;hljs-property&quot;&gt;demonstrations&lt;/span&gt; += &lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;;

    &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;`&lt;span class=&quot;hljs-subst&quot;&gt;${feature}&lt;/span&gt; =&gt; demonstrated`&lt;/span&gt;;
  }
}

&lt;span class=&quot;hljs-keyword&quot;&gt;const&lt;/span&gt; sink = &lt;span class=&quot;hljs-keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;hljs-title&quot;&gt;KitchenSink&lt;/span&gt;();
&lt;span class=&quot;hljs-keyword&quot;&gt;const&lt;/span&gt; done = [&lt;span class=&quot;hljs-string&quot;&gt;&quot;footnotes&quot;&lt;/span&gt;, &lt;span class=&quot;hljs-string&quot;&gt;&quot;lists&quot;&lt;/span&gt;, &lt;span class=&quot;hljs-string&quot;&gt;&quot;tables&quot;&lt;/span&gt;]
  .&lt;span class=&quot;hljs-title&quot;&gt;map&lt;/span&gt;(&lt;span class=&quot;hljs-function&quot;&gt;(&lt;span class=&quot;hljs-params&quot;&gt;f&lt;/span&gt;) =&gt;&lt;/span&gt; sink.&lt;span class=&quot;hljs-title&quot;&gt;demonstrate&lt;/span&gt;(f))
  .&lt;span class=&quot;hljs-title&quot;&gt;filter&lt;/span&gt;(&lt;span class=&quot;hljs-function&quot;&gt;(&lt;span class=&quot;hljs-params&quot;&gt;d&lt;/span&gt;) =&gt;&lt;/span&gt; d !== &lt;span class=&quot;hljs-literal&quot;&gt;null&lt;/span&gt;);

&lt;span class=&quot;hljs-variable&quot;&gt;console&lt;/span&gt;.&lt;span class=&quot;hljs-title&quot;&gt;log&lt;/span&gt;(done.&lt;span class=&quot;hljs-property&quot;&gt;length&lt;/span&gt; &gt;= &lt;span class=&quot;hljs-number&quot;&gt;3&lt;/span&gt;, &lt;span class=&quot;hljs-variable&quot;&gt;HEX&lt;/span&gt;.&lt;span class=&quot;hljs-title&quot;&gt;test&lt;/span&gt;(&lt;span class=&quot;hljs-string&quot;&gt;&quot;#ff6aff&quot;&lt;/span&gt;));
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;an-h5-heading&quot;&gt;An &lt;code&gt;h5&lt;/code&gt; heading&lt;/h5&gt;
&lt;p&gt;Tables are set smaller in a condensed width. Every cell is bordered, every other row striped.&lt;/p&gt;

























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Element&lt;/th&gt;&lt;th align=&quot;center&quot;&gt;Where&lt;/th&gt;&lt;th align=&quot;right&quot;&gt;Count&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;blockquote&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;above&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;image&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;below&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;total&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h6 id=&quot;an-h6-heading&quot;&gt;An &lt;code&gt;h6&lt;/code&gt; heading&lt;/h6&gt;
&lt;p&gt;Images are never wider than the text. The subtle rounded corners and shadow aren't in the image file.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://res.cloudinary.com/monospaced/image/upload/w_700,c_fill/v1789250805/2018-04-20_15.28.26--cyan--mid.png&quot; alt=&quot;Monospaced&quot;&gt;&lt;/p&gt;
&lt;p&gt;A horizontal rule is set as a short dashed divider.&lt;/p&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;h2 id=&quot;numbered-headings&quot;&gt;Numbered headings&lt;/h2&gt;
&lt;p&gt;Headings can also sit inside numbered lists like this one.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id=&quot;heading-level&quot;&gt;Heading level&lt;/h2&gt;
&lt;p&gt;Numbered &lt;code&gt;h2&lt;/code&gt; and &lt;code&gt;h3&lt;/code&gt; lists are supported, this one is &lt;code&gt;h2&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id=&quot;counter-width&quot;&gt;Counter width&lt;/h2&gt;
&lt;p&gt;List numbers are set ultra-condensed to minimise the space they take up.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id=&quot;hanging-counters&quot;&gt;Hanging counters&lt;/h2&gt;
&lt;p&gt;List numbers hang in the gutter in wider viewports.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id=&quot;nested-lists&quot;&gt;Nested lists&lt;/h2&gt;
&lt;p&gt;Numbered heading sections can contain lists.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;like this one&lt;/li&gt;
&lt;li&gt;it's short&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;and this one&lt;/li&gt;
&lt;li&gt;it counts&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id=&quot;sixth-item&quot;&gt;Sixth item&lt;/h2&gt;
&lt;p&gt;Four more items to get up to double digits…&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id=&quot;seventh-item&quot;&gt;Seventh item&lt;/h2&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id=&quot;eighth-item&quot;&gt;Eighth item&lt;/h2&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id=&quot;ninth-item&quot;&gt;Ninth item&lt;/h2&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id=&quot;tenth-item&quot;&gt;Tenth item&lt;/h2&gt;
&lt;p&gt;Double-digit numbers are set smaller, so ten takes up no more space than nine.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;numbered-h3-headings&quot;&gt;Numbered &lt;code&gt;h3&lt;/code&gt; headings&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;h3 id=&quot;heading-level-1&quot;&gt;Heading level&lt;/h3&gt;
&lt;p&gt;This numbered list is &lt;code&gt;h3&lt;/code&gt; level, for use under an &lt;code&gt;h2&lt;/code&gt; heading.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h3 id=&quot;counters&quot;&gt;Counters&lt;/h3&gt;
&lt;p&gt;Counters are set smaller here to match the &lt;code&gt;h3&lt;/code&gt; heading size.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h3 id=&quot;nested-lists-1&quot;&gt;Nested lists&lt;/h3&gt;
&lt;p&gt;Numbered &lt;code&gt;h3&lt;/code&gt; heading sections can also contain lists.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;like this one&lt;/li&gt;
&lt;li&gt;it's also short&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;and this one&lt;/li&gt;
&lt;li&gt;it also counts&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h3 id=&quot;fourth-item&quot;&gt;Fourth item&lt;/h3&gt;
&lt;p&gt;Six more items to get up to double digits…&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h3 id=&quot;fifth-item&quot;&gt;Fifth item&lt;/h3&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h3 id=&quot;sixth-item-1&quot;&gt;Sixth item&lt;/h3&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h3 id=&quot;seventh-item-1&quot;&gt;Seventh item&lt;/h3&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h3 id=&quot;eighth-item-1&quot;&gt;Eighth item&lt;/h3&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h3 id=&quot;ninth-item-1&quot;&gt;Ninth item&lt;/h3&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h3 id=&quot;tenth-item-1&quot;&gt;Tenth item&lt;/h3&gt;
&lt;p&gt;That's the last numbered heading item.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;the-markdown&quot;&gt;The Markdown&lt;/h2&gt;
&lt;p&gt;The whole article in raw Markdown.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-md&quot; tabindex=&quot;0&quot;&gt;---
title: Kitchen sink
summary: This is the first article, and it is about itself.
date: 2026-09-17
&lt;span class=&quot;hljs-section&quot;&gt;updated: 2026-09-18
---&lt;/span&gt;

This article contains all the [&lt;span class=&quot;hljs-string&quot;&gt;Markdown&lt;/span&gt;](&lt;span class=&quot;hljs-link&quot;&gt;https://www.markdownguide.org/basic-syntax/&lt;/span&gt;) elements and structures used by this site, with the copy to demonstrate them.

What you're reading isn't Markdown though, it's the HTML Markdown has produced, styled by the site's CSS (if you're reading on the site).

These are paragraphs. Where supported, they never end in a widow.

Links are coloured rather than underlined, until you hover. Visited links change colour. Here's one to [&lt;span class=&quot;hljs-string&quot;&gt;an external site&lt;/span&gt;](&lt;span class=&quot;hljs-link&quot;&gt;https://scottboyle.co&lt;/span&gt;), one to [&lt;span class=&quot;hljs-string&quot;&gt;a local page&lt;/span&gt;](&lt;span class=&quot;hljs-link&quot;&gt;/&lt;/span&gt;), and one to [&lt;span class=&quot;hljs-string&quot;&gt;a section heading in this article&lt;/span&gt;](&lt;span class=&quot;hljs-link&quot;&gt;#an-h2-heading&lt;/span&gt;). Autolink literals like www.monospaced.com become links without any markup. Footnotes are supported [^1] and there can be more than one [^2].

&lt;span class=&quot;hljs-emphasis&quot;&gt;_Emphasis_&lt;/span&gt; is for stressed words (or when you just want &lt;span class=&quot;hljs-emphasis&quot;&gt;_italics_&lt;/span&gt;), &lt;span class=&quot;hljs-code&quot;&gt;`code`&lt;/span&gt; is for anything a machine might read, ~~deleted~~ is for showing your working, and &lt;span class=&quot;hljs-strong&quot;&gt;**bold**&lt;/span&gt; is used sparingly.

Hex colours in &lt;span class=&quot;hljs-code&quot;&gt;`code`&lt;/span&gt; are displayed as colour chips: &lt;span class=&quot;hljs-code&quot;&gt;`#ff6aff`&lt;/span&gt;.

[&lt;span class=&quot;hljs-symbol&quot;&gt;^1&lt;/span&gt;]: &lt;span class=&quot;hljs-link&quot;&gt;This is a footnote. It lives at the bottom of the article and links back to where it came from.&lt;/span&gt;

[&lt;span class=&quot;hljs-symbol&quot;&gt;^2&lt;/span&gt;]: &lt;span class=&quot;hljs-link&quot;&gt;A second footnote, here to check that numbering and the spacing hold up.&lt;/span&gt;

&lt;span class=&quot;hljs-section&quot;&gt;## An `h2` heading&lt;/span&gt;

Headings are for structure, not bigger text. They get an anchor &lt;span class=&quot;hljs-code&quot;&gt;`id`&lt;/span&gt; for free, and sit closer to the text they introduce than the text they follow.

Blockquotes have their quotation marks added for them. Attribution is in the paragraph that follows the quote.

&lt;span class=&quot;hljs-quote&quot;&gt;&gt; One more attribute the modern typographer must have: the capacity for taking great pains with seemingly unimportant detail. To him, one typographical point must be as important as one inch, and he must harden his heart against the accusation of being too fussy.&lt;/span&gt;

[&lt;span class=&quot;hljs-string&quot;&gt;Hans P. Schmoller&lt;/span&gt;](&lt;span class=&quot;hljs-link&quot;&gt;http://www.germandesigners.net/designers/hans_peter_schmoller&lt;/span&gt;), in &lt;span class=&quot;hljs-emphasis&quot;&gt;_Book Design Today_&lt;/span&gt;, &lt;span class=&quot;hljs-emphasis&quot;&gt;_Printing Review_&lt;/span&gt;, Spring 1951

&lt;span class=&quot;hljs-section&quot;&gt;### An `h3` heading&lt;/span&gt;

Unordered lists are for items with no sequence, like

&lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; this one
&lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; that one
&lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; the other one

Ordered lists are for sequenced items, and can reach double digits without the numbers colliding with the text

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt;  first item
&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt;  second item
&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt;  third item
&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt;  fourth item
&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt;  fifth item
&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt;  sixth item
&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt;  seventh item
&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt;  eighth item
&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt;  ninth item
&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt;  tenth item

Nested lists mix both, and the indentation has to make the hierarchy obvious at a glance

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; First, get these ingredients
&lt;span class=&quot;hljs-bullet&quot;&gt;   -&lt;/span&gt; carrots
&lt;span class=&quot;hljs-bullet&quot;&gt;   -&lt;/span&gt; celery
&lt;span class=&quot;hljs-bullet&quot;&gt;   -&lt;/span&gt; lentils
&lt;span class=&quot;hljs-bullet&quot;&gt;2.&lt;/span&gt; Boil some water
&lt;span class=&quot;hljs-bullet&quot;&gt;3.&lt;/span&gt; Dump everything in the pot

   Do not bump wooden spoon or it will fall

&lt;span class=&quot;hljs-section&quot;&gt;#### An `h4` heading&lt;/span&gt;

A code block with no language is set plain.

&lt;span class=&quot;hljs-code&quot;&gt;```
define foo() {
  print &quot;bar&quot;;
}
```&lt;/span&gt;

A code block with a language is syntax-highlighted, in the site's own colours.

&lt;span class=&quot;hljs-code&quot;&gt;```js
/* TODO: turn Markdown -&gt; HTML, then publish. */

import { Article } from &quot;./article.js&quot;;

const AMBIGUOUS = &quot;oO0 iIlL1 g9qCGQ&quot;;
const HEX = /#[0-9a-f]{6}/gi;

export class KitchenSink extends Article {
  static demonstrations = 0;

  constructor() {
    super({
      aboutItself: true,
      published: &quot;2026-09-17&quot;,
      revised: &quot;2026-09-18&quot;,
      slug: &quot;kitchen-sink&quot;,
    });
  }

  demonstrate(feature) {
    if (feature === &quot;reading time&quot;) return null;
    KitchenSink.demonstrations += 1;

    return `${feature} =&gt; demonstrated`;
  }
}

const sink = new KitchenSink();
const done = [&quot;footnotes&quot;, &quot;lists&quot;, &quot;tables&quot;]
  .map((f) =&gt; sink.demonstrate(f))
  .filter((d) =&gt; d !== null);

console.log(done.length &gt;= 3, HEX.test(&quot;#ff6aff&quot;));
```&lt;/span&gt;

&lt;span class=&quot;hljs-section&quot;&gt;##### An `h5` heading&lt;/span&gt;

Tables are set smaller in a condensed width. Every cell is bordered, every other row striped.

| Element    |  Where   | Count |
| :--------- | :------: | ----: |
| blockquote |  above   |     1 |
| image      |  below   |     1 |
| &lt;span class=&quot;hljs-strong&quot;&gt;**total**&lt;/span&gt;  | &lt;span class=&quot;hljs-strong&quot;&gt;**here**&lt;/span&gt; | &lt;span class=&quot;hljs-strong&quot;&gt;**2**&lt;/span&gt; |

&lt;span class=&quot;hljs-section&quot;&gt;###### An `h6` heading&lt;/span&gt;

Images are never wider than the text. The subtle rounded corners and shadow aren't in the image file.

![&lt;span class=&quot;hljs-string&quot;&gt;Monospaced&lt;/span&gt;](&lt;span class=&quot;hljs-link&quot;&gt;https://res.cloudinary.com/monospaced/image/upload/w_700,c_fill/v1789250805/2018-04-20_15.28.26--cyan--mid.png&lt;/span&gt;)

A horizontal rule is set as a short dashed divider.

---

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ## Numbered headings

   Headings can also sit inside numbered lists like this one.

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ## Heading level

   Numbered &lt;span class=&quot;hljs-code&quot;&gt;`h2`&lt;/span&gt; and &lt;span class=&quot;hljs-code&quot;&gt;`h3`&lt;/span&gt; lists are supported, this one is &lt;span class=&quot;hljs-code&quot;&gt;`h2`&lt;/span&gt;.

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ## Counter width

   List numbers are set ultra-condensed to minimise the space they take up.

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ## Hanging counters

   List numbers hang in the gutter in wider viewports.

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ## Nested lists

   Numbered heading sections can contain lists.
&lt;span class=&quot;hljs-bullet&quot;&gt;   -&lt;/span&gt; like this one
&lt;span class=&quot;hljs-bullet&quot;&gt;   -&lt;/span&gt; it's short
&lt;span class=&quot;hljs-bullet&quot;&gt;   1.&lt;/span&gt; and this one
&lt;span class=&quot;hljs-bullet&quot;&gt;   1.&lt;/span&gt; it counts

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ## Sixth item

   Four more items to get up to double digits…

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ## Seventh item

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ## Eighth item

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ## Ninth item

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ## Tenth item

   Double-digit numbers are set smaller, so ten takes up no more space than nine.

&lt;span class=&quot;hljs-section&quot;&gt;## Numbered `h3` headings&lt;/span&gt;

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ### Heading level

   This numbered list is &lt;span class=&quot;hljs-code&quot;&gt;`h3`&lt;/span&gt; level, for use under an &lt;span class=&quot;hljs-code&quot;&gt;`h2`&lt;/span&gt; heading.

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ### Counters

   Counters are set smaller here to match the &lt;span class=&quot;hljs-code&quot;&gt;`h3`&lt;/span&gt; heading size.

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ### Nested lists

   Numbered &lt;span class=&quot;hljs-code&quot;&gt;`h3`&lt;/span&gt; heading sections can also contain lists.
&lt;span class=&quot;hljs-bullet&quot;&gt;   -&lt;/span&gt; like this one
&lt;span class=&quot;hljs-bullet&quot;&gt;   -&lt;/span&gt; it's also short
&lt;span class=&quot;hljs-bullet&quot;&gt;   1.&lt;/span&gt; and this one
&lt;span class=&quot;hljs-bullet&quot;&gt;   1.&lt;/span&gt; it also counts

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ### Fourth item

   Six more items to get up to double digits…

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ### Fifth item

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ### Sixth item

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ### Seventh item

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ### Eighth item

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ### Ninth item

&lt;span class=&quot;hljs-bullet&quot;&gt;1.&lt;/span&gt; ### Tenth item

   That's the last numbered heading item.

&lt;span class=&quot;hljs-section&quot;&gt;## The Markdown&lt;/span&gt;

The whole article in raw Markdown.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And that's the lot. The only thing below this sentence is the footnotes section.&lt;/p&gt;
&lt;section data-footnotes=&quot;&quot; class=&quot;footnotes&quot;&gt;&lt;h2 class=&quot;sr-only&quot; id=&quot;footnote-label&quot;&gt;Footnotes&lt;/h2&gt;
&lt;ol&gt;
&lt;li id=&quot;user-content-fn-1&quot;&gt;
&lt;p&gt;This is a footnote. It lives at the bottom of the article and links back to where it came from. &lt;a href=&quot;https://monospaced.com/notes/kitchen-sink/#user-content-fnref-1&quot; data-footnote-backref=&quot;&quot; aria-label=&quot;Back to reference 1&quot; class=&quot;data-footnote-backref&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;user-content-fn-2&quot;&gt;
&lt;p&gt;A second footnote, here to check that numbering and the spacing hold up. &lt;a href=&quot;https://monospaced.com/notes/kitchen-sink/#user-content-fnref-2&quot; data-footnote-backref=&quot;&quot; aria-label=&quot;Back to reference 2&quot; class=&quot;data-footnote-backref&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content>
  </entry>
</feed>
