Highlight
Apply a highlight color behind selected text. Stored data keeps only allowed color names instead of arbitrary CSS color values, so the document data and visual style stay separate.
Wings
Base typefaceOffset
HTMLLoading the editor…
JSONnabi-treeLoading the editor…
Install
npm install nabi-noteCode
import {
createNabiWith, mountSurface, mountToolbar, mountContextToolbar,
mountHints, watchSettle, textColorWing, highlightWing, linkWing,
mountViewTools,
} from 'nabi-note'
const selected = [
textColorWing,
highlightWing,
linkWing,
]
const { nabi, registry } = createNabiWith(selected)
const root = document.querySelector('.nabi')!
const content = document.querySelector('.nabi-content')!
// The locale also sets the direction — Arabic and Urdu run right to left
mountSurface({ nabi, registry, root: content, locale: 'en' })
const settle = watchSettle(document, { surface: content })
const shared = { nabi, registry, surface: content, settle, locale: 'en' }
const toolbar = mountToolbar({ ...shared, root: document.querySelector('#toolbar')! })
const context = mountContextToolbar({ ...shared, root: document.querySelector('#context')! })
mountHints({ toolbar, context, root, surface: content })
// The preview and fullscreen buttons — they stand their own box at the end of the row
mountViewTools({ ...shared, root, container: document.querySelector('#toolbar')! })
// on every change — hook up your own code here
// nabi.onChange(() => user_callback(nabi.getHtml()))ts
const selected = wings().use('hl', {
values: ['yellow', 'green', 'cyan'],
}).build()If values is omitted, the default palette is yellow, green, cyan, pink, purple, and orange. If you narrow the list, colors that are not registered are not preserved even when an existing document is loaded.
CSS Styles
The document stores only color names. Change the editor and published view colors through CSS variables.
css
.nabi-content { --nabi-hl-yellow: #fff0a6; }Changing several colors together lets you keep the document's color names while adapting only the product mood.
css
.article-body {
--nabi-hl-yellow: #fff0a6;
--nabi-hl-green: #c8f0d8;
--nabi-hl-pink: #ffd6e5;
}