racket-pkg-website/src/config.rkt
2016-04-11 09:58:40 -04:00

27 lines
627 B
Racket

#lang racket/base
(provide config
config-path
var-path)
(require reloadable)
(require racket/runtime-path)
(require "hash-utils.rkt")
(define *config* (make-persistent-state '*config* (lambda () (hash))))
(define (config) (*config*))
(define-runtime-path here ".")
(define (config-path str)
(unless (path-string? str)
(error 'config-path "Not given path string: ~e" str))
(define p (if (relative-path? str)
(build-path here str)
str))
(if (path? p) (path->string p) p))
(define (var-path)
(config-path (or (@ (config) var-path)
"../var")))