2019-11-06 16:27:38 +01:00
|
|
|
#lang racket/base
|
|
|
|
|
|
|
|
(module+ test
|
|
|
|
(require rackunit)
|
|
|
|
;; Tests to be run with raco test
|
|
|
|
)
|
|
|
|
|
|
|
|
(module+ main
|
2019-11-07 12:14:41 +01:00
|
|
|
(require
|
|
|
|
"src/webcontainer/webcontainer.rkt")
|
|
|
|
(require
|
2019-11-07 15:09:19 +01:00
|
|
|
"src/webcontainer/weblets.rkt"
|
|
|
|
"src/webcontainer/weblet-parameter.rkt"
|
|
|
|
"src/webcontainer/website.rkt")
|
2019-11-06 16:27:38 +01:00
|
|
|
;; Main entry point, executed when run with the `racket` executable or DrRacket.
|
2019-11-07 15:09:19 +01:00
|
|
|
(define *home-page*
|
2019-11-07 12:14:41 +01:00
|
|
|
(html-page-weblet
|
|
|
|
#:body '(html (body (h1 "Hello World")))))
|
2019-11-07 15:09:19 +01:00
|
|
|
(define *hello-page*
|
2019-11-07 12:14:41 +01:00
|
|
|
(html-page-weblet
|
2019-11-07 15:09:19 +01:00
|
|
|
#: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*)
|
2019-11-07 12:14:41 +01:00
|
|
|
(webcontainer-set-404-weblet!
|
|
|
|
*webcontainer*
|
|
|
|
(html-page-weblet
|
|
|
|
#:body '(html (body (h1 "Sorry") (p "Nothing found here")))))
|
|
|
|
(display "Starting server...")(newline)
|
|
|
|
(webcontainer-start *webcontainer*))
|
2019-11-07 15:09:19 +01:00
|
|
|
|
|
|
|
;(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))
|
|
|
|
; )
|