Add the road map generator page.

This commit is contained in:
Feufochmar 2020-11-10 15:27:49 +01:00
parent 91052874d7
commit 85fb79e031
2 changed files with 51 additions and 1 deletions

View File

@ -15,7 +15,8 @@
"src/pages/arnytron.rkt"
"src/pages/floraverse.rkt"
"src/pages/yggdrasil.rkt"
"src/pages/flag.rkt")
"src/pages/flag.rkt"
"src/pages/road-map.rkt")
; Website
(define *website*
(website
@ -48,6 +49,9 @@
("About" weblet pages:flag-about)
("RawFlag" weblet pages:flag-raw)
)
; Road Map
("RoadMap" weblet pages:road-map
("Raw" weblet pages:road-map-raw-image))
; Other generators
("Generators" weblet pages:other-generators
("ColorScheme" weblet pages:color-scheme-generator)
@ -85,6 +89,7 @@
("Pictogrammic Adventurer" "/Generators/PictogrammicAdventurer" #t)
("Phonagen" "/Generators/Phonagen" #f)
("Un Village en France" "/Generators/GenerCommunes" #f)
("Road Maps" "/RoadMap" #t)
)
("ArnYtron3000" "/ArnYtron3000" #t
("(texte brut)" "/ArnYtron3000/brut" #t)

45
src/pages/road-map.rkt Normal file
View File

@ -0,0 +1,45 @@
#lang racket/base
; Road map pages
(require
"templates.rkt"
"../webcontainer/weblets.rkt"
"../generators/road-map.rkt"
"../graphics/color.rkt")
(provide
pages:road-map
pages:road-map-raw-image)
; For rendering islands
(define *tile-size* 16)
(define *road-map-tileset* (make-road-map-tileset "static/images/road-map-tileset.png" *tile-size*))
; Raw page
(define pages:road-map-raw-image
(raw-data-weblet
#:content-type #"image/png"
#:body
(lambda (param)
(define output-port (open-output-bytes))
(road-map-render
(road-map-generate 40) ; images made of 40x40 tiles
*tile-size*
*road-map-tileset*
output-port)
(get-output-bytes output-port))))
; Road Map page
(define pages:road-map
(pages:template
#:title "Island Generator - Road Map"
#:author "feuforeve.fr"
#:content
'(article
(a ((href "/RoadMap")) "New Map") (br)
(img ((alt "Generated Road Map") (src "/RoadMap/Raw")))
(p (h3 "About this generator")
"This generator makes islands rendered with a look inspired by old Michelin maps. "
)
)))