A prototype using Monaco Editor to demonstrate how we could highlight content blocks within publishing apps.
-
Clone the repo
-
Install dependencies:
yarn install
-
Run the development server:
yarn run dev
-
Access the Example editor
-
Run tests
yarn run testE2E tests (using Playwright)
yarn run e2e-test
The editor can be used as a "drop-in" replacement for textareas, allowing Content Block embed codes from Content Block Manager to be highlighted, and (in future) provide contextual information about the blocks.
Currently, all that the application does is highlight blocks like so:
In future, we'd like to:
- Add contextual information (using
registerInlayHintsProvider) - Add information about a block on hover (using
registerHoverProvider) - Highlight invalid / not found blocks
- Add autocompletion (using
registerCompletionItemProvider)
Additionally, we can quite easily provide Markdown highlighting using see the Markdown example here, but we need to test the basic principle with users first.
A (very rough) prototype containing much of these features can be found in the Prototype directory. The most interesting stuff can be found in the monaco.js file
You can see a demo of the work so far here
