seemore

Content

Works with both .md and .mdx.

  • GitHub Flavoured Markdown, admonitions (note / tip / warning boxes), step-by-step lists, and colour-highlighted code blocks
  • [[wikilinks]], including [[Page|label]] and [[Page#Heading]]. Use these to link pages without getting relative paths right
  • Relative .md links resolve to working links automatically
  • Mermaid and D2 diagrams, both rendered live in the browser straight from a ```mermaid or ```d2 code fence
  • Sibling images inlined as hashed assets with click-to-zoom, sibling PDFs open in the browser's own viewer
  • Frontmatter keys are validated

Code blocks

Shiki highlights code fences at build time, in the theme's own colours.

Settings go on the code fence line, after the language:

```ts title="server.ts" lineNumbers
const port = 4040;
```
On the code fenceEffect
title="server.ts"Filename bar above the block
lineNumbersNumbers down the side. lineNumbers=5 starts the count at 5
noCopyNo copy button on this one block

Comments mark individual lines and never reach the page. The block below uses all five:

marked.ts
const marked = 1; 
const added = 2; 
const removed = 3; 
const focused = 4; 
const found = 'needle'; 
In the codeEffect
[!code highlight]Marks the line
[!code ++], [!code --]Diff lines: green with a +, red with a -
[!code focus]Blurs every other line until the pointer is over the block
[!code word:needle]Marks that word everywhere it appears in the block

The marker follows the language's own comment syntax, so # [!code highlight] in Python and <!-- [!code highlight] --> in HTML.

The copy button is on by default. noCopy drops it from one block. 'content.code.copy': false drops it from every block on the site.

Components

An .mdx file can use these without importing anything:

ComponentWhat it is
<Callout type="warn" title="…">The box :::note produces. type is info, warn, error, success or idea
<Card>, <Cards>The link cards the generated index page is built from
<CodeBlockTabs>One code block per tab: npm, pnpm, yarn, bun
<Mermaid>, <D2>What a ```mermaid or ```d2 code fence compiles to. You can also use it directly
<Pdf>The viewer a linked PDF opens in

This set stays small on purpose. Markdown has no imports, so seemore ships every component to every site, whether a page uses it or not. Each one pairs with something Markdown already expresses. Any other component (fumadocs' <Tabs>, <Accordions> and <Files> among them) fails the build. The error names the file and the component. In a plain .md file a tag is HTML, not JSX: <Callout> renders as an unknown element with its text inside, rather than as the component. Components need the .mdx extension for that reason.

Code tabs need a defaultValue, or the block opens with no tab selected and nothing under it. Leave a blank line around each code fence:

<CodeBlockTabs defaultValue="npm">
  <CodeBlockTabsList>
    <CodeBlockTabsTrigger value="npm">npm</CodeBlockTabsTrigger>
    <CodeBlockTabsTrigger value="pnpm">pnpm</CodeBlockTabsTrigger>
  </CodeBlockTabsList>
  <CodeBlockTab value="npm">

```bash
npm i seemore
```

  </CodeBlockTab>
  <CodeBlockTab value="pnpm">

```bash
pnpm add seemore
```

  </CodeBlockTab>
</CodeBlockTabs>

Steps

Numbered headings become a numbered sequence, with the rule and the marker drawn for you:

## 1. Install it

## 2. Point it at a folder

Page addresses

FileAddress
index.md/
README.md (root)/
getting-started.md/getting-started
guide/index.md/guide
guide/Deep Dive.md/guide/deep-dive

Both /guide and /guide/ work on every host. If nothing claims /, with no root index.md and no root README.md, seemore generates the home page for you: a card grid of every page in the site. In any one directory, index.md wins over README.md. seemore warns and names the file it ignored. Two different files that slugify to the same address cause a build error naming both.

Ordering

Pages are ordered by:

  1. meta.json in the directory, an explicit list, with ... standing in for anything you did not name:

    { "pages": ["getting-started", "installation", "..."] }
  2. Frontmatter order, lower numbers first:

    ---
    title: Getting Started
    order: 1
    ---
  3. Alphabetical by title, for anything left unordered by the two above

Edit this page

© 2026 seemore. MIT Licensed.