Article editor toolbar: toggling fences/links, class pickers, sizes, Tab indent
- Image insert always adds an empty "" caption with the cursor inside. - Fenced blocks (``` code, ::: aside) share one toggle: clicked inside one it is removed and the content selected; otherwise the selection (expanded to whole lines) is wrapped, cursor left on the opener line. - Code button: inline wrap toggles (selection preserved, backtick runs), line-spanning selections make fenced blocks. - Link button toggles: clicked inside [label](url) it unwraps. - Block classes via two pickers (placement, AA size) with current-class indication and a "normal" reset; placement replaces ::: container names, fences get their own attribute line. - New .small/.large/.huge text-size classes (0.7/1.5/3em); base body is exactly 1rem so the scale is uniform. - .left/.right floats generalized from figures to any block. - Toolbar polish: non-emoji glyphs, scaled-up symbols, borderless hover/active states, reordered (B/i and size last). - Editor panel no longer closes on Escape. - CodeMirror editors capture Tab/Shift-Tab for indent/dedent.
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
import { computed, onActivated, onMounted, onUnmounted, ref, watch } from 'vue'
|
||||
import { EditorView, basicSetup } from 'codemirror'
|
||||
import { EditorState } from '@codemirror/state'
|
||||
import { keymap } from '@codemirror/view'
|
||||
import { indentWithTab } from '@codemirror/commands'
|
||||
import { css } from '@codemirror/lang-css'
|
||||
import { html } from '@codemirror/lang-html'
|
||||
import { cmHighlight, cmTheme } from './cmtheme'
|
||||
@@ -487,6 +489,8 @@ onMounted(async () => {
|
||||
doc: '',
|
||||
extensions: [
|
||||
basicSetup,
|
||||
// Tab/Shift-Tab indent and dedent instead of moving focus.
|
||||
keymap.of([indentWithTab]),
|
||||
css(),
|
||||
cmTheme,
|
||||
cmHighlight,
|
||||
@@ -506,6 +510,8 @@ onMounted(async () => {
|
||||
doc: '',
|
||||
extensions: [
|
||||
basicSetup,
|
||||
// Tab/Shift-Tab indent and dedent instead of moving focus.
|
||||
keymap.of([indentWithTab]),
|
||||
html(),
|
||||
cmTheme,
|
||||
cmHighlight,
|
||||
|
||||
Reference in New Issue
Block a user