seemore 1.10.5 → 1.10.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -17,21 +17,12 @@
17
17
  <a href="https://github.com/arifszn/seemore/actions/workflows/ci.yml">
18
18
  <img src="https://github.com/arifszn/seemore/actions/workflows/ci.yml/badge.svg"/>
19
19
  </a>
20
- <a href="https://github.com/arifszn/seemore/issues">
21
- <img src="https://img.shields.io/github/issues/arifszn/seemore"/>
22
- </a>
23
20
  <a href="https://github.com/arifszn/seemore/stargazers">
24
21
  <img src="https://img.shields.io/github/stars/arifszn/seemore"/>
25
22
  </a>
26
- <a href="https://github.com/arifszn/seemore">
27
- <img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat"/>
28
- </a>
29
23
  <a href="https://github.com/arifszn/seemore/blob/main/LICENSE">
30
24
  <img src="https://img.shields.io/github/license/arifszn/seemore"/>
31
25
  </a>
32
- <a href="https://twitter.com/intent/tweet?url=https://github.com/arifszn/seemore&hashtags=markdown,docs,webdev,opensource">
33
- <img src="https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Fgithub.com%2Farifszn%2Fseemore"/>
34
- </a>
35
26
  </p>
36
27
  <p align="center">
37
28
  <a href="https://arifszn.github.io/seemore">Website</a>
@@ -42,7 +33,7 @@
42
33
  </p>
43
34
  </p>
44
35
 
45
- AI tools write Markdown — specs, notes, guides, READMEs, whole folders of it, faster than anyone can read. A pile of `.md` files is write-only memory: nothing to click, nothing to search, no order.
36
+ AI tools write Markdown faster than anyone can read it: specs, notes, guides, READMEs, whole folders of it. A folder of `.md` files is a dead end: nothing to click, nothing to search, no order.
46
37
 
47
38
  **seemore** points at that folder and renders it as a proper site instead, without you moving a single file or writing any code.
48
39
 
@@ -50,70 +41,99 @@ AI tools write Markdown — specs, notes, guides, READMEs, whole folders of it,
50
41
  <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/home.png" alt="The seemore site: a terminal typing npx seemore to serve a folder of notes at localhost:4040, with an arrow pointing to the browser preview" width="640"/>
51
42
  </p>
52
43
 
53
- Three ways to use it:
44
+ ## Quick start
54
45
 
55
- - **[In your browser](#view-in-your-browser)**: `npx seemore` serves the folder you're standing in and updates live as you edit.
56
- - **[In your code editor](#view-in-your-code-editor)**: an extension puts the same site in a panel next to the file you're editing — VS Code and VS Code-compatible editors like Cursor and Antigravity.
57
- - **[As a static site](#publish-it-to-the-web)**: `npx seemore build` exports plain HTML you can host anywhere, so it doubles as a docs framework, not just a preview tool.
46
+ Requires [Node.js](https://nodejs.org) 20 or newer. Nothing to install, no config file, no files to move.
58
47
 
59
- And whichever preview is open, the page is also an editor: **double-click any paragraph to fix its Markdown in place**, and the change is written straight back to the file.
48
+ ```bash
49
+ cd my-docs
50
+ npx seemore # renders this folder at http://localhost:4040
51
+ ```
60
52
 
61
- ## Who is seemore for?
53
+ Open the address it prints. From there it's live: add, rename, retitle or delete a file and the site updates immediately, navigation and search included.
62
54
 
63
- <p align="center">
64
- <video src="https://github.com/user-attachments/assets/248032a6-7e25-4f9f-8d73-089b5302afb0" width="640" controls muted></video>
65
- </p>
55
+ The [seemore website](https://arifszn.github.io/seemore) is itself a folder of Markdown rendered by seemore. That's what your own folder will look like.
66
56
 
67
- Typical use cases include:
57
+ ## Or ask an AI agent to set it up
68
58
 
69
- - **Review AI-generated documentation** — when you're buried under AI-written Markdown and need a faster way to browse, search and edit it instead of opening files one by one.
70
- - **Present documentation** — turn a folder of Markdown into a polished website for teammates, clients or the public without moving files into another system.
71
- - **Zero-setup documentation** — point seemore at an existing folder and it just works, with no migration, configuration or project structure to learn.
72
- - **Project documentation** — READMEs, architecture docs, RFCs, API documentation, specifications and engineering handbooks.
73
- - **Documentation review** — read rendered pages instead of raw Markdown while making fixes directly from the preview.
74
- - **Static documentation sites** — publish the same Markdown with `seemore build` instead of maintaining a separate documentation stack.
75
- - **Sharing a single page** — export one page as a self-contained HTML file to drop in Slack or email, no site or server needed.
59
+ Not comfortable in a terminal? There's an [agent skill](https://github.com/arifszn/seemore-skill) that drives all of this for you: installing seemore, starting the preview, writing and reordering pages, building and publishing. You describe what you want in plain language; your AI agent runs the commands.
76
60
 
77
- ## Features
61
+ ### Claude Code (Plugin Marketplace)
78
62
 
79
- - **Zero config** — no config file, no code, no files to move; a plain folder of Markdown works in the browser, in your editor, and as a static build
80
- - **Live preview** — add, rename, retitle or delete a file and the site updates immediately, navigation and search included
81
- - **Edit in place** — double-click any block in the preview to fix its Markdown; saves are surgical, so `git diff` shows the sentence you changed and nothing else
82
- - **Full MDX** — when Markdown isn't enough, `.mdx` pages take real JSX: your own React components, inline SVG, custom classes and CSS; `<Callout>`, `<Card>`, `<CodeBlockTabs>` and friends come built in, with no imports to write
83
- - **Static export** — `seemore build` prerenders the whole site to HTML, `404.html` included, ready to deploy anywhere, with the conventions individual hosts look for (`_redirects`, `200.html`, `.nojekyll`)
84
- - **Page actions** — an Actions button on every page: copy the page as Markdown, or export it as one self-contained HTML file to share on its own — Slack, email, a USB stick, no server needed — with the CLI equivalent in `seemore export <file>`
85
- - **12 themes** — dark and light follow the system, with a toggle that remembers your choice; your own CSS always wins
86
- - **Rich Markdown** — GitHub Flavoured Markdown, admonitions, steps, `[[wikilinks]]`, [Mermaid](https://mermaid.js.org) and [D2](https://d2lang.com) diagrams, click-to-zoom images, embedded PDFs
87
- - **Editor integration** — one extension covers VS Code, Cursor, Antigravity and other VS Code-compatible editors, remote workspaces included
88
- - **Search built in** — static, zero-setup full-text search out of the box, with shareable highlighted results; [Algolia](https://algolia.com) and [Orama Cloud](https://orama.com) for hosted indexes
63
+ ```bash
64
+ /plugin marketplace add arifszn/seemore-skill
65
+ /plugin install seemore
66
+ ```
89
67
 
90
- ## View in your browser
68
+ ### Other agents (Codex, OpenCode, Antigravity, Gemini, Cursor, …)
69
+
70
+ This is a standalone skill that works in any agent supporting the `SKILL.md` format. See **[INSTALL.md](https://github.com/arifszn/seemore-skill/blob/main/INSTALL.md)** for per-agent skills paths and copy-paste commands.
71
+
72
+ Or just tell your agent to install it by pasting this:
91
73
 
92
- ```bash
93
- npx seemore # view the current folder in your browser, live, no setup
94
74
  ```
75
+ Fetch and follow the install instructions from
76
+ https://raw.githubusercontent.com/arifszn/seemore-skill/refs/heads/main/INSTALL.md
77
+ ```
78
+
79
+ ### Usage
80
+
81
+ Once it's installed, ask for what you want:
82
+
83
+ ```
84
+ Turn this folder of notes into a docs site I can read in my browser
85
+ ```
86
+
87
+ Or invoke the skill by name:
95
88
 
96
- Run it in your folder of Markdown files (Node.js 20 or newer) and open the address it prints — `http://localhost:4040` by default. From there it's live: add, rename, retitle or delete a file and the site updates immediately. Point it at a subfolder with `npx seemore docs` if that's where your files live.
89
+ ```
90
+ /seemore:seemore
91
+ ```
97
92
 
98
- ## Edit your files from the browser
93
+ ## Three ways to use it
99
94
 
100
- The preview is not just for reading — it is the fastest way to fix what you are reading. Double-click any paragraph, heading, list item, quote or table cell and it opens in a small editor holding that block's **Markdown source**: `**bold**` stays `**bold**`, links stay links, tables stay tables. Fix the text and hit **Save** and the change is written to the file on disk.
95
+ - **[In your browser](#edit-from-the-browser)**: `npx seemore` serves the folder you're standing in and updates live as you edit.
96
+ - **[In your code editor](#view-in-your-code-editor)**: an extension puts the same site in a panel next to the file you're editing, in VS Code and VS Code-compatible editors like Cursor and Antigravity.
97
+ - **[As a static site](#publish-it-to-the-web)**: `npx seemore build` exports plain HTML you can host anywhere, so it doubles as a docs framework, not just a preview tool.
101
98
 
102
99
  <p align="center">
103
- <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/inline-editor.png" alt="seemore rendering a folder of Markdown in the browser, with a paragraph's Markdown source open in the inline editor" width="640"/>
100
+ <video src="https://github.com/user-attachments/assets/248032a6-7e25-4f9f-8d73-089b5302afb0" width="640" controls muted></video>
104
101
  </p>
105
102
 
106
- Inline editing is for local previews only — `seemore build` output is static, so nothing is emitted there. It is on by default in dev; switch it off like this:
103
+ ## What you get
107
104
 
108
- ```ts
109
- export default {
110
- features: { 'content.edit': false },
111
- };
112
- ```
105
+ Point seemore at anything already sitting in Markdown (AI-written notes, project docs, RFCs, API references, specs, an engineering handbook) and you get:
106
+
107
+ - **Zero config**: no config file, no code, no files to move; a plain folder works in the browser, in your editor, and as a static build
108
+ - **Live preview**: files appear, disappear and reorder as you edit them, navigation and search included
109
+ - **Edit in place**: double-click any block in the preview to fix its Markdown
110
+ - **Editor integration**: one extension covers VS Code, Cursor, Antigravity and other VS Code-compatible editors, remote workspaces included
111
+ - **Documentation framework**: `seemore build` prerenders the whole site to HTML, ready to deploy on any host
112
+ - **Page actions**: copy a page as Markdown, or export it as one self-contained HTML file to drop into Slack, email or an AI chat
113
+ - **Search built in**: static full-text search with no server and no account, with shareable highlighted results; [Algolia](https://algolia.com) and [Orama Cloud](https://orama.com) drop in when you want a hosted index
114
+ - **Rich Markdown**: GitHub Flavoured Markdown, admonitions, steps, `[[wikilinks]]`, [Mermaid](https://mermaid.js.org) and [D2](https://d2lang.com) diagrams, click-to-zoom images, embedded PDFs
115
+ - **Full MDX**: `.mdx` pages take real JSX, your own React components and CSS
116
+ - **12 themes**: dark and light follow the system, with a toggle that remembers your choice; your own CSS always wins
117
+
118
+ ### How it's different
119
+
120
+ - **Starts where your files already are**: most docs frameworks want a project, with a scaffold, a config file, a `docs/` layout and a build step wired into your repo. seemore wants a folder that already exists.
121
+ - **Preview first, site generator second**: the same content serves locally, renders beside your editor, and builds to static HTML, with no separate setup for each.
122
+ - **Nothing to migrate, nothing to undo**: your files are never moved or rewritten, so walking away costs nothing.
123
+
124
+ ## Edit from the browser
125
+
126
+ The preview is also an editor. Double-click any paragraph, heading, list item, quote or table cell and it opens in a small editor holding that block's **Markdown source**: `**bold**` stays `**bold**`, links stay links, tables stay tables. Fix the text, hit **Save**, and the change is written to the file on disk.
127
+
128
+ <p align="center">
129
+ <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/inline-editor.png" alt="seemore rendering a folder of Markdown in the browser, with a paragraph's Markdown source open in the inline editor" width="640"/>
130
+ </p>
131
+
132
+ Inline editing is for local previews only.
113
133
 
114
134
  ## View in your code editor
115
135
 
116
- Install **seemore** from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=arifszn.seemore-vscode) or [Open VSX](https://open-vsx.org/extension/arifszn/seemore-vscode) to get the same rendered site as a panel beside your editor — no terminal, no `npx`, no browser tab to manage. The extension bundles the CLI, so nothing is downloaded or put on your PATH. Open VSX also covers VS Code-compatible editors — Cursor, Antigravity, and others.
136
+ Install **seemore** from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=arifszn.seemore-vscode) or [Open VSX](https://open-vsx.org/extension/arifszn/seemore-vscode) to get the same rendered site as a panel beside your editor, with no terminal, no `npx` and no browser tab to manage. The extension bundles the CLI, so nothing is downloaded or put on your PATH. Open VSX also covers VS Code-compatible editors such as Cursor and Antigravity.
117
137
 
118
138
  <p align="center">
119
139
  <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/vscode-extension.png" alt="VS Code with features.md open in the editor and the seemore panel beside it, rendering the same page with a paragraph's Markdown source open in the inline editor" width="640"/>
@@ -123,44 +143,28 @@ Install **seemore** from the [VS Code Marketplace](https://marketplace.visualstu
123
143
  2. Click the **seemore** icon in the editor's title bar, or right-click a folder in the explorer and choose **Open Folder in seemore**.
124
144
  3. The rendered site opens beside your editor, scoped to that file's folder.
125
145
 
126
- ### Commands
127
-
128
- | Command | Where | Does |
129
- | --- | --- | --- |
130
- | **Open in seemore** | Editor title bar, on any Markdown file | Renders that file's folder as a site |
131
- | **Open Folder in seemore** | Explorer, right-click a folder | Renders that folder as a site and pins it as the root |
132
- | **Choose Root** | Status bar item, or the command palette | Pins the folder being served, clears a pinned root, or picks another folder to serve |
133
-
134
- ### Settings
135
-
136
- | Setting | Default | Effect |
137
- | --- | --- | --- |
138
- | `seemore.path` | *(bundled copy)* | Path to a `seemore` CLI entry point to use instead of the version bundled with the extension. Leave empty unless you're developing **seemore** itself. |
139
-
140
146
  ## Publish it to the web
141
147
 
142
148
  ```bash
143
149
  npx seemore build # static export to dist/ for any host
144
150
  ```
145
151
 
146
- The result is a `dist/` folder of plain web files: drop it on [Netlify](https://netlify.com), [Surge](https://surge.sh), [Cloudflare Pages](https://pages.cloudflare.com) or [GitHub Pages](https://pages.github.com), or hand it to any web host. Every page is prerendered to its own `index.html`, next to a `404.html` that every static host honours. On top of that, the small conventions individual hosts look for — `_redirects` for Netlify and Cloudflare Pages, `200.html` for Surge, `.nojekyll` for GitHub Pages — are written for you.
152
+ The result is a `dist/` folder of plain web files: drop it on [Netlify](https://netlify.com), [Surge](https://surge.sh), [Cloudflare Pages](https://pages.cloudflare.com) or [GitHub Pages](https://pages.github.com), or hand it to any web host. Every page is prerendered to its own `index.html`, next to a `404.html` that every static host honours, and host-specific files (`_redirects`, `200.html`, `.nojekyll`) are written for you.
147
153
 
148
154
  > [!TIP]
149
- > Project sites on GitHub Pages live under `username.github.io/my-repo/`, not the root, so set `base` once: `base: '/my-repo/'` (or `--base /my-repo/` on the CLI). Building under GitHub Actions without it set prints the exact line to add.
155
+ > Publishing to GitHub Pages? Your site lives at `username.github.io/my-repo/` rather than the root, so tell seemore the subpath once with `base: '/my-repo/'`. If you forget, the build prints the exact line to add.
150
156
 
151
- ## Export page
152
-
153
- An **Actions** button above every page exports just that page. **Export as HTML** writes one self-contained file — styles inlined, images embedded, diagrams kept — that opens offline from a double-click, ready to drop into Slack, email or an AI chat. The CLI produces the same HTML file without a browser:
157
+ To share a single page instead of a site, the **Actions** button above every page writes one self-contained HTML file (styles inlined, images embedded, diagrams kept) that opens offline from a double-click. The CLI does the same without a browser:
154
158
 
155
159
  ```bash
156
160
  npx seemore export docs/spec.md # writes spec.html next to the Markdown
157
161
  ```
158
162
 
159
- Which actions appear — or whether the button exists at all — is one line of config, `pageActions`. See [Configuration](#configuration) and the [features page](https://arifszn.github.io/seemore/features) for the details.
163
+ More on both in [publishing](https://arifszn.github.io/seemore/publishing).
160
164
 
161
165
  ## Configuration
162
166
 
163
- Optional — a folder with no config file builds correctly everywhere. To adjust things, create `seemore.config.ts` next to your content:
167
+ Configuration is optional; a folder with no config file builds correctly everywhere. To adjust things, create `seemore.config.ts` next to your content:
164
168
 
165
169
  ```ts
166
170
  // seemore.config.ts
@@ -181,51 +185,7 @@ export default {
181
185
  };
182
186
  ```
183
187
 
184
- ### Search
185
-
186
- The default `search: 'static'` needs no setup, no server and no account: the index is built from your Markdown and queried in the browser, in a Web Worker. `search.suggest` completes your query inline, and `search.highlight` carries the query onto the page you land on (`?h=…`), so search-result links are shareable. Hosted indexes are a drop-in swap whenever you want one: [Orama Cloud](https://orama.com) (`@orama/core`) or [Algolia](https://algolia.com) (`algoliasearch`), each needing nothing but its SDK installed.
187
-
188
- ### Themes
189
-
190
- Twelve built-in colour presets: `neutral` (default), `black`, `catppuccin`, `dusk`, `ocean`, `purple`, `ruby`, `solar`, `aspen`, `emerald`, `vitepress`, `shadcn`. For anything else, put your own CSS in `css`; it's appended last, so it wins. Dark and light follow your system setting, with a toggle that remembers your choice — `black` is built for dark mode, shown below with the toggle on.
191
-
192
- | `neutral` (default) | `black` |
193
- | :--- | :--- |
194
- | <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/themes/neutral.png" alt="neutral theme" width="100%"> | <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/themes/black.png" alt="black theme" width="100%"> |
195
-
196
- | `catppuccin` | `dusk` |
197
- | :--- | :--- |
198
- | <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/themes/catppuccin.png" alt="catppuccin theme" width="100%"> | <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/themes/dusk.png" alt="dusk theme" width="100%"> |
199
-
200
- | `ocean` | `purple` |
201
- | :--- | :--- |
202
- | <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/themes/ocean.png" alt="ocean theme" width="100%"> | <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/themes/purple.png" alt="purple theme" width="100%"> |
203
-
204
- | `ruby` | `solar` |
205
- | :--- | :--- |
206
- | <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/themes/ruby.png" alt="ruby theme" width="100%"> | <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/themes/solar.png" alt="solar theme" width="100%"> |
207
-
208
- | `aspen` | `emerald` |
209
- | :--- | :--- |
210
- | <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/themes/aspen.png" alt="aspen theme" width="100%"> | <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/themes/emerald.png" alt="emerald theme" width="100%"> |
211
-
212
- | `vitepress` | `shadcn` |
213
- | :--- | :--- |
214
- | <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/themes/vitepress.png" alt="vitepress theme" width="100%"> | <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/themes/shadcn.png" alt="shadcn theme" width="100%"> |
215
-
216
- ### Features
217
-
218
- A set of switches for fine control, set on the `features` key. Name the ones you want to change and set each `true` or `false`; flags you don't mention keep their default.
219
-
220
- ```ts
221
- // seemore.config.ts
222
- export default {
223
- features: {
224
- 'navigation.path': true, // off by default → this turns it on
225
- 'navigation.instant.prefetch': false, // on by default → this turns it off
226
- },
227
- };
228
- ```
188
+ `features` is a set of switches. Name the ones you want to change; flags you don't mention keep their default.
229
189
 
230
190
  | Flag | Default | Effect |
231
191
  | --- | --- | --- |
@@ -246,108 +206,79 @@ export default {
246
206
  | `search.highlight` | on | Highlight the query on the page you land on |
247
207
  | `social.cards` | off | Per-page OG images (needs `takumi-js`) |
248
208
 
249
- Combinations that can't work together raise a config error naming both flags and the fix.
250
-
251
- ## Content
252
-
253
- Supports `.md` and `.mdx` both.
209
+ Every config key above is documented on the [configuration](https://arifszn.github.io/seemore/configuration) and [features](https://arifszn.github.io/seemore/features) pages.
254
210
 
255
- - GitHub Flavoured Markdown, admonitions (note / tip / warning boxes), step-by-step lists, and colour-highlighted code blocks
256
- - `[[wikilinks]]`, including `[[Page|label]]` and `[[Page#Heading]]`, the easiest way for you or your AI to link pages without relative paths to get right
257
- - Relative `.md` links are resolved to working links automatically
258
- - **[Mermaid](https://mermaid.js.org)** and **[D2](https://d2lang.com)** diagrams, both rendered live in the browser straight from a ` ```mermaid ` or ` ```d2 ` code fence
259
- - Sibling images inlined as hashed assets with click-to-zoom, sibling PDFs open in the browser's own viewer
260
- - Frontmatter keys are validated
211
+ ### Themes
261
212
 
262
- ### PDF viewer
213
+ Twelve built-in colour presets: `neutral` (default), `black`, `catppuccin`, `dusk`, `ocean`, `purple`, `ruby`, `solar`, `aspen`, `emerald`, `vitepress`, `shadcn`. Dark and light follow your system setting, with a toggle that remembers your choice. For anything else, put your own CSS in `css`; it's appended last, so it wins.
263
214
 
264
- Reference a PDF with image syntax and it opens inline in the browser's own viewer, with a download link underneath — a sibling file or a remote URL both work:
215
+ | `neutral` (default) | `black` |
216
+ | :--- | :--- |
217
+ | <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/themes/neutral.png" alt="neutral theme" width="100%"> | <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/themes/black.png" alt="black theme" width="100%"> |
265
218
 
266
- ```md
267
- ![sample document](./assets/sample.pdf)
268
- ```
219
+ All twelve are on the [themes page](https://arifszn.github.io/seemore/themes).
269
220
 
270
- <p align="center">
271
- <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/pdf-viewer.png" alt="A sample PDF rendered inline on the page in the browser's native PDF viewer, with a Download sample document link underneath" width="640"/>
272
- </p>
221
+ ## Content
273
222
 
274
- ### Diagrams
223
+ Works with both `.md` and `.mdx`.
275
224
 
276
- A ` ```mermaid ` or ` ```d2 ` code fence renders live in the browser, no build step or external service:
225
+ - GitHub Flavoured Markdown, admonitions (note / tip / warning boxes), step-by-step lists, and colour-highlighted code blocks with optional filenames and line numbers
226
+ - `[[wikilinks]]`, including `[[Page|label]]` and `[[Page#Heading]]`, the easiest way for you or your AI to link pages without relative paths to get right; plain relative `.md` links are resolved automatically too
227
+ - **[Mermaid](https://mermaid.js.org)** and **[D2](https://d2lang.com)** diagrams, rendered live in the browser straight from a ` ```mermaid ` or ` ```d2 ` code fence
228
+ - Sibling images inlined as hashed assets with click-to-zoom, and PDFs opened inline in the browser's own viewer
229
+ - Page order comes from a `meta.json`, a frontmatter `order`, or the title, in that order
277
230
 
278
231
  <p align="center">
279
232
  <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/diagrams.png" alt="A mermaid flowchart reading Markdown, seemore, Static site rendered live on the Diagrams page, with a D2 diagram of the same chain below it" width="640"/>
280
233
  </p>
281
234
 
282
- ### Code blocks
283
-
284
- Code is syntax-highlighted automatically — nothing to configure. Add a filename or line numbers by putting them after the language on the fence line:
235
+ Every syntax above, rendered live, is on the [content page](https://arifszn.github.io/seemore/content).
285
236
 
286
- ```ts title="server.ts" lineNumbers
287
- const port = 4040;
288
- ```
237
+ ### PDF viewer
289
238
 
290
- You can also highlight a line, mark it as added/removed, or focus it, with a comment right in the code — `// [!code highlight]` and friends. See it all rendered live, with the full list of options, on the [Content page](https://arifszn.github.io/seemore/content#code-blocks).
239
+ Reference a PDF with image syntax, a sibling file or a remote URL, and it opens inline with a download link underneath:
291
240
 
292
- ### Components
241
+ ```md
242
+ ![sample document](./assets/sample.pdf)
243
+ ```
293
244
 
294
- `.mdx` files can use `<Callout>`, `<Card>`, `<Cards>`, `<CodeBlockTabs>`, `<Mermaid>`, `<D2>` and `<Pdf>` with no imports needed — plain `.md` files just keep the tag as text, so components need the `.mdx` extension. Full syntax for each is on the [Content page](https://arifszn.github.io/seemore/content).
245
+ <p align="center">
246
+ <img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/pdf-viewer.png" alt="A sample PDF rendered inline on the page in the browser's native PDF viewer, with a Download sample document link underneath" width="640"/>
247
+ </p>
295
248
 
296
- Numbered headings — `## 1. Install it`, `## 2. Point it at a folder` — become a numbered sequence.
249
+ ## CLI
297
250
 
298
- ### Page addresses
251
+ ```
252
+ seemore [dir] start the dev server
253
+ seemore build [dir] build a static site into dist/
254
+ seemore export <file> export a page as a standalone HTML file
255
+ ```
299
256
 
300
- | File | Address |
301
- | --- | --- |
302
- | `index.md` | `/` |
303
- | `README.md` (root) | `/` |
304
- | `getting-started.md` | `/getting-started` |
305
- | `guide/index.md` | `/guide` |
306
- | `guide/Deep Dive.md` | `/guide/deep-dive` |
257
+ Run `seemore --help` for the options, or see the [CLI reference](https://arifszn.github.io/seemore/cli-reference).
307
258
 
308
- ### Ordering
259
+ ## FAQ
309
260
 
310
- Pages are ordered by:
261
+ **Do I have to install anything?** No. `npx seemore` runs it without installing. If you'd rather have it around permanently, `npm install -g seemore`, or `npm install -D seemore` to pin a version in a project.
311
262
 
312
- 1. `meta.json` in the directory — an explicit list, with `...` standing in for anything you didn't name:
263
+ **Does anything leave my machine?** No. The dev server, the build and the export all run locally, with no account and no telemetry. The only network calls are ones you configure yourself, such as a hosted search provider.
313
264
 
314
- ```json
315
- { "pages": ["getting-started", "installation", "..."] }
316
- ```
265
+ **Will it move or rewrite my files?** No. seemore reads your folder where it is. It writes only when you save an inline edit, or when you run `build` or `export`.
317
266
 
318
- 2. Frontmatter `order` — lower numbers first:
267
+ **Is it a preview tool or a docs framework?** Both, from the same folder: `seemore` previews it, the extension renders it beside your editor, and `seemore build` publishes it.
319
268
 
320
- ```md
321
- ---
322
- title: Getting Started
323
- order: 1
324
- ---
325
- ```
269
+ **Do I have to use the terminal?** No. The [seemore skill](https://github.com/arifszn/seemore-skill) lets you ask an AI agent to set it up, write pages and publish for you. It runs the same CLI underneath, so nothing about your folder or your site is different.
326
270
 
327
- 3. Alphabetical by title, for anything left unordered by the two above
271
+ ## Under the hood
328
272
 
329
- ## CLI reference
273
+ [fumadocs](https://fumadocs.vercel.app) provides the interface presets, with [Shiki](https://shiki.style), [Mermaid](https://mermaid.js.org), [D2](https://d2lang.com), [Vite](https://vite.dev) and [React Router](https://reactrouter.com) underneath. The code editor extension runs the same CLI as a child process it manages.
330
274
 
331
- ```
332
- seemore [dir] start the dev server
333
- seemore build [dir] build a static site into dist/
334
- seemore export <file> export a page as a standalone HTML file
275
+ ## Contributing
335
276
 
336
- Options
337
- --port <number> dev server port (default 4040)
338
- --host [host] expose the dev server on the network
339
- --open / --no-open open a browser on start (default: no)
340
- --json print one machine-readable JSON line instead of the summary (dev only)
341
- --config <path> path to seemore.config.ts
342
- --out <dir> build output directory (default: dist); for export, where the HTML file is written
343
- --base <path> subpath the site is served from, e.g. /my-repo/
344
- -h, --help show this message
345
- -v, --version show the version
346
- ```
277
+ Bug reports and pull requests are welcome. [CONTRIBUTING.md](https://github.com/arifszn/seemore/blob/main/CONTRIBUTING.md) covers how to get the repo running, the checks to pass before opening a pull request, and how releases work.
347
278
 
348
- ## Under the hood
279
+ ## Star it
349
280
 
350
- [fumadocs](https://fumadocs.vercel.app) provides the interface presets, with [Shiki](https://shiki.style), [Mermaid](https://mermaid.js.org), [D2](https://d2lang.com), [Vite](https://vite.dev) and [React Router](https://reactrouter.com) underneath. The code editor extension runs the same CLI as a child process it manages. Bug reports and pull requests are welcome at [github.com/arifszn/seemore](https://github.com/arifszn/seemore).
281
+ If seemore saved you some time, [give it a star](https://github.com/arifszn/seemore). That is how other people find it.
351
282
 
352
283
  ## Licence
353
284
 
package/dist/cli/index.js CHANGED
@@ -103,6 +103,9 @@ function normaliseBase(base) {
103
103
  function isExternalHref(href) {
104
104
  return EXTERNAL.test(href) || href.startsWith("#") || !href.startsWith("/");
105
105
  }
106
+ function isRemoteHref(href) {
107
+ return EXTERNAL.test(href);
108
+ }
106
109
  function withBase(base, href) {
107
110
  const b = normaliseBase(base);
108
111
  if (b === "/" || isExternalHref(href)) return href;
@@ -489,9 +492,7 @@ function createLinkResolver(pages, base) {
489
492
  }
490
493
  return {
491
494
  resolveHref(raw, fromFile) {
492
- if (isExternalHref(raw) && !raw.startsWith(".") && !CONTENT_EXT2.test(raw.split("#")[0] ?? "")) {
493
- return { href: raw };
494
- }
495
+ if (isRemoteHref(raw) || raw.startsWith("#")) return { href: raw };
495
496
  const [pathPart = "", hashPart] = splitHash(raw);
496
497
  if (!CONTENT_EXT2.test(pathPart)) return { href: raw };
497
498
  const fromDir = pathPart.startsWith("/") ? [] : toPosix(fromFile).split("/").slice(0, -1);