module Panda.Config.Global where import Panda.Helper.Env import Prelude hiding ((.), (/), id) import MPS db_id = "db" flat_id = "." blog_id = "blog" config_id = "config" tag_id = "tag" db_uri = db_id flat_uri = db_uri / flat_id config_uri = flat_uri / config_id / "site.txt" blog_uri = flat_uri / blog_id tag_uri = flat_uri / tag_id markup = markdown -- unsafe, must restart server after changing config file, sorry about that ... -- but these configs are read only, and keep the view pure, so no monad headaches involved. user_config = readFile config_uri .purify .split' .map strip .map (split "\\s*=\\s*") .map tuple2 config_for s = user_config.lookup s.fromJust .fromUTF8 blog_title = config_for "blog_title" blog_subtitle = config_for "blog_subtitle" host_name = config_for "host_name" author_email = config_for "author_email" panda_url = "http://github.com/nfjinjing/panda"