From d754572c451d05066d480e60c22832728dccebfe Mon Sep 17 00:00:00 2001 From: Quad Date: Thu, 7 Apr 2022 20:23:56 +0200 Subject: [PATCH] Initial templating implementation --- nimblog.nimble | 1 + src/modules/blog.nim | 14 ++++++++++++++ src/modules/templating.nim | 6 ++++++ src/nimblog.nim | 15 ++++++--------- src/templates/components/master.nwt | 8 ++++++++ src/templates/index.nwt | 5 +++++ 6 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 src/modules/blog.nim create mode 100644 src/modules/templating.nim create mode 100644 src/templates/components/master.nwt create mode 100644 src/templates/index.nwt diff --git a/nimblog.nimble b/nimblog.nimble index ce55c32..a515ed4 100644 --- a/nimblog.nimble +++ b/nimblog.nimble @@ -12,3 +12,4 @@ bin = @["nimblog"] requires "nim >= 1.6.0" requires "prologue >= 0.5.6" +requires "nimja >= 0.5.6" diff --git a/src/modules/blog.nim b/src/modules/blog.nim new file mode 100644 index 0000000..3a96496 --- /dev/null +++ b/src/modules/blog.nim @@ -0,0 +1,14 @@ +import prologue +import templating + +proc getIndex*(ctx: Context) {.async.} = + resp renderIndex() + +proc runWebsite() = + let website = newApp() + + website.get("/", getIndex) + + website.run() + +export runWebsite diff --git a/src/modules/templating.nim b/src/modules/templating.nim new file mode 100644 index 0000000..5d69bb2 --- /dev/null +++ b/src/modules/templating.nim @@ -0,0 +1,6 @@ +import nimja/parser + +proc renderIndex(): string = + compileTemplateFile(getScriptDir() & "/templates/index.nwt") + +export renderIndex diff --git a/src/nimblog.nim b/src/nimblog.nim index b28db56..b2781a9 100644 --- a/src/nimblog.nim +++ b/src/nimblog.nim @@ -1,11 +1,8 @@ when isMainModule: - import prologue + import modules/blog - proc placeholder*(ctx: Context) {.async.} = - resp "Have a nice day" - - let blog = newApp() - - blog.get("/", placeholder) - - blog.run() + try: + echo "Starting website" + runWebsite() + except: + echo "Could not run website" diff --git a/src/templates/components/master.nwt b/src/templates/components/master.nwt new file mode 100644 index 0000000..ada5e27 --- /dev/null +++ b/src/templates/components/master.nwt @@ -0,0 +1,8 @@ + + + Example + + + {% block content %}{% endblock %} + + diff --git a/src/templates/index.nwt b/src/templates/index.nwt new file mode 100644 index 0000000..0d541ec --- /dev/null +++ b/src/templates/index.nwt @@ -0,0 +1,5 @@ +{% extends templates/components/master.nwt %} + +{% block content %} +

Hello world

+{% endblock %}