From 7beb564dd63624dce148401b2644dafa278af837 Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Mon, 7 Oct 2024 17:46:19 +0800 Subject: feat: add menu item for append ref style link on selection --- src/MenuItem.mjs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/MenuItem.mjs') diff --git a/src/MenuItem.mjs b/src/MenuItem.mjs index 9218b45..f5dfb5b 100644 --- a/src/MenuItem.mjs +++ b/src/MenuItem.mjs @@ -366,3 +366,25 @@ export const restoreCamera = map => text: 'Restore Camera', onclick: () => map.renderer.restoreCamera() }) + +/** + * addRefLink. replace selected text into markdown link by reference style links + * + * @param {CodeMirror} cm + * @param {Object[]} refLinks -- object for { ref, link } + */ +export const addRefLink = (cm, refLinks) => + new Folder({ + text: 'Add Link', + items: refLinks.map(refLink => new Item({ + text: refLink.ref, + onclick: () => { + const selection = cm.getSelection() + if (selection === refLink.ref) { + cm.replaceSelection(`[${selection}]`) + } else { + cm.replaceSelection(`[${selection}][${refLink.ref}]`) + } + } + })) + }) -- cgit v1.2.3-70-g09d2