shakebook-0.7.3.0: src/Shakebook/Sitemap.hs
module Shakebook.Sitemap where
import Data.Aeson
import Development.Shake.Plus
import RIO
import qualified RIO.ByteString.Lazy as LBS
import Shakebook.Conventions
import Shakebook.Pandoc
import Web.Sitemap.Gen
asSitemapUrl :: Text -> Value -> SitemapUrl
asSitemapUrl baseUrl x = SitemapUrl {
sitemapLocation = baseUrl <> viewUrl x
, sitemapLastModified = Just (viewPostTime x)
, sitemapChangeFrequency = Nothing
, sitemapPriority = Nothing }
buildSitemap :: MonadAction m => Text -> [Value] -> Path Rel File -> m ()
buildSitemap baseUrl xs out = do
LBS.writeFile (toFilePath out) $ renderSitemap $ Sitemap $ fmap (asSitemapUrl baseUrl) xs