Spaces:
Running
Running
const { convertHtmlToMarkdown } = htmlToSMD; | |
function isValidUrl(string) { | |
try { | |
new URL(string); | |
return true; | |
} catch (_) { | |
return false; | |
} | |
} | |
document | |
.getElementById("converter-form") | |
.addEventListener("submit", async function (e) { | |
e.preventDefault(); | |
const urlInput = document.getElementById("url-input").value; | |
const markdownOutput = document.getElementById("markdown-output"); | |
if (!isValidUrl(urlInput)) { | |
alert("Please enter a valid URL"); | |
return; | |
} | |
const extractMainContent = document.getElementById( | |
"extract-main-content" | |
).checked; | |
const refifyUrls = document.getElementById("refify-urls").checked; | |
const enableTableColumnTracking = document.getElementById( | |
"enable-table-column-tracking" | |
).checked; | |
const websiteDomain = document.getElementById("website-domain").value; | |
const options = { | |
extractMainContent, | |
refifyUrls, | |
enableTableColumnTracking, | |
websiteDomain: websiteDomain || undefined, | |
}; | |
try { | |
// Fetch HTML content from the server | |
const response = await fetch( | |
`/fetch-html?url=${encodeURIComponent(urlInput)}` | |
); | |
if (!response.ok) { | |
throw new Error("Failed to fetch HTML content"); | |
} | |
const htmlContent = await response.text(); | |
// Convert HTML to Markdown | |
const markdown = await convertHtmlToMarkdown(htmlContent, options); | |
markdownOutput.textContent = markdown; | |
} catch (error) { | |
markdownOutput.textContent = "Error: " + error.message; | |
} | |
}); | |