| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
MathiasSM.Config
Description
Site-wide constants: where content lives, what groups exist, shared templates
Synopsis
- siteName :: String
- siteDescription :: String
- siteAuthor :: String
- siteCopyrightYear :: String
- siteDomain :: String
- baseUrl :: String
- twitterHandle :: String
- siteConfiguration :: Configuration
- contentDir :: FilePath
- assetsDir :: FilePath
- postGroups :: [String]
- showcaseName :: String
- standalonePages :: [String]
- requiredContent :: [FilePath]
- pagesPattern :: String -> Pattern
- postsPattern :: String -> Pattern
- postSnapshot :: String -> Snapshot
- feedItemLimit :: Int
- projectsPattern :: Pattern
- tablesPattern :: Pattern
- hobbiesTable :: Identifier
- socialsTable :: Identifier
- experienceTable :: Identifier
- siteTemplate :: Identifier
- minimalTemplate :: Identifier
- pageTemplate :: Identifier
- postTemplate :: Identifier
Documentation
Site-wide information, exposed to templates as site-name, site-description, ...
siteAuthor :: String #
Site-wide information, exposed to templates as site-name, site-description, ...
Site-wide information, exposed to templates as site-name, site-description, ...
siteDomain :: String #
The site's domain, without scheme.
Overridable at build time via the SITE_DOMAIN environment variable (CI uses
this to build the gamma/preview deployment on a different domain). Read once,
when the site executable starts.
twitterHandle :: String #
Twitter handle (without @) used for the social cards of posts
siteConfiguration :: Configuration #
Hakyll's defaults, except that `.well-known` folders are not ignored (Hakyll skips every dot-folder, but `assetsstatic.well-known/` must be published)
contentDir :: FilePath #
Where the content lives: pages, projects, tables/, and one folder per post group.
Overridable at build time via the CONTENT_DIR environment variable
(web-writings builds with CONTENT_DIR=. so it compiles its own checkout
directly). Read once, when the site executable starts.
Site-owned files: `css`, `images`, and `static/` (published at the site root as is)
postGroups :: [String] #
showcaseName :: String #
Name of the page listing the projects in content/projects
standalonePages :: [String] #
Plain pages, each contentpagesname.*, routed by its `path:`
requiredContent :: [FilePath] #
Files the site cannot build without, relative to the repo root
pagesPattern :: String -> Pattern #
Standalone page named name
postsPattern :: String -> Pattern #
Items of a post group
postSnapshot :: String -> Snapshot #
The snapshot holding each published post of a group, as rendered HTML (before the page templates)
feedItemLimit :: Int #
How many of the newest posts each Atom feed carries
projectsPattern :: Pattern #
All showcase projects
tablesPattern :: Pattern #
All tables (TSV)
hobbiesTable :: Identifier #
Tables (TSV) read by contexts
socialsTable :: Identifier #
Tables (TSV) read by contexts
experienceTable :: Identifier #
Tables (TSV) read by contexts
siteTemplate :: Identifier #
Templates every kind of page goes through
minimalTemplate :: Identifier #
Templates every kind of page goes through
pageTemplate :: Identifier #
Templates every kind of page goes through
postTemplate :: Identifier #
Templates every kind of page goes through