Static site hosting via tangled
1import PagesService from "./pages-service.js";
2import express from "express";
3import dotenv from "dotenv";
4
5dotenv.config();
6
7const pagesService = new PagesService({
8 domain: process.env.KNOT_DOMAIN,
9 ownerDid: process.env.OWNER_DID,
10 repoName: process.env.REPO_NAME,
11 verbose: process.env.NODE_ENV === "development",
12});
13
14// preload to make sure there are no problems with the config
15await pagesService.loadConfig();
16
17const app = express();
18
19app.get("/{*any}", async (req, res) => {
20 const route = req.path;
21 const { status, content, contentType } = await pagesService.getPage(route);
22 res.status(status).set("Content-Type", contentType).send(content);
23});
24
25function main() {
26 const server = app.listen(3000, () => {
27 console.log("Server is running on port 3000");
28 });
29
30 server.on("error", (error) => {
31 console.error("Server error:", error);
32 });
33}
34
35main();