UNPKG

md-cli-converter

Version:

A CLI tool that converts Markdown files into static HTML websites with customizable themes

42 lines (36 loc) 1.09 kB
const fs = require("fs"); const path = require("path"); const ejs = require("ejs"); function renderHTML( htmlContent, metadata, theme = "default", isFallback = false ) { try { const themePath = path.join( __dirname, "../templates/themes", `${theme}.ejs` ); if (!fs.existsSync(themePath)) { if (isFallback) { console.error(`Default theme not found. Cannot render HTML.`); return `<h1>Error: No valid theme available</h1>`; } console.warn(`Theme "${theme}" not found. Using default theme.`); return renderHTML(htmlContent, metadata, "default", true); } const template = fs.readFileSync(themePath, "utf-8"); return ejs.render(template, { title: metadata.title || "Untitled Document", author: metadata.author || "Unknown", date: metadata.date || new Date().toISOString().split("T")[0], content: htmlContent, }); } catch (error) { console.error("Error rendering HTML:", error); return `<h1>Error generating page</h1>`; } } module.exports = { renderHTML };