From aead07929e6ed13375b86539b1679a88993c9cf5 Mon Sep 17 00:00:00 2001 From: pacien Date: Thu, 26 Dec 2019 08:03:31 +0100 Subject: compiler: extract config and remove utils --- compiler/src/Config.hs | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 compiler/src/Config.hs (limited to 'compiler/src/Config.hs') diff --git a/compiler/src/Config.hs b/compiler/src/Config.hs new file mode 100644 index 0000000..6f04818 --- /dev/null +++ b/compiler/src/Config.hs @@ -0,0 +1,49 @@ +{-# LANGUAGE DuplicateRecordFields, DeriveGeneric, DeriveAnyClass #-} + +-- ldgallery - A static generator which turns a collection of tagged +-- pictures into a searchable web gallery. +-- +-- Copyright (C) 2019 Pacien TRAN-GIRARD +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU Affero General Public License as +-- published by the Free Software Foundation, either version 3 of the +-- License, or (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU Affero General Public License for more details. +-- +-- You should have received a copy of the GNU Affero General Public License +-- along with this program. If not, see . + + +module Config + ( GalleryConfig(..) + , CompilerConfig(..) + , readConfig + ) where + +import GHC.Generics (Generic) +import Data.Aeson (ToJSON, FromJSON) +import qualified Data.Aeson as JSON + +import Files (FileName) +import Input (decodeYamlFile) + + +data CompilerConfig = CompilerConfig + { dummy :: Maybe String -- TODO + } deriving (Generic, FromJSON, Show) + +data GalleryConfig = GalleryConfig + { compiler :: CompilerConfig + , viewer :: JSON.Object + } deriving (Generic, FromJSON, Show) + +-- TODO: add compiler config keys and their default values + + +readConfig :: FileName -> IO GalleryConfig +readConfig = decodeYamlFile -- cgit v1.2.3