This commit is contained in:
2025-12-21 23:39:07 +01:00
parent 2829504b2b
commit f40c02585f
15 changed files with 295 additions and 527 deletions

13
main.ts
View File

@@ -48,10 +48,9 @@ async function* siteEntries(path: string): AsyncGenerator<string> {
}
}
const publicFiles = siteEntries("public");
const sites: string[] = [];
for await (const path of publicFiles) {
sites.push(path);
for await (const entry of siteEntries("public")) {
sites.push(entry);
}
async function getAPIResponse(apiReq: Request): Promise<Response> {
@@ -223,12 +222,12 @@ Deno.serve({
// SSR
if (response === null) {
const baseDirectoryName = pathname.split("/")[1] ?? "";
let baseDirectoryName = pathname.split("/")[1] ?? "";
baseDirectoryName = baseDirectoryName === "" ? "home" : baseDirectoryName;
if (sites.includes(baseDirectoryName)) {
const appLocation = baseDirectoryName === "" ? "home" : baseDirectoryName;
const siteTemplate = join("public", baseDirectoryName, "index_template.html");
const siteEntry = join("app", appLocation, "server.ts");
const clientEntry = join("@", appLocation, "client.ts");
const siteEntry = join("app", baseDirectoryName, "server.ts");
const clientEntry = join("@", baseDirectoryName, "client.ts");
const { app, router } = (await import("./" + siteEntry)).default() as {
app: App;
router: Router | null;