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 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. It does not need any code.
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. You do not install anything. You do not write a config file. You do not move any files.
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 project's dependencies.
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/f4765a06-980e-4f24-9194-198e6dbaec90" width="640" controls muted></video>
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. A plain folder works in the browser, in your editor, and as a static build
124
- - **Live preview**: files appear, disappear and reorder as you edit them. Navigation and search update too
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, no `npx` and no browser tab to manage. The extension bundles the CLI, so nothing downloads and nothing goes on your PATH. Open VSX also covers VS Code-compatible editors such as Cursor and Antigravity.
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. Every page is a separate `index.html`, next to a `404.html` that every static host reads. seemore also writes the files each host needs (`_redirects`, `200.html`, `.nojekyll`).
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
- By default, a visitor stays unlocked for one day after their last visit. Change this with `remember`:
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 (styles inlined, images embedded, diagrams kept) that opens offline from a double-click. The CLI does the same without a browser:
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 flowchart reading Markdown, seemore, Static site rendered live on the Diagrams page, with a D2 diagram of the same chain below it" width="640"/>
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
- The [content page](https://arifszn.github.io/seemore/content) renders every syntax above, live.
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
  ![sample document](./assets/sample.pdf)
@@ -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. seemore encrypts the site content, so nobody can read a copy of the build without the password. There is no per-person access and no way to revoke one password alone. A short password can be guessed offline, so use a long one.
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