This page is a small tour of everything an article can contain. Read it slowly, move a slider, open a data table, or jump between sections with the floating outline. Each example is real: the equations are typeset, the plots respond, and the code can be copied.

The illustrations and datasets are demonstration material. The page is also a useful starting point for a new essay, experiment, or technical note.

A page made for reading

Good typography gives an idea somewhere to settle. Strong text creates emphasis, italics add a quieter voice, and an abandoned thought can remain visible without competing with the next one. An inline expression such as const curiosity = true belongs comfortably inside a sentence.

A link can take you to a small case for curiosity, a related wave experiment, or the complete archive. The surrounding interface uses the same accent, materials, and light or dark appearance as the article.

Give the important things somewhere to breathe. A reading surface should make the words easier to follow, while the controls stay close enough to help.

A smaller heading

Third-level headings appear as nested items in the floating outline. They are useful when a section contains several related ideas.

A quiet fourth level

Fourth-level headings stay in the article itself. The outline concentrates on the larger structure so that it remains useful on a small screen.

A window of Liquid Glass

A floating control has a different job from a reading surface. Its edge catches the light, the background bends through the lens, and the words above it stay sharp. The grid behind this specimen makes that refraction easier to see. Move the pointer across the glass to change its highlight.

An original blue-hour coastline illustration behind the glass specimen
A little light

Light, with a little depth.

Follow the light around the edge and the grid through the lens. The text stays on its own clear layer.

Explore the archive ↗

Navigation, the floating outline, and Studio controls share this material system. Full edge refraction is available in Chromium browsers; other browsers retain the highlights, tint, depth, and backdrop blur. Reduced transparency replaces the optical layer with a solid surface.

Equations, already typeset

Inline mathematics stays in the flow of the paragraph: if , then . Display equations have more room:

Aligned expressions make a short derivation easier to scan:

Matrices and piecewise functions work too:

These formulas are rendered to SVG during the static build. They remain visible when browser JavaScript is disabled; the TeX source supplies an accessible label.

Three functions to explore

All three plots share a keyboard-operable pair of sliders and a Reset button. Select a slider and use the arrow keys for small adjustments. The horizontal domain is ; all quantities here are dimensionless.

A sine wave

For , amplitude changes the height and frequency changes the number of oscillations. Set and to compare a taller, more tightly spaced wave.

A wave, shaped by you

−2π02π
Move Amplitude or Frequency, then use Reset to return to the starting wave.

A Gaussian curve

This preset draws . Increasing the frequency parameter narrows the curve. Its peak stays at and has height .

A softer shape

−2π02π
Try a larger frequency: the bell becomes narrower while its peak stays in place.

A polynomial

The third preset draws . Here the frequency slider adjusts the linear term; it is a shape parameter rather than a period. Parts of the curve outside the plot's vertical window are clipped.

A curve with turning points

−2π02π
Explore how the balance between the cubic and linear terms changes the turning points.

Data, drawn two ways

The following charts use the same invented dataset: minutes spent reading and making over six days.1 Select a legend item to hide or reveal a series. Open View data table for the exact values.

Follow a line

A few minutes, each day

3828.5199.50Reading: Mon · 12Reading: Tue · 18Reading: Wed · 15Reading: Thu · 28Reading: Fri · 24Reading: Sat · 38Making: Mon · 8Making: Tue · 12Making: Wed · 23Making: Thu · 20Making: Fri · 32Making: Sat · 27MonTueWedThuFriSat
View data table
LabelReadingMaking
Mon128
Tue1812
Wed1523
Thu2820
Fri2432
Sat3827
Illustrative minutes per day. Toggle Reading or Making to focus on one series.

Compare the bars

The same observations, as bars

3828.5199.50Reading: Mon · 12Reading: Tue · 18Reading: Wed · 15Reading: Thu · 28Reading: Fri · 24Reading: Sat · 38Making: Mon · 8Making: Tue · 12Making: Wed · 23Making: Thu · 20Making: Fri · 32Making: Sat · 27MonTueWedThuFriSat
View data table
LabelReadingMaking
Mon128
Tue1812
Wed1523
Thu2820
Fri2432
Sat3827
A different view of the identical sample data, with a complete table below.

Two moments, one landscape

An image comparison lets one scene carry two versions. Drag the handle across this illustrated coastline, or focus the vertical divider and use the arrow keys.2

From first light to blue hour

Blue hour
First light
First lightBlue hour
Original landscape illustrations. Move the divider to compare the palettes.

Diagrams that explain

A diagram can show relationships more quickly than another paragraph. This flowchart follows an idea through writing, preview, and publication:

Diagram

Keep thinking

Yes

An idea worth keeping

Write in Markdown

Preview the article

Ready to share?

Build static pages

Publish the notebook

Keep thinking

Yes

An idea worth keeping

Write in Markdown

Preview the article

Ready to share?

Build static pages

Publish the notebook

View Mermaid source
flowchart TD
  A[An idea worth keeping] --> B[Write in Markdown]
  B --> C[Preview the article]
  C --> D{Ready to share?}
  D -->|Keep thinking| B
  D -->|Yes| E[Build static pages]
  E --> F[Publish the notebook]

A sequence diagram gives the same process a sense of time:

Diagram
EngineStudioAuthorEngineStudioAuthorSave a thoughtChanges savedBuild the notebookRender published entriesValidated static pagesBuild complete
EngineStudioAuthorEngineStudioAuthorSave a thoughtChanges savedBuild the notebookRender published entriesValidated static pagesBuild complete
View Mermaid source
sequenceDiagram
  participant Author
  participant Studio
  participant Engine
  Author->>Studio: Save a thought
  Studio-->>Author: Changes saved
  Author->>Studio: Build the notebook
  Studio->>Engine: Render published entries
  Engine-->>Studio: Validated static pages
  Studio-->>Author: Build complete

Diagrams load when needed. If enhancement is unavailable, their readable source remains in the page.

Code with room to breathe

Code blocks have language labels, syntax highlighting, and a Copy code button. Long lines scroll within the block instead of pushing the article off the screen.

typescript
type Observation = {
  day: string;
  minutes: number;
};

const totalMinutes = (week: Observation[]) =>
  week.reduce((sum, observation) => sum + observation.minutes, 0);

const week = [
  { day: 'Monday', minutes: 12 },
  { day: 'Tuesday', minutes: 18 },
];

console.log(totalMinutes(week)); // 30
python
from math import sin, pi

def sample_wave(amplitude=1.0, frequency=1.0, count=9):
    return [
        (x := -2 * pi + 4 * pi * i / (count - 1), amplitude * sin(frequency * x))
        for i in range(count)
    ]

To add an interactive component, insert a fenced block named interactive with its JSON configuration. A code fence named json displays the configuration as ordinary code instead:

json
{
  "type": "function-plot",
  "title": "A little wave",
  "preset": "sine",
  "amplitude": 1,
  "frequency": 1
}

Images and small details

A regular image needs no interactive wrapper. Descriptive alternative text explains the scene when the image cannot be seen.

Original illustration of a pale sun rising over a quiet blue coastline, with layered hills and a calm sea

First light. The same local illustration used in the comparison above.

Open a quieter note

This disclosure uses the browser's native control. Open it with a click, or focus its summary and press Enter. It works without JavaScript, making it useful for an optional explanation or a short aside.


A horizontal rule marks a change of pace without adding another heading. Footnotes keep supporting details nearby without interrupting the sentence.1

Tables and checklists

Every interactive component starts with something useful in the generated HTML:

ComponentWhat you can exploreStatic fallback
Function plotSine, Gaussian, polynomialGenerated SVG curve
Line chartSeries visibility and valuesSVG and data table
Bar chartSeries visibility and valuesSVG and data table
Image comparisonThe boundary between two imagesBoth local images
MathJaxInline and display notationTypeset SVG formulas
MermaidFlowcharts and sequence diagramsReadable diagram source

A short checklist can make the next step clear:

  • Give the page a useful title and summary.
  • Check the formulas and illustrative data.
  • Try the controls with the keyboard.
  • Replace the sample material with an idea of your own.

An ordered list gives a process a beginning and an end:

  1. Write the idea in ordinary Markdown.
  2. Add an equation, image, or component where it helps.
  3. Preview the page in light and dark appearance.
  4. Build the static notebook when it is ready.

The interface around the words

The floating outline tracks your current section and shows reading progress. On a narrow screen it becomes a compact control at the bottom right. The top navigation provides search and an appearance switch; the layout, formulas, code, and widgets adapt to the available width.

Glass supplies a little depth around the controls, while the reading surface keeps the text stable. Reduced motion and solid-material preferences have corresponding fallbacks. Typography, accent color, and materials share the same settings across the public notebook and the local Studio.

A starting point for your own page

This showcase is editable in Studio alongside the other writing. Reuse a section, keep the components that explain something, and remove the rest. A good article rarely needs every component at once.

Continue with the wave experiment, visit the photo journal, browse the archive, or follow future pages through RSS.

A question, with immediate feedback

A small check can make an explanation more active. Choose an answer, compare your reasoning, or open the explanation directly. The question remains usable without JavaScript.

What changes the wave?

Which parameter changes the number of oscillations in a fixed interval?

Reveal explanation

Frequency

Frequency controls how quickly the pattern repeats. Amplitude controls its height, and a constant shift moves it up or down.

Choose a response and check it. Reset to try the question again.

Several views of the same idea

Tabs can hold complementary explanations without interrupting the article’s continuous reading surface. Use the arrow keys, Home, or End to move between views. With JavaScript off, every view is displayed in order.

From intuition to experiment

Intuition

A wave repeats a pattern. Amplitude describes its height, while frequency describes how often the pattern repeats.

Try it

In the plot above, move one parameter at a time. Describe the expected change before touching the slider, then compare your prediction with the curve.

Reflect

Reset the plot and explain the difference in your own words. A useful explanation connects the parameter to the visible behavior.

One idea, three approaches. Every panel has a useful static fallback.

A richer Markdown vocabulary

These components are written directly in Markdown. They stay inside this page’s continuous reading surface and use the same typography, accents, and materials as the rest of the notebook.

Why use a disclosure?

A short article can offer deeper context without requiring everyone to read it.

  • Lists remain ordinary Markdown.
  • An equation such as uses the same MathJax renderer.
  • Keyboard users can expand this section with Enter or Space.

Questions and conversations

What makes an interface feel calm?

Good spacing, predictable controls, and a clear hierarchy all contribute. A useful discussion can begin with a question and a provisional explanation.

Should every paragraph be a card?

How much visual structure does a long-form article need?

Let the prose flow

Keep the article in one reading surface. Use explicit components where they explain something, and let typography carry the rest.

Join this conversation
Open on GitHub

Open this section to connect to GitHub.

Two perspectives

An explanation

Refraction describes a change in light’s direction as it moves between materials. Snell’s law gives a compact relationship:

A small example

For air and water, the light bends toward the normal when it enters the denser medium.

A ray entering water
const incidentAngle = Math.PI / 6;
const ratio = 1 / 1.33;
const refractedAngle = Math.asin(ratio * Math.sin(incidentAngle));

A sequence worth following

  1. Observe. Find a question worth staying with.
  2. Experiment. Change one thing and see what happens.
  3. Reflect. Describe the result, including what surprised you.

Pictures with room to breathe

A pale coastline at dawn, with soft blue water and layered hills.

The same coastline, in the quiet light before sunrise.

Small typographic tools

Refraction
A change in the direction of light as it crosses a boundary between materials.
Reflection
Light returning from a surface rather than passing through it.

Use a little emphasis where a detail matters. Press ⌘K to search. An SVG remains sharp as it grows. Chemistry uses H2O, while simple powers can appear as x2.

Continue through the archive

Writing and experiments, collected over time.

Footnotes

  1. All chart values are invented demonstration data, expressed in minutes. They are not a record of anyone's habits or a research result. ↩ ↩2

  2. The coastline images are original sample illustrations included with this notebook. They are not photographs of a personal trip. ↩