web content

This commit is contained in:
root 2024-10-07 05:54:23 +02:00
parent 6f693007bd
commit d478890623
4 changed files with 49 additions and 7 deletions

5
.gitignore vendored
View File

@ -1,2 +1,5 @@
start
start_notcc
start_notcc
start_notcc.dSYM/
*.dSYM/*
*.dSYM*

1
templates Symbolic link
View File

@ -0,0 +1 @@
../www_veda2/web/templates

View File

@ -1,5 +1,5 @@
module web
import x.templating.dtm
//import freeflowuniverse.crystallib.osal
import veb
import os
@ -13,8 +13,9 @@ pub struct Context {
pub struct App {
veb.StaticHandler
pub:
pub mut:
adminkey string
dtm &dtm.DynamicTemplateManager = dtm.initialize()
}
// Main entry point

View File

@ -3,12 +3,13 @@ module web
//import freeflowuniverse.crystallib.osal
import veb
import web1.components.intro
import freeflowuniverse.crystallib.ui.console
// import rand
// import os
import os
// import json
// import freeflowuniverse.crystallib.webserver.auth.jwt
// import time
//import x.templating.dtm
pub fn render(mut ctx Context) !map[string]string {
mut res:=map[string]string{}
@ -22,13 +23,49 @@ pub fn render(mut ctx Context) !map[string]string {
return res
}
pub fn template_render(path string, content map[string]string)!string {
mut name:=os.base(path).to_lower()
name=name.all_before_last(".html")
c := match name{
"index"{
$tmpl('./templates/index.html')
}"blog-list-classic"{
$tmpl('./templates/blog-list-classic.html')
}else{
return error("can't find template with name: ${name}")
}
}
//TODO: NEED to add the other templates, its a pitty we can't do this dynamic
return c
}
pub fn (app &App) index(mut ctx Context) veb.Result {
pub fn (mut app App) index(mut ctx Context) veb.Result {
return app.index2(mut ctx ,"")
}
@['/:path']
pub fn (mut app App) index2(mut ctx Context,path string) veb.Result {
mut templpath:="${path}"
if templpath==""{
templpath="index"
}
println(templpath)
console.print_debug("templpath : '${templpath}'")
content:=render(mut ctx) or {
ctx.res.set_status(.unknown)
return ctx.html('<h1>ERROR!</h1>${err}')
}
return ctx.html($tmpl('./templates/index.html'))
// mut tmp_var := map[string]dtm.DtmMultiTypeMap{}
// for key,val in content{
// tmp_var[key] = val
// }
//t:=app.dtm.expand(templpath,placeholders:&tmp_var)
t:= template_render(templpath,content)or {
ctx.res.set_status(.unknown)
return ctx.html('<h1>ERROR TEMPLATE!</h1>${err}')
}
return ctx.html(t)
}
// @['/api/connection-details'; get]