From 6faa1de012fde268423d4149256c02eb2c480ab9 Mon Sep 17 00:00:00 2001 From: Danpa_cho Date: Wed, 26 Nov 2025 22:21:45 +0900 Subject: [PATCH 1/8] feat: add jsdoc creator, markdown converter for JSDoc creation --- packages/create_freestyle_fetch/src/utils.ts | 83 ++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/packages/create_freestyle_fetch/src/utils.ts b/packages/create_freestyle_fetch/src/utils.ts index 0cda5ee..2712fe6 100644 --- a/packages/create_freestyle_fetch/src/utils.ts +++ b/packages/create_freestyle_fetch/src/utils.ts @@ -52,3 +52,86 @@ export function toPascalCase(str: string): string { }) .join('') } + +/** + * Converts HTML content to Markdown for better JSDoc rendering + */ +export function convertHtmlToMarkdown(html: string): string { + if (!html) return '' + + let markdown = html + // Replace

tags with double newlines + .replace(/

/g, '\n\n') + .replace(/<\/p>/g, '') + // Replace
with newline + .replace(//g, '\n') + // Replace tags with markdown links [text](url) + .replace( + /]*?\s+)?href="([^"]*)"[^>]*>(.*?)<\/a>/g, + '[$2]($1)' + ) + // Replace tags with backticks + .replace(/(.*?)<\/code>/g, '`$1`') + // Replace and with bold + .replace(/<(?:strong|b)>(.*?)<\/(?:strong|b)>/g, '**$1**') + // Replace and with italic + .replace(/<(?:em|i)>(.*?)<\/(?:em|i)>/g, '*$1*') + // Replace