---------------------------------------------------------------------------------- | This module exposes a function which can relativize URL's on a webpage.---- This means that one can deploy the resulting site on-- @http:\/\/example.com\/@, but also on @http:\/\/example.com\/some-folder\/@-- without having to change anything (simply copy over the files).---- To use it, you should use absolute URL's from the site root everywhere. For-- example, use---- > <img src="/images/lolcat.png" alt="Funny zomgroflcopter" />---- in a blogpost. When running this through the relativize URL's module, this-- will result in (suppose your blogpost is located at @\/posts\/foo.html@:---- > <img src="../images/lolcat.png" alt="Funny zomgroflcopter" />moduleHakyll.Web.Html.RelativizeUrls(relativizeUrls,relativizeUrlsWith)where--------------------------------------------------------------------------------importData.List(isPrefixOf)--------------------------------------------------------------------------------importHakyll.Core.CompilerimportHakyll.Core.ItemimportHakyll.Web.Html---------------------------------------------------------------------------------- | Compiler form of 'relativizeUrls' which automatically picks the right root-- pathrelativizeUrls::ItemString->Compiler(ItemString)relativizeUrlsitem=doroute<-getRoute$itemIdentifieritemreturn$caserouteofNothing->itemJustr->fmap(relativizeUrlsWith$toSiteRootr)item---------------------------------------------------------------------------------- | Relativize URL's in HTMLrelativizeUrlsWith::String-- ^ Path to the site root->String-- ^ HTML to relativize->String-- ^ Resulting HTMLrelativizeUrlsWithroot=withUrlsrelwhereisRelx="/"`isPrefixOf`x&&not("//"`isPrefixOf`x)relx=ifisRelxthenroot++xelsex