mathiassm
Safe HaskellNone
LanguageGHC2024

MathiasSM.Config

Description

Site-wide constants: where content lives, what groups exist, shared templates

Synopsis

Documentation

siteName :: String #

Site-wide information, exposed to templates as site-name, site-description, ...

siteDescription :: String #

Site-wide information, exposed to templates as site-name, site-description, ...

siteAuthor :: String #

Site-wide information, exposed to templates as site-name, site-description, ...

siteCopyrightYear :: String #

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.

baseUrl :: String #

Public origin of the site, without trailing slash

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.

assetsDir :: FilePath #

Site-owned files: `css`, `images`, and `static/` (published at the site root as is)

postGroups :: [String] #

Groups of posts, each with an index page (contentpagesgroup.*) and items (contentgroup**)

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