diff --git a/quotesite.nimble b/quotesite.nimble index 7932bf0..d86146c 100644 --- a/quotesite.nimble +++ b/quotesite.nimble @@ -9,5 +9,8 @@ bin = @["quotesite"] # Dependencies -requires "nim >= 0.13.0", "jester", "moustachu" +requires "nim >= 0.13.0", "jester", "moustachu", "shorturl" +task run, "run the site": + exec "nimble build" + exec "./quotesite" diff --git a/src/quotesite.nim b/src/quotesite.nim index ae9dfb2..96cbb9b 100644 --- a/src/quotesite.nim +++ b/src/quotesite.nim @@ -1,7 +1,19 @@ import asyncdispatch, jester, moustachu, os, strutils const - baseTemplate = staticRead "./templates/layout.mustache" + baseTemplate*: string = staticRead "./templates/layout.mustache" + indexTemplate*: string = staticRead "./templates/index.mustache" + + testTemplate*: string = """
hi!
""" + +template renderMustache*(title: string, templ: string, ctx: Context): expr = + var + layoutCtx = moustachu.newContext() + + layoutCtx["title"] = title + layoutCtx["body"] = render(templ, ctx) + + resp render(baseTemplate, layoutCtx) settings: port = 5000.Port @@ -9,11 +21,6 @@ settings: routes: get "/": - var ctx = newContext() - - ctx["title"] = "Test" - ctx["body"] = "Test!
" - - resp render(baseTemplate, ctx) + renderMustache("test", testTemplate, newContext()) runForever() diff --git a/src/templates/index.mustache b/src/templates/index.mustache new file mode 100644 index 0000000..2d4f782 --- /dev/null +++ b/src/templates/index.mustache @@ -0,0 +1,9 @@ +