On a rainy September evening, a stack of parchment appeared beside the kettle with no owl in sight. The envelope was sealed in red wax, addressed in a hand so precise that even the commas seemed to be wearing dress robes. No one in the kitchen admitted sending it, but the cat on the windowsill looked unusually smug.
The purpose of this file is not to teach Transfiguration, brew Felix Felicis, or reveal the password to the Headmaster's office. Its purpose is typography: long paragraphs, short paragraphs, nested structures, tables, code blocks, math, links, footnotes, and a few magical artifacts hiding in plain sight.
A Very Long Heading About the Bureaucratic, Pedagogical, and Mildly Chaotic Consequences of Asking the Sorting Hat to Maintain a Markdown Table of Every Student, Spell, Wand Core, House Point Deduction, Quidditch Injury, and Library Overdue Notice Since 990 AD
This deliberately long heading should stress-test table-of-contents wrapping, anchor generation, heading spacing, and responsive layout behavior on narrow screens. If the heading spills into three lines, the goblin in charge of vertical rhythm will probably file a complaint.
도서관의 금지 구역 앞에는 “허가 없는 접근 금지”라는 안내문이 붙어 있었다. 그러나 테스트 문서의 목적은 모험이 아니라 조판이다. 한글 문단은 줄바꿈, 글꼴 fallback, 문장 간격을 확인하기 위한 작은 마법 장치처럼 쓰인다.
Basic Inline Syntax
Strong and Emphasis Text
The Sorting Hat considered the case for Gryffindor, paused dramatically, and then whispered “perhaps the footnotes deserve Ravenclaw”. The Marauder's Map showed nothing suspicious absolutely everything suspicious, including a tiny label that read typography: active.
Here is a dense inline run: bold, italic, bold italic, strikethrough, inline code, ⌘+K, and a deliberatelyLongInlineTokenThatShouldTestWrappingWithoutBreakingTheWholeLayoutOrSummoningPeeves.
The librarian marked the restricted shelf with ref1, while the Quidditch captain cited ref2 for broom maintenance procedures. Another reference-style link uses the compact form ref2. A small footnote explains why the invisibility cloak is not a recommended CSS strategy1, and a block footnote keeps a complete field report2.
Quote Block
Professor McGonagall would like everyone to remember that typography, unlike a first-year Transfiguration attempt, should not unexpectedly turn into a hedgehog.
The notice is official, the margins are non-negotiable, and the line height has been reviewed by three portraits and one skeptical cat.
The Fat Lady changed the password again.
This time it is not “sherbet lemon,” not “caput draconis,” and certainly not password123.
Anyone attempting brute force entry will be redirected to Filch's office.
This is inline code, and this is an inline spell registry key: spell:lumos:max-brightness.
TypeScript
import { z } from "zod"export const spellSchema = z.object({ incantation: z.string().min(1), wandMovement: z.string().optional(), difficulty: z.enum(["first-year", "ordinary-wizarding-level", "newt-level"]),})
Code block with many lines:
TypeScript
type HogwartsHouse = "Gryffindor" | "Hufflepuff" | "Ravenclaw" | "Slytherin"type MagicalPost = { title: string slug: string tags: string[] house?: HogwartsHouse draft?: boolean createdAt: Date}const posts: MagicalPost[] = [ { title: "A Practical Study of Moving Staircases, Portrait-Based Access Control, and MDX Collection Sorting at Hogwarts", slug: "practical-study-moving-staircases-portrait-access-control-mdx-collection-sorting-hogwarts", tags: ["hogwarts", "mdx", "content-collections", "typography", "marauders-map"], house: "Ravenclaw", draft: false, createdAt: new Date("2026-05-18"), }, { title: "Why You Should Not Use an Invisibility Cloak as a Loading Skeleton", slug: "why-you-should-not-use-an-invisibility-cloak-as-a-loading-skeleton", tags: ["css", "ux", "defense-against-the-dark-patterns"], house: "Hufflepuff", draft: true, createdAt: new Date("2026-05-19"), },]function getPublishedPosts(items: MagicalPost[]): MagicalPost[] { return items .filter((post) => !post.draft) .sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime())}function awardHousePoints(house: HogwartsHouse, points: number, reason: string): string { return `${house} receives ${points} points for ${reason}, pending review by the Head of House.`}console.log(getPublishedPosts(posts))console.log( awardHousePoints("Ravenclaw", 10, "excellent semantic HTML and accessible heading order"))
Code Block With a Very Long Line
TypeScript
const maraudersMapStatus = "I solemnly swear that this intentionally very very very very very very very very very very very very very very very very very very very long line is up to no good and should test horizontal overflow behavior."
Math
Inline math: E=mc2,以及中文段落中的公式 a2+b2=c2。For Quidditch scoring, a toy model could be S=10q+150s, where q is the number of goals and s∈{0,1} indicates whether the Snitch was caught.
This short paragraph is here to test emoji rendering in normal prose: a cheerful owl delivers the post , a spark of magic lights the page , and the layout survives another Markdown experiment . If Twemoji is enabled, icons such as , , , and should appear in a consistent visual style.
Footnotes
This footnote has bold, italic, inline code, a link, and a deleted prophecy. ↩
This is the first line of a block footnote about an enchanted bookmark.
This is an indented continuation line, useful for testing footnote spacing.
TypeScript
const charm = "Lumos"const target = "reading-corner"console.log(`${charm} applied to ${target}`)