A module containing various function for manipulating and examinating files and directories.
- toDestination :: FilePath -> Hakyll FilePath
- toCache :: FilePath -> Hakyll FilePath
- toUrl :: FilePath -> Hakyll FilePath
- toRoot :: FilePath -> FilePath
- inDirectory :: FilePath -> FilePath -> Bool
- inHakyllDirectory :: FilePath -> Hakyll Bool
- removeSpaces :: FilePath -> FilePath
- makeDirectories :: FilePath -> Hakyll ()
- getRecursiveContents :: FilePath -> Hakyll [FilePath]
- sortByBaseName :: [FilePath] -> [FilePath]
- havingExtension :: String -> [FilePath] -> [FilePath]
- directory :: (FilePath -> Hakyll ()) -> FilePath -> Hakyll ()
- isMoreRecent :: ClockTime -> [FilePath] -> Hakyll Bool
- isFileMoreRecent :: FilePath -> [FilePath] -> Hakyll Bool
Documentation
toDestination :: FilePath -> Hakyll FilePathSource
Convert a relative filepath to a filepath in the destination
(default: _site
).
toCache :: FilePath -> Hakyll FilePathSource
Convert a relative filepath to a filepath in the cache
(default: _cache
).
toUrl :: FilePath -> Hakyll FilePathSource
Get the url for a given page. For most extensions, this would be the path
itself. It's only for rendered extensions (.markdown
, .rst
, .lhs
this
function returns a path with a .html
extension instead.
toRoot :: FilePath -> FilePathSource
Get the relative url to the site root, for a given (absolute) url
Check if a file is in a given directory.
inHakyllDirectory :: FilePath -> Hakyll BoolSource
Check if a file is in a Hakyll directory. With a Hakyll directory, we mean
a directory that should be ignored such as the _site
or _cache
directory.
Example:
inHakyllDirectory "_cache/pages/index.html"
Result:
True
removeSpaces :: FilePath -> FilePathSource
Swaps spaces for -
.
makeDirectories :: FilePath -> Hakyll ()Source
Given a path to a file, try to make the path writable by making all directories on the path.
getRecursiveContents :: FilePath -> Hakyll [FilePath]Source
Get all contents of a directory. Note that files starting with a dot (.) will be ignored.
sortByBaseName :: [FilePath] -> [FilePath]Source
Sort a list of filenames on the basename.
havingExtension :: String -> [FilePath] -> [FilePath]Source
A filter that takes all file names with a given extension. Prefix the extension with a dot:
havingExtension ".markdown" [ "index.markdown" , "style.css" ] == ["index.markdown"]
directory :: (FilePath -> Hakyll ()) -> FilePath -> Hakyll ()Source
Perform a Hakyll action on every file in a given directory.
Check if a timestamp is newer then a number of given files.