diff --git a/src/Blog.hs b/src/Blog.hs index 524514e..8b46f4a 100644 --- a/src/Blog.hs +++ b/src/Blog.hs @@ -6,7 +6,7 @@ module Blog ( , Path(..) , Renderer , Skin(..) - , URL(..) + , URLs(..) , Wording , build , template @@ -22,7 +22,7 @@ import Blog.Template (Environment, Templates, render) import qualified Blog.Template as Template (build) import Blog.Skin (Skin(..)) import qualified Blog.Skin as Skin (build) -import Blog.URL (URL(..)) +import Blog.URL (URLs(..)) import qualified Blog.URL as URL (build) import Blog.Wording (Wording) import qualified Blog.Wording as Wording (build) @@ -57,7 +57,7 @@ data Blog = Blog { , skin :: Skin , tags :: Collection (Set String) , templates :: Templates - , urls :: URL + , urls :: URLs , wording :: Wording } diff --git a/src/Blog/URL.hs b/src/Blog/URL.hs index 359faae..14d1520 100644 --- a/src/Blog/URL.hs +++ b/src/Blog/URL.hs @@ -2,7 +2,7 @@ {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE OverloadedStrings #-} module Blog.URL ( - URL(..) + URLs(..) , build ) where @@ -14,23 +14,24 @@ import System.Exit (die) import System.IO (hPutStrLn, stderr) import Text.Printf (printf) -data URL = URL { - cards :: Maybe String - , comments :: Maybe String - , rss :: Maybe String +type URL = String +data URLs = URLs { + cards :: Maybe URL + , comments :: Maybe URL + , rss :: Maybe URL } deriving Generic -instance ToJSON URL where - toEncoding (URL {comments}) = pairs ( +instance ToJSON URLs where + toEncoding (URLs {comments}) = pairs ( "comments" .= comments ) -build :: Arguments -> IO URL +build :: Arguments -> IO URLs build arguments = do cards <- getSiteURL argOGCards "Open Graph cards" rss <- getSiteURL argRSS "RSS feeds" checksUsed (argOGCards || argRSS) siteURL - return $ URL {cards, comments, rss} + return $ URLs {cards, comments, rss} where comments = Arguments.commentsURL arguments siteURL = Arguments.siteURL arguments diff --git a/src/DOM.hs b/src/DOM.hs index ef2fb31..f53ead8 100644 --- a/src/DOM.hs +++ b/src/DOM.hs @@ -10,7 +10,7 @@ import qualified Article (preview) import ArticlesList ( ArticlesList(..), description, getArticles, otherURL, rssLinkTexts ) -import Blog (Blog(..), Skin(..), URL(..), template) +import Blog (Blog(..), Skin(..), URLs(..), template) import Control.Monad.Reader (ReaderT, asks) import Data.Map as Map (Map, toList) import Data.Text (Text, pack, empty) diff --git a/src/JSON.hs b/src/JSON.hs index 34404de..d6df24f 100644 --- a/src/JSON.hs +++ b/src/JSON.hs @@ -4,7 +4,7 @@ module JSON ( exportBlog ) where -import Blog (Blog, Path, Skin, URL, Wording) +import Blog (Blog, Path, Skin, URLs, Wording) import qualified Blog (Blog(..)) import Data.Aeson (Options(..), ToJSON(..), genericToEncoding, defaultOptions) import Data.Map (Map, mapWithKey) @@ -39,7 +39,7 @@ data BlogExport = BlogExport { , pages :: Map String MarkdownExport , skin :: Skin , tags :: Map String [String] - , urls :: URL + , urls :: URLs , wording :: Wording } deriving (Generic) diff --git a/src/RSS.hs b/src/RSS.hs index e7382d4..7b23a52 100644 --- a/src/RSS.hs +++ b/src/RSS.hs @@ -8,7 +8,7 @@ module RSS ( import Article (Article(..)) import ArticlesList (ArticlesList(..), getArticles) import qualified ArticlesList (description) -import Blog (Blog(urls), Renderer, URL(..)) +import Blog (Blog(urls), Renderer, URLs(..)) import Collection (Collection(..), getAll) import qualified Collection (title) import Control.Monad.IO.Class (MonadIO(..))