@mdzip/editor 1.3.17 → 1.3.19
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/library-info.d.ts +1 -1
- package/dist/library-info.js +1 -1
- package/dist/view-css.d.ts.map +1 -1
- package/dist/view-css.js +14 -0
- package/dist/view-css.js.map +1 -1
- package/dist/view.d.ts +18 -0
- package/dist/view.d.ts.map +1 -1
- package/dist/view.js +208 -25
- package/dist/view.js.map +1 -1
- package/package.json +1 -1
package/dist/library-info.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const MDZIP_RUNTIME_LIBRARIES: readonly [{
|
|
2
2
|
readonly name: "@mdzip/editor";
|
|
3
|
-
readonly version: "1.3.
|
|
3
|
+
readonly version: "1.3.19";
|
|
4
4
|
readonly repositoryUrl: "https://github.com/mdzip-project/mdzip-editor";
|
|
5
5
|
readonly description: "MDZip workspace engine and browser UI.";
|
|
6
6
|
}, {
|
package/dist/library-info.js
CHANGED
package/dist/view-css.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-css.d.ts","sourceRoot":"","sources":["../src/view-css.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"view-css.d.ts","sourceRoot":"","sources":["../src/view-css.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,aAAa,QA06DzB,CAAC"}
|
package/dist/view-css.js
CHANGED
|
@@ -797,6 +797,16 @@ export const WORKSPACE_CSS = `
|
|
|
797
797
|
background: var(--mdzip-hover-background-color);
|
|
798
798
|
}
|
|
799
799
|
|
|
800
|
+
.mdzip-root .nav-context-menu button:disabled {
|
|
801
|
+
opacity: 0.6;
|
|
802
|
+
cursor: default;
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
.mdzip-root .nav-context-menu button:disabled:hover,
|
|
806
|
+
.mdzip-root .nav-context-menu button:disabled:focus-visible {
|
|
807
|
+
background: transparent;
|
|
808
|
+
}
|
|
809
|
+
|
|
800
810
|
.mdzip-root .nav-menu-separator {
|
|
801
811
|
height: 1px;
|
|
802
812
|
margin: 4px 6px;
|
|
@@ -879,6 +889,10 @@ export const WORKSPACE_CSS = `
|
|
|
879
889
|
overflow: auto;
|
|
880
890
|
}
|
|
881
891
|
|
|
892
|
+
.mdzip-root .preview-pane:focus {
|
|
893
|
+
outline: none;
|
|
894
|
+
}
|
|
895
|
+
|
|
882
896
|
.mdzip-root .entry-pane {
|
|
883
897
|
overflow: auto;
|
|
884
898
|
}
|
package/dist/view-css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-css.js","sourceRoot":"","sources":["../src/view-css.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,UAAU,CAC/D,UAAU,EACV,kBAAkB,CACnB,CAAC;AACF,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,UAAU,CAC7D,UAAU,EACV,kBAAkB,CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;IAUzB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4DnB,wBAAwB;;;;;IAKxB,uBAAuB
|
|
1
|
+
{"version":3,"file":"view-css.js","sourceRoot":"","sources":["../src/view-css.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,UAAU,CAC/D,UAAU,EACV,kBAAkB,CACnB,CAAC;AACF,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,UAAU,CAC7D,UAAU,EACV,kBAAkB,CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;IAUzB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4DnB,wBAAwB;;;;;IAKxB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+1D1B,CAAC"}
|
package/dist/view.d.ts
CHANGED
|
@@ -62,6 +62,11 @@ export interface MdzipLayoutControlPolicy {
|
|
|
62
62
|
split?: boolean;
|
|
63
63
|
preview?: boolean;
|
|
64
64
|
}
|
|
65
|
+
export interface MdzipContextMenuControlPolicy {
|
|
66
|
+
enabled?: boolean;
|
|
67
|
+
editor?: boolean;
|
|
68
|
+
preview?: boolean;
|
|
69
|
+
}
|
|
65
70
|
export interface MdzipFormattingControlPolicy {
|
|
66
71
|
enabled?: boolean;
|
|
67
72
|
bold?: boolean;
|
|
@@ -84,6 +89,8 @@ export interface MdzipControlPolicy {
|
|
|
84
89
|
title?: boolean | MdzipTitleControlPolicy;
|
|
85
90
|
layout?: boolean | MdzipLayoutControlPolicy;
|
|
86
91
|
formatting?: boolean | MdzipFormattingControlPolicy;
|
|
92
|
+
/** Right-click context menus for the source editor and rendered preview. */
|
|
93
|
+
contextMenu?: boolean | MdzipContextMenuControlPolicy;
|
|
87
94
|
lineNumbers?: boolean;
|
|
88
95
|
save?: boolean;
|
|
89
96
|
zoom?: boolean;
|
|
@@ -111,6 +118,10 @@ export interface MdzipResolvedLayoutControlPolicy {
|
|
|
111
118
|
split: boolean;
|
|
112
119
|
preview: boolean;
|
|
113
120
|
}
|
|
121
|
+
export interface MdzipResolvedContextMenuControlPolicy {
|
|
122
|
+
editor: boolean;
|
|
123
|
+
preview: boolean;
|
|
124
|
+
}
|
|
114
125
|
export interface MdzipResolvedFormattingControlPolicy {
|
|
115
126
|
bold: boolean;
|
|
116
127
|
italic: boolean;
|
|
@@ -132,6 +143,7 @@ export interface MdzipResolvedControlPolicy {
|
|
|
132
143
|
title: MdzipResolvedTitleControlPolicy;
|
|
133
144
|
layout: MdzipResolvedLayoutControlPolicy;
|
|
134
145
|
formatting: MdzipResolvedFormattingControlPolicy;
|
|
146
|
+
contextMenu: MdzipResolvedContextMenuControlPolicy;
|
|
135
147
|
lineNumbers: boolean;
|
|
136
148
|
save: boolean;
|
|
137
149
|
zoom: boolean;
|
|
@@ -323,6 +335,8 @@ export declare class MdzipWorkspaceView {
|
|
|
323
335
|
private readonly searchCompartment;
|
|
324
336
|
private updatingCm;
|
|
325
337
|
private syncing;
|
|
338
|
+
private lastSyncedEditorScrollTop;
|
|
339
|
+
private lastSyncedPreviewScrollTop;
|
|
326
340
|
private markdownRenderer?;
|
|
327
341
|
private markdownExtensions;
|
|
328
342
|
private entryRenderers;
|
|
@@ -596,6 +610,10 @@ export declare class MdzipWorkspaceView {
|
|
|
596
610
|
private resetImageInsertSizeValue;
|
|
597
611
|
private editorMenuItems;
|
|
598
612
|
private handleEditorMenuAction;
|
|
613
|
+
private previewMenuItems;
|
|
614
|
+
private handlePreviewMenuAction;
|
|
615
|
+
private copyPreviewSelection;
|
|
616
|
+
private selectAllPreviewContent;
|
|
599
617
|
private insertCodeBlock;
|
|
600
618
|
private clearSelectionFormatting;
|
|
601
619
|
private editorClipboard;
|
package/dist/view.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.ts"],"names":[],"mappings":"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"}
|
package/dist/view.js
CHANGED
|
@@ -5,7 +5,7 @@ import { closeSearchPanel, openSearchPanel, search, searchKeymap } from '@codemi
|
|
|
5
5
|
import { Compartment, EditorState } from '@codemirror/state';
|
|
6
6
|
import { Decoration, EditorView, MatchDecorator, ViewPlugin, dropCursor, keymap, lineNumbers } from '@codemirror/view';
|
|
7
7
|
import { tags } from '@lezer/highlight';
|
|
8
|
-
import { Bold, Check, ChevronDown, ChevronRight, ClipboardPaste, ClipboardType, Code, Columns2, Copy, Eraser, Eye, File, FileBraces, FileImage, Folder, FolderOpen, Hash, Heading1, Heading2, Heading3, Heading4, Heading5, Heading6, Highlighter, ImagePlus, Info, Italic, Link2Off, Link, List, ListOrdered, CornerDownLeft, Moon, PackagePlus, PanelLeft, Pilcrow, Quote, Save, Scissors, Search, SquareCode, SquarePen, Strikethrough, Sun, TextSelect, ZoomIn } from 'lucide';
|
|
8
|
+
import { Bold, Check, ChevronDown, ChevronRight, ClipboardPaste, ClipboardType, Code, Columns2, Copy, Eraser, Eye, File, FileBraces, FileImage, Folder, FolderOpen, Hash, Heading1, Heading2, Heading3, Heading4, Heading5, Heading6, Highlighter, ImagePlus, Info, Italic, Link2Off, Link, List, ListOrdered, CornerDownLeft, Moon, PackagePlus, PanelLeft, Pilcrow, Quote, Save, Scissors, Search, SpellCheck, SquareCode, SquarePen, Strikethrough, Sun, TextSelect, ZoomIn } from 'lucide';
|
|
9
9
|
import { browserClipboardHasImage, readBrowserClipboardImage } from './browser.js';
|
|
10
10
|
import { MdzipAssetSession, mdzipArchiveSourceId, sniffImageSize } from './asset-cache.js';
|
|
11
11
|
import { MD_MARKDOWN_ICON } from './icons/md-markdown.js';
|
|
@@ -71,6 +71,7 @@ const MENU_COPY_ICON_HTML = lucideIcon(Copy, MENU_ICON_CLASS);
|
|
|
71
71
|
const MENU_PASTE_ICON_HTML = lucideIcon(ClipboardPaste, MENU_ICON_CLASS);
|
|
72
72
|
const MENU_PASTE_PLAIN_ICON_HTML = lucideIcon(ClipboardType, MENU_ICON_CLASS);
|
|
73
73
|
const MENU_SELECT_ALL_ICON_HTML = lucideIcon(TextSelect, MENU_ICON_CLASS);
|
|
74
|
+
const MENU_SPELLCHECK_ICON_HTML = lucideIcon(SpellCheck, MENU_ICON_CLASS);
|
|
74
75
|
const MENU_BOLD_ICON_HTML = lucideIcon(Bold, MENU_ICON_CLASS);
|
|
75
76
|
const MENU_ITALIC_ICON_HTML = lucideIcon(Italic, MENU_ICON_CLASS);
|
|
76
77
|
const MENU_STRIKE_ICON_HTML = lucideIcon(Strikethrough, MENU_ICON_CLASS);
|
|
@@ -137,7 +138,8 @@ function renderContextMenuItem(item) {
|
|
|
137
138
|
const shortcut = item.shortcut
|
|
138
139
|
? `<span class="nav-menu-shortcut">${escapeHtml(item.shortcut)}</span>`
|
|
139
140
|
: '';
|
|
140
|
-
|
|
141
|
+
const disabledAttrs = item.disabled ? ' disabled aria-disabled="true"' : '';
|
|
142
|
+
return `<button type="button" role="menuitem" data-menu-action="${escapeHtml(item.action)}"${disabledAttrs}>${icon}${label}${shortcut}</button>`;
|
|
141
143
|
}
|
|
142
144
|
function renderContextMenuItems(items) {
|
|
143
145
|
return items
|
|
@@ -150,6 +152,10 @@ const ALL_LAYOUT_CONTROLS = {
|
|
|
150
152
|
split: true,
|
|
151
153
|
preview: true
|
|
152
154
|
};
|
|
155
|
+
const ALL_CONTEXT_MENU_CONTROLS = {
|
|
156
|
+
editor: true,
|
|
157
|
+
preview: true
|
|
158
|
+
};
|
|
153
159
|
const ALL_FORMATTING_CONTROLS = {
|
|
154
160
|
bold: true,
|
|
155
161
|
italic: true,
|
|
@@ -186,6 +192,7 @@ const CONTROL_PRESETS = {
|
|
|
186
192
|
title: { visible: false, editable: false },
|
|
187
193
|
layout: { source: false, split: false, preview: false },
|
|
188
194
|
formatting: { ...NO_FORMATTING_CONTROLS },
|
|
195
|
+
contextMenu: { ...ALL_CONTEXT_MENU_CONTROLS },
|
|
189
196
|
lineNumbers: false,
|
|
190
197
|
save: false,
|
|
191
198
|
zoom: false,
|
|
@@ -202,6 +209,7 @@ const CONTROL_PRESETS = {
|
|
|
202
209
|
title: { visible: true, editable: false },
|
|
203
210
|
layout: { ...ALL_LAYOUT_CONTROLS },
|
|
204
211
|
formatting: { ...NO_FORMATTING_CONTROLS },
|
|
212
|
+
contextMenu: { ...ALL_CONTEXT_MENU_CONTROLS },
|
|
205
213
|
lineNumbers: true,
|
|
206
214
|
save: false,
|
|
207
215
|
zoom: true,
|
|
@@ -218,6 +226,7 @@ const CONTROL_PRESETS = {
|
|
|
218
226
|
title: { visible: true, editable: true },
|
|
219
227
|
layout: { ...ALL_LAYOUT_CONTROLS },
|
|
220
228
|
formatting: { ...ALL_FORMATTING_CONTROLS },
|
|
229
|
+
contextMenu: { ...ALL_CONTEXT_MENU_CONTROLS },
|
|
221
230
|
lineNumbers: true,
|
|
222
231
|
save: true,
|
|
223
232
|
zoom: true,
|
|
@@ -234,6 +243,7 @@ const CONTROL_PRESETS = {
|
|
|
234
243
|
title: { visible: true, editable: true },
|
|
235
244
|
layout: { ...ALL_LAYOUT_CONTROLS },
|
|
236
245
|
formatting: { ...ALL_FORMATTING_CONTROLS },
|
|
246
|
+
contextMenu: { ...ALL_CONTEXT_MENU_CONTROLS },
|
|
237
247
|
lineNumbers: true,
|
|
238
248
|
save: false,
|
|
239
249
|
zoom: true,
|
|
@@ -267,7 +277,8 @@ export function resolveMdzipControlPolicy(controls) {
|
|
|
267
277
|
preset,
|
|
268
278
|
title: resolveTitleControls(base.title, controls.title),
|
|
269
279
|
layout: resolveLayoutControls(base.layout, controls.layout),
|
|
270
|
-
formatting: resolveFormattingControls(base.formatting, controls.formatting)
|
|
280
|
+
formatting: resolveFormattingControls(base.formatting, controls.formatting),
|
|
281
|
+
contextMenu: resolveContextMenuControls(base.contextMenu, controls.contextMenu)
|
|
271
282
|
};
|
|
272
283
|
}
|
|
273
284
|
function defaultLayoutForPolicy(policy) {
|
|
@@ -284,7 +295,8 @@ function cloneResolvedControlPolicy(policy) {
|
|
|
284
295
|
formatting: {
|
|
285
296
|
...policy.formatting,
|
|
286
297
|
headings: [...policy.formatting.headings]
|
|
287
|
-
}
|
|
298
|
+
},
|
|
299
|
+
contextMenu: { ...policy.contextMenu }
|
|
288
300
|
};
|
|
289
301
|
}
|
|
290
302
|
function resolveTitleControls(base, override) {
|
|
@@ -308,6 +320,21 @@ function resolveLayoutControls(base, override) {
|
|
|
308
320
|
: base;
|
|
309
321
|
return { ...resolvedBase, ...controls };
|
|
310
322
|
}
|
|
323
|
+
function resolveContextMenuControls(base, override) {
|
|
324
|
+
if (typeof override === 'boolean') {
|
|
325
|
+
return { editor: override, preview: override };
|
|
326
|
+
}
|
|
327
|
+
if (!override) {
|
|
328
|
+
return { ...base };
|
|
329
|
+
}
|
|
330
|
+
const { enabled, ...controls } = override;
|
|
331
|
+
const resolvedBase = enabled === false
|
|
332
|
+
? { editor: false, preview: false }
|
|
333
|
+
: enabled === true
|
|
334
|
+
? { ...ALL_CONTEXT_MENU_CONTROLS }
|
|
335
|
+
: base;
|
|
336
|
+
return { ...resolvedBase, ...controls };
|
|
337
|
+
}
|
|
311
338
|
function resolveFormattingControls(base, override) {
|
|
312
339
|
if (typeof override === 'boolean') {
|
|
313
340
|
return override
|
|
@@ -492,7 +519,10 @@ const hardBreakMarkerHighlight = ViewPlugin.fromClass(class {
|
|
|
492
519
|
// the name to be '>' directly, which a URL's ':' never satisfies.
|
|
493
520
|
const htmlTagMarkerMatcher = new MatchDecorator({
|
|
494
521
|
regexp: /<\/?(?!br\b)[a-zA-Z][a-zA-Z0-9-]*(?:\s[^<>]*)?\/?>/gi,
|
|
495
|
-
|
|
522
|
+
// spellcheck="false" on the wrapping span opts this range out of the
|
|
523
|
+
// container-wide spellcheck attribute — tag/attribute names (img, src,
|
|
524
|
+
// align, citation, ...) aren't prose and shouldn't get underlined.
|
|
525
|
+
decoration: Decoration.mark({ class: 'mdzip-hard-break-marker', attributes: { spellcheck: 'false' } })
|
|
496
526
|
});
|
|
497
527
|
const htmlTagMarkerHighlight = ViewPlugin.fromClass(class {
|
|
498
528
|
constructor(view) {
|
|
@@ -714,6 +744,11 @@ export class MdzipWorkspaceView {
|
|
|
714
744
|
this.searchCompartment = new Compartment();
|
|
715
745
|
this.updatingCm = false;
|
|
716
746
|
this.syncing = false;
|
|
747
|
+
// Last value this class itself wrote to each pane's scrollTop, used to
|
|
748
|
+
// recognize and ignore the echoed 'scroll' event that write produces (see
|
|
749
|
+
// syncScrollFromPreview/syncScrollToPreview).
|
|
750
|
+
this.lastSyncedEditorScrollTop = null;
|
|
751
|
+
this.lastSyncedPreviewScrollTop = null;
|
|
717
752
|
this.markdownExtensions = [];
|
|
718
753
|
this.entryRenderers = [];
|
|
719
754
|
this.renderingService = new MdzipRenderingService();
|
|
@@ -1912,6 +1947,9 @@ export class MdzipWorkspaceView {
|
|
|
1912
1947
|
htmlTagMarkerHighlight,
|
|
1913
1948
|
EditorView.lineWrapping,
|
|
1914
1949
|
dropCursor(),
|
|
1950
|
+
// Content is contenteditable, but browsers don't agree on a default
|
|
1951
|
+
// for unconfigured spellcheck there — set it explicitly (#33).
|
|
1952
|
+
EditorView.contentAttributes.of({ spellcheck: 'true' }),
|
|
1915
1953
|
mdzipEditorTheme,
|
|
1916
1954
|
this.readOnlyCompartment.of(EditorState.readOnly.of(mode === 'read-only')),
|
|
1917
1955
|
EditorView.updateListener.of((update) => {
|
|
@@ -2168,7 +2206,9 @@ export class MdzipWorkspaceView {
|
|
|
2168
2206
|
if (this.contextMenuState) {
|
|
2169
2207
|
const items = this.contextMenuState.kind === 'nav'
|
|
2170
2208
|
? this.navMenuItems(this.contextMenuState.target, snapshot)
|
|
2171
|
-
: this.
|
|
2209
|
+
: this.contextMenuState.kind === 'editor'
|
|
2210
|
+
? this.editorMenuItems(snapshot)
|
|
2211
|
+
: this.previewMenuItems();
|
|
2172
2212
|
if (items.length === 0) {
|
|
2173
2213
|
this.contextMenuState = null;
|
|
2174
2214
|
}
|
|
@@ -2253,6 +2293,21 @@ export class MdzipWorkspaceView {
|
|
|
2253
2293
|
this.render();
|
|
2254
2294
|
}
|
|
2255
2295
|
});
|
|
2296
|
+
// Ctrl/Cmd+A normally selects the whole page, which in split layout grabs
|
|
2297
|
+
// both panes' text at once. Scope it to the rendered content instead when
|
|
2298
|
+
// focus is inside the preview pane (see the mousedown handler below for
|
|
2299
|
+
// how it gets there); the source editor keeps its own defaultKeymap
|
|
2300
|
+
// binding since CodeMirror's content root sits outside this element.
|
|
2301
|
+
doc.addEventListener('keydown', (e) => {
|
|
2302
|
+
if (e.key.toLowerCase() !== 'a' || !(e.ctrlKey || e.metaKey) || e.shiftKey || e.altKey) {
|
|
2303
|
+
return;
|
|
2304
|
+
}
|
|
2305
|
+
if (!doc.activeElement || !this.elPreviewPane.contains(doc.activeElement)) {
|
|
2306
|
+
return;
|
|
2307
|
+
}
|
|
2308
|
+
e.preventDefault();
|
|
2309
|
+
this.selectAllPreviewContent();
|
|
2310
|
+
});
|
|
2256
2311
|
this.elNavBtn.addEventListener('click', () => {
|
|
2257
2312
|
if (!this.controlPolicy.navigation) {
|
|
2258
2313
|
return;
|
|
@@ -2525,6 +2580,9 @@ export class MdzipWorkspaceView {
|
|
|
2525
2580
|
if (this.contextMenuState?.kind === 'editor') {
|
|
2526
2581
|
void this.handleEditorMenuAction(action);
|
|
2527
2582
|
}
|
|
2583
|
+
else if (this.contextMenuState?.kind === 'preview') {
|
|
2584
|
+
this.handlePreviewMenuAction(action);
|
|
2585
|
+
}
|
|
2528
2586
|
else {
|
|
2529
2587
|
void this.handleNavMenuAction(action);
|
|
2530
2588
|
}
|
|
@@ -2555,6 +2613,9 @@ export class MdzipWorkspaceView {
|
|
|
2555
2613
|
submenu.style.top = `${clampedTop - rect.top}px`;
|
|
2556
2614
|
});
|
|
2557
2615
|
this.elEditorHost.addEventListener('contextmenu', (e) => {
|
|
2616
|
+
if (!this.controlPolicy.contextMenu.editor) {
|
|
2617
|
+
return;
|
|
2618
|
+
}
|
|
2558
2619
|
const snapshot = this.workspace?.snapshot();
|
|
2559
2620
|
if (!snapshot || !this.cmEditor) {
|
|
2560
2621
|
return;
|
|
@@ -2575,6 +2636,27 @@ export class MdzipWorkspaceView {
|
|
|
2575
2636
|
e.stopPropagation();
|
|
2576
2637
|
this.render();
|
|
2577
2638
|
});
|
|
2639
|
+
this.elPreviewPane.addEventListener('contextmenu', (e) => {
|
|
2640
|
+
if (!this.controlPolicy.contextMenu.preview) {
|
|
2641
|
+
return;
|
|
2642
|
+
}
|
|
2643
|
+
// Captured now, not read live in the click handler: clicking the menu
|
|
2644
|
+
// button collapses the browser selection before the action runs (same
|
|
2645
|
+
// reason the editor menu captures its CodeMirror range up front).
|
|
2646
|
+
const domSelection = this.elPreviewPane.ownerDocument.defaultView?.getSelection();
|
|
2647
|
+
const text = domSelection && !domSelection.isCollapsed
|
|
2648
|
+
&& this.elPreviewContent.contains(domSelection.anchorNode)
|
|
2649
|
+
? domSelection.toString()
|
|
2650
|
+
: '';
|
|
2651
|
+
this.contextMenuState = { kind: 'preview', text, x: e.clientX, y: e.clientY };
|
|
2652
|
+
if (this.previewMenuItems().length === 0) {
|
|
2653
|
+
this.contextMenuState = null;
|
|
2654
|
+
return;
|
|
2655
|
+
}
|
|
2656
|
+
e.preventDefault();
|
|
2657
|
+
e.stopPropagation();
|
|
2658
|
+
this.render();
|
|
2659
|
+
});
|
|
2578
2660
|
this.elNameInput.addEventListener('input', () => {
|
|
2579
2661
|
if (!this.nameDialogState) {
|
|
2580
2662
|
return;
|
|
@@ -2621,6 +2703,12 @@ export class MdzipWorkspaceView {
|
|
|
2621
2703
|
}
|
|
2622
2704
|
});
|
|
2623
2705
|
this.elPreviewPane.addEventListener('scroll', () => this.syncScrollFromPreview());
|
|
2706
|
+
// Gives the pane logical focus on click so a subsequent Ctrl/Cmd+A (below)
|
|
2707
|
+
// can be scoped to it. tabindex="-1" keeps it out of Tab order; this is
|
|
2708
|
+
// the only way it becomes focused.
|
|
2709
|
+
this.elPreviewPane.addEventListener('mousedown', () => {
|
|
2710
|
+
this.elPreviewPane.focus({ preventScroll: true });
|
|
2711
|
+
});
|
|
2624
2712
|
this.elPreviewPane.addEventListener('click', (event) => {
|
|
2625
2713
|
const link = event.target.closest('a[href]');
|
|
2626
2714
|
const snapshot = this.workspace?.snapshot();
|
|
@@ -3262,6 +3350,19 @@ export class MdzipWorkspaceView {
|
|
|
3262
3350
|
groups.push([{ action: 'editor-clear-format', label: 'Clear Formatting', icon: MENU_CLEAR_FORMAT_ICON_HTML }]);
|
|
3263
3351
|
}
|
|
3264
3352
|
groups.push([{ action: 'editor-select-all', label: 'Select All', icon: MENU_SELECT_ALL_ICON_HTML, shortcut: this.editorShortcut('A') }]);
|
|
3353
|
+
// This menu replaces the browser's native one, which is the only place
|
|
3354
|
+
// spelling suggestions live — there's no API to read the browser's
|
|
3355
|
+
// dictionary suggestions into a custom menu. Point at the escape hatch
|
|
3356
|
+
// instead of silently dropping the feature.
|
|
3357
|
+
if (editable) {
|
|
3358
|
+
groups.push([{
|
|
3359
|
+
action: 'editor-spelling-suggestions-hint',
|
|
3360
|
+
label: 'Spelling Suggestions',
|
|
3361
|
+
icon: MENU_SPELLCHECK_ICON_HTML,
|
|
3362
|
+
shortcut: 'Shift+Right-Click',
|
|
3363
|
+
disabled: true
|
|
3364
|
+
}]);
|
|
3365
|
+
}
|
|
3265
3366
|
return groups.flatMap((group, index) => (index === 0 ? group : [null, ...group]));
|
|
3266
3367
|
}
|
|
3267
3368
|
async handleEditorMenuAction(action) {
|
|
@@ -3327,6 +3428,72 @@ export class MdzipWorkspaceView {
|
|
|
3327
3428
|
break;
|
|
3328
3429
|
}
|
|
3329
3430
|
}
|
|
3431
|
+
// Items for the rendered-preview selection menu. Taking over `contextmenu`
|
|
3432
|
+
// to offer Select All also suppresses the browser's native menu — which is
|
|
3433
|
+
// the only thing that was otherwise offering Copy on a right-click — so
|
|
3434
|
+
// Copy has to be reinstated explicitly whenever there's a selection.
|
|
3435
|
+
previewMenuItems() {
|
|
3436
|
+
const state = this.contextMenuState;
|
|
3437
|
+
if (state?.kind !== 'preview' || !this.elPreviewContent.textContent?.trim()) {
|
|
3438
|
+
return [];
|
|
3439
|
+
}
|
|
3440
|
+
const items = [];
|
|
3441
|
+
if (state.text) {
|
|
3442
|
+
items.push({ action: 'preview-copy', label: 'Copy', icon: MENU_COPY_ICON_HTML, shortcut: this.editorShortcut('C') });
|
|
3443
|
+
items.push(null);
|
|
3444
|
+
}
|
|
3445
|
+
items.push({
|
|
3446
|
+
action: 'preview-select-all',
|
|
3447
|
+
label: 'Select All',
|
|
3448
|
+
icon: MENU_SELECT_ALL_ICON_HTML,
|
|
3449
|
+
shortcut: this.editorShortcut('A')
|
|
3450
|
+
});
|
|
3451
|
+
return items;
|
|
3452
|
+
}
|
|
3453
|
+
handlePreviewMenuAction(action) {
|
|
3454
|
+
const state = this.contextMenuState;
|
|
3455
|
+
this.contextMenuState = null;
|
|
3456
|
+
this.render();
|
|
3457
|
+
if (state?.kind !== 'preview') {
|
|
3458
|
+
return;
|
|
3459
|
+
}
|
|
3460
|
+
switch (action) {
|
|
3461
|
+
case 'preview-select-all':
|
|
3462
|
+
this.selectAllPreviewContent();
|
|
3463
|
+
break;
|
|
3464
|
+
case 'preview-copy':
|
|
3465
|
+
void this.copyPreviewSelection(state.text);
|
|
3466
|
+
break;
|
|
3467
|
+
}
|
|
3468
|
+
}
|
|
3469
|
+
async copyPreviewSelection(text) {
|
|
3470
|
+
if (!text) {
|
|
3471
|
+
return;
|
|
3472
|
+
}
|
|
3473
|
+
try {
|
|
3474
|
+
await this.editorClipboard()?.writeText(text);
|
|
3475
|
+
}
|
|
3476
|
+
catch (error) {
|
|
3477
|
+
this.options.onFailed?.(error);
|
|
3478
|
+
}
|
|
3479
|
+
}
|
|
3480
|
+
// Selects the full rendered content of the preview pane, scoped to that
|
|
3481
|
+
// pane rather than the whole page (native Ctrl+A / right-click Select All
|
|
3482
|
+
// would otherwise grab the source editor's text too in split layout).
|
|
3483
|
+
selectAllPreviewContent() {
|
|
3484
|
+
const doc = this.elPreviewContent.ownerDocument;
|
|
3485
|
+
const selection = doc.defaultView?.getSelection();
|
|
3486
|
+
if (!selection) {
|
|
3487
|
+
return;
|
|
3488
|
+
}
|
|
3489
|
+
// Focus before selecting: focusing the pane after building the range
|
|
3490
|
+
// collapses the selection right back out.
|
|
3491
|
+
this.elPreviewPane.focus({ preventScroll: true });
|
|
3492
|
+
const range = doc.createRange();
|
|
3493
|
+
range.selectNodeContents(this.elPreviewContent);
|
|
3494
|
+
selection.removeAllRanges();
|
|
3495
|
+
selection.addRange(range);
|
|
3496
|
+
}
|
|
3330
3497
|
// Inserts a fenced code block, carrying the chosen language as the fence info
|
|
3331
3498
|
// string. An empty language produces a plain ```` ``` ```` block.
|
|
3332
3499
|
insertCodeBlock(language) {
|
|
@@ -4284,37 +4451,53 @@ export class MdzipWorkspaceView {
|
|
|
4284
4451
|
if (this.syncing || !this.cmEditor || this.layout !== 'split') {
|
|
4285
4452
|
return;
|
|
4286
4453
|
}
|
|
4454
|
+
const currentTop = this.elPreviewPane.scrollTop;
|
|
4455
|
+
// Recognize this event as the echo of our own prior write (from
|
|
4456
|
+
// syncScrollToPreview) by comparing values instead of racing timing.
|
|
4457
|
+
// Setting scrollTop fires the target's own 'scroll' event
|
|
4458
|
+
// asynchronously, and how many frames later varies by platform — an
|
|
4459
|
+
// earlier version of this guard cleared a `syncing` flag on the next
|
|
4460
|
+
// requestAnimationFrame, which covered Chromium's timing but arrived too
|
|
4461
|
+
// early on Firefox/Linux, let the echo through, and re-triggered a sync
|
|
4462
|
+
// back in the other direction, compounding into visible drift. Comparing
|
|
4463
|
+
// against the exact value we last wrote to this exact property makes the
|
|
4464
|
+
// check independent of how long the echo takes to arrive.
|
|
4465
|
+
if (this.lastSyncedPreviewScrollTop !== null && Math.abs(currentTop - this.lastSyncedPreviewScrollTop) < 2) {
|
|
4466
|
+
return;
|
|
4467
|
+
}
|
|
4287
4468
|
this.syncing = true;
|
|
4288
4469
|
const previewHeight = this.elPreviewPane.scrollHeight - this.elPreviewPane.clientHeight;
|
|
4289
|
-
const scrollRatio = previewHeight > 0 ?
|
|
4470
|
+
const scrollRatio = previewHeight > 0 ? currentTop / previewHeight : 0;
|
|
4290
4471
|
const cmScroller = this.cmEditor.dom.querySelector('.cm-scroller');
|
|
4291
4472
|
if (cmScroller) {
|
|
4292
4473
|
const editorHeight = cmScroller.scrollHeight - cmScroller.clientHeight;
|
|
4293
|
-
|
|
4474
|
+
const target = scrollRatio * editorHeight;
|
|
4475
|
+
this.lastSyncedEditorScrollTop = target;
|
|
4476
|
+
cmScroller.scrollTop = target;
|
|
4294
4477
|
}
|
|
4295
|
-
|
|
4296
|
-
// event asynchronously (not inline with this assignment), so clearing
|
|
4297
|
-
// the guard synchronously here doesn't actually suppress that echo — it
|
|
4298
|
-
// arrives after `syncing` is already back to false, triggers a sync back
|
|
4299
|
-
// in the other direction, and small rounding differences between the two
|
|
4300
|
-
// panes' scroll ratios compound with each round trip. Clearing on the
|
|
4301
|
-
// next frame keeps the guard up until the echo has had its chance to fire.
|
|
4302
|
-
requestAnimationFrame(() => { this.syncing = false; });
|
|
4478
|
+
this.syncing = false;
|
|
4303
4479
|
}
|
|
4304
4480
|
syncScrollToPreview() {
|
|
4305
4481
|
if (this.syncing || !this.cmEditor || this.layout !== 'split') {
|
|
4306
4482
|
return;
|
|
4307
4483
|
}
|
|
4308
|
-
this.syncing = true;
|
|
4309
4484
|
const cmScroller = this.cmEditor.dom.querySelector('.cm-scroller');
|
|
4310
|
-
if (cmScroller) {
|
|
4311
|
-
|
|
4312
|
-
const scrollRatio = editorHeight > 0 ? cmScroller.scrollTop / editorHeight : 0;
|
|
4313
|
-
const previewHeight = this.elPreviewPane.scrollHeight - this.elPreviewPane.clientHeight;
|
|
4314
|
-
this.elPreviewPane.scrollTop = scrollRatio * previewHeight;
|
|
4485
|
+
if (!cmScroller) {
|
|
4486
|
+
return;
|
|
4315
4487
|
}
|
|
4316
|
-
|
|
4317
|
-
|
|
4488
|
+
const currentTop = cmScroller.scrollTop;
|
|
4489
|
+
// See syncScrollFromPreview: same echo-recognition approach, mirrored.
|
|
4490
|
+
if (this.lastSyncedEditorScrollTop !== null && Math.abs(currentTop - this.lastSyncedEditorScrollTop) < 2) {
|
|
4491
|
+
return;
|
|
4492
|
+
}
|
|
4493
|
+
this.syncing = true;
|
|
4494
|
+
const editorHeight = cmScroller.scrollHeight - cmScroller.clientHeight;
|
|
4495
|
+
const scrollRatio = editorHeight > 0 ? currentTop / editorHeight : 0;
|
|
4496
|
+
const previewHeight = this.elPreviewPane.scrollHeight - this.elPreviewPane.clientHeight;
|
|
4497
|
+
const target = scrollRatio * previewHeight;
|
|
4498
|
+
this.lastSyncedPreviewScrollTop = target;
|
|
4499
|
+
this.elPreviewPane.scrollTop = target;
|
|
4500
|
+
this.syncing = false;
|
|
4318
4501
|
}
|
|
4319
4502
|
}
|
|
4320
4503
|
function canShowSourceLayout(snapshot) {
|
|
@@ -4578,7 +4761,7 @@ const SHELL_HTML = `
|
|
|
4578
4761
|
</section>
|
|
4579
4762
|
<div class="split-resizer" data-ref="split-resizer"
|
|
4580
4763
|
role="separator" aria-orientation="vertical" aria-label="Resize split panes"></div>
|
|
4581
|
-
<section class="pane preview-pane" data-ref="preview-pane">
|
|
4764
|
+
<section class="pane preview-pane" data-ref="preview-pane" tabindex="-1">
|
|
4582
4765
|
<article class="preview-content" data-ref="preview-content"></article>
|
|
4583
4766
|
</section>
|
|
4584
4767
|
<section class="pane entry-pane" data-ref="entry-pane"></section>
|