diff --git a/Source/Webserver/index.ts b/Source/Webserver/index.ts
index 25247b9..a51a025 100644
--- a/Source/Webserver/index.ts
+++ b/Source/Webserver/index.ts
@@ -1,10 +1,20 @@
import express from "express";
+import { Liquid } from "liquidjs";
+const engine = new Liquid();
const app = express();
const port = 3430;
-app.get('/', (req, res) => {
- res.send("Hello wold!");
-});
+app.engine('liquid', engine.express());
+app.set('views', ['./partials', './views']);
+app.set('view engine', 'liquid');
+
+app.get('/', function (req, res) {
+ const todos = ['fork and clone', 'make it better', 'make a pull request']
+ res.render('todolist', {
+ todos: todos,
+ title: 'Welcome to liquidjs!'
+ })
+})
app.listen(port, () => {
console.log('✅ Webserver started on port ', port)
diff --git a/Source/Webserver/partials/layout.liquid b/Source/Webserver/partials/layout.liquid
new file mode 100644
index 0000000..fa3273e
--- /dev/null
+++ b/Source/Webserver/partials/layout.liquid
@@ -0,0 +1,14 @@
+
+
+
+
+ {{title}}
+
+
+ {{title}}
+
+ {% block %}{% endblock %}
+
+
+
+
\ No newline at end of file
diff --git a/Source/Webserver/partials/todo.liquid b/Source/Webserver/partials/todo.liquid
new file mode 100644
index 0000000..0b58851
--- /dev/null
+++ b/Source/Webserver/partials/todo.liquid
@@ -0,0 +1 @@
+{{id}} - {{todo}}
\ No newline at end of file
diff --git a/Source/Webserver/views/todolist.liquid b/Source/Webserver/views/todolist.liquid
new file mode 100644
index 0000000..7216576
--- /dev/null
+++ b/Source/Webserver/views/todolist.liquid
@@ -0,0 +1,11 @@
+{% layout 'layout' %}
+
+
+ {% for todo in todos %}
+ - {% include 'todo', id:forloop.index %}
+ {% endfor %}
+
+
+{% block 'footer' %}
+ Copyright @ 2016, Harttle
+{% endblock %}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 932fc88..0a4107a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,10 +11,12 @@
"dependencies": {
"express": "^4.18.2",
"express-session": "^1.17.3",
+ "liquidjs": "^9.42.0",
"path": "^0.12.7",
"terser": "^5.15.1"
},
"devDependencies": {
+ "@types/ejs": "^3.1.1",
"@types/express": "^4.17.14",
"eslint": "8.25.0",
"eslint-config-next": "12.3.1",
@@ -223,6 +225,12 @@
"@types/node": "*"
}
},
+ "node_modules/@types/ejs": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.1.tgz",
+ "integrity": "sha512-RQul5wEfY7BjWm0sYY86cmUN/pcXWGyVxWX93DFFJvcrxax5zKlieLwA3T77xJGwNcZW0YW6CYG70p1m8xPFmA==",
+ "dev": true
+ },
"node_modules/@types/express": {
"version": "4.17.14",
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz",
@@ -2250,6 +2258,22 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/liquidjs": {
+ "version": "9.42.0",
+ "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-9.42.0.tgz",
+ "integrity": "sha512-krvhwGFrMCMGhybGkxJIvlWVVnoCSpYCn7NhEN43+uvlg2vOkYWpq8be+L3NMlOfwe4ZrKQ7hCh1EmS4yhLKow==",
+ "bin": {
+ "liquid": "bin/liquid.js",
+ "liquidjs": "bin/liquid.js"
+ },
+ "engines": {
+ "node": ">=4.8.7"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/liquidjs"
+ }
+ },
"node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -3615,6 +3639,12 @@
"@types/node": "*"
}
},
+ "@types/ejs": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.1.tgz",
+ "integrity": "sha512-RQul5wEfY7BjWm0sYY86cmUN/pcXWGyVxWX93DFFJvcrxax5zKlieLwA3T77xJGwNcZW0YW6CYG70p1m8xPFmA==",
+ "dev": true
+ },
"@types/express": {
"version": "4.17.14",
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz",
@@ -5151,6 +5181,11 @@
"type-check": "~0.4.0"
}
},
+ "liquidjs": {
+ "version": "9.42.0",
+ "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-9.42.0.tgz",
+ "integrity": "sha512-krvhwGFrMCMGhybGkxJIvlWVVnoCSpYCn7NhEN43+uvlg2vOkYWpq8be+L3NMlOfwe4ZrKQ7hCh1EmS4yhLKow=="
+ },
"locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
diff --git a/package.json b/package.json
index 2e5fd3f..33f59e4 100644
--- a/package.json
+++ b/package.json
@@ -19,6 +19,7 @@
"author": "nightlymania",
"license": "GPL-2.0-or-later",
"devDependencies": {
+ "@types/ejs": "^3.1.1",
"@types/express": "^4.17.14",
"eslint": "8.25.0",
"eslint-config-next": "12.3.1",
@@ -27,6 +28,7 @@
"dependencies": {
"express": "^4.18.2",
"express-session": "^1.17.3",
+ "liquidjs": "^9.42.0",
"path": "^0.12.7",
"terser": "^5.15.1"
}