1--------------------------------------------------------------------------------
2module Hakyll.Core.Resource.MetadataCache
5 , resourceInvalidateMetadataCache
9--------------------------------------------------------------------------------
10import Hakyll.Core.Resource
11import Hakyll.Core.Resource.Metadata
12import Hakyll.Core.Resource.Provider.Internal
13import qualified Hakyll.Core.Store as Store
16--------------------------------------------------------------------------------
17resourceMetadata :: ResourceProvider -> Resource -> IO Metadata
18resourceMetadata rp r = do
20 Store.Found md <- Store.get (resourceStore rp)
21 [name, unResource r, "metadata"]
25--------------------------------------------------------------------------------
26resourceBody :: ResourceProvider -> Resource -> IO String
29 Store.Found bd <- Store.get (resourceStore rp)
30 [name, unResource r, "body"]
31 maybe (resourceString r) return bd
34--------------------------------------------------------------------------------
35resourceInvalidateMetadataCache :: ResourceProvider -> Resource -> IO ()
36resourceInvalidateMetadataCache rp r = do
37 Store.delete (resourceStore rp) [name, unResource r, "metadata"]
38 Store.delete (resourceStore rp) [name, unResource r, "body"]
41--------------------------------------------------------------------------------
42load :: ResourceProvider -> Resource -> IO ()
44 mmd <- Store.get store mdk :: IO (Store.Result Metadata)
47 Store.Found _ -> return ()
50 (metadata, body) <- loadMetadata rp r
51 Store.set store mdk metadata
52 Store.set store bk body
54 store = resourceStore rp
55 mdk = [name, unResource r, "metadata"]
56 bk = [name, unResource r, "body"]
59--------------------------------------------------------------------------------
61name = "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