Merge pull request #9 from TxtDot/start-surfing

feat: start surfing page
This commit is contained in:
Andrey 2023-08-14 20:54:28 +04:00 committed by GitHub
commit c1dfd4d517
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 48 additions and 4 deletions

View File

@ -28,9 +28,9 @@
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1", "test": "echo \"Error: no test specified\" && exit 1",
"build": "tsc", "build": "tsc",
"dev": "ts-node src/app.ts", "start-ts": "ts-node src/app.ts",
"start": "node dist/app.js", "start": "node dist/app.js",
"watch": "tsc-watch --onSuccess \"node dist/app.js\"" "dev": "tsc-watch --onSuccess \"node dist/app.js\""
}, },
"keywords": [], "keywords": [],
"authors": [ "authors": [

View File

@ -5,8 +5,9 @@ import Fastify from "fastify";
import fastifyView from "@fastify/view"; import fastifyView from "@fastify/view";
import ejs from "ejs"; import ejs from "ejs";
import mainRoute from "./routes/main-route"; import mainRoute from "./routes/main";
import parseRoute from "./routes/parseRoute"; import parseRoute from "./routes/parse";
import startRoute from "./routes/start";
class App { class App {
config: IConfigService; config: IConfigService;
@ -28,6 +29,7 @@ class App {
fastify.register(mainRoute); fastify.register(mainRoute);
fastify.register(parseRoute); fastify.register(parseRoute);
fastify.register(startRoute);
fastify.listen({ port: Number(this.config.get("PORT")) }, (err) => { fastify.listen({ port: Number(this.config.get("PORT")) }, (err) => {
err && console.log(err); err && console.log(err);

7
src/routes/start.ts Normal file
View File

@ -0,0 +1,7 @@
import { FastifyInstance } from "fastify";
export default async function parseRoute(fastify: FastifyInstance) {
fastify.get("/start", async (_, reply) => {
return reply.view("/templates/start.ejs");
});
}

35
templates/start.ejs Normal file
View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>TXTDot starting page</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<form action="/">
<label for="url">URL</label>
<input type="text" name="url">
<p>
<label for="engine">Engine</label>
<select name="engine">
<option selected value>Standard</option>
<option value="readability">Readability</option>
</select>
</p>
<p>
<label for="format">Format</label>
<select name="format">
<option selected value>Standard</option>
<option value="html">HTML</option>
<option value="text">Text</option>
</select>
</p>
<input type="submit">
</form>
</body>
</html>