diff options
Diffstat (limited to 'source/index.ts')
-rw-r--r-- | source/index.ts | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/source/index.ts b/source/index.ts deleted file mode 100644 index 7c2a61b..0000000 --- a/source/index.ts +++ /dev/null @@ -1,45 +0,0 @@ -// SPDX-License-Identifier: AGPL-3.0-only -import { Application, Router, Response, Request } from "https://deno.land/x/oak@v10.1.0/mod.ts"; -import { compile, compileTemplate } from "https://deno.land/x/pug@v0.1.3/mod.ts"; - - -const app = new Application() -const router = new Router() - -const renderEnv = { - commit: Deno.readTextFileSync("./.git/refs/heads/main").toString().substring(0, 8) -} - -const templates: Map<string, compileTemplate> = new Map() -async function render(response: Response, _request: Request, name: string) { - const template = templates.get(name) ?? compile(await Deno.readTextFile(`./views/${name}.pug`), { filename: `./views/${name}.pug`, name: name }) - templates.set(name, template) - response.body = template({ ...renderEnv }) -} - -router.get("/", ({ response }) => response.redirect("/about")) - -router.get("/about", c => render(c.response, c.request, "about")) -router.get("/projects", c => render(c.response, c.request, "projects")) -router.get("/contact", c => render(c.response, c.request, "contact")) -router.get("/links", c => render(c.response, c.request, "links")) -router.get("/services", c => render(c.response, c.request, "services")) - -router.get("/licence", async ({ response }) => { - const content = await Deno.readTextFile("LICENCE") - response.headers.set("content-type", "text/plain") - response.body = content -}) - -router.get("/favicon.ico", ({ response }) => response.status = 204) // no content -router.get("/robots.txt", ({ response }) => { - response.body = "User-Agent: *\nDisallow: /\n" -}) - -const port = parseInt(Deno.env.get("PORT") ?? "8080") -const hostname = Deno.env.get("HOST") || "127.0.0.1" - -app.use(router.routes()) -app.listen({ port, hostname }) -console.log(`listening on http://${hostname}:${port}`); - |