forked from denoland/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.ts
More file actions
31 lines (26 loc) · 1.17 KB
/
server.ts
File metadata and controls
31 lines (26 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import "@std/dotenv/load";
import Server from "lume/core/server.ts";
import NotFoundMiddleware from "lume/middlewares/not_found.ts";
import apiDocumentContentTypeMiddleware from "./middleware/apiDocContentType.ts";
import createGAMiddleware from "./middleware/googleAnalytics.ts";
import redirectsMiddleware from "./middleware/redirects.ts";
import createRoutingMiddleware from "./middleware/functionRoutes.ts";
import expires from "lume/middlewares/expires.ts";
import createLlmsFilesMiddleware from "./middleware/llmsFiles.ts";
import createMarkdownSourceMiddleware from "./middleware/markdownSource.ts";
export const server = new Server({ root: "_site" });
server.use(redirectsMiddleware);
server.use(createMarkdownSourceMiddleware({ root: "_site" }));
server.use(createLlmsFilesMiddleware({ root: "_site" }));
server.use(NotFoundMiddleware({ root: "_site", page404: "./404/" }));
server.use(createRoutingMiddleware());
server.use(createGAMiddleware(server));
server.use(apiDocumentContentTypeMiddleware);
server.use(expires({
"defaultDuration": 60 * 60 * 1000,
"durations": {
"text/css": 24 * 60 * 60 * 1000,
},
}));
server.start();
console.log("Listening on http://localhost:8000");