mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-28 12:33:35 +01:00
Add support for markdown notebook renderers (#115191)
* Use shared webpack version instead of installing locally for simple-browser * Use npm for building markdown preview * render markdown in webview. * update markdown preview height and offset * Add basic custom notebook renderer point * update css * style update. * update markdown header padding left * Add example of loading katex to extend the markdown-it renderer * Rename global to make clear it only applies to markdown-in * hide/remove markdown preview * Add wait for initial markdown preview rendering before showing notebook * Add double click to switch to editing mode * Fix markdown cells not getting updated after editing * style polish * notebook.experimental.useMarkdownRenderer * switch render strategy. * Adding very intial drag drop support for notebook markdown cells * Implement drag/drop stubs for test classes * Revert unrelated file changes * Move markdown notebook math to own extension * Add missing imports Co-authored-by: rebornix <penn.lv@gmail.com>
This commit is contained in:
29
extensions/markdown-language-features/notebook/index.ts
Normal file
29
extensions/markdown-language-features/notebook/index.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as MarkdownIt from 'markdown-it';
|
||||
|
||||
declare const acquireNotebookRendererApi: any;
|
||||
type extendMarkdownItFnType = (
|
||||
(f: (md: MarkdownIt.MarkdownIt) => void) => void
|
||||
);
|
||||
|
||||
(function () {
|
||||
const markdownIt = new MarkdownIt();
|
||||
|
||||
(globalThis as any).extendMarkdownIt = ((f: (md: MarkdownIt.MarkdownIt) => void) => {
|
||||
f(markdownIt);
|
||||
}) as extendMarkdownItFnType;
|
||||
|
||||
const notebook = acquireNotebookRendererApi('notebookCoreTestRenderer');
|
||||
|
||||
notebook.onDidCreateMarkdown(({ element, content }: any) => {
|
||||
console.log('did create markdown cell');
|
||||
const rendered = markdownIt.render(content);
|
||||
element.innerHTML = rendered;
|
||||
});
|
||||
|
||||
console.log('markdown-it');
|
||||
}());
|
||||
Reference in New Issue
Block a user