Personal no-bs blogging platform.
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435import { Eta } from "eta";import type { Context } from "hono";import path from "node:path";
import * as constants from "@/lib/constants.ts";import { getCookie } from "hono/cookie";import utils from "@/lib/utils";
const eta = new Eta({ views: path.join(import.meta.dirname, "../../views"), useWith: true});
export default async function render_view(c: Context, view: string, data?: any) { const user = await c.get('user'); const error = await c.get('error'); const message = await c.get('message'); const logged_in = getCookie(c, 'session'); return c.html(eta.render(view, { ...data, constants, user, logged_in, error, message, utils }));}
/** * DOES NOT RETURN A c.html(). * @param c Hono context. * @param view Template to render. * @param data Data (optional) * @returns HTML. */export async function render_template(c: Context, view: string, data?: any): Promise<string> { const user = await c.get('user'); const error = await c.get('error'); const logged_in = getCookie(c, 'session'); return eta.render(view, { ...data, constants, user, logged_in, error, utils });}