feuforeve.v4/main.rkt

47 lines
1.5 KiB
Racket
Raw Normal View History

#lang racket/base
(module+ test
(require rackunit)
;; Tests to be run with raco test
)
(module+ main
(require
"src/webcontainer/webcontainer.rkt")
(require
"src/webcontainer/weblets.rkt"
"src/webcontainer/weblet-parameter.rkt"
"src/webcontainer/website.rkt")
;; Main entry point, executed when run with the `racket` executable or DrRacket.
(define *home-page*
(html-page-weblet
#:body '(html (body (h1 "Hello World")))))
(define *hello-page*
(html-page-weblet
#:body (lambda (param)
`(html (body (h1 "Hello " ,(hash-ref (weblet-parameter-match param) 'name)))))))
; Website
(define *website*
(website
"" weblet *home-page* "Home" #t
("hello/{name}" matching-weblet *hello-page* "Hello" #f)))
; Webcontainer
(define *webcontainer* (make-webcontainer))
(webcontainer-add-website! *webcontainer* *website*)
(webcontainer-set-404-weblet!
*webcontainer*
(html-page-weblet
#:body '(html (body (h1 "Sorry") (p "Nothing found here")))))
(display "Starting server...")(newline)
(webcontainer-start *webcontainer*))
;(website
; "" weblet home-page "Home" #t
; ("ToyCatCreator" redirection "http://beleth.pink" "Toy Cat Creator" #f)
; ("About" weblet about-me-page "About me" #t)
; ("Fonts" weblet fonts-page "Fonts" #t)
; ("FlagGenerator" weblet flag-generator-page "Flag Generator" #t
; ("RawFlag" weblet flag-generator-raw-page "Flag Generator (Raw SVG)" #t)
; ("About" weblet about-flag-generator-page "About the Flag Generator" #t))
; )