Style Guide

A kitchen-sink page for stress testing the Quietsite theme. Every core Gutenberg block that a blog would plausibly use is on this page, in its common variations: alignments, widths, colours, nesting and edge cases.


1. Headings

Heading level one

Heading level two

Heading level three

Heading level four

Heading level five
Heading level six

A centered heading, which is quite a bit longer so that it wraps onto a second line on narrow screens

A right-aligned heading


2. Paragraphs and inline formatting

A default paragraph. It carries every inline format worth checking at once: bold text, italic text, an inline link, struck-through text, inline_code(), Ctrl + S as keyboard input, H2O with a subscript, x2 with a superscript, coloured inline text, and highlighted text. There is also an abbreviation and some mailto link for good measure.

A paragraph with a drop cap enabled. Drop caps are the classic way a theme betrays a broken line-height, so this one runs long enough to wrap several times. Anyone who has ever set type in a browser knows the first letter is where the float, the line box and the font metrics all argue with each other, and the loser is usually the baseline of the second line.

Small font size — often used for fine print, image credits and disclaimers.

Medium font size.

Large font size, useful for a standfirst or lede paragraph under the title.

Extra-large font size.

A centered paragraph.

A right-aligned paragraph.

A paragraph with a custom line height, letter spacing and uppercase transform applied from the editor.

Averyveryverylongunbreakablestringlikethishttps://example.com/some/extremely/long/url/that/should/not/blow/out/the/layout/on/small/screens.html tests word wrapping and overflow.


3. Lists

Unordered, with nesting

  • First item in an unordered list
  • Second item, this one long enough to wrap onto a second line so we can see how the marker sits against the hanging indent of the text block
  • Third item with a nested list
    • Nested item one
    • Nested item two
      • Third level item
      • Another third level item
  • Fourth item with bold, italic and a link

Ordered

  1. Boil the kettle
  2. Warm the pot
    1. Swirl
    2. Pour away
  3. Steep for four minutes

Ordered, reversed, starting at 10

  1. Tenth
  2. Ninth
  3. Eighth

4. Quotes

The best way to predict the future is to invent it. A quote block holds real paragraphs, so it can contain more than one, and each of them can be as long as the writer likes.

This is the second paragraph inside the same quote block.

Alan Kay

A quote in the plain style, without the left border.

Someone else

A default pullquote, which is meant to interrupt the reading flow and pull the eye.

The pullquote block

A left-aligned solid-colour pullquote with text flowing beside it.

Float test

This paragraph sits next to the floated pullquote above. It needs several sentences before the float clears, otherwise the test proves nothing. Floats inside post content are one of the more fragile parts of any theme, especially once the viewport narrows and the float should give up and go full width instead of squeezing the text into a two-word column.

A wide solid-colour pullquote in purple with white text.

Wide alignment

5. Code, preformatted and verse

function quietsite_setup() {
	add_theme_support( 'post-thumbnails' );
	add_theme_support( 'align-wide' );
	add_theme_support( 'responsive-embeds' );

	// A deliberately long line that should scroll horizontally rather than wrap, because code blocks must never reflow: register_nav_menus( array( 'primary' => esc_html__( 'Primary menu', 'quietsite' ) ) );
}
Preformatted text keeps    its   spacing
    and its line breaks
        exactly as typed.
The woods are lovely, dark and deep,
But I have promises to keep,
And miles to go before I sleep,
And miles to go before I sleep.

6. Tables

BlockCategorySince
ParagraphText5.0
CoverMedia5.0
DetailsText6.3
FootnotesText6.3
Four blocks
A default table with a header row, a footer row and a caption.
SettingValueNotes
Content width750pxSet in functions.php
Wide widthWider than contentRequires align-wide support
Full widthEdge to edgeShould escape the container entirely and reach both edges of the viewport
Striped style with a fixed layout.
Column AColumn BColumn CColumn DColumn EColumn F
Lorem ipsum dolorSit amet consecteturAdipiscing elit sedDo eiusmod temporIncididunt ut laboreEt dolore magna
Aliqua ut enimAd minim veniamQuis nostrud exercitationUllamco laboris nisiUt aliquip ex eaCommodo consequat duis
A wide table with enough columns to force horizontal scrolling on small screens.

7. Details

What is a details block?

A native disclosure widget. Click the summary to open and close it. Themes commonly forget to style the marker, the summary cursor, and the spacing of the first child paragraph.

  • It can contain any block
  • Including lists and images
An open-by-default details block

This one starts expanded.


8. Separators and spacers

Default separator:


Wide separator:


Dots separator:


Coloured separator:


A 100px spacer follows this paragraph:

…and the spacer ends here.


9. Images

Default width, with caption

An open notebook and pen on a desk
A default-width image with a caption long enough to wrap onto a second line and test caption typography.

Wide alignment

A boardwalk crossing a sandy beach
Wide alignment — should break out of the content column but not reach the viewport edges.

Full alignment

Dramatic sand dunes under a low sun
Full alignment — edge to edge.

Floated left and right

Stacked cardboard boxes
Floated left.

Text wrapping around a left-floated image. A theme needs enough copy here to actually reach past the bottom of the image, otherwise the next heading will collide with the float and nobody will notice until a reader complains. On narrow viewports the float should ideally release and let the image go full width, which is the behaviour most editors expect even though core does not enforce it.

A second paragraph, still flowing beside the floated image, confirming that consecutive paragraphs share the same wrap and that the caption underneath does not push the text out of alignment.

Stone towers seen from below
Floated right, portrait orientation.

Text wrapping around a right-floated portrait image. Portrait crops are the harsher test, because the float stays in the flow far longer and any missing clearfix on the following block shows up immediately.

More copy to run past the bottom of the portrait float, so that the section that follows starts on a clean line rather than tucked into the remaining gutter beside the image.

Rounded style, centered, and linked

Heels, a flower and a purse arranged on a surface
Rounded, centered, and wrapped in a link.

10. Galleries

A five-image, three-column gallery — the last row is deliberately short so the orphan tile can be checked.


11. Cover

A cover block at default width

400px minimum height, 50% overlay.

Full-width cover with a fixed background

Parallax attachment, 60% dim, 500px tall, and inner blocks constrained to the content width.

A wide cover with a solid colour overlay and no image at all.


12. Media & text

A runner on an empty road

Media on the left

The default arrangement: a 50/50 split that stacks on mobile. The content column can hold any blocks, including headings, lists and buttons.

Media on the right, 40% wide

Wide alignment, a background colour, a non-default media width, and a longer body of text so that the two columns end up at different heights and the vertical alignment can be judged.

  • Nested list item one
  • Nested list item two
A circular courtyard seen from above

13. Columns

Column one

Two equal columns. Each column is a container in its own right, so it gets its own vertical rhythm.

Column two

This column holds more text than its neighbour so the columns finish at different heights, which is the normal case.

A second paragraph in the same column.

A simple wild plant

An image inside a narrow column.

Three wide columns at 33/33/33. The middle one carries a quote.

Nested blocks are where themes break.

Every theme reviewer

Columns nested inside a column.

Second nested column.

A 66/33 split that is explicitly set not to stack on mobile — a good check that the columns still stay readable when squeezed.

The narrow side.


14. Group, row and stack

A group with a background

Groups with backgrounds need padding of their own, otherwise the text runs into the edge of the colour. This is one of the most common theme bugs.

A full-width dark group

Full-width band with explicit padding and inverted colours. Inner blocks should still be constrained to the content width.

A row layout

Middle item

Right item

A stack layout, item one

Item two


15. Buttons


16. Embeds

A responsive YouTube embed with a caption.
A wide-aligned Vimeo embed.

17. Widget blocks

Search

Latest posts — list and grid

  • The case for a slower morning
    For years my mornings had one job: to get me to the desk as fast as possible. Wake, phone, coffee standing up, sit down, start. I thought of the time before work as overhead — a cost to be minimised. It took me an embarrassingly long time to notice that the days I hated most were the efficient ones. What…
  • What I spend in a month in Porto
    People ask this often enough that it is easier to write it down. These are real numbers from the last three months, averaged, in euros. I am a single person with no car, no children, and no debt, which makes me an unrepresentative sample of almost everything. The fixed costs Rent — €520. One bedroom, unfurnished when I took it,…
  • Thirty-one things in my kitchen
    I once tried to document every object in my kitchen and justify its existence. The project died in the drawer of miscellaneous lids, which turned out to be philosophically indefensible and also necessary. But I got through the rest, and the count came to thirty-one. The list One heavy pan. One light pan. One pot. One kettle. One rice cooker,…
  • On owning one good coat
    I own one coat. It is dark green, waxed cotton, and cost roughly four times what I had ever previously spent on outerwear. I have had it for six years. It has been reproofed twice, had a pocket restitched once, and been rained on in four countries. The maths people do The usual argument is cost-per-wear: an expensive thing worn…

Latest comments

No comments to show.

Categories, archives and tag cloud

abandoning (1) albania (2) annotation (1) archives (2) arrivals (1) borders (2) buying-less (3) freelance (2) habits (3) indexing (1) islands (1) james-scott (1) kitchen (2) libraries (1) lists (1) logistics (2) money (3) nan-shepherd (1) nature-writing (2) overland (4) quiet (1) rereading (3) routine (4) serbia (1) slow-reading (2) slow-travel (3) tbr (1) trains (1) walking (2) work (3)

Page list

Calendar

Social icons

RSS

  • The official WordPress Browser Extension is now available for Google Chrome and Chromium-based browsers in the Chrome Web Store and for Safari on macOS in the Mac App Store. This new open source extension lets logged-in site users easily hide the admin bar while keeping its most helpful shortcuts in the browser toolbar, provides quick […]
  • WordPress 7.0.4 is now available WordPress 7.0.4 is now available which features a security fix. Because this is a security release, it is recommended that you update your sites immediately. You can update to WordPress 7.0.4 by downloading it from WordPress.org, or visiting your site’s Dashboard → Updates and clicking Update Now. Sites that support […]
  • WordPress 7.0.3 is now available WordPress 7.0.3 is now available which features several security fixes. Because this is a security release, it is recommended that you update your sites immediately. You can update to WordPress 7.0.3 by downloading it from WordPress.org, or visiting your site’s Dashboard → Updates and clicking Update Now. Sites that support […]

18. Query loop


19. Miscellaneous

Custom HTML

This paragraph came from a Custom HTML block, complete with an inline border so it is obvious.

Shortcode

Footnotes

Footnotes attach to a marker in the text1 and collect at the bottom of the post, and a second reference2 proves the numbering.

  1. The first footnote, which is long enough to wrap and so tests the list indentation of the footnotes block. ↩︎
  2. A second footnote with a link inside it. ↩︎