@charcuterie/ui 3.13.0 → 3.14.0
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/dist/markdownEditorCodeMirror/MarkdownView.d.ts +140 -0
- package/dist/markdownEditorCodeMirror/MarkdownView.d.ts.map +1 -0
- package/dist/markdownEditorCodeMirror/MarkdownView.js +268 -0
- package/dist/markdownEditorCodeMirror/MarkdownView.js.map +1 -0
- package/dist/markdownEditorCodeMirror/index.d.ts +14 -3
- package/dist/markdownEditorCodeMirror/index.d.ts.map +1 -1
- package/dist/markdownEditorCodeMirror/index.js +12 -3
- package/dist/markdownEditorCodeMirror/index.js.map +1 -1
- package/dist/markdownEditorCodeMirror/livePreview.d.ts +42 -2
- package/dist/markdownEditorCodeMirror/livePreview.d.ts.map +1 -1
- package/dist/markdownEditorCodeMirror/livePreview.js +243 -26
- package/dist/markdownEditorCodeMirror/livePreview.js.map +1 -1
- package/dist/markdownEditorCodeMirror/livePreviewRanges.d.ts.map +1 -1
- package/dist/markdownEditorCodeMirror/livePreviewRanges.js +49 -7
- package/dist/markdownEditorCodeMirror/livePreviewRanges.js.map +1 -1
- package/dist/markdownEditorCodeMirror/safeUrls.d.ts +46 -0
- package/dist/markdownEditorCodeMirror/safeUrls.d.ts.map +1 -0
- package/dist/markdownEditorCodeMirror/safeUrls.js +123 -0
- package/dist/markdownEditorCodeMirror/safeUrls.js.map +1 -0
- package/package.json +1 -1
- package/src/MarkdownEditor/MarkdownEditor.mdx +5 -0
- package/src/markdownEditorCodeMirror/MarkdownEditorCodeMirror.mdx +11 -0
- package/src/markdownEditorCodeMirror/MarkdownView.mdx +157 -0
- package/src/markdownEditorCodeMirror/MarkdownView.stories.tsx +314 -0
- package/src/markdownEditorCodeMirror/MarkdownView.test.tsx +288 -0
- package/src/markdownEditorCodeMirror/MarkdownView.tsx +373 -0
- package/src/markdownEditorCodeMirror/index.ts +17 -2
- package/src/markdownEditorCodeMirror/livePreview.ts +329 -33
- package/src/markdownEditorCodeMirror/livePreviewRanges.ts +64 -7
- package/src/markdownEditorCodeMirror/safeUrls.test.ts +0 -0
- package/src/markdownEditorCodeMirror/safeUrls.ts +142 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"livePreviewRanges.js","sourceRoot":"","sources":["../../src/markdownEditorCodeMirror/livePreviewRanges.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"livePreviewRanges.js","sourceRoot":"","sources":["../../src/markdownEditorCodeMirror/livePreviewRanges.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The scheme guard, for markdown this surface did not write.
|
|
3
|
+
*
|
|
4
|
+
* `MarkdownView` renders files fetched from a git host, so its
|
|
5
|
+
* document is hostile input by default. Most of what that usually
|
|
6
|
+
* means is already answered by construction here: there is no
|
|
7
|
+
* `innerHTML` anywhere in this subpath, every rendered node is
|
|
8
|
+
* `createElement` plus `textContent`, and CodeMirror's state holds
|
|
9
|
+
* the source as *text* — so a `<script>` tag in a fetched README is
|
|
10
|
+
* literal characters on screen and never a script.
|
|
11
|
+
*
|
|
12
|
+
* One thing that construction did not cover, and it was live in the
|
|
13
|
+
* editor as well: **a URL is taken from the document and used as a
|
|
14
|
+
* URL.** `[click me](javascript:…)` conceals its markup, paints as a
|
|
15
|
+
* link, and `window.open` then runs the script in this origin. The
|
|
16
|
+
* image path is the same shape one step down — `` writes an
|
|
17
|
+
* `src` verbatim.
|
|
18
|
+
*
|
|
19
|
+
* So every URL crosses this module before it reaches an `href`, an
|
|
20
|
+
* `src` or `window.open`, in **both** components. It is a defect in
|
|
21
|
+
* a shape the two share, which makes it a defect in the layer they
|
|
22
|
+
* share.
|
|
23
|
+
*
|
|
24
|
+
* ### An allowlist, and nothing clever
|
|
25
|
+
*
|
|
26
|
+
* Denying `javascript:` is the version that has a bug. Browsers
|
|
27
|
+
* throw tabs and newlines away before they read a scheme, so
|
|
28
|
+
* `JaVaScript:`, a tab in the middle of the word, and a leading
|
|
29
|
+
* newline are one URL to a navigation and three different strings to
|
|
30
|
+
* a blocklist. This normalises the way a browser does, asks what
|
|
31
|
+
* scheme is left, and accepts only names it recognises. A URL with
|
|
32
|
+
* **no** scheme is relative and is always fine.
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* The link's URL, or `undefined` when it must not become one.
|
|
36
|
+
*
|
|
37
|
+
* A rejected URL is not rewritten and not blanked — the text stays
|
|
38
|
+
* exactly where the author put it and simply stops being a link.
|
|
39
|
+
* That is the honest failure: the reader still sees every character
|
|
40
|
+
* of the source, and can still read the URL itself in the
|
|
41
|
+
* raw-markdown view, but nothing on the page will navigate to it.
|
|
42
|
+
*/
|
|
43
|
+
export declare const toSafeLinkUrl: (url: string) => string | undefined;
|
|
44
|
+
/** The image's `src`, or `undefined` when it must not have one. */
|
|
45
|
+
export declare const toSafeImageUrl: (url: string) => string | undefined;
|
|
46
|
+
//# sourceMappingURL=safeUrls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safeUrls.d.ts","sourceRoot":"","sources":["../../src/markdownEditorCodeMirror/safeUrls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAgEH;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GACxB,KAAK,MAAM,KACV,MAAM,GAAG,SAaX,CAAA;AAED,mEAAmE;AACnE,eAAO,MAAM,cAAc,GACzB,KAAK,MAAM,KACV,MAAM,GAAG,SAgBX,CAAA"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The scheme guard, for markdown this surface did not write.
|
|
3
|
+
*
|
|
4
|
+
* `MarkdownView` renders files fetched from a git host, so its
|
|
5
|
+
* document is hostile input by default. Most of what that usually
|
|
6
|
+
* means is already answered by construction here: there is no
|
|
7
|
+
* `innerHTML` anywhere in this subpath, every rendered node is
|
|
8
|
+
* `createElement` plus `textContent`, and CodeMirror's state holds
|
|
9
|
+
* the source as *text* — so a `<script>` tag in a fetched README is
|
|
10
|
+
* literal characters on screen and never a script.
|
|
11
|
+
*
|
|
12
|
+
* One thing that construction did not cover, and it was live in the
|
|
13
|
+
* editor as well: **a URL is taken from the document and used as a
|
|
14
|
+
* URL.** `[click me](javascript:…)` conceals its markup, paints as a
|
|
15
|
+
* link, and `window.open` then runs the script in this origin. The
|
|
16
|
+
* image path is the same shape one step down — `` writes an
|
|
17
|
+
* `src` verbatim.
|
|
18
|
+
*
|
|
19
|
+
* So every URL crosses this module before it reaches an `href`, an
|
|
20
|
+
* `src` or `window.open`, in **both** components. It is a defect in
|
|
21
|
+
* a shape the two share, which makes it a defect in the layer they
|
|
22
|
+
* share.
|
|
23
|
+
*
|
|
24
|
+
* ### An allowlist, and nothing clever
|
|
25
|
+
*
|
|
26
|
+
* Denying `javascript:` is the version that has a bug. Browsers
|
|
27
|
+
* throw tabs and newlines away before they read a scheme, so
|
|
28
|
+
* `JaVaScript:`, a tab in the middle of the word, and a leading
|
|
29
|
+
* newline are one URL to a navigation and three different strings to
|
|
30
|
+
* a blocklist. This normalises the way a browser does, asks what
|
|
31
|
+
* scheme is left, and accepts only names it recognises. A URL with
|
|
32
|
+
* **no** scheme is relative and is always fine.
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* A scheme, per RFC 3986: a letter, then letters, digits, `+`, `-`
|
|
36
|
+
* or `.`, then the colon. Anchored, and the character class has no
|
|
37
|
+
* `/` in it — so `notes/2026:rack.md` is read as the relative path
|
|
38
|
+
* it is rather than as a `notes/2026` scheme.
|
|
39
|
+
*/
|
|
40
|
+
const SCHEME_PATTERN = /^([a-z][a-z0-9+.-]*):/;
|
|
41
|
+
/**
|
|
42
|
+
* `[text](<url with spaces>)` is CommonMark's escape hatch for a URL
|
|
43
|
+
* that contains a space, and the parser hands the angle brackets
|
|
44
|
+
* through as part of the `URL` node. They are not part of the URL.
|
|
45
|
+
*/
|
|
46
|
+
const toBareUrl = (url) => url.replace(/^<|>$/g, "");
|
|
47
|
+
/**
|
|
48
|
+
* What a browser discards before it looks at a URL: the C0 control
|
|
49
|
+
* range and the space. Stripping all of it is deliberately *more*
|
|
50
|
+
* aggressive than the URL standard, which removes only tab and the
|
|
51
|
+
* two newline characters — erring this way can only turn a URL that
|
|
52
|
+
* would have been treated as relative into one that is rejected,
|
|
53
|
+
* which is the harmless direction.
|
|
54
|
+
*/
|
|
55
|
+
const toNormalizedUrl = (url) => toBareUrl(url)
|
|
56
|
+
// biome-ignore lint/suspicious/noControlCharactersInRegex: matching them is the entire point
|
|
57
|
+
.replace(/[\u0000-\u0020]/g, "")
|
|
58
|
+
.toLowerCase();
|
|
59
|
+
const toSchemeName = (url) => SCHEME_PATTERN.exec(toNormalizedUrl(url))?.[1];
|
|
60
|
+
/**
|
|
61
|
+
* The schemes a link may carry.
|
|
62
|
+
*
|
|
63
|
+
* `mailto:` and `tel:` are here because a README that prints a
|
|
64
|
+
* contact address is ordinary and neither one can execute. `file:`
|
|
65
|
+
* is not, because it reads the *reader's* disk.
|
|
66
|
+
*/
|
|
67
|
+
const LINK_SCHEMES = new Set([
|
|
68
|
+
"http",
|
|
69
|
+
"https",
|
|
70
|
+
"mailto",
|
|
71
|
+
"tel",
|
|
72
|
+
]);
|
|
73
|
+
/** The schemes an image's `src` may carry, `data:` aside. */
|
|
74
|
+
const IMAGE_SCHEMES = new Set(["http", "https"]);
|
|
75
|
+
/**
|
|
76
|
+
* `data:`, allowed for an image type only — which is not the hole it
|
|
77
|
+
* looks like.
|
|
78
|
+
*
|
|
79
|
+
* A `data:image/svg+xml` document loaded through `<img>` is a
|
|
80
|
+
* replaced element: no script execution, no network, no reach into
|
|
81
|
+
* the embedding page. That is why it is the one inline format worth
|
|
82
|
+
* having, and why this repo's own `Avatar` story uses it for a
|
|
83
|
+
* portrait that needs no fixture file. `data:text/html` is a
|
|
84
|
+
* different thing entirely and does not match this.
|
|
85
|
+
*/
|
|
86
|
+
const DATA_IMAGE_PATTERN = /^data:image\/[a-z0-9.+-]+[,;]/;
|
|
87
|
+
/**
|
|
88
|
+
* The link's URL, or `undefined` when it must not become one.
|
|
89
|
+
*
|
|
90
|
+
* A rejected URL is not rewritten and not blanked — the text stays
|
|
91
|
+
* exactly where the author put it and simply stops being a link.
|
|
92
|
+
* That is the honest failure: the reader still sees every character
|
|
93
|
+
* of the source, and can still read the URL itself in the
|
|
94
|
+
* raw-markdown view, but nothing on the page will navigate to it.
|
|
95
|
+
*/
|
|
96
|
+
export const toSafeLinkUrl = (url) => {
|
|
97
|
+
const scheme = toSchemeName(url);
|
|
98
|
+
if (scheme === undefined) {
|
|
99
|
+
// No scheme at all: a relative path, a `#fragment`, a `?query`,
|
|
100
|
+
// or a protocol-relative `//host/path`. None of them can name an
|
|
101
|
+
// executable scheme, so all of them are fine.
|
|
102
|
+
return toBareUrl(url);
|
|
103
|
+
}
|
|
104
|
+
return LINK_SCHEMES.has(scheme)
|
|
105
|
+
? toBareUrl(url)
|
|
106
|
+
: undefined;
|
|
107
|
+
};
|
|
108
|
+
/** The image's `src`, or `undefined` when it must not have one. */
|
|
109
|
+
export const toSafeImageUrl = (url) => {
|
|
110
|
+
const scheme = toSchemeName(url);
|
|
111
|
+
if (scheme === undefined) {
|
|
112
|
+
return toBareUrl(url);
|
|
113
|
+
}
|
|
114
|
+
if (scheme === "data") {
|
|
115
|
+
return DATA_IMAGE_PATTERN.test(toNormalizedUrl(url))
|
|
116
|
+
? toBareUrl(url)
|
|
117
|
+
: undefined;
|
|
118
|
+
}
|
|
119
|
+
return IMAGE_SCHEMES.has(scheme)
|
|
120
|
+
? toBareUrl(url)
|
|
121
|
+
: undefined;
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=safeUrls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safeUrls.js","sourceRoot":"","sources":["../../src/markdownEditorCodeMirror/safeUrls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;GAKG;AACH,MAAM,cAAc,GAAG,uBAAuB,CAAA;AAE9C;;;;GAIG;AACH,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AAE5D;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CACtC,SAAS,CAAC,GAAG,CAAC;IACZ,6FAA6F;KAC5F,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;KAC/B,WAAW,EAAE,CAAA;AAElB,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CACnC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAEhD;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,MAAM;IACN,OAAO;IACP,QAAQ;IACR,KAAK;CACN,CAAC,CAAA;AAEF,6DAA6D;AAC7D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,kBAAkB,GAAG,+BAA+B,CAAA;AAE1D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAW,EACS,EAAE;IACtB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAEhC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,gEAAgE;QAChE,iEAAiE;QACjE,8CAA8C;QAC9C,OAAO,SAAS,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IAED,OAAO,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;QAC7B,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;QAChB,CAAC,CAAC,SAAS,CAAA;AACf,CAAC,CAAA;AAED,mEAAmE;AACnE,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,GAAW,EACS,EAAE;IACtB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAEhC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;YAChB,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;QAC9B,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;QAChB,CAAC,CAAC,SAAS,CAAA;AACf,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -15,6 +15,11 @@ stored string.
|
|
|
15
15
|
|
|
16
16
|
<Canvas of={MarkdownEditorStories.Default} />
|
|
17
17
|
|
|
18
|
+
> **Reading rather than editing?** `isReadOnly` here leaves the toolbar on screen, because it
|
|
19
|
+
> means "an editor you cannot type in". A surface with no toolbar in the DOM is
|
|
20
|
+
> [`MarkdownView`](?path=/docs/components-data-markdownview--docs), in the
|
|
21
|
+
> `@charcuterie/ui/markdown-editor-codemirror` subpath.
|
|
22
|
+
|
|
18
23
|
## Props
|
|
19
24
|
|
|
20
25
|
<Controls />
|
|
@@ -22,6 +22,17 @@ import { MarkdownEditorCodeMirror } from "@charcuterie/ui/markdown-editor-codemi
|
|
|
22
22
|
|
|
23
23
|
<Controls />
|
|
24
24
|
|
|
25
|
+
## Reading, not editing
|
|
26
|
+
|
|
27
|
+
`isReadOnly` here means *an editor you cannot type in*: the toolbar stays, drawn in its
|
|
28
|
+
disabled colours above a document nobody is editing. That is right for a form field that is
|
|
29
|
+
temporarily locked, and wrong for reading a file.
|
|
30
|
+
|
|
31
|
+
For reading, take **[`MarkdownView`](?path=/docs/components-data-markdownview--docs)** from
|
|
32
|
+
this same subpath. It has no toolbar in the DOM at all, it is controlled rather than
|
|
33
|
+
uncontrolled, its content is a `role="article"` instead of a `role="textbox"`, and it renders
|
|
34
|
+
**identically** to this component because it is the same code — same range rules, same theme.
|
|
35
|
+
|
|
25
36
|
## Which of the two editors you want
|
|
26
37
|
|
|
27
38
|
`MarkdownEditor` is still the default, and most consumers should keep it.
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { Canvas, Controls, Meta } from "@storybook/addon-docs/blocks";
|
|
2
|
+
|
|
3
|
+
import * as MarkdownViewStories from "./MarkdownView.stories";
|
|
4
|
+
|
|
5
|
+
<Meta of={MarkdownViewStories} />
|
|
6
|
+
|
|
7
|
+
# MarkdownView
|
|
8
|
+
|
|
9
|
+
Rendered markdown, with **no toolbar in the DOM** and nothing to type into. The same
|
|
10
|
+
document, drawn the same way, as the editor beside it.
|
|
11
|
+
|
|
12
|
+
It is **opt-in**, from the same subpath as the editor:
|
|
13
|
+
|
|
14
|
+
```tsx
|
|
15
|
+
import { MarkdownView } from "@charcuterie/ui/markdown-editor-codemirror"
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
<Canvas of={MarkdownViewStories.Default} />
|
|
19
|
+
|
|
20
|
+
## Props
|
|
21
|
+
|
|
22
|
+
<Controls />
|
|
23
|
+
|
|
24
|
+
## Which of the three you want
|
|
25
|
+
|
|
26
|
+
| | `MarkdownEditor` | `MarkdownEditorCodeMirror` | `MarkdownView` |
|
|
27
|
+
| --- | --- | --- | --- |
|
|
28
|
+
| For | typing markdown | typing markdown, rendered | **reading** markdown |
|
|
29
|
+
| Surface | `<textarea>` + painted layer | CodeMirror 6 | CodeMirror 6 |
|
|
30
|
+
| New dependency | none | ~176 KB gz, optional peer | the same one |
|
|
31
|
+
| Toolbar | nine buttons | nine buttons + a switch | **none, ever** |
|
|
32
|
+
| Value | `defaultValue` | `defaultValue` | **`value`, controlled** |
|
|
33
|
+
| Content role | `textbox` | `textbox` | **`article`** |
|
|
34
|
+
|
|
35
|
+
`isReadOnly` on either editor is **not** this. It means *an editor you cannot type in*: the
|
|
36
|
+
nine formatting buttons are still there, still in the accessibility tree, drawn in their
|
|
37
|
+
disabled colours above a document nobody is editing. That is right for a form field that is
|
|
38
|
+
temporarily locked, and wrong for reading a file — which is what this exists for.
|
|
39
|
+
|
|
40
|
+
## No toolbar means no toolbar
|
|
41
|
+
|
|
42
|
+
`queryAllByRole("toolbar")` returns nothing here, and so does `queryAllByRole("button")`.
|
|
43
|
+
That is asserted rather than described, because the workaround it replaces was a CSS rule
|
|
44
|
+
in a consuming app keyed on `role="toolbar"`, and CSS is a poor place to keep a promise:
|
|
45
|
+
`visibility: hidden` leaves the buttons in the accessibility tree, `opacity: 0` leaves them
|
|
46
|
+
in the tab order, and even `display: none` leaves the *overflow menu button* the toolbar
|
|
47
|
+
collapses into at narrow widths.
|
|
48
|
+
|
|
49
|
+
## It renders what the editor renders
|
|
50
|
+
|
|
51
|
+
<Canvas of={MarkdownViewStories.SameAsTheEditor} />
|
|
52
|
+
|
|
53
|
+
One string, two surfaces, side by side. They agree because they **are the same code** —
|
|
54
|
+
`livePreviewRanges.ts` decides what every construct looks like and both call it, over the
|
|
55
|
+
same GFM parse, under the same theme.
|
|
56
|
+
|
|
57
|
+
That is the whole reason this lives in the CodeMirror subpath instead of being a
|
|
58
|
+
`react-markdown` reader in the main barrel. A second renderer agrees on the day it is
|
|
59
|
+
written and drifts afterwards, one construct at a time, and the bug arrives six months later
|
|
60
|
+
as *"the table changed when I saved it"*. There is no second renderer here to drift.
|
|
61
|
+
|
|
62
|
+
The cost is honest and worth stating: a consumer who wants **only** the reader still installs
|
|
63
|
+
CodeMirror. For an app that renders markdown in three places and edits it in one, that is the
|
|
64
|
+
right way round — the dependency is paid once.
|
|
65
|
+
|
|
66
|
+
## It is controlled, and the editors are not
|
|
67
|
+
|
|
68
|
+
`value` in, and that is it. Fetch a file at a different commit hash, pass the new string, and
|
|
69
|
+
the page changes — no `key`, no remount, no stale document sitting above a new title.
|
|
70
|
+
|
|
71
|
+
The editors take `defaultValue` because reassigning an `EditorView`'s document from outside
|
|
72
|
+
throws away the undo history that belonged to it, which is a real cost and is why they ask
|
|
73
|
+
for a `key` instead. A view has no undo history and no caret to protect, so it has nothing to
|
|
74
|
+
lose by simply rendering what it is given.
|
|
75
|
+
|
|
76
|
+
## A `- [ ]` box is inert unless you say where the tick goes
|
|
77
|
+
|
|
78
|
+
<Canvas of={MarkdownViewStories.AllStates} />
|
|
79
|
+
|
|
80
|
+
Pass `onToggleTask` and the checkboxes are operable; leave it out and they render
|
|
81
|
+
**disabled**. The state is still on screen either way — that is a fact about the document
|
|
82
|
+
and belongs there — but nothing pretends the reader can change it.
|
|
83
|
+
|
|
84
|
+
This is the same shape as `onUploadImage` on the editors: omit the handler and the capability
|
|
85
|
+
is simply not offered, which beats offering one that half works. Two of the three surfaces
|
|
86
|
+
this component was built for — a rendered comment, and a repo file fetched at a commit hash —
|
|
87
|
+
have nowhere to put a tick, and a box that visibly toggles and then loses the change on
|
|
88
|
+
reload is worse than one that says up front it cannot.
|
|
89
|
+
|
|
90
|
+
`onToggleTask` hands back the **whole next markdown document**, exactly like the editors'
|
|
91
|
+
`onChange`, so one autosave wires to both. The view applies the tick to its own document
|
|
92
|
+
immediately so the box responds under the pointer; if the consumer rejects the change, the
|
|
93
|
+
next `value` puts it back.
|
|
94
|
+
|
|
95
|
+
## Hostile markdown
|
|
96
|
+
|
|
97
|
+
This will render files fetched from a git host, so the document is untrusted by default.
|
|
98
|
+
|
|
99
|
+
<Canvas of={MarkdownViewStories.HostileMarkdown} />
|
|
100
|
+
|
|
101
|
+
**Raw HTML in the source is never parsed as HTML.** There is no `innerHTML` in this subpath,
|
|
102
|
+
no `dangerouslySetInnerHTML`, and no sanitiser to have a bug in. CodeMirror's state holds the
|
|
103
|
+
source as *text* and every rendered node is `createElement` plus `textContent`, so a
|
|
104
|
+
`<script>` in a fetched README is drawn as the characters `<script>`. It is not stripped,
|
|
105
|
+
not escaped and not "sanitised" — there is simply no code path that would turn it into an
|
|
106
|
+
element.
|
|
107
|
+
|
|
108
|
+
**A URL is checked before it is used as one.** That was the one place the document reached the
|
|
109
|
+
platform, and it was live in the editor too: `[click](javascript:…)` concealed its markup,
|
|
110
|
+
painted as a link, and `window.open` ran it in this origin. Both components now go through an
|
|
111
|
+
allowlist that normalises the way a browser does, so `JaVaScript:` and a tab in the middle of
|
|
112
|
+
the word are the same URL to it. A rejected link is **left as source** — brackets, parentheses
|
|
113
|
+
and all — rather than repainted as a link-coloured word that silently refuses to work.
|
|
114
|
+
Images take `http:`, `https:` and `data:image/*` only; `data:text/html` is not an image.
|
|
115
|
+
|
|
116
|
+
**The reader is not a beacon.** Remote images carry `referrerpolicy="no-referrer"`, so an
|
|
117
|
+
image in somebody else's file cannot learn which page loaded it.
|
|
118
|
+
|
|
119
|
+
What is *not* claimed: nothing here stops a document linking somewhere unpleasant, and the
|
|
120
|
+
images the markdown names are still fetched — that is what rendering them means.
|
|
121
|
+
|
|
122
|
+
## Accessibility
|
|
123
|
+
|
|
124
|
+
The content is `role="article"`, not the `role="textbox"` CodeMirror writes by default, and
|
|
125
|
+
that swap is the difference between reading a document and being trapped in a text field: a
|
|
126
|
+
screen reader entering a textbox switches to forms mode and reads the contents as one flat
|
|
127
|
+
string, with no heading navigation and no table navigation.
|
|
128
|
+
|
|
129
|
+
So the structure has to be real, and two pieces of it are:
|
|
130
|
+
|
|
131
|
+
- **Headings carry `role="heading"` and an `aria-level`**, so the H key steps between
|
|
132
|
+
sections. The editor deliberately has none of this — ARIA flattens a textbox's contents, so
|
|
133
|
+
a heading role inside one would be a decoration that lies about what it does.
|
|
134
|
+
- **Links are real `<a href>` elements**, in the tab order, activated by Enter, with an
|
|
135
|
+
address the browser will show and copy. The editor cannot have these: an anchor inside a
|
|
136
|
+
`contenteditable` competes with the caret for its line, which is why the editor paints a
|
|
137
|
+
span and translates a `mousedown` instead — and why clicking link text *there* cannot place
|
|
138
|
+
a caret.
|
|
139
|
+
|
|
140
|
+
<Canvas of={MarkdownViewStories.Interactive} />
|
|
141
|
+
|
|
142
|
+
**The document itself is not a tab stop.** There is nothing in it to operate, and a reading
|
|
143
|
+
surface that swallowed a Tab would be one more thing between the reader and the next control.
|
|
144
|
+
Every link inside it is reachable, in document order.
|
|
145
|
+
|
|
146
|
+
List structure is **visual only**, and worth knowing rather than discovering: the `-` bullet
|
|
147
|
+
is drawn as a dimmed marker rather than concealed, the same way it is in the editor, so a
|
|
148
|
+
list reads as a list on screen but is not a `<ul>` in the tree. Tables are real `<table>`
|
|
149
|
+
elements with real `<th>`s, because the table widget builds one.
|
|
150
|
+
|
|
151
|
+
## The Narrow View
|
|
152
|
+
|
|
153
|
+
<Canvas of={MarkdownViewStories.Responsive} />
|
|
154
|
+
|
|
155
|
+
A table too wide for its column scrolls **inside its own block** rather than pushing the
|
|
156
|
+
column sideways, and an image is capped at the width it is given. Nothing here is keyed to a
|
|
157
|
+
viewport width; a column in a three-up board is narrow on a 4K display.
|