From bc861e3eebbb48793ccaa06280a671af68f001ad Mon Sep 17 00:00:00 2001 From: Tissevert Date: Wed, 25 Mar 2020 19:46:35 +0100 Subject: [PATCH] Print a warning when --site-url is set but none of --open-graph-cards or --rss is set --- src/Blog/URL.hs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Blog/URL.hs b/src/Blog/URL.hs index 1271734..359faae 100644 --- a/src/Blog/URL.hs +++ b/src/Blog/URL.hs @@ -11,6 +11,7 @@ import qualified Arguments as Arguments (Arguments(..)) import Data.Aeson (ToJSON(..), (.=), pairs) import GHC.Generics (Generic) import System.Exit (die) +import System.IO (hPutStrLn, stderr) import Text.Printf (printf) data URL = URL { @@ -26,13 +27,19 @@ instance ToJSON URL where build :: Arguments -> IO URL build arguments = do - cards <- getSiteURL (Arguments.openGraphCards arguments) "Open Graph cards" - rss <- getSiteURL (Arguments.rss arguments) "RSS feeds" + cards <- getSiteURL argOGCards "Open Graph cards" + rss <- getSiteURL argRSS "RSS feeds" + checksUsed (argOGCards || argRSS) siteURL return $ URL {cards, comments, rss} where comments = Arguments.commentsURL arguments siteURL = Arguments.siteURL arguments + argOGCards = Arguments.openGraphCards arguments + argRSS = Arguments.rss arguments errorMsg :: String -> String errorMsg = printf "Enabling %s requires setting the site url with --site-url" getSiteURL False _ = return Nothing getSiteURL True name = maybe (die $ errorMsg name) (return . Just) siteURL + checksUsed False (Just _) = + hPutStrLn stderr "Site url is set but not used, did you forget --open-graph-cards or --rss ?" + checksUsed _ _ = return ()