module.exports = { eleventyComputed: { content: async () => { // Retrieve the /now page from the server const response = await fetch("https://api.omg.lol/address/lewis/now"); const body = await response.json(); // Convert the unix timestamp to a JS datetime timestamp const updated = new Date(body.response.now.updated * 1000); let content = body.response.now.content; // Replace the last-updated tag content = content.replace("{last-updated}", `Updated ${updated.toLocaleDateString('en-GB', { dateStyle: "medium" })}`); // Strip out omg.lol-specific tags content = content.replaceAll(/{[^}]*}/g, ""); // remove comments content = content.replaceAll(/\/\*.*?\*\//g, ""); // Remove everything before the --- Now --- marker, because I handle page titles and headings in 11ty if (content.includes("--- Now ---")) { const [before, after] = content.split("--- Now ---"); content = after; } return content; } } }