diff --git a/site.hs b/site.hs index 1a17d58..ab0af28 100644 --- a/site.hs +++ b/site.hs @@ -63,7 +63,11 @@ loadPage fp = do md <- io $ runIOorExplode $ readMarkdown markdownReadOpts (T.drop 5 markdown) {- find the main mount point for the page -} let mount = - T.unpack . just ("mount point of " ++ fp) $ yml ^? key "title" . _String + T.unpack . just ("mount point of " ++ fp) $ yml ^? key "mount" . _String + existing <- use $ pages . to (M.!? mount) + case existing of + Just pi -> error $ "mount for " ++ fp ++ " already exists from " ++ _pagePath pi + _ -> pure () {- save to the state -} pages %= M.insert mount PageInfo {_pagePath = fp, _pageMeta = yml, _pageDoc = md}