import { writeFile } from "node:fs/promises"; import { join } from "node:path"; const fileReq = await fetch('https://cdn.nhcarrigan.com?prefix=koikatsu'); const files = await fileReq.text(); const keys = files.matchAll(/<Key>(.*?)<\/Key>/g); const keyNames = [...keys].map((key) => key[1]?.replace("koikatsu/", "")); const keyHtml = keyNames.map((key) => `<div style=" height: 300px; width: 300px; border: 2px solid var(--foreground); " > <a href="https://cdn.nhcarrigan.com/koikatsu/${key}" target="_blank"> <img style="height: 250px; max-width: 250px; object-fit: contain" src="https://cdn.nhcarrigan.com/koikatsu/${key}" alt="Digital art of Naomi." /> </a> </div>`); const html = `<!DOCTYPE html> <html lang="en"> <head> <title>NHCarrigan</title> </head> <body> <main> <h1>Naomi</h1> <p>For an interactive 3D reference, visit <a href="https://hub.vroid.com/en/characters/6033404747153826650/models/3483506204509065121" target="_blank" rel="noopener noreferrer">VRoid Hub</a>.</p> <section style="display: grid; grid-template-columns: 1fr 1fr 1fr"> ${keyHtml.join('')} </section> </main> </body> <script src="https://cdn.nhcarrigan.com/headers/index.js"></script> </html>`; await writeFile(join(import.meta.dirname, "site", "koikatsu.html"), html, "utf-8");