-
Notifications
You must be signed in to change notification settings - Fork 0
/
notion-kroki.user.js.map
1 lines (1 loc) · 8.63 KB
/
notion-kroki.user.js.map
1
{"version":3,"file":"notion-kroki.user.js","sources":["src/common/utils.ts","src/main.ts","src/index.ts"],"sourcesContent":["export type Any = Parameters<typeof console.log>[0];\n\nexport function debounce<\n T extends (...args: Any[]) => void,\n P extends Parameters<T>,\n>(func: T, wait: number): (...args: P) => void {\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n return (...args: P) => {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n timeoutId = undefined;\n func(...args);\n }, wait);\n };\n}\n\nexport function _debug(...data: Any[]): void {\n if (isDebugMode()) {\n console.log(...data);\n }\n}\n\nexport function isDebugMode(): boolean {\n return !!localStorage.getItem(\"debug\");\n}\n","import type { KrokiOption } from \"./@types/types.ts\";\nimport { _debug, debounce } from \"./common/utils.ts\";\nconst defaultConfig: KrokiOption = {\n serverPath: \"https://kroki.io/\",\n};\n\nexport function main(element: HTMLElement | null = null) {\n const blocks: HTMLElement[] = Array.from(\n (element || document.body).querySelectorAll(\"*\"),\n ).filter((it) => it.innerHTML.trim().startsWith(\"//kroki \")) as HTMLElement[];\n for (const codeDiv of blocks) {\n const lines = codeDiv.textContent?.split(\"\\n\")?? [];\n const type = lines[0].replace(\"//kroki\", \"\").trim();\n if (!type.trim()) continue;\n const data = lines.filter((_value, index) => index !== 0).join(\"\\n\");\n if (!data.trim()) continue;\n const svgUrl = plant(data, type, defaultConfig);\n const div = document.createElement(\"div\");\n div.setAttribute(\n \"style\",\n \"display: flex; flex-direction: row; place-content: center;\",\n );\n div.setAttribute(\"notion-kroki\", \"true\");\n div.innerHTML =\n `<object type=\"image/svg+xml\" style=\"max-width: 100%;\" data=\"${svgUrl}\" />`;\n\n const parentElement = codeDiv.parentElement?.parentElement;\n if(!parentElement) {\n continue\n }\n const preCreatedNode = parentElement.querySelector(\"div[notion-kroki]\");\n if (preCreatedNode) {\n const preSvgUrl = preCreatedNode.firstElementChild?.getAttribute(\"data\");\n _debug(`preSvgUrl:${preSvgUrl}`);\n _debug(`svgUrl:${svgUrl}`);\n if (preSvgUrl === svgUrl) {\n continue;\n }\n parentElement.removeChild(preCreatedNode);\n }\n\n parentElement.appendChild(div);\n }\n}\n\nfunction textEncode(str: string) {\n return new TextEncoder().encode(str);\n}\n\nfunction plant(content: string, type: string, config: KrokiOption) {\n _debug(`kroki render type: ${type}`);\n _debug(`kroki render content:\\n${content}`);\n\n const urlPrefix = `${config.serverPath + type}/svg/`;\n const data: Uint8Array = textEncode(content);\n const compressed: string = strFromU8(fflate.zlibSync(data, { level: 9 }));\n const result: string = btoa(compressed)\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\");\n const svgUrl: string = urlPrefix + result;\n\n return svgUrl;\n}\n\nexport function init_listener() {\n if (typeof MutationObserver !== typeof undefined) {\n new MutationObserver(check).observe(document, {\n childList: true,\n subtree: true,\n });\n }\n}\n\nconst render = debounce(main, 100);\n\nfunction check(mutations: MutationRecord[], _observer: MutationObserver) {\n // _debug(\"mutations\", mutations);\n render();\n}\n\nfunction strFromU8(dat: Uint8Array) {\n let r = \"\";\n const s = 2 ** 15;\n for (let i = 0; i < dat.length; i += s) {\n r += String.fromCharCode(...dat.subarray(i, i + s));\n }\n return r;\n}\n","import { init_listener, main } from \"./main.ts\";\nmain();\ninit_listener();\n"],"names":["debounce","func","wait","timeoutId","args","clearTimeout","setTimeout","undefined","_debug","data","isDebugMode","console","log","localStorage","getItem","defaultConfig","serverPath","main","element","blocks","Array","from","document","body","querySelectorAll","filter","it","innerHTML","trim","startsWith","codeDiv","lines","textContent","split","type","replace","_value","index","join","svgUrl","plant","div","createElement","setAttribute","parentElement","preCreatedNode","querySelector","preSvgUrl","firstElementChild","getAttribute","removeChild","appendChild","textEncode","str","TextEncoder","encode","content","config","urlPrefix","compressed","strFromU8","fflate","zlibSync","level","result","btoa","init_listener","MutationObserver","check","observe","childList","subtree","render","mutations","_observer","dat","r","s","i","length","String","fromCharCode","subarray"],"mappings":"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"}