From f358a79a87fbf704b8e96cd685decaee2c9e5d7c Mon Sep 17 00:00:00 2001 From: lucaspalomodevelop Date: Mon, 15 Nov 2021 19:26:33 +0100 Subject: [PATCH] add examples | fix relativ-path import --- examples/example1.js | 21 ++++++- examples/pages/base.jsste | 4 -- examples/pages/data2.jsste | 2 +- examples/pages/lib/base.jsste | 6 ++ examples/pages/page2.jsste | 2 +- examples/pages/page3/index.jsste | 5 ++ examples/pages/page3/mybase.jsste | 3 + examples/pages/test/a.jsste | 4 ++ examples/pages/test/b.jsste | 4 ++ examples/pages/test/c.jsste | 4 ++ examples/pages/test/d.jsste | 3 + examples/pages/test/e.jsste | 3 + examples/pages/test/f.jsste | 3 + examples/pages/test/g.jsste | 3 + examples/pages/test/index.jsste | 4 ++ examples/{pages/style.css => styles/base.css} | 0 examples/templates/example.tjsste | 36 ++++++++++++ examples/templates/page1.tjsste | 1 + examples/templates/page3.tjsste | 9 +++ src/engine.js | 41 +++++++++---- src/index.js | 58 ++++++++++--------- 21 files changed, 171 insertions(+), 45 deletions(-) delete mode 100644 examples/pages/base.jsste create mode 100644 examples/pages/lib/base.jsste create mode 100644 examples/pages/page3/index.jsste create mode 100644 examples/pages/page3/mybase.jsste create mode 100644 examples/pages/test/a.jsste create mode 100644 examples/pages/test/b.jsste create mode 100644 examples/pages/test/c.jsste create mode 100644 examples/pages/test/d.jsste create mode 100644 examples/pages/test/e.jsste create mode 100644 examples/pages/test/f.jsste create mode 100644 examples/pages/test/g.jsste create mode 100644 examples/pages/test/index.jsste rename examples/{pages/style.css => styles/base.css} (100%) create mode 100644 examples/templates/example.tjsste create mode 100644 examples/templates/page3.tjsste diff --git a/examples/example1.js b/examples/example1.js index c2261cc..e259a2a 100644 --- a/examples/example1.js +++ b/examples/example1.js @@ -22,9 +22,28 @@ let fs = require("fs"); // // res.send("File Not found"); // }); +let folders = { + jsste: "pages", + css: "styles", +}; + +function getFolderFromFileEnding(filename) { + let regex_isAnDotfile = /\w+\.[a-z]*[A-Z]*/; + if (regex_isAnDotfile.test(filename)) { + let ending = filename.split(".").pop(); + return folders[ending]; + } + return folders.jsste; +} + function defaultUse(req, res, next) { let regex_isAnDotfile = /\w+\.[a-z]*[A-Z]*/; - let filePath = path.join(__dirname, "pages", req.url); + + let filePath = path.join( + __dirname, + getFolderFromFileEnding(req.url), + req.url + ); if (regex_isAnDotfile.test(req.url) && !filePath.endsWith(".jsste")) { res.sendFile(filePath); diff --git a/examples/pages/base.jsste b/examples/pages/base.jsste deleted file mode 100644 index 8119b97..0000000 --- a/examples/pages/base.jsste +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_STYLES_":["./style"], - "js$Date": "return Date.now() + ' is the TimeStemp';" -} \ No newline at end of file diff --git a/examples/pages/data2.jsste b/examples/pages/data2.jsste index a7a57ef..f20fe39 100644 --- a/examples/pages/data2.jsste +++ b/examples/pages/data2.jsste @@ -1,5 +1,5 @@ { - "_IMPORTS_":["data.jsste","base.jsste"], + "_IMPORTS_":["data.jsste","lib/base.jsste"], "a":"h1 - test", "c":"p - test" } \ No newline at end of file diff --git a/examples/pages/lib/base.jsste b/examples/pages/lib/base.jsste new file mode 100644 index 0000000..632ff44 --- /dev/null +++ b/examples/pages/lib/base.jsste @@ -0,0 +1,6 @@ +{ + "_STYLES_":["base"], + "js$Date": "return Date.now() + ' is the TimeStemp';", +"js$uxTime":"Date.Now();", +"js$TimeStemp":"const heute = new Date(); return heute" +} \ No newline at end of file diff --git a/examples/pages/page2.jsste b/examples/pages/page2.jsste index 41dc09e..0d9c0ab 100644 --- a/examples/pages/page2.jsste +++ b/examples/pages/page2.jsste @@ -1,5 +1,5 @@ { - "_STYLES_":["./style"], + "_STYLES_":["base"], "_TEMPLATE_":"page1", "_TITLE_":"Page2.2", "root":"root", diff --git a/examples/pages/page3/index.jsste b/examples/pages/page3/index.jsste new file mode 100644 index 0000000..167f9df --- /dev/null +++ b/examples/pages/page3/index.jsste @@ -0,0 +1,5 @@ +{ + "_TEMPLATE_":"page3", + "Title":"Page3", + "_IMPORTS_":["lib/base.jsste","./mybase.jsste"] +} \ No newline at end of file diff --git a/examples/pages/page3/mybase.jsste b/examples/pages/page3/mybase.jsste new file mode 100644 index 0000000..2a92ef5 --- /dev/null +++ b/examples/pages/page3/mybase.jsste @@ -0,0 +1,3 @@ +{ + "js$Date": "return Date.now();" +} \ No newline at end of file diff --git a/examples/pages/test/a.jsste b/examples/pages/test/a.jsste new file mode 100644 index 0000000..2abc634 --- /dev/null +++ b/examples/pages/test/a.jsste @@ -0,0 +1,4 @@ +{ + "a":"Ameise", + "_IMPORTS_":["./c.jsste","./b.jsste"] +} \ No newline at end of file diff --git a/examples/pages/test/b.jsste b/examples/pages/test/b.jsste new file mode 100644 index 0000000..fcdf6a1 --- /dev/null +++ b/examples/pages/test/b.jsste @@ -0,0 +1,4 @@ +{ + "b":"braunbär", + "_IMPORTS_":["./d.jsste","./e.jsste"] +} \ No newline at end of file diff --git a/examples/pages/test/c.jsste b/examples/pages/test/c.jsste new file mode 100644 index 0000000..ceb60a8 --- /dev/null +++ b/examples/pages/test/c.jsste @@ -0,0 +1,4 @@ +{ + "c":"cobra", + "_IMPORTS_":["./f.jsste","./g.jsste"] +} \ No newline at end of file diff --git a/examples/pages/test/d.jsste b/examples/pages/test/d.jsste new file mode 100644 index 0000000..dd49c7a --- /dev/null +++ b/examples/pages/test/d.jsste @@ -0,0 +1,3 @@ +{ + "d":"delfin" +} \ No newline at end of file diff --git a/examples/pages/test/e.jsste b/examples/pages/test/e.jsste new file mode 100644 index 0000000..18c89fa --- /dev/null +++ b/examples/pages/test/e.jsste @@ -0,0 +1,3 @@ +{ + "e":"esel" +} \ No newline at end of file diff --git a/examples/pages/test/f.jsste b/examples/pages/test/f.jsste new file mode 100644 index 0000000..bd1da9f --- /dev/null +++ b/examples/pages/test/f.jsste @@ -0,0 +1,3 @@ +{ + "f":"fau" +} \ No newline at end of file diff --git a/examples/pages/test/g.jsste b/examples/pages/test/g.jsste new file mode 100644 index 0000000..5346395 --- /dev/null +++ b/examples/pages/test/g.jsste @@ -0,0 +1,3 @@ +{ + "g":"giraffe" +} \ No newline at end of file diff --git a/examples/pages/test/index.jsste b/examples/pages/test/index.jsste new file mode 100644 index 0000000..352f6ff --- /dev/null +++ b/examples/pages/test/index.jsste @@ -0,0 +1,4 @@ +{ +"_TEMPLATE_": "example", +"_IMPORTS_":["./a.jsste","lib/base.jsste"] +} \ No newline at end of file diff --git a/examples/pages/style.css b/examples/styles/base.css similarity index 100% rename from examples/pages/style.css rename to examples/styles/base.css diff --git a/examples/templates/example.tjsste b/examples/templates/example.tjsste new file mode 100644 index 0000000..bb2e09a --- /dev/null +++ b/examples/templates/example.tjsste @@ -0,0 +1,36 @@ + + + Template Example + + + + + diff --git a/examples/templates/page1.tjsste b/examples/templates/page1.tjsste index 93c2341..a58dd5b 100644 --- a/examples/templates/page1.tjsste +++ b/examples/templates/page1.tjsste @@ -11,6 +11,7 @@

<[c]>

<[b]>

<[js$Date]>

+

<[js$TimeStemp]>

root: <[root]>

<[Base_Date]>