1--------------------------------------------------------------------------------
2module Hakyll.Core.ResourceProvider.MetadataCache
5 , resourceInvalidateMetadataCache
9--------------------------------------------------------------------------------
10import Hakyll.Core.Identifier
11import Hakyll.Core.Metadata
12import Hakyll.Core.ResourceProvider.Internal
13import Hakyll.Core.ResourceProvider.Metadata
14import qualified Hakyll.Core.Store as Store
17--------------------------------------------------------------------------------
18resourceMetadata :: ResourceProvider -> Identifier a -> IO Metadata
19resourceMetadata rp r = do
21 Store.Found md <- Store.get (resourceStore rp)
22 [name, toFilePath r, "metadata"]
26--------------------------------------------------------------------------------
27resourceBody :: ResourceProvider -> Identifier a -> IO String
30 Store.Found bd <- Store.get (resourceStore rp)
31 [name, toFilePath r, "body"]
32 maybe (resourceString r) return bd
35--------------------------------------------------------------------------------
36resourceInvalidateMetadataCache :: ResourceProvider -> Identifier a -> IO ()
37resourceInvalidateMetadataCache rp r = do
38 Store.delete (resourceStore rp) [name, toFilePath r, "metadata"]
39 Store.delete (resourceStore rp) [name, toFilePath r, "body"]
42--------------------------------------------------------------------------------
43load :: ResourceProvider -> Identifier a -> IO ()
45 mmd <- Store.get store mdk :: IO (Store.Result Metadata)
48 Store.Found _ -> return ()
51 (metadata, body) <- loadMetadata rp r
52 Store.set store mdk metadata
53 Store.set store bk body
55 store = resourceStore rp
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