1--------------------------------------------------------------------------------
2module Hakyll.Core.Provider.MetadataCache
5 , resourceInvalidateMetadataCache
9--------------------------------------------------------------------------------
10import Control.Monad (unless)
11import Hakyll.Core.Identifier
12import Hakyll.Core.Metadata
13import Hakyll.Core.Provider.Internal
14import Hakyll.Core.Provider.Metadata
15import qualified Hakyll.Core.Store as Store
18--------------------------------------------------------------------------------
19resourceMetadata :: Provider -> Identifier -> IO Metadata
21 | not (resourceExists p r) = return mempty
23 -- TODO keep time in md cache
25 Store.Found (BinaryMetadata md) <- Store.get (providerStore p)
26 [name, toFilePath r, "metadata"]
30--------------------------------------------------------------------------------
31resourceBody :: Provider -> Identifier -> IO String
34 Store.Found bd <- Store.get (providerStore p)
35 [name, toFilePath r, "body"]
36 maybe (resourceString p r) return bd
39--------------------------------------------------------------------------------
40resourceInvalidateMetadataCache :: Provider -> Identifier -> IO ()
41resourceInvalidateMetadataCache p r = do
42 Store.delete (providerStore p) [name, toFilePath r, "metadata"]
43 Store.delete (providerStore p) [name, toFilePath r, "body"]
46--------------------------------------------------------------------------------
47load :: Provider -> Identifier -> IO ()
49 mmof <- Store.isMember store mdk
51 (md, body) <- loadMetadata p r
52 Store.set store mdk (BinaryMetadata md)
53 Store.set store bk body
55 store = providerStore p
56 mdk = [name, toFilePath r, "metadata"]
57 bk = [name, toFilePath r, "body"]
60--------------------------------------------------------------------------------
62name = "Hakyll.Core.Resource.Provider.MetadataCache"
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list