diff options
Diffstat (limited to 'src/Hakyll/Web')
| -rw-r--r-- | src/Hakyll/Web/Paginate.hs | 5 | ||||
| -rw-r--r-- | src/Hakyll/Web/Pandoc.hs | 1 | ||||
| -rw-r--r-- | src/Hakyll/Web/Tags.hs | 8 |
3 files changed, 9 insertions, 5 deletions
diff --git a/src/Hakyll/Web/Paginate.hs b/src/Hakyll/Web/Paginate.hs index eafd3a9..1af792e 100644 --- a/src/Hakyll/Web/Paginate.hs +++ b/src/Hakyll/Web/Paginate.hs @@ -15,6 +15,7 @@ import Control.Monad (forM_) import Data.List (unfoldr) import qualified Data.Map as M import Data.Monoid (mconcat) +import qualified Data.Set as S import Text.Printf (printf) @@ -58,7 +59,7 @@ buildPaginate pattern = do "invalid page number: " ++ show pn return $ Paginate pagPages pagPlaces makeId - (PatternDependency pattern idents) + (PatternDependency pattern (S.fromList idents)) -------------------------------------------------------------------------------- @@ -81,7 +82,7 @@ buildPaginateWith n makeId pattern = do [(makeId i, i) | i <- [1 .. nPages]] return $ Paginate (M.fromList paginatePages') (M.fromList pagPlaces') makeId - (PatternDependency pattern idents) + (PatternDependency pattern (S.fromList idents)) -------------------------------------------------------------------------------- diff --git a/src/Hakyll/Web/Pandoc.hs b/src/Hakyll/Web/Pandoc.hs index 1615167..78df1df 100644 --- a/src/Hakyll/Web/Pandoc.hs +++ b/src/Hakyll/Web/Pandoc.hs @@ -53,6 +53,7 @@ readPandocWith ropt item = fmap (reader ropt (itemFileType item)) item LaTeX -> readLaTeX ro LiterateHaskell t' -> reader (addExt ro Ext_literate_haskell) t' Markdown -> readMarkdown ro + OrgMode -> readOrg ro Rst -> readRST ro Textile -> readTextile ro _ -> error $ diff --git a/src/Hakyll/Web/Tags.hs b/src/Hakyll/Web/Tags.hs index 0fa182c..0887856 100644 --- a/src/Hakyll/Web/Tags.hs +++ b/src/Hakyll/Web/Tags.hs @@ -71,6 +71,7 @@ import qualified Data.Map as M import Data.Maybe (catMaybes, fromMaybe) import Data.Monoid (mconcat) import Data.Ord (comparing) +import qualified Data.Set as S import System.FilePath (takeBaseName, takeDirectory) import Text.Blaze.Html (toHtml, toValue, (!)) import Text.Blaze.Html.Renderer.String (renderHtml) @@ -124,7 +125,8 @@ buildTagsWith :: MonadMetadata m buildTagsWith f pattern makeId = do ids <- getMatches pattern tagMap <- foldM addTags M.empty ids - return $ Tags (M.toList tagMap) makeId (PatternDependency pattern ids) + let set' = S.fromList ids + return $ Tags (M.toList tagMap) makeId (PatternDependency pattern set') where -- Create a tag map for one page addTags tagMap id' = do @@ -148,8 +150,8 @@ buildCategories = buildTagsWith getCategory tagsRules :: Tags -> (String -> Pattern -> Rules ()) -> Rules () tagsRules tags rules = forM_ (tagsMap tags) $ \(tag, identifiers) -> - create [tagsMakeId tags tag] $ - rulesExtraDependencies [tagsDependency tags] $ + rulesExtraDependencies [tagsDependency tags] $ + create [tagsMakeId tags tag] $ rules tag $ fromList identifiers |
