on master help sign in
New resource module hierarchy
commit015663657ceca7b168bf7d91fbc2fccc41c40904 authorJasper Van der Jeugt <jaspervdj@gmail.com> dateTue 5 Apr 2011, 22:14 (16 years ago) parent433f36e
16 files changed+43−36
hakyll.cabal+3−2 src-inotify/Hakyll/Web/Preview/Poll.hs+1−1 src-interval/Hakyll/Web/Preview/Poll.hs+1−1 src/Hakyll.hs+4−2 src/Hakyll/Core/Compiler.hs+2−9 src/Hakyll/Core/Compiler/Internal.hs+1−1 src/Hakyll/Core/Resource.hs+14 src/Hakyll/Core/ResourceProvider.hs → src/Hakyll/Core/Resource/Provider.hs+3−10 src/Hakyll/Core/ResourceProvider/FileResourceProvider.hs → src/Hakyll/Core/Resource/Provider/File.hs+3−2 src/Hakyll/Core/Rules.hs+2−1 src/Hakyll/Core/Rules/Internal.hs+2−1 src/Hakyll/Core/Run.hs+3−2 src/Hakyll/Core/Writable/CopyFile.hs+1−1 src/Hakyll/Web/CompressCss.hs+1−1 src/Hakyll/Web/Page.hs+1−1 src/Hakyll/Web/Template.hs+1−1
hakyll.cabal+3−2
@@ -81,14 +81,15 @@ library
8181 Hakyll.Web.RelativizeUrls
8282 Hakyll.Web.Page.Read
8383 Hakyll.Web.Page.Metadata
84− Hakyll.Core.ResourceProvider.FileResourceProvider
8584 Hakyll.Core.Configuration
8685 Hakyll.Core.Identifier.Pattern
8786 Hakyll.Core.UnixFilter
8887 Hakyll.Core.Util.Arrow
8988 Hakyll.Core.Util.File
9089 Hakyll.Core.Util.String
91− Hakyll.Core.ResourceProvider
90+ Hakyll.Core.Resource
91+ Hakyll.Core.Resource.Provider
92+ Hakyll.Core.Resource.Provider.File
9293 Hakyll.Core.CompiledItem
9394 Hakyll.Core.Compiler
9495 Hakyll.Core.Run
src-inotify/Hakyll/Web/Preview/Poll.hs+1−1
@@ -13,7 +13,7 @@ import Data.List (isPrefixOf)
1313import System.INotify
1414
1515import Hakyll.Core.Configuration
16−import Hakyll.Core.ResourceProvider
16+import Hakyll.Core.Resource
1717import Hakyll.Core.Identifier
1818
1919-- | Calls the given callback when the directory tree changes
src-interval/Hakyll/Web/Preview/Poll.hs+1−1
@@ -15,7 +15,7 @@ import System.Directory (getModificationTime)
1515
1616import Hakyll.Core.Configuration
1717import Hakyll.Core.Identifier
18−import Hakyll.Core.ResourceProvider
18+import Hakyll.Core.Resource
1919
2020-- | A preview thread that periodically recompiles the site.
2121--
src/Hakyll.hs+4−2
@@ -5,7 +5,8 @@ module Hakyll
55 , module Hakyll.Core.Configuration
66 , module Hakyll.Core.Identifier
77 , module Hakyll.Core.Identifier.Pattern
8− , module Hakyll.Core.ResourceProvider
8+ , module Hakyll.Core.Resource
9+ , module Hakyll.Core.Resource.Provider
910 , module Hakyll.Core.Routes
1011 , module Hakyll.Core.Rules
1112 , module Hakyll.Core.UnixFilter
@@ -34,7 +35,8 @@ import Hakyll.Core.Compiler
3435import Hakyll.Core.Configuration
3536import Hakyll.Core.Identifier
3637import Hakyll.Core.Identifier.Pattern
37−import Hakyll.Core.ResourceProvider
38+import Hakyll.Core.Resource
39+import Hakyll.Core.Resource.Provider
3840import Hakyll.Core.Routes
3941import Hakyll.Core.Rules
4042import Hakyll.Core.UnixFilter
src/Hakyll/Core/Compiler.hs+2−9
@@ -89,7 +89,6 @@ module Hakyll.Core.Compiler
8989 ( Compiler
9090 , runCompiler
9191 , getIdentifier
92− , getIdentifiers
9392 , getRoute
9493 , getRouteFor
9594 , getResourceString
@@ -125,7 +124,8 @@ import Hakyll.Core.Identifier
125124import Hakyll.Core.Identifier.Pattern
126125import Hakyll.Core.CompiledItem
127126import Hakyll.Core.Writable
128−import Hakyll.Core.ResourceProvider
127+import Hakyll.Core.Resource
128+import Hakyll.Core.Resource.Provider
129129import Hakyll.Core.Compiler.Internal
130130import Hakyll.Core.Store
131131import Hakyll.Core.Rules.Internal
@@ -166,13 +166,6 @@ runCompiler compiler identifier provider routes store modified logger = do
166166getIdentifier :: Compiler a Identifier
167167getIdentifier = fromJob $ const $ CompilerM $ compilerIdentifier <$> ask
168168
169−-- | Get all identifiers matching the given pattern
170−--
171−getIdentifiers :: Pattern -> Compiler a [Identifier]
172−getIdentifiers pattern = fromJob $ const $ CompilerM $
173− matches pattern . map unResource . resourceList
174− . compilerResourceProvider <$> ask
175−
176169-- | Get the route we are using for this item
177170--
178171getRoute :: Compiler a (Maybe FilePath)
src/Hakyll/Core/Compiler/Internal.hs+1−1
@@ -26,7 +26,7 @@ import Control.Category (Category, (.), id)
2626import Control.Arrow (Arrow, ArrowChoice, arr, first, left)
2727
2828import Hakyll.Core.Identifier
29−import Hakyll.Core.ResourceProvider
29+import Hakyll.Core.Resource.Provider
3030import Hakyll.Core.Store
3131import Hakyll.Core.Routes
3232import Hakyll.Core.Logger
src/Hakyll/Core/Resource.hsnew file+14
@@ -0,0 +1,14 @@
1+-- | Module exporting the simple 'Resource' type
2+--
3+module Hakyll.Core.Resource
4+ ( Resource (..)
5+ ) where
6+
7+import Hakyll.Core.Identifier
8+
9+-- | A resource
10+--
11+-- Invariant: the resource specified by the given identifier must exist
12+--
13+newtype Resource = Resource {unResource :: Identifier}
14+ deriving (Eq, Show, Ord)
src/Hakyll/Core/ResourceProvider.hs → src/Hakyll/Core/Resource/Provider.hsrenamed+3−10
@@ -10,9 +10,8 @@
1010-- Therefore, it is not recommended to read files directly -- you should use the
1111-- provided 'Resource' methods.
1212--
13−module Hakyll.Core.ResourceProvider
14− ( Resource (..)
15− , ResourceProvider (..)
13+module Hakyll.Core.Resource.Provider
14+ ( ResourceProvider (..)
1615 , resourceExists
1716 , resourceDigest
1817 , resourceModified
@@ -27,13 +26,7 @@ import OpenSSL.Digest (MessageDigest (MD5))
2726
2827import Hakyll.Core.Identifier
2928import Hakyll.Core.Store
30−
31−-- | A resource
32−--
33−-- Invariant: the resource specified by the given identifier must exist
34−--
35−newtype Resource = Resource {unResource :: Identifier}
36− deriving (Eq, Show, Ord)
29+import Hakyll.Core.Resource
3730
3831-- | A value responsible for retrieving and listing resources
3932--
src/Hakyll/Core/ResourceProvider/FileResourceProvider.hs → src/Hakyll/Core/Resource/Provider/File.hsrenamed+3−2
@@ -1,6 +1,6 @@
11-- | A concrete 'ResourceProvider' that gets it's resources from the filesystem
22--
3−module Hakyll.Core.ResourceProvider.FileResourceProvider
3+module Hakyll.Core.Resource.Provider.File
44 ( fileResourceProvider
55 ) where
66
@@ -8,7 +8,8 @@ import Control.Applicative ((<$>))
88
99import qualified Data.ByteString.Lazy as LB
1010
11−import Hakyll.Core.ResourceProvider
11+import Hakyll.Core.Resource
12+import Hakyll.Core.Resource.Provider
1213import Hakyll.Core.Identifier
1314import Hakyll.Core.Util.File
1415import Hakyll.Core.Configuration
src/Hakyll/Core/Rules.hs+2−1
@@ -37,7 +37,8 @@ import qualified Data.Set as S
3737import Data.Typeable (Typeable)
3838import Data.Binary (Binary)
3939
40−import Hakyll.Core.ResourceProvider
40+import Hakyll.Core.Resource
41+import Hakyll.Core.Resource.Provider
4142import Hakyll.Core.Identifier
4243import Hakyll.Core.Identifier.Pattern
4344import Hakyll.Core.Compiler.Internal
src/Hakyll/Core/Rules/Internal.hs+2−1
@@ -18,7 +18,8 @@ import Control.Monad.State (State, evalState)
1818import Data.Monoid (Monoid, mempty, mappend)
1919import Data.Set (Set)
2020
21−import Hakyll.Core.ResourceProvider
21+import Hakyll.Core.Resource
22+import Hakyll.Core.Resource.Provider
2223import Hakyll.Core.Identifier
2324import Hakyll.Core.Identifier.Pattern
2425import Hakyll.Core.Compiler.Internal
src/Hakyll/Core/Run.hs+3−2
@@ -23,8 +23,9 @@ import Hakyll.Core.Identifier
2323import Hakyll.Core.Util.File
2424import Hakyll.Core.Compiler
2525import Hakyll.Core.Compiler.Internal
26−import Hakyll.Core.ResourceProvider
27−import Hakyll.Core.ResourceProvider.FileResourceProvider
26+import Hakyll.Core.Resource
27+import Hakyll.Core.Resource.Provider
28+import Hakyll.Core.Resource.Provider.File
2829import Hakyll.Core.Rules.Internal
2930import Hakyll.Core.DirectedGraph
3031import Hakyll.Core.DirectedGraph.DependencySolver
src/Hakyll/Core/Writable/CopyFile.hs+1−1
@@ -12,7 +12,7 @@ import System.Directory (copyFile)
1212import Data.Typeable (Typeable)
1313import Data.Binary (Binary)
1414
15−import Hakyll.Core.ResourceProvider
15+import Hakyll.Core.Resource
1616import Hakyll.Core.Writable
1717import Hakyll.Core.Compiler
1818import Hakyll.Core.Identifier
src/Hakyll/Web/CompressCss.hs+1−1
@@ -11,7 +11,7 @@ import Data.List (isPrefixOf)
1111import Control.Arrow ((>>^))
1212
1313import Hakyll.Core.Compiler
14−import Hakyll.Core.ResourceProvider
14+import Hakyll.Core.Resource
1515import Hakyll.Core.Util.String
1616
1717-- | Compiler form of 'compressCss'
src/Hakyll/Web/Page.hs+1−1
@@ -67,7 +67,7 @@ import Data.Ord (comparing)
6767
6868import Hakyll.Core.Identifier
6969import Hakyll.Core.Compiler
70−import Hakyll.Core.ResourceProvider
70+import Hakyll.Core.Resource
7171import Hakyll.Web.Page.Internal
7272import Hakyll.Web.Page.Read
7373import Hakyll.Web.Page.Metadata
src/Hakyll/Web/Template.hs+1−1
@@ -59,7 +59,7 @@ import Text.Hamlet (HamletSettings, defaultHamletSettings)
5959
6060import Hakyll.Core.Compiler
6161import Hakyll.Core.Identifier
62−import Hakyll.Core.ResourceProvider
62+import Hakyll.Core.Resource
6363import Hakyll.Web.Template.Internal
6464import Hakyll.Web.Template.Read
6565import Hakyll.Web.Page.Internal