New resource module hierarchy
This commit is contained in:
parent
433f36e6f3
commit
015663657c
16 changed files with 43 additions and 36 deletions
|
@ -81,14 +81,15 @@ library
|
|||
Hakyll.Web.RelativizeUrls
|
||||
Hakyll.Web.Page.Read
|
||||
Hakyll.Web.Page.Metadata
|
||||
Hakyll.Core.ResourceProvider.FileResourceProvider
|
||||
Hakyll.Core.Configuration
|
||||
Hakyll.Core.Identifier.Pattern
|
||||
Hakyll.Core.UnixFilter
|
||||
Hakyll.Core.Util.Arrow
|
||||
Hakyll.Core.Util.File
|
||||
Hakyll.Core.Util.String
|
||||
Hakyll.Core.ResourceProvider
|
||||
Hakyll.Core.Resource
|
||||
Hakyll.Core.Resource.Provider
|
||||
Hakyll.Core.Resource.Provider.File
|
||||
Hakyll.Core.CompiledItem
|
||||
Hakyll.Core.Compiler
|
||||
Hakyll.Core.Run
|
||||
|
|
|
@ -13,7 +13,7 @@ import Data.List (isPrefixOf)
|
|||
import System.INotify
|
||||
|
||||
import Hakyll.Core.Configuration
|
||||
import Hakyll.Core.ResourceProvider
|
||||
import Hakyll.Core.Resource
|
||||
import Hakyll.Core.Identifier
|
||||
|
||||
-- | Calls the given callback when the directory tree changes
|
||||
|
|
|
@ -15,7 +15,7 @@ import System.Directory (getModificationTime)
|
|||
|
||||
import Hakyll.Core.Configuration
|
||||
import Hakyll.Core.Identifier
|
||||
import Hakyll.Core.ResourceProvider
|
||||
import Hakyll.Core.Resource
|
||||
|
||||
-- | A preview thread that periodically recompiles the site.
|
||||
--
|
||||
|
|
|
@ -5,7 +5,8 @@ module Hakyll
|
|||
, module Hakyll.Core.Configuration
|
||||
, module Hakyll.Core.Identifier
|
||||
, module Hakyll.Core.Identifier.Pattern
|
||||
, module Hakyll.Core.ResourceProvider
|
||||
, module Hakyll.Core.Resource
|
||||
, module Hakyll.Core.Resource.Provider
|
||||
, module Hakyll.Core.Routes
|
||||
, module Hakyll.Core.Rules
|
||||
, module Hakyll.Core.UnixFilter
|
||||
|
@ -34,7 +35,8 @@ import Hakyll.Core.Compiler
|
|||
import Hakyll.Core.Configuration
|
||||
import Hakyll.Core.Identifier
|
||||
import Hakyll.Core.Identifier.Pattern
|
||||
import Hakyll.Core.ResourceProvider
|
||||
import Hakyll.Core.Resource
|
||||
import Hakyll.Core.Resource.Provider
|
||||
import Hakyll.Core.Routes
|
||||
import Hakyll.Core.Rules
|
||||
import Hakyll.Core.UnixFilter
|
||||
|
|
|
@ -89,7 +89,6 @@ module Hakyll.Core.Compiler
|
|||
( Compiler
|
||||
, runCompiler
|
||||
, getIdentifier
|
||||
, getIdentifiers
|
||||
, getRoute
|
||||
, getRouteFor
|
||||
, getResourceString
|
||||
|
@ -125,7 +124,8 @@ import Hakyll.Core.Identifier
|
|||
import Hakyll.Core.Identifier.Pattern
|
||||
import Hakyll.Core.CompiledItem
|
||||
import Hakyll.Core.Writable
|
||||
import Hakyll.Core.ResourceProvider
|
||||
import Hakyll.Core.Resource
|
||||
import Hakyll.Core.Resource.Provider
|
||||
import Hakyll.Core.Compiler.Internal
|
||||
import Hakyll.Core.Store
|
||||
import Hakyll.Core.Rules.Internal
|
||||
|
@ -166,13 +166,6 @@ runCompiler compiler identifier provider routes store modified logger = do
|
|||
getIdentifier :: Compiler a Identifier
|
||||
getIdentifier = fromJob $ const $ CompilerM $ compilerIdentifier <$> ask
|
||||
|
||||
-- | Get all identifiers matching the given pattern
|
||||
--
|
||||
getIdentifiers :: Pattern -> Compiler a [Identifier]
|
||||
getIdentifiers pattern = fromJob $ const $ CompilerM $
|
||||
matches pattern . map unResource . resourceList
|
||||
. compilerResourceProvider <$> ask
|
||||
|
||||
-- | Get the route we are using for this item
|
||||
--
|
||||
getRoute :: Compiler a (Maybe FilePath)
|
||||
|
|
|
@ -26,7 +26,7 @@ import Control.Category (Category, (.), id)
|
|||
import Control.Arrow (Arrow, ArrowChoice, arr, first, left)
|
||||
|
||||
import Hakyll.Core.Identifier
|
||||
import Hakyll.Core.ResourceProvider
|
||||
import Hakyll.Core.Resource.Provider
|
||||
import Hakyll.Core.Store
|
||||
import Hakyll.Core.Routes
|
||||
import Hakyll.Core.Logger
|
||||
|
|
14
src/Hakyll/Core/Resource.hs
Normal file
14
src/Hakyll/Core/Resource.hs
Normal file
|
@ -0,0 +1,14 @@
|
|||
-- | Module exporting the simple 'Resource' type
|
||||
--
|
||||
module Hakyll.Core.Resource
|
||||
( Resource (..)
|
||||
) where
|
||||
|
||||
import Hakyll.Core.Identifier
|
||||
|
||||
-- | A resource
|
||||
--
|
||||
-- Invariant: the resource specified by the given identifier must exist
|
||||
--
|
||||
newtype Resource = Resource {unResource :: Identifier}
|
||||
deriving (Eq, Show, Ord)
|
|
@ -10,9 +10,8 @@
|
|||
-- Therefore, it is not recommended to read files directly -- you should use the
|
||||
-- provided 'Resource' methods.
|
||||
--
|
||||
module Hakyll.Core.ResourceProvider
|
||||
( Resource (..)
|
||||
, ResourceProvider (..)
|
||||
module Hakyll.Core.Resource.Provider
|
||||
( ResourceProvider (..)
|
||||
, resourceExists
|
||||
, resourceDigest
|
||||
, resourceModified
|
||||
|
@ -27,13 +26,7 @@ import OpenSSL.Digest (MessageDigest (MD5))
|
|||
|
||||
import Hakyll.Core.Identifier
|
||||
import Hakyll.Core.Store
|
||||
|
||||
-- | A resource
|
||||
--
|
||||
-- Invariant: the resource specified by the given identifier must exist
|
||||
--
|
||||
newtype Resource = Resource {unResource :: Identifier}
|
||||
deriving (Eq, Show, Ord)
|
||||
import Hakyll.Core.Resource
|
||||
|
||||
-- | A value responsible for retrieving and listing resources
|
||||
--
|
|
@ -1,6 +1,6 @@
|
|||
-- | A concrete 'ResourceProvider' that gets it's resources from the filesystem
|
||||
--
|
||||
module Hakyll.Core.ResourceProvider.FileResourceProvider
|
||||
module Hakyll.Core.Resource.Provider.File
|
||||
( fileResourceProvider
|
||||
) where
|
||||
|
||||
|
@ -8,7 +8,8 @@ import Control.Applicative ((<$>))
|
|||
|
||||
import qualified Data.ByteString.Lazy as LB
|
||||
|
||||
import Hakyll.Core.ResourceProvider
|
||||
import Hakyll.Core.Resource
|
||||
import Hakyll.Core.Resource.Provider
|
||||
import Hakyll.Core.Identifier
|
||||
import Hakyll.Core.Util.File
|
||||
import Hakyll.Core.Configuration
|
|
@ -37,7 +37,8 @@ import qualified Data.Set as S
|
|||
import Data.Typeable (Typeable)
|
||||
import Data.Binary (Binary)
|
||||
|
||||
import Hakyll.Core.ResourceProvider
|
||||
import Hakyll.Core.Resource
|
||||
import Hakyll.Core.Resource.Provider
|
||||
import Hakyll.Core.Identifier
|
||||
import Hakyll.Core.Identifier.Pattern
|
||||
import Hakyll.Core.Compiler.Internal
|
||||
|
|
|
@ -18,7 +18,8 @@ import Control.Monad.State (State, evalState)
|
|||
import Data.Monoid (Monoid, mempty, mappend)
|
||||
import Data.Set (Set)
|
||||
|
||||
import Hakyll.Core.ResourceProvider
|
||||
import Hakyll.Core.Resource
|
||||
import Hakyll.Core.Resource.Provider
|
||||
import Hakyll.Core.Identifier
|
||||
import Hakyll.Core.Identifier.Pattern
|
||||
import Hakyll.Core.Compiler.Internal
|
||||
|
|
|
@ -23,8 +23,9 @@ import Hakyll.Core.Identifier
|
|||
import Hakyll.Core.Util.File
|
||||
import Hakyll.Core.Compiler
|
||||
import Hakyll.Core.Compiler.Internal
|
||||
import Hakyll.Core.ResourceProvider
|
||||
import Hakyll.Core.ResourceProvider.FileResourceProvider
|
||||
import Hakyll.Core.Resource
|
||||
import Hakyll.Core.Resource.Provider
|
||||
import Hakyll.Core.Resource.Provider.File
|
||||
import Hakyll.Core.Rules.Internal
|
||||
import Hakyll.Core.DirectedGraph
|
||||
import Hakyll.Core.DirectedGraph.DependencySolver
|
||||
|
|
|
@ -12,7 +12,7 @@ import System.Directory (copyFile)
|
|||
import Data.Typeable (Typeable)
|
||||
import Data.Binary (Binary)
|
||||
|
||||
import Hakyll.Core.ResourceProvider
|
||||
import Hakyll.Core.Resource
|
||||
import Hakyll.Core.Writable
|
||||
import Hakyll.Core.Compiler
|
||||
import Hakyll.Core.Identifier
|
||||
|
|
|
@ -11,7 +11,7 @@ import Data.List (isPrefixOf)
|
|||
import Control.Arrow ((>>^))
|
||||
|
||||
import Hakyll.Core.Compiler
|
||||
import Hakyll.Core.ResourceProvider
|
||||
import Hakyll.Core.Resource
|
||||
import Hakyll.Core.Util.String
|
||||
|
||||
-- | Compiler form of 'compressCss'
|
||||
|
|
|
@ -67,7 +67,7 @@ import Data.Ord (comparing)
|
|||
|
||||
import Hakyll.Core.Identifier
|
||||
import Hakyll.Core.Compiler
|
||||
import Hakyll.Core.ResourceProvider
|
||||
import Hakyll.Core.Resource
|
||||
import Hakyll.Web.Page.Internal
|
||||
import Hakyll.Web.Page.Read
|
||||
import Hakyll.Web.Page.Metadata
|
||||
|
|
|
@ -59,7 +59,7 @@ import Text.Hamlet (HamletSettings, defaultHamletSettings)
|
|||
|
||||
import Hakyll.Core.Compiler
|
||||
import Hakyll.Core.Identifier
|
||||
import Hakyll.Core.ResourceProvider
|
||||
import Hakyll.Core.Resource
|
||||
import Hakyll.Web.Template.Internal
|
||||
import Hakyll.Web.Template.Read
|
||||
import Hakyll.Web.Page.Internal
|
||||
|
|
Loading…
Reference in a new issue