on master help sign in
Added two example sites.
commitb84c2e08818035680744045bd3e1ac3b061a1e2e authorJasper Van der Jeugt <jaspervdj@gmail.com> dateTue 29 Dec 2009, 19:09 (17 years ago) parent01b177e
19 files changed+273−2
examples/brochure/about.markdown+14 examples/brochure/css/default.css+17 examples/brochure/hakyll.hs+11 examples/brochure/index.markdown+22 examples/brochure/products.markdown+13 examples/brochure/templates/default.html+19 examples/simpleblog/css/default.css+17 examples/simpleblog/hakyll.hs+34 examples/simpleblog/index.html+14 examples/simpleblog/posts.html+4 examples/simpleblog/posts/2009-11-05-a-first-post.markdown+21 examples/simpleblog/posts/2009-11-10-another-post.markdown+15 examples/simpleblog/posts/2009-11-28-a-third-post.markdown+19 examples/simpleblog/posts/2009-12-04-this-blog-aint-dead.markdown+12 examples/simpleblog/posts/2009-12-23-almost-christmas.markdown+13 examples/simpleblog/templates/default.html+18 examples/simpleblog/templates/post.html+4 examples/simpleblog/templates/postitem.html+4 hakyll.cabal+2−2
examples/brochure/about.markdownnew file+14
@@ -0,0 +1,14 @@
1+---
2+title: About
3+---
4+Nullam imperdiet sodales orci vitae molestie. Nunc quam orci, pharetra a
5+rhoncus vitae, eleifend id felis. Suspendisse potenti. Etiam vitae urna orci.
6+Quisque pellentesque dignissim felis, egestas tempus urna luctus vitae. In hac
7+habitasse platea dictumst. Morbi fringilla mattis odio, et mattis tellus
8+accumsan vitae.
9+
10+Vivamus eget mauris sit amet nulla laoreet lobortis. Nulla in diam elementum
11+risus convallis commodo. Cras vehicula varius dui vitae facilisis. Proin
12+elementum libero eget leo aliquet quis euismod orci vestibulum. Duis rhoncus
13+lorem consequat tellus vestibulum aliquam. Quisque orci orci, malesuada porta
14+blandit et, interdum nec magna.
examples/brochure/css/default.cssnew file+17
@@ -0,0 +1,17 @@
1+body {
2+ width: 600px;
3+ margin: 0px auto 0px auto;
4+}
5+
6+div#navigation {
7+ text-align: center;
8+ border-bottom: 4px solid black;
9+}
10+
11+div#navigation a {
12+ color: white;
13+ text-decoration: none;
14+ background-color: black;
15+ padding: 3px 10px 3px 10px;
16+ margin: 0px 10px 0px 10px;
17+}
examples/brochure/hakyll.hsnew file+11
@@ -0,0 +1,11 @@
1+import Text.Hakyll (hakyll)
2+import Text.Hakyll.File (directory)
3+import Text.Hakyll.Render (css, static, renderChain)
4+import Text.Hakyll.Renderables (createPagePath)
5+
6+main = hakyll $ do
7+ directory css "css"
8+ render "about.markdown"
9+ render "index.markdown"
10+ render "products.markdown"
11+ where render = renderChain ["templates/default.html"] . createPagePath
examples/brochure/index.markdownnew file+22
@@ -0,0 +1,22 @@
1+---
2+title: Home
3+---
4+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tempor, urna et
5+auctor tincidunt, eros mauris facilisis purus, eget sollicitudin leo massa sit
6+amet ipsum. Vivamus eu massa in urna vehicula rutrum eget sit amet purus.
7+
8+Mauris sit amet justo mi. Curabitur vel quam felis. In hac habitasse platea
9+dictumst. Etiam nec consequat risus. Donec consequat est vitae neque fermentum
10+feugiat nec ac nibh. Nulla rhoncus, odio quis scelerisque rutrum, metus sem
11+tempor ante, a ornare ipsum felis sed ligula. Morbi urna lectus, scelerisque
12+non pharetra in, rutrum quis ligula. Phasellus semper ullamcorper arcu eu
13+auctor.
14+
15+Aliquam sagittis tincidunt libero ut elementum. Ut sit amet vestibulum metus.
16+Ut aliquet congue neque eu tincidunt. Integer eu elit sed massa sollicitudin
17+vehicula nec ut sem. Cras euismod enim eget purus lacinia non feugiat urna
18+imperdiet. Aliquam justo sem, viverra eu vehicula vitae, imperdiet vel magna.
19+
20+Pellentesque enim dui, interdum elementum vehicula luctus, feugiat vitae arcu.
21+Vestibulum ut felis justo. Quisque vestibulum mauris eget ipsum luctus
22+consequat.
examples/brochure/products.markdownnew file+13
@@ -0,0 +1,13 @@
1+---
2+title: Products
3+---
4+Etiam condimentum auctor semper. Donec lobortis, magna id sodales sollicitudin,
5+lectus mi egestas nulla, pulvinar lobortis nunc eros id nisl. Curabitur
6+imperdiet, erat at accumsan vulputate, purus nunc blandit nulla, dictum
7+vestibulum sem lorem eget ipsum. Nunc tincidunt, turpis ut fermentum dapibus,
8+justo tortor bibendum sem, at facilisis justo odio luctus lectus. Quisque nec
9+ligula ipsum. Nunc augue lacus, ullamcorper vel dapibus in, mattis eget elit.
10+
11+Integer ut dui eu felis mollis vestibulum. Etiam at nibh id diam aliquet
12+vestibulum sit amet a nibh. Aliquam erat volutpat. Etiam vitae nulla at dolor
13+fringilla tempor ut a nunc. Pellentesque elementum elit lorem.
examples/brochure/templates/default.htmlnew file+19
@@ -0,0 +1,19 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5+ <head>
6+ <title>MyAweSomeCompany - $title</title>
7+ <link rel="stylesheet" type="text/css" href="css/default.css" />
8+ </head>
9+ <body>
10+ <h1>MyAweSomeCompany - $title</h1>
11+ <div id="navigation">
12+ <a href="index.html">Home</a>
13+ <a href="about.html">About</a>
14+ <a href="products.html">Products</a>
15+ </div>
16+
17+ $body
18+ </body>
19+</html>
examples/simpleblog/css/default.cssnew file+17
@@ -0,0 +1,17 @@
1+body {
2+ width: 600px;
3+ margin: 0px auto 0px auto;
4+}
5+
6+div#navigation {
7+ text-align: center;
8+ border-bottom: 4px solid black;
9+}
10+
11+div#navigation a {
12+ color: white;
13+ text-decoration: none;
14+ background-color: black;
15+ padding: 3px 10px 3px 10px;
16+ margin: 0px 10px 0px 10px;
17+}
examples/simpleblog/hakyll.hsnew file+34
@@ -0,0 +1,34 @@
1+module Main where
2+
3+import Text.Hakyll (hakyll)
4+import Text.Hakyll.Render (renderAndConcat, renderChain, css)
5+import Text.Hakyll.File (getRecursiveContents, directory)
6+import Text.Hakyll.Renderables (createPagePath, createCustomPage)
7+import Data.List (sort)
8+import Control.Monad (mapM_, liftM)
9+import Data.Either (Either(..))
10+
11+main = hakyll $ do
12+ -- Static directory.
13+ directory css "css"
14+
15+ -- Find all post paths.
16+ postPaths <- liftM (reverse . sort) $ getRecursiveContents "posts"
17+ let renderablePosts = map createPagePath postPaths
18+
19+ -- Render index, including recent posts.
20+ let recentPosts = renderAndConcat "templates/postitem.html" $ take 3 renderablePosts
21+ renderChain ["index.html", "templates/default.html"] $
22+ createCustomPage "index.html" ("templates/postitem.html" : postPaths)
23+ [("title", Left "Home"), ("posts", Right recentPosts)]
24+
25+ -- Render all posts list.
26+ let postItems = renderAndConcat "templates/postitem.html" $ renderablePosts
27+ renderChain ["posts.html", "templates/default.html"] $
28+ createCustomPage "posts.html" ("templates/postitem.html" : postPaths)
29+ [("title", Left "All posts"), ("posts", Right postItems)]
30+
31+ -- Render all posts.
32+ putStrLn "Generating posts..."
33+ mapM_ (renderChain ["templates/post.html", "templates/default.html"]) renderablePosts
34+
examples/simpleblog/index.htmlnew file+14
@@ -0,0 +1,14 @@
1+<div id="posts">
2+ <h1>Recent posts</h1>
3+ <ul>
4+ $posts
5+ </ul>
6+ <a href="/posts.html">All posts...</a>
7+</div>
8+
9+<div class="about">
10+ <h1>About</h1>
11+ <p>
12+ This is a sample blog for educational purposes.
13+ </p>
14+</div>
examples/simpleblog/posts.htmlnew file+4
@@ -0,0 +1,4 @@
1+<h1>All posts</h1>
2+<ul>
3+ $posts
4+</ul>
examples/simpleblog/posts/2009-11-05-a-first-post.markdownnew file+21
@@ -0,0 +1,21 @@
1+---
2+title: A first post
3+author: Julius Caesar
4+date: November 5, 2009
5+---
6+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus pretium leo
7+adipiscing lectus iaculis lobortis. Vivamus scelerisque velit dignissim metus
8+gravida sit amet dapibus ligula tempor. Quisque sit amet viverra nunc.
9+Suspendisse cursus elementum ante, ut venenatis nisi dictum eu. Nulla diam
10+ligula, eleifend in varius quis, malesuada a nibh. Vivamus consequat
11+pellentesque erat non blandit. Nunc sit amet eros vel massa semper ullamcorper
12+quis iaculis magna. Vestibulum ullamcorper urna sit amet est elementum
13+pulvinar. Vestibulum consequat lacus ac quam hendrerit tincidunt. Praesent
14+bibendum vehicula diam, nec sagittis risus tempus a. Nulla quis odio sit amet
15+odio vehicula cursus ut id odio. Curabitur semper magna euismod magna mollis
16+venenatis. Nunc eget eleifend velit. Mauris sed posuere sem. Fusce id nunc
17+nisi, a aliquam orci. Suspendisse laoreet justo non enim laoreet eget consequat
18+velit porttitor. Aenean faucibus sodales metus at tincidunt. Donec vestibulum
19+leo pulvinar erat auctor ac ultrices massa euismod. Phasellus blandit cursus
20+magna, eget lacinia mi lobortis sed. Suspendisse ultricies enim ligula, vel
21+scelerisque mauris.
examples/simpleblog/posts/2009-11-10-another-post.markdownnew file+15
@@ -0,0 +1,15 @@
1+---
2+title: Another post
3+author: Marcus Tullius Cicero
4+date: November 10, 2009
5+---
6+Vestibulum in ultrices urna. Etiam tempor enim dui, nec malesuada elit. Donec
7+tempor ligula et quam volutpat quis fermentum eros congue. Sed ut pulvinar sem.
8+Sed aliquam ipsum id purus sollicitudin vulputate. Cras et mauris dui, vel
9+hendrerit leo. Ut metus ipsum, fermentum ac malesuada id, tempus pharetra quam.
10+Donec diam felis, consequat ac scelerisque cursus, gravida non lectus. Sed
11+faucibus elit dapibus diam elementum id varius nisi tristique. Proin consequat
12+faucibus neque in aliquam. Vestibulum ligula odio, pulvinar vel hendrerit
13+vitae, egestas ut nibh. Praesent ut velit elit, in consequat dolor. Praesent
14+sem enim, commodo in gravida sed, adipiscing vel eros. Lorem ipsum dolor sit
15+amet, consectetur adipiscing elit. Proin non aliquam nunc.
examples/simpleblog/posts/2009-11-28-a-third-post.markdownnew file+19
@@ -0,0 +1,19 @@
1+---
2+title: A third post
3+author: Publius Ovidius Naso
4+date: November 28, 2009
5+---
6+Pellentesque tempor blandit elit, vel ultricies arcu congue egestas. Fusce
7+vitae rutrum nisl. Fusce id mauris libero, a venenatis tellus. Fusce iaculis,
8+lorem et ornare molestie, mauris risus mollis nisi, non fermentum lacus lacus
9+sit amet ipsum. Praesent lobortis ullamcorper dolor, eget convallis ligula
10+dignissim a. Suspendisse nulla nisi, congue et pharetra vel, convallis non
11+libero. Ut a nulla ipsum. Phasellus cursus velit id neque viverra ut
12+pellentesque justo posuere. Curabitur laoreet enim et velit tempor consectetur.
13+Donec eu pretium urna. Suspendisse vitae nisi at metus vestibulum aliquam in
14+sit amet nisl. Donec convallis lacinia odio, vestibulum molestie nunc feugiat
15+a. Suspendisse vehicula, sapien id aliquet consectetur, sem sapien ullamcorper
16+arcu, scelerisque porttitor elit ipsum posuere ligula. Nulla at velit eu metus
17+tincidunt auctor ut sit amet enim. Donec placerat dapibus nisi id facilisis.
18+Maecenas pellentesque pulvinar auctor. Curabitur gravida quam sit amet purus
19+consectetur blandit.
examples/simpleblog/posts/2009-12-04-this-blog-aint-dead.markdownnew file+12
@@ -0,0 +1,12 @@
1+---
2+title: This blog ain't dead
3+author: Marcus Antonius
4+date: December 4, 2009
5+---
6+Etiam non felis aliquet tellus dictum vestibulum. Aliquam accumsan mauris non
7+lacus ultricies nec lacinia enim rhoncus. Curabitur vel tortor massa, elementum
8+tincidunt elit. Maecenas venenatis luctus arcu ut ullamcorper. Donec interdum
9+dolor eu enim tristique vel vehicula risus mollis. Nunc nec tortor quam. Nulla
10+a mauris arcu. Phasellus venenatis tortor vel odio tincidunt consequat. Integer
11+venenatis nibh vitae lectus laoreet eu feugiat nunc pretium. Integer nec turpis
12+metus, in fermentum lorem.
examples/simpleblog/posts/2009-12-23-almost-christmas.markdownnew file+13
@@ -0,0 +1,13 @@
1+---
2+title: Almost Christmas!
3+author: Publius Vergilius Maro
4+date: December 23, 2009
5+---
6+Morbi tincidunt eleifend ante, eu gravida ante rutrum vel. Nunc bibendum nulla
7+tellus, eget egestas sapien. Nam rhoncus interdum libero, eget congue orci
8+imperdiet eu. Quisque pellentesque fringilla urna, ac venenatis ante ultricies
9+et. Pellentesque habitant morbi tristique senectus et netus et malesuada fames
10+ac turpis egestas. Mauris eleifend sagittis ultrices. Quisque ultrices accumsan
11+nisl, sed pellentesque metus porta vitae. Nulla facilisi. In et nibh tincidunt
12+mi volutpat pellentesque vitae nec sapien. Integer massa ipsum, pellentesque in
13+elementum at, cursus sit amet diam.
examples/simpleblog/templates/default.htmlnew file+18
@@ -0,0 +1,18 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5+ <head>
6+ <title>SimpleBlog - $title</title>
7+ <link rel="stylesheet" type="text/css" href="/css/default.css" />
8+ </head>
9+ <body>
10+ <h1>SimpleBlog - $title</h1>
11+ <div id="navigation">
12+ <a href="/index.html">Home</a>
13+ <a href="/posts.html">All posts</a>
14+ </div>
15+
16+ $body
17+ </body>
18+</html>
examples/simpleblog/templates/post.htmlnew file+4
@@ -0,0 +1,4 @@
1+<h1>$title</h1>
2+by <em>$author</em> on <strong>$date</strong>
3+
4+$body
examples/simpleblog/templates/postitem.htmlnew file+4
@@ -0,0 +1,4 @@
1+<li>
2+ <a href="/$url">$title</a>
3+ - <em>$date</em> - by <em>$author</em>
4+</li>
hakyll.cabal+2−2
@@ -3,8 +3,8 @@ Version: 0.3.2
33
44Synopsis: A simple static site generator library.
55Description:
6− A simple static site generator library , mainly aimed at
7− creating blogs.
6+ A simple static site generator library, mainly aimed at
7+ creating blogs and brochure sites.
88Author: Jasper Van der Jeugt
99Maintainer: jaspervdj@gmail.com
1010Homepage: http://jaspervdj.be/hakyll