seemore 1.12.10 → 1.12.12
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 +17 -82
- package/dist/cli/index.js +25 -1
- package/dist/cli/index.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -36,13 +36,7 @@ AI tools write Markdown fast. They write specs, notes, guides, READMEs, and whol
|
|
|
36
36
|
|
|
37
37
|
A folder of `.md` files has no order. You cannot click a link between files. You cannot search across them.
|
|
38
38
|
|
|
39
|
-
**seemore** points at that folder and renders it as a real site. It does not move your files
|
|
40
|
-
|
|
41
|
-
## Why seemore?
|
|
42
|
-
|
|
43
|
-
Modern libraries can generate HTML, but that is not the same as previewing an existing project. seemore lets you view a folder of Markdown, such as a wiki or a notes folder, in the browser as a real site, without rewriting it, adding a build pipeline, or asking every teammate to learn HTML.
|
|
44
|
-
|
|
45
|
-
That is the value of zero configuration: you open the project and see it as intended. If you stop using seemore, your files stay exactly where they are. There is nothing to clean up.
|
|
39
|
+
**seemore** points at that folder and renders it as a real site. Other docs frameworks need a project first: a scaffold, a config file, a `docs/` layout, and a build step in your repo. seemore needs only a folder that already exists. It does not move your files, and it does not need any code. If you stop using seemore, your files stay where they are.
|
|
46
40
|
|
|
47
41
|
<p align="center">
|
|
48
42
|
<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"/>
|
|
@@ -50,16 +44,14 @@ That is the value of zero configuration: you open the project and see it as inte
|
|
|
50
44
|
|
|
51
45
|
## Quick start
|
|
52
46
|
|
|
53
|
-
seemore needs [Node.js](https://nodejs.org) 20 or newer.
|
|
47
|
+
seemore needs [Node.js](https://nodejs.org) 20 or newer.
|
|
54
48
|
|
|
55
49
|
```bash
|
|
56
50
|
cd my-docs
|
|
57
51
|
npx seemore # renders this folder at http://localhost:4040
|
|
58
52
|
```
|
|
59
53
|
|
|
60
|
-
`npx seemore` runs seemore without adding it to your
|
|
61
|
-
|
|
62
|
-
Open the address it prints. The site stays live after that. Add, rename, retitle, or delete a file, and the site updates at once. Navigation and search update too.
|
|
54
|
+
`npx seemore` runs seemore without adding it to your dependencies. Open the address it prints. Add, rename, retitle, or delete a file, and the site updates at once. Navigation and search update too.
|
|
63
55
|
|
|
64
56
|
The [seemore website](https://arifszn.github.io/seemore) is a folder of Markdown, rendered by seemore. Your own folder will look the same way.
|
|
65
57
|
|
|
@@ -106,22 +98,16 @@ Or call the skill by name:
|
|
|
106
98
|
|
|
107
99
|
</details>
|
|
108
100
|
|
|
109
|
-
## Three ways to use it
|
|
110
|
-
|
|
111
|
-
- **[In your browser](#edit-from-the-browser)**: `npx seemore` serves the folder you are in. The site updates live as you edit.
|
|
112
|
-
- **[In your code editor](#view-in-your-code-editor)**: an extension shows the same site in a panel next to your file, in VS Code and VS Code-compatible editors like Cursor and Antigravity.
|
|
113
|
-
- **[As a static site](#publish-it-to-the-web)**: `npx seemore build` exports plain HTML you can host anywhere. seemore is a docs framework, not only a preview tool.
|
|
114
|
-
|
|
115
101
|
<p align="center">
|
|
116
|
-
<video src="https://github.com/user-attachments/assets/
|
|
102
|
+
<video src="https://github.com/user-attachments/assets/dd8280d2-fc8a-47c9-b2db-b1a1ccde81ce" width="640" controls muted></video>
|
|
117
103
|
</p>
|
|
118
104
|
|
|
119
105
|
## What you get
|
|
120
106
|
|
|
121
107
|
Point seemore at any Markdown you already have: AI-written notes, project docs, RFCs, API references, specs, or an engineering handbook. You get:
|
|
122
108
|
|
|
123
|
-
- **Zero config**: no config file, no code, no files to move
|
|
124
|
-
- **Live preview**: files appear, disappear and reorder as you edit them
|
|
109
|
+
- **Zero config**: no config file, no code, no files to move
|
|
110
|
+
- **Live preview**: files appear, disappear and reorder as you edit them
|
|
125
111
|
- **Edit in place**: double-click any block in the preview to fix its Markdown
|
|
126
112
|
- **Editor integration**: one extension covers VS Code, Cursor, Antigravity and other VS Code-compatible editors, including remote workspaces
|
|
127
113
|
- **Documentation framework**: `seemore build` renders the whole site to HTML, ready to deploy on any host
|
|
@@ -132,12 +118,6 @@ Point seemore at any Markdown you already have: AI-written notes, project docs,
|
|
|
132
118
|
- **Full MDX**: `.mdx` pages take real JSX, your own React components and CSS
|
|
133
119
|
- **12 themes**: dark and light follow the system, with a toggle that remembers your choice. Your own CSS always wins
|
|
134
120
|
|
|
135
|
-
### How seemore is different
|
|
136
|
-
|
|
137
|
-
- **Starts where your files already are**: most docs frameworks need a project, with a scaffold, a config file, a `docs/` layout and a build step wired into your repo. seemore needs only a folder that already exists.
|
|
138
|
-
- **Preview first, site generator second**: the same content serves locally, renders beside your editor, and builds to static HTML. No separate setup is needed for each one.
|
|
139
|
-
- **Nothing to migrate, nothing to undo**: seemore never moves or rewrites your files. You can stop using it at any time, at no cost.
|
|
140
|
-
|
|
141
121
|
## Edit from the browser
|
|
142
122
|
|
|
143
123
|
The preview is also an editor. Double-click any paragraph, heading, list item, quote or table cell. A small editor opens with that block's **Markdown source**: `**bold**` stays `**bold**`, links stay links, tables stay tables. Fix the text, press **Save**, and seemore writes the change to the file on disk.
|
|
@@ -150,7 +130,7 @@ Inline editing works only for local previews.
|
|
|
150
130
|
|
|
151
131
|
## View in your code editor
|
|
152
132
|
|
|
153
|
-
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). You get the same rendered site as a panel beside your editor, with no terminal
|
|
133
|
+
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). You get the same rendered site as a panel beside your editor, with no terminal and no browser tab to manage. The extension bundles the CLI, so nothing downloads and nothing goes on your PATH.
|
|
154
134
|
|
|
155
135
|
<p align="center">
|
|
156
136
|
<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"/>
|
|
@@ -166,7 +146,7 @@ Install **seemore** from the [VS Code Marketplace](https://marketplace.visualstu
|
|
|
166
146
|
npx seemore build # static export to dist/ for any host
|
|
167
147
|
```
|
|
168
148
|
|
|
169
|
-
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.
|
|
149
|
+
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.
|
|
170
150
|
|
|
171
151
|
> [!TIP]
|
|
172
152
|
> Do you publish to GitHub Pages at `username.github.io/my-repo/`, not at the root? Set the subpath once with `base: '/my-repo/'`.
|
|
@@ -179,27 +159,15 @@ Add `auth: true` to `seemore.config.ts`. Set the password when you build:
|
|
|
179
159
|
SEEMORE_PASSWORD='a-long-passphrase' npx seemore build
|
|
180
160
|
```
|
|
181
161
|
|
|
182
|
-
On Windows PowerShell:
|
|
183
|
-
|
|
184
|
-
```powershell
|
|
185
|
-
$env:SEEMORE_PASSWORD='a-long-passphrase'; npx seemore build
|
|
186
|
-
```
|
|
187
|
-
|
|
188
162
|
<p align="center">
|
|
189
163
|
<img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/password-protection.png" alt="The lock screen of a password-protected seemore site: the site's icon and title above a password field and an Unlock button" width="560"/>
|
|
190
164
|
</p>
|
|
191
165
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
```ts
|
|
195
|
-
auth: { remember: '7d' } // or '12h'
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
Password protection works only for `seemore build`. To test the lock screen, build the site and serve `dist/` on `localhost`.
|
|
166
|
+
seemore encrypts the site content, so nobody can read a copy of the build without the password. A short password can be guessed offline, so use a long one.
|
|
199
167
|
|
|
200
168
|
### Share a single page to Slack, email
|
|
201
169
|
|
|
202
|
-
To share one page instead of a site, use the **Actions** button above the page. It writes one self-contained HTML file
|
|
170
|
+
To share one page instead of a site, use the **Actions** button above the page. It writes one self-contained HTML file that opens offline from a double-click. The CLI does the same without a browser:
|
|
203
171
|
|
|
204
172
|
```bash
|
|
205
173
|
npx seemore export docs/spec.md # writes spec.html next to the Markdown
|
|
@@ -232,28 +200,7 @@ export default {
|
|
|
232
200
|
};
|
|
233
201
|
```
|
|
234
202
|
|
|
235
|
-
`features` is a set of switches. Name only the flags you want to change. Every other flag keeps its default value.
|
|
236
|
-
|
|
237
|
-
| Flag | Default | Effect |
|
|
238
|
-
| --- | --- | --- |
|
|
239
|
-
| `navigation.instant.prefetch` | on | Load the target page on hover |
|
|
240
|
-
| `navigation.instant.preview` | off | Hover popover showing the target page |
|
|
241
|
-
| `navigation.footer` | on | Previous and next page links. The `footer` key controls the site footer. |
|
|
242
|
-
| `navigation.top` | on | Back-to-top button |
|
|
243
|
-
| `navigation.path` | off | Breadcrumbs |
|
|
244
|
-
| `navigation.sections` | off | Top-level entries as sidebar groups |
|
|
245
|
-
| `navigation.prune` | off | Render only the visible subtree |
|
|
246
|
-
| `toc.follow` | on | Keep the active heading visible |
|
|
247
|
-
| `toc.integrate` | off | Merge the table of contents into the sidebar |
|
|
248
|
-
| `content.code.copy` | on | Copy button on code blocks |
|
|
249
|
-
| `content.action.edit` | on with `editLink` | Edit-this-page link |
|
|
250
|
-
| `content.edit` | on (dev only) | Double-click a block to edit its Markdown in place |
|
|
251
|
-
| `content.image.zoom` | on | Click-to-zoom on content images |
|
|
252
|
-
| `search.suggest` | on | Inline query completion |
|
|
253
|
-
| `search.highlight` | on | Highlight the query on the page you land on |
|
|
254
|
-
| `social.cards` | off | Per-page OG images (needs `takumi-js`) |
|
|
255
|
-
|
|
256
|
-
The [configuration](https://arifszn.github.io/seemore/configuration) and [features](https://arifszn.github.io/seemore/features) pages document every key above.
|
|
203
|
+
`features` is a set of switches for breadcrumbs, prefetching, the table of contents, code-block buttons and more. Name only the flags you want to change. Every other flag keeps its default value. The [configuration](https://arifszn.github.io/seemore/configuration) and [features](https://arifszn.github.io/seemore/features) pages document every key.
|
|
257
204
|
|
|
258
205
|
### Themes
|
|
259
206
|
|
|
@@ -267,23 +214,13 @@ The [themes page](https://arifszn.github.io/seemore/themes) shows all twelve.
|
|
|
267
214
|
|
|
268
215
|
## Content
|
|
269
216
|
|
|
270
|
-
Works with both `.md` and `.mdx`.
|
|
271
|
-
|
|
272
|
-
- GitHub Flavoured Markdown, admonitions (note, tip and warning boxes), step-by-step lists, and colour-highlighted code blocks with optional filenames and line numbers
|
|
273
|
-
- `[[wikilinks]]`, including `[[Page|label]]` and `[[Page#Heading]]`. Use these to link pages without getting relative paths right. Plain relative `.md` links also resolve automatically
|
|
274
|
-
- **[Mermaid](https://mermaid.js.org)** and **[D2](https://d2lang.com)** diagrams, rendered live in the browser from a ` ```mermaid ` or ` ```d2 ` code fence
|
|
275
|
-
- Sibling images, inlined as hashed assets with click-to-zoom, and PDFs, opened inline in the browser's own viewer
|
|
276
|
-
- Page order comes from a `meta.json` file, a frontmatter `order` field, or the title, checked in that order
|
|
217
|
+
Works with both `.md` and `.mdx`. **[Mermaid](https://mermaid.js.org)** and **[D2](https://d2lang.com)** diagrams render live in the browser, straight from a ` ```mermaid ` or ` ```d2 ` code fence:
|
|
277
218
|
|
|
278
219
|
<p align="center">
|
|
279
|
-
<img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/diagrams.png" alt="A mermaid
|
|
220
|
+
<img src="https://raw.githubusercontent.com/arifszn/seemore/main/packages/site/assets/diagrams.png" alt="A mermaid code fence on the Diagrams page, with the flowchart it produces below: folder of .md into seemore, then a live site and static HTML" width="640"/>
|
|
280
221
|
</p>
|
|
281
222
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
### PDF viewer
|
|
285
|
-
|
|
286
|
-
Reference a PDF with image syntax. Use a sibling file or a remote URL. The PDF opens inline, with a download link underneath:
|
|
223
|
+
Reference a PDF with image syntax, and it opens inline with a download link underneath:
|
|
287
224
|
|
|
288
225
|
```md
|
|
289
226
|

|
|
@@ -293,6 +230,8 @@ Reference a PDF with image syntax. Use a sibling file or a remote URL. The PDF o
|
|
|
293
230
|
<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"/>
|
|
294
231
|
</p>
|
|
295
232
|
|
|
233
|
+
Page order comes from a `meta.json` file, a frontmatter `order` field, or the title, checked in that order. The [content page](https://arifszn.github.io/seemore/content) renders every syntax seemore supports, live.
|
|
234
|
+
|
|
296
235
|
## CLI
|
|
297
236
|
|
|
298
237
|
```
|
|
@@ -305,15 +244,11 @@ Run `seemore --help` to see the options, or see the [CLI reference](https://arif
|
|
|
305
244
|
|
|
306
245
|
## FAQ
|
|
307
246
|
|
|
308
|
-
**Do I have to install anything?** No. Just run `npx seemore`.
|
|
309
|
-
|
|
310
247
|
**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.
|
|
311
248
|
|
|
312
249
|
**Does seemore move or rewrite my files?** No. seemore reads your folder in place. It writes to a file only when you save an inline edit, or run `build` or `export`.
|
|
313
250
|
|
|
314
|
-
**Is the password protection real?** Yes.
|
|
315
|
-
|
|
316
|
-
**Is seemore 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.
|
|
251
|
+
**Is the password protection real?** Yes. The content is encrypted at build time. There is no per-person access, and no way to revoke one password alone.
|
|
317
252
|
|
|
318
253
|
## Under the hood
|
|
319
254
|
|
package/dist/cli/index.js
CHANGED
|
@@ -1451,6 +1451,24 @@ function rehypeSeemorePositions() {
|
|
|
1451
1451
|
};
|
|
1452
1452
|
}
|
|
1453
1453
|
|
|
1454
|
+
// src/node/vite/raw.ts
|
|
1455
|
+
import rehypeRaw from "rehype-raw";
|
|
1456
|
+
var MDX_NODE_TYPES = [
|
|
1457
|
+
"mdxFlowExpression",
|
|
1458
|
+
"mdxJsxFlowElement",
|
|
1459
|
+
"mdxJsxTextElement",
|
|
1460
|
+
"mdxTextExpression",
|
|
1461
|
+
"mdxjsEsm"
|
|
1462
|
+
];
|
|
1463
|
+
function rehypeSeemoreRawHtml() {
|
|
1464
|
+
const transform = rehypeRaw({ passThrough: [...MDX_NODE_TYPES] });
|
|
1465
|
+
return (tree, file) => {
|
|
1466
|
+
const path = file.path ?? "";
|
|
1467
|
+
if (!/\.md(?:$|\?)/.test(path)) return tree;
|
|
1468
|
+
return transform(tree, file);
|
|
1469
|
+
};
|
|
1470
|
+
}
|
|
1471
|
+
|
|
1454
1472
|
// src/node/vite/mdx.ts
|
|
1455
1473
|
var MARKDOWN_EXPORT = "_markdown";
|
|
1456
1474
|
function createRemarkPlugins(options) {
|
|
@@ -1501,7 +1519,13 @@ function createRehypePlugins(options = {}) {
|
|
|
1501
1519
|
rehypeToc,
|
|
1502
1520
|
// After `rehype-code`, so a fence Shiki rebuilt is passed over rather than stamped with
|
|
1503
1521
|
// the position of whatever it replaced.
|
|
1504
|
-
...options.positions === true ? [rehypeSeemorePositions] : []
|
|
1522
|
+
...options.positions === true ? [rehypeSeemorePositions] : [],
|
|
1523
|
+
// Last, and deliberately. `rehype-raw` reparses the whole document to stitch raw HTML
|
|
1524
|
+
// back together, which costs every node its `data` — including the fence meta
|
|
1525
|
+
// `rehype-code` reads `noCopy` from. Running it here means each plugin above has already
|
|
1526
|
+
// taken what it needs, and the elements it creates are not stamped as editable, which is
|
|
1527
|
+
// right: they have no source range a text editor could be handed.
|
|
1528
|
+
rehypeSeemoreRawHtml
|
|
1505
1529
|
];
|
|
1506
1530
|
}
|
|
1507
1531
|
|