seemore 1.10.5 → 1.10.7

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,103 @@ 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
+ <details>
58
+ <summary><strong>Or ask an AI agent to set it up</strong></summary>
59
+ <br/>
68
60
 
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.
61
+ Not comfortable in a terminal? There's an [agent skill](https://github.com/arifszn/seemore-skill) that drives all of this for you.
76
62
 
77
- ## Features
63
+ ### Claude Code (Plugin Marketplace)
78
64
 
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
65
+ ```bash
66
+ /plugin marketplace add arifszn/seemore-skill
67
+ /plugin install seemore
68
+ ```
89
69
 
90
- ## View in your browser
70
+ ### Other agents (Codex, OpenCode, Antigravity, Gemini, Cursor, …)
91
71
 
92
- ```bash
93
- npx seemore # view the current folder in your browser, live, no setup
72
+ 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.
73
+
74
+ Or just tell your agent to install it by pasting this:
75
+
76
+ ```
77
+ Fetch and follow the install instructions from
78
+ https://raw.githubusercontent.com/arifszn/seemore-skill/refs/heads/main/INSTALL.md
79
+ ```
80
+
81
+ ### Usage
82
+
83
+ Once it's installed, ask for what you want:
84
+
85
+ ```
86
+ Turn this folder of notes into a docs site I can read in my browser
94
87
  ```
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
+ Or invoke the skill by name:
97
90
 
98
- ## Edit your files from the browser
91
+ ```
92
+ /seemore
93
+ ```
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
+ </details>
96
+
97
+ ## Three ways to use it
98
+
99
+ - **[In your browser](#edit-from-the-browser)**: `npx seemore` serves the folder you're standing in and updates live as you edit.
100
+ - **[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.
101
+ - **[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
102
 
102
103
  <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"/>
104
+ <video src="https://github.com/user-attachments/assets/248032a6-7e25-4f9f-8d73-089b5302afb0" width="640" controls muted></video>
104
105
  </p>
105
106
 
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:
107
+ ## What you get
107
108
 
108
- ```ts
109
- export default {
110
- features: { 'content.edit': false },
111
- };
112
- ```
109
+ Point seemore at anything already sitting in Markdown (AI-written notes, project docs, RFCs, API references, specs, an engineering handbook) and you get:
110
+
111
+ - **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
112
+ - **Live preview**: files appear, disappear and reorder as you edit them, navigation and search included
113
+ - **Edit in place**: double-click any block in the preview to fix its Markdown
114
+ - **Editor integration**: one extension covers VS Code, Cursor, Antigravity and other VS Code-compatible editors, remote workspaces included
115
+ - **Documentation framework**: `seemore build` prerenders the whole site to HTML, ready to deploy on any host
116
+ - **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
117
+ - **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
118
+ - **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
119
+ - **Full MDX**: `.mdx` pages take real JSX, your own React components and CSS
120
+ - **12 themes**: dark and light follow the system, with a toggle that remembers your choice; your own CSS always wins
121
+
122
+ ### How it's different
123
+
124
+ - **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.
125
+ - **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.
126
+ - **Nothing to migrate, nothing to undo**: your files are never moved or rewritten, so walking away costs nothing.
127
+
128
+ ## Edit from the browser
129
+
130
+ 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.
131
+
132
+ <p align="center">
133
+ <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"/>
134
+ </p>
135
+
136
+ Inline editing is for local previews only.
113
137
 
114
138
  ## View in your code editor
115
139
 
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.
140
+ 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
141
 
118
142
  <p align="center">
119
143
  <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 +147,30 @@ Install **seemore** from the [VS Code Marketplace](https://marketplace.visualstu
123
147
  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
148
  3. The rendered site opens beside your editor, scoped to that file's folder.
125
149
 
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
150
  ## Publish it to the web
141
151
 
142
152
  ```bash
143
153
  npx seemore build # static export to dist/ for any host
144
154
  ```
145
155
 
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.
156
+ 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
157
 
148
158
  > [!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.
159
+ > Publishing to GitHub Pages? If your site lives at `username.github.io/my-repo/` rather than the root, tell seemore the subpath once with `base: '/my-repo/'`.
150
160
 
151
- ## Export page
161
+ ### Share a single page to Slack, email
152
162
 
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:
163
+ 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
164
 
155
165
  ```bash
156
166
  npx seemore export docs/spec.md # writes spec.html next to the Markdown
157
167
  ```
158
168
 
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.
169
+ More on both in [publishing](https://arifszn.github.io/seemore/publishing).
160
170
 
161
171
  ## Configuration
162
172
 
163
- Optional — a folder with no config file builds correctly everywhere. To adjust things, create `seemore.config.ts` next to your content:
173
+ Configuration is optional; a folder with no config file builds correctly everywhere. To adjust things, create `seemore.config.ts` next to your content:
164
174
 
165
175
  ```ts
166
176
  // seemore.config.ts
@@ -181,51 +191,7 @@ export default {
181
191
  };
182
192
  ```
183
193
 
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
- ```
194
+ `features` is a set of switches. Name the ones you want to change; flags you don't mention keep their default.
229
195
 
230
196
  | Flag | Default | Effect |
231
197
  | --- | --- | --- |
@@ -246,108 +212,77 @@ export default {
246
212
  | `search.highlight` | on | Highlight the query on the page you land on |
247
213
  | `social.cards` | off | Per-page OG images (needs `takumi-js`) |
248
214
 
249
- Combinations that can't work together raise a config error naming both flags and the fix.
215
+ Every config key above is documented on the [configuration](https://arifszn.github.io/seemore/configuration) and [features](https://arifszn.github.io/seemore/features) pages.
250
216
 
251
- ## Content
252
-
253
- Supports `.md` and `.mdx` both.
217
+ ### Themes
254
218
 
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
219
+ 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.
261
220
 
262
- ### PDF viewer
221
+ | `neutral` (default) | `black` |
222
+ | :--- | :--- |
223
+ | <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%"> |
263
224
 
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:
225
+ All twelve are on the [themes page](https://arifszn.github.io/seemore/themes).
265
226
 
266
- ```md
267
- ![sample document](./assets/sample.pdf)
268
- ```
269
-
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>
227
+ ## Content
273
228
 
274
- ### Diagrams
229
+ Works with both `.md` and `.mdx`.
275
230
 
276
- A ` ```mermaid ` or ` ```d2 ` code fence renders live in the browser, no build step or external service:
231
+ - GitHub Flavoured Markdown, admonitions (note / tip / warning boxes), step-by-step lists, and colour-highlighted code blocks with optional filenames and line numbers
232
+ - `[[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
233
+ - **[Mermaid](https://mermaid.js.org)** and **[D2](https://d2lang.com)** diagrams, rendered live in the browser straight from a ` ```mermaid ` or ` ```d2 ` code fence
234
+ - Sibling images inlined as hashed assets with click-to-zoom, and PDFs opened inline in the browser's own viewer
235
+ - Page order comes from a `meta.json`, a frontmatter `order`, or the title, in that order
277
236
 
278
237
  <p align="center">
279
238
  <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
239
  </p>
281
240
 
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:
285
-
286
- ```ts title="server.ts" lineNumbers
287
- const port = 4040;
288
- ```
241
+ Every syntax above, rendered live, is on the [content page](https://arifszn.github.io/seemore/content).
289
242
 
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).
243
+ ### PDF viewer
291
244
 
292
- ### Components
245
+ Reference a PDF with image syntax, a sibling file or a remote URL, and it opens inline with a download link underneath:
293
246
 
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).
247
+ ```md
248
+ ![sample document](./assets/sample.pdf)
249
+ ```
295
250
 
296
- Numbered headings — `## 1. Install it`, `## 2. Point it at a folder` — become a numbered sequence.
251
+ <p align="center">
252
+ <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"/>
253
+ </p>
297
254
 
298
- ### Page addresses
255
+ ## CLI
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
+ ```
258
+ seemore [dir] start the dev server
259
+ seemore build [dir] build a static site into dist/
260
+ seemore export <file> export a page as a standalone HTML file
261
+ ```
307
262
 
308
- ### Ordering
263
+ Run `seemore --help` for the options, or see the [CLI reference](https://arifszn.github.io/seemore/cli-reference).
309
264
 
310
- Pages are ordered by:
265
+ ## FAQ
311
266
 
312
- 1. `meta.json` in the directory — an explicit list, with `...` standing in for anything you didn't name:
267
+ **Do I have to install anything?** No, just run `npx seemore`.
313
268
 
314
- ```json
315
- { "pages": ["getting-started", "installation", "..."] }
316
- ```
269
+ **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.
317
270
 
318
- 2. Frontmatter `order` — lower numbers first:
271
+ **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`.
319
272
 
320
- ```md
321
- ---
322
- title: Getting Started
323
- order: 1
324
- ---
325
- ```
273
+ **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.
326
274
 
327
- 3. Alphabetical by title, for anything left unordered by the two above
275
+ ## Under the hood
328
276
 
329
- ## CLI reference
277
+ [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
278
 
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
279
+ ## Contributing
335
280
 
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
- ```
281
+ 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
282
 
348
- ## Under the hood
283
+ ## Star it
349
284
 
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).
285
+ If seemore saved you some time, [give it a star](https://github.com/arifszn/seemore). That is how other people find it.
351
286
 
352
287
  ## Licence
353
288
 
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);
@@ -539,6 +540,7 @@ function joinPosix(fromDir, relative4) {
539
540
 
540
541
  // src/node/content/source.ts
541
542
  import { dynamicLoader } from "fumadocs-core/source";
543
+ import { lucideIconsPlugin } from "fumadocs-core/source/plugins/lucide-icons";
542
544
 
543
545
  // src/node/content/scan.ts
544
546
  import { readFileSync } from "fs";
@@ -720,7 +722,7 @@ function createSource(options) {
720
722
  cached = void 0;
721
723
  }
722
724
  },
723
- { baseUrl: "/" }
725
+ { baseUrl: "/", plugins: [lucideIconsPlugin()] }
724
726
  );
725
727
  return {
726
728
  loader,