diff --git a/src/app/src/types/content.ts b/src/app/src/types/content.ts index 9d621a34..14606a9a 100644 --- a/src/app/src/types/content.ts +++ b/src/app/src/types/content.ts @@ -3,7 +3,6 @@ import type { CollectionType } from '@nuxt/content' export interface MarkdownParsingOptions { compress?: boolean collectionType?: CollectionType - preserveLinkAttributes?: boolean } export interface SyntaxHighlightTheme { diff --git a/src/module/src/runtime/utils/document/compare.ts b/src/module/src/runtime/utils/document/compare.ts index ff8f7fb1..e95c4d48 100644 --- a/src/module/src/runtime/utils/document/compare.ts +++ b/src/module/src/runtime/utils/document/compare.ts @@ -9,7 +9,7 @@ import { generateDocumentFromContent } from './generate' import { removeLastStylesFromTree } from './tree' export async function isDocumentMatchingContent(content: string, document: DatabaseItem): Promise { - const generatedDocument = await generateDocumentFromContent(document.id, content, { compress: true, preserveLinkAttributes: true }) as DatabaseItem + const generatedDocument = await generateDocumentFromContent(document.id, content, { compress: true }) as DatabaseItem if (generatedDocument.extension === ContentFileExtension.Markdown) { const { body: generatedBody, ...generatedDocumentData } = generatedDocument diff --git a/src/module/src/runtime/utils/document/generate.ts b/src/module/src/runtime/utils/document/generate.ts index 2797eaa8..e2f6b3d0 100644 --- a/src/module/src/runtime/utils/document/generate.ts +++ b/src/module/src/runtime/utils/document/generate.ts @@ -1,12 +1,10 @@ import type { MarkdownRoot } from '@nuxt/content' -import type { MDCElement, MDCRoot } from '@nuxtjs/mdc' +import type { MDCRoot } from '@nuxtjs/mdc' import type { DatabaseItem, DatabasePageItem, MarkdownParsingOptions } from 'nuxt-studio/app' -import type { Node } from 'unist' import { consola } from 'consola' import { ContentFileExtension } from '../../types/content' import { parseMarkdown } from '@nuxtjs/mdc/runtime/parser/index' import { stringifyMarkdown } from '@nuxtjs/mdc/runtime' -import { visit } from 'unist-util-visit' import { compressTree, decompressTree } from '@nuxt/content/runtime' import destr from 'destr' import { parseFrontMatter, stringifyFrontMatter } from 'remark-mdc' @@ -109,14 +107,6 @@ export async function generateDocumentFromMarkdownContent(id: string, content: s }, }) - // Remove nofollow from links (skip when preserving attributes for comparison purposes) - if (!options.preserveLinkAttributes) { - visit(document.body, (node: unknown) => (node as MDCElement).type === 'element' && (node as MDCElement).tag === 'a', (node: unknown) => { - // TODO: handle rel custom properties - Reflect.deleteProperty((node as MDCElement).props!, 'rel') - }) - } - let body = document.body as never as MarkdownRoot if (options.compress && document.body.type === 'root') { body = compressTree(document.body) @@ -177,12 +167,6 @@ export async function generateContentFromMarkdownDocument(document: DatabaseItem // @ts-expect-error todo fix MarkdownRoot/MDCRoot conversion in MDC module const body = document.body!.type === 'minimark' ? decompressTree(document.body) : (document.body as MDCRoot) - // Remove nofollow from links - visit(body, (node: Node) => (node as MDCElement).type === 'element' && (node as MDCElement).tag === 'a', (node: Node) => { - // TODO: handle rel custom properties - Reflect.deleteProperty((node as MDCElement).props!, 'rel') - }) - const markdown = await stringifyMarkdown(body, cleanDataKeys(document), { frontMatter: { options: {