hakyll-4.6.6.0: A static website compiler library

Safe HaskellNone
LanguageHaskell98

Hakyll.Web.Html

Contents

Description

Provides utilities to manipulate HTML pages

Synopsis

Generic

withTags :: (Tag String -> Tag String) -> String -> String Source

Map over all tags in the document

Headers

demoteHeaders :: String -> String Source

Map every h1 to an h2, h2 to h3, etc.

Url manipulation

withUrls :: (String -> String) -> String -> String Source

Apply a function to each URL on a webpage

toUrl :: FilePath -> String Source

Convert a filepath to an URL starting from the site root

Example:

toUrl "foo/bar.html"

Result:

"/foo/bar.html"

This also sanitizes the URL, e.g. converting spaces into '%20'

toSiteRoot :: String -> String Source

Get the relative url to the site root, for a given (absolute) url

isExternal :: String -> Bool Source

Check if an URL links to an external HTTP(S) source

Stripping/escaping

stripTags :: String -> String Source

Strip all HTML tags from a string

Example:

stripTags "<p>foo</p>"

Result:

"foo"

This also works for incomplete tags

Example:

stripTags "<p>foo</p"

Result:

"foo"

escapeHtml :: String -> String Source

HTML-escape a string

Example:

escapeHtml "Me & Dean"

Result:

"Me &amp; Dean"