diff --git a/package.json b/package.json index b52a6ff57..8e579381b 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,6 @@ "flatpickr": "4.6.13", "flexsearch": "0.7.31", "floating-vue": "2.0.0-beta.24", - "highlight.js": "11.9.0", "is-touch-device": "1.0.1", "klona": "2.0.6", "lodash.debounce": "4.0.8", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a8a2c02ea..ab5e7e74f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -187,9 +187,6 @@ dependencies: floating-vue: specifier: 2.0.0-beta.24 version: 2.0.0-beta.24(vue@3.3.6) - highlight.js: - specifier: 11.9.0 - version: 11.9.0 is-touch-device: specifier: 1.0.1 version: 1.0.1 @@ -7665,11 +7662,6 @@ packages: engines: {node: '>=12.0.0'} dev: false - /highlight.js@11.9.0: - resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==} - engines: {node: '>=12.0.0'} - dev: false - /histoire@0.17.2(@types/node@18.18.6)(sass@1.69.4)(terser@5.10.0)(vite@4.5.0): resolution: {integrity: sha512-Mz+4AWBs+P2TeopXJ0qG4ZsrpuLggNPNF3yG4Q8yg8kXcd6a9DXUWuEElYbglod/xP5XB8efaDy2nibLTybJzg==} hasBin: true diff --git a/src/components/input/editor/TipTap.vue b/src/components/input/editor/TipTap.vue index c84621d60..62b73b985 100644 --- a/src/components/input/editor/TipTap.vue +++ b/src/components/input/editor/TipTap.vue @@ -159,7 +159,6 @@ import {Node} from '@tiptap/pm/model' import Commands from './commands' import suggestionSetup from './suggestion' -// load all highlight.js languages import {lowlight} from 'lowlight' import type {BottomAction, UploadCallback} from './types' diff --git a/src/helpers/markdownRenderer.ts b/src/helpers/markdownRenderer.ts deleted file mode 100644 index 2c3993534..000000000 --- a/src/helpers/markdownRenderer.ts +++ /dev/null @@ -1,45 +0,0 @@ -import {marked} from 'marked' -import hljs from 'highlight.js/lib/common' - -export function setupMarkdownRenderer(checkboxId: string) { - const renderer = new marked.Renderer() - const linkRenderer = renderer.link - - let checkboxNum = -1 - marked.use({ - renderer: { - image(src: string, title: string, text: string) { - - title = title ? ` title="${title}` : '' - - // If the url starts with the api url, the image is likely an attachment and - // we'll need to download and parse it properly. - if (src.slice(0, window.API_URL.length + 7) === `${window.API_URL}/tasks/`) { - return `${text}` - } - - return `${text}` - }, - checkbox(checked: boolean) { - let checkedString = '' - if (checked) { - checkedString = 'checked' - } - - checkboxNum++ - return `` - }, - link(href: string, title: string, text: string) { - const isLocal = href.startsWith(`${location.protocol}//${location.hostname}`) - const html = linkRenderer.call(renderer, href, title, text) - return isLocal ? html : html.replace(/^ import {computed} from 'vue' -import {setupMarkdownRenderer} from '@/helpers/markdownRenderer' import DOMPurify from 'dompurify' -import {createRandomID} from '@/helpers/randomId' import {useProjectStore} from '@/stores/projects' const props = defineProps({ @@ -35,7 +33,6 @@ const htmlDescription = computed(() => { return '' } - setupMarkdownRenderer(createRandomID()) return DOMPurify.sanitize(description, {ADD_ATTR: ['target']}) })