Update morepages example to work with Hakyll 3.
This commit is contained in:
parent
9ddde6c0fa
commit
c288567388
7 changed files with 53 additions and 32 deletions
|
@ -1,24 +1,25 @@
|
|||
---
|
||||
title: About
|
||||
---
|
||||
|
||||
--- section1
|
||||
## Mattis
|
||||
|
||||
Nullam imperdiet sodales orci vitae molestie. Nunc quam orci, pharetra a
|
||||
rhoncus vitae, eleifend id felis. Suspendisse potenti. Etiam vitae urna orci.
|
||||
Quisque pellentesque dignissim felis, egestas tempus urna luctus vitae. In hac
|
||||
habitasse platea dictumst. Morbi fringilla mattis odio, et mattis tellus
|
||||
accumsan vitae.
|
||||
|
||||
--- section2
|
||||
## Orci
|
||||
|
||||
Vivamus eget mauris sit amet nulla laoreet lobortis. Nulla in diam elementum
|
||||
risus convallis commodo. Cras vehicula varius dui vitae facilisis. Proin
|
||||
elementum libero eget leo aliquet quis euismod orci vestibulum. Duis rhoncus
|
||||
lorem consequat tellus vestibulum aliquam. Quisque orci orci, malesuada porta
|
||||
blandit et, interdum nec magna.
|
||||
|
||||
--- section3
|
||||
## Augue
|
||||
|
||||
In urna ante, pulvinar et imperdiet nec, fermentum ac tortor. Cras tristique
|
||||
pellentesque euismod. Pellentesque est ante, sagittis vitae vehicula vitae,
|
||||
ullamcorper eget lectus. Curabitur egestas accumsan leo, ac ullamcorper nibh
|
||||
|
|
|
@ -24,4 +24,5 @@ div.column {
|
|||
|
||||
div#footer {
|
||||
clear: both;
|
||||
border-top: 4px solid black;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
--- footer
|
||||
---
|
||||
title: Footer
|
||||
---
|
||||
|
||||
## Sapien
|
||||
|
||||
In hac habitasse platea dictumst. Cras placerat felis nec risus varius in
|
||||
|
|
|
@ -1,13 +1,28 @@
|
|||
import Text.Hakyll (hakyll)
|
||||
import Text.Hakyll.File (directory)
|
||||
import Text.Hakyll.Render (css, static, renderChain)
|
||||
import Text.Hakyll.CreateContext (createPage, combine)
|
||||
{-# LANGUAGE OverloadedStrings, Arrows #-}
|
||||
module Main where
|
||||
|
||||
main = hakyll "http://example.com" $ do
|
||||
directory css "css"
|
||||
render "about.markdown"
|
||||
render "index.markdown"
|
||||
render "products.markdown"
|
||||
where
|
||||
render = renderChain ["templates/default.html"] . withFooter . createPage
|
||||
withFooter = flip combine $ createPage "footer.markdown"
|
||||
import Control.Monad (forM_)
|
||||
import Control.Arrow (arr, (>>>))
|
||||
|
||||
import Hakyll
|
||||
|
||||
main :: IO ()
|
||||
main = hakyll $ do
|
||||
-- Compress CSS
|
||||
route "css/*" idRoute
|
||||
compile "css/*" compressCssCompiler
|
||||
|
||||
-- Render static pages
|
||||
forM_ ["about.markdown", "index.markdown", "products.markdown"] $ \p -> do
|
||||
route p $ setExtension ".html"
|
||||
compile p $
|
||||
pageCompiler
|
||||
>>> requireA "footer.markdown" (setFieldA "footer" $ arr pageBody)
|
||||
>>> applyTemplateCompiler "templates/default.html"
|
||||
>>> relativizeUrlsCompiler
|
||||
|
||||
-- Compile footer
|
||||
compile "footer.markdown" pageCompiler
|
||||
|
||||
-- Read templates
|
||||
compile "templates/*" templateCompiler
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
---
|
||||
title: Home
|
||||
---
|
||||
|
||||
--- section1
|
||||
## Purus
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tempor, urna et
|
||||
auctor tincidunt, eros mauris facilisis purus, eget sollicitudin leo massa sit
|
||||
amet ipsum. Vivamus eu massa in urna vehicula rutrum eget sit amet purus.
|
||||
|
||||
--- section2
|
||||
## Ligula
|
||||
|
||||
Mauris sit amet justo mi. Curabitur vel quam felis. In hac habitasse platea
|
||||
dictumst. Etiam nec consequat risus. Donec consequat est vitae neque fermentum
|
||||
feugiat nec ac nibh. Nulla rhoncus, odio quis scelerisque rutrum, metus sem
|
||||
|
@ -16,8 +17,8 @@ tempor ante, a ornare ipsum felis sed ligula. Morbi urna lectus, scelerisque
|
|||
non pharetra in, rutrum quis ligula. Phasellus semper ullamcorper arcu eu
|
||||
auctor.
|
||||
|
||||
--- section3
|
||||
## Justo
|
||||
|
||||
Aliquam sagittis tincidunt libero ut elementum. Ut sit amet vestibulum metus.
|
||||
Ut aliquet congue neque eu tincidunt. Integer eu elit sed massa sollicitudin
|
||||
vehicula nec ut sem. Cras euismod enim eget purus lacinia non feugiat urna
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
---
|
||||
title: Products
|
||||
---
|
||||
|
||||
--- section1
|
||||
## Lacus
|
||||
|
||||
Etiam condimentum auctor semper. Donec lobortis, magna id sodales sollicitudin,
|
||||
lectus mi egestas nulla, pulvinar lobortis nunc eros id nisl. Curabitur
|
||||
imperdiet, erat at accumsan vulputate, purus nunc blandit nulla, dictum
|
||||
vestibulum sem lorem eget ipsum.
|
||||
|
||||
--- section2
|
||||
## Vitae
|
||||
|
||||
Integer ut dui eu felis mollis vestibulum. Etiam at nibh id diam aliquet
|
||||
vestibulum sit amet a nibh. Aliquam erat volutpat. Etiam vitae nulla at dolor
|
||||
fringilla tempor ut a nunc. Pellentesque elementum elit lorem. Quisque nec
|
||||
ligula ipsum. Nunc augue lacus, ullamcorper vel dapibus in, mattis eget elit.
|
||||
|
||||
--- section3
|
||||
## Feugiat
|
||||
|
||||
Pellentesque enim dui, interdum elementum vehicula luctus, feugiat vitae arcu.
|
||||
Vestibulum ut felis justo. Quisque vestibulum mauris eget ipsum luctus
|
||||
consequat. Nunc tincidunt, turpis ut fermentum dapibus,
|
||||
|
|
|
@ -4,20 +4,19 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>MyAweSomeCompany - $title</title>
|
||||
<link rel="stylesheet" type="text/css" href="$root/css/default.css" />
|
||||
<title>MyAweSomeCompany - $title$</title>
|
||||
<link rel="stylesheet" type="text/css" href="/css/default.css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>MyAweSomeCompany - $title</h1>
|
||||
<h1>MyAweSomeCompany - $title$</h1>
|
||||
<div id="navigation">
|
||||
<a href="$root/index.html">Home</a>
|
||||
<a href="$root/about.html">About</a>
|
||||
<a href="$root/products.html">Products</a>
|
||||
<a href="/">Home</a>
|
||||
<a href="/about.html">About</a>
|
||||
<a href="/products.html">Products</a>
|
||||
</div>
|
||||
|
||||
<div class="column"> $section1 </div>
|
||||
<div class="column"> $section2 </div>
|
||||
<div class="column"> $section3 </div>
|
||||
<div id="footer"> $footer </div>
|
||||
$body$
|
||||
|
||||
<div id="footer"> $footer$ </div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in a new issue