Remove examples from this repo

This commit is contained in:
Jasper Van der Jeugt 2011-06-13 08:43:28 +02:00
parent 893b366435
commit edeef66180
78 changed files with 8 additions and 1036 deletions

15
.gitignore vendored
View file

@ -1,7 +1,3 @@
##
## gitignore(5) -- specify ignored files
##
# Ignore swap files and cabal output. # Ignore swap files and cabal output.
*.hi *.hi
*.o *.o
@ -15,10 +11,11 @@ tags
# Ignore test builds. # Ignore test builds.
tests/Main tests/Main
_cache
_store
# Rest of the file: ignore examples # Rest of the file: ignore examples
examples/*/_cache web/_cache
examples/*/_site web/_site
examples/*/hakyll web/hakyll
examples/hakyll/reference web/reference

View file

@ -1,8 +1,8 @@
# Generate the docs and copy them to the website dir # Generate the docs and copy them to the website dir
haddock: haddock:
cabal haddock --hyperlink-source cabal haddock --hyperlink-source
rm -rf examples/hakyll/reference/ rm -rf web/reference/
cp -r dist/doc/html/hakyll/ examples/hakyll/reference/ cp -r dist/doc/html/hakyll/ web/reference/
# Run the tests # Run the tests
test: test:

View file

@ -1,14 +0,0 @@
Hakyll examples
===============
In order of increasing complexity:
brochure/ A very simple brochure site
morepages/ Slightly more complicated brochure site with partials
simpleblog/ A simple blog
feedblog/ Adds an RSS feed to the simple blog
tagblog/ Adds tags to the simple blog
In no real category:
hakyll/ The hakyll website (some custom pandoc options)

View file

@ -1,17 +0,0 @@
---
title: About
---
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.
1. Amamus Unicode 碁
2. Interdum nex magna.
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.

View file

@ -1,21 +0,0 @@
---
title: Code
---
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.
> reverse' [] = []
> reverse' (x:xs) = (reverse' xs) ++ [x]
Purus nunc blandit nulla, dictum.
vestibulum sem lorem eget ipsum. Nunc tincidunt, turpis ut fermentum dapibus,
justo tortor bibendum sem, at facilisis justo odio luctus lectus. Quisque nec
ligula ipsum. Nunc augue lacus, ullamcorper vel dapibus in, mattis eget elit.
> main = print $ reverse' [1 .. 10]
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.

View file

@ -1,27 +0,0 @@
body {
width: 600px;
margin: 0px auto 0px auto;
}
div#navigation {
text-align: center;
border-bottom: 4px solid black;
}
div#navigation a {
color: white;
text-decoration: none;
background-color: black;
padding: 3px 10px 3px 10px;
margin: 0px 10px 0px 10px;
}
div.figure {
float: right;
margin: 20px 0px 20px 20px;
}
div.figure p.caption {
text-align: center;
font-style: italic;
}

View file

@ -1,22 +0,0 @@
{-# LANGUAGE OverloadedStrings #-}
import Control.Arrow ((>>>))
import Hakyll
main :: IO ()
main = hakyll $ do
match "images/*" $ do
route idRoute
compile copyFileCompiler
match "css/*" $ do
route idRoute
compile compressCssCompiler
match "templates/*" $ compile templateCompiler
match (list ["about.rst", "index.markdown", "code.lhs"]) $ do
route $ setExtension "html"
compile $ pageCompiler
>>> applyTemplateCompiler "templates/default.html"
>>> relativizeUrlsCompiler

View file

@ -1,27 +0,0 @@
---
title: Home
---
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.
![Haskell logo](/images/haskell-logo.png)
- 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
tempor ante, a ornare ipsum felis sed ligula. Morbi urna lectus, scelerisque
non pharetra in, rutrum quis ligula. Phasellus semper ullamcorper arcu eu
auctor.
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
imperdiet. Aliquam justo sem, viverra eu vehicula vitae, imperdiet vel magna.
Pellentesque enim dui, interdum elementum vehicula luctus, feugiat vitae arcu.
Vestibulum ut felis justo. Quisque vestibulum mauris eget ipsum luctus
consequat.

View file

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<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="/css/default.css" />
<link rel="stylesheet" type="text/css" href="/css/syntax.css" />
</head>
<body>
<h1>MyAweSomeCompany - $title$</h1>
<div id="navigation">
<a href="/">Home</a>
<a href="/about.html">About</a>
<a href="/code.html">Code</a>
</div>
$body$
</body>
</html>

View file

@ -1,17 +0,0 @@
body {
width: 600px;
margin: 0px auto 0px auto;
}
div#navigation {
text-align: center;
border-bottom: 4px solid black;
}
div#navigation a {
color: white;
text-decoration: none;
background-color: black;
padding: 3px 10px 3px 10px;
margin: 0px 10px 0px 10px;
}

View file

@ -1,68 +0,0 @@
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Prelude hiding (id)
import Control.Category (id)
import Control.Arrow ((>>>), (***), arr)
import Data.Monoid (mempty, mconcat)
import Hakyll
main :: IO ()
main = hakyll $ do
-- Compress CSS
match "css/*" $ do
route idRoute
compile compressCssCompiler
-- Render posts
match "posts/*" $ do
route $ setExtension ".html"
compile $ pageCompiler
>>> applyTemplateCompiler "templates/post.html"
>>> applyTemplateCompiler "templates/default.html"
>>> relativizeUrlsCompiler
-- Render posts list
match "posts.html" $ route idRoute
create "posts.html" $ constA mempty
>>> arr (setField "title" "All posts")
>>> requireAllA "posts/*" addPostList
>>> applyTemplateCompiler "templates/posts.html"
>>> applyTemplateCompiler "templates/default.html"
>>> relativizeUrlsCompiler
-- Index
match "index.html" $ route idRoute
create "index.html" $ constA mempty
>>> arr (setField "title" "Home")
>>> requireAllA "posts/*" (id *** arr (take 3 . reverse . sortByBaseName) >>> addPostList)
>>> applyTemplateCompiler "templates/index.html"
>>> applyTemplateCompiler "templates/default.html"
>>> relativizeUrlsCompiler
-- Render RSS feed
match "rss.xml" $ route idRoute
create "rss.xml" $
requireAll_ "posts/*" >>> renderRss feedConfiguration
-- Read templates
match "templates/*" $ compile templateCompiler
-- | Auxiliary compiler: generate a post list from a list of given posts, and
-- add it to the current page under @$posts@
--
addPostList :: Compiler (Page String, [Page String]) (Page String)
addPostList = setFieldA "posts" $
arr (reverse . sortByBaseName)
>>> require "templates/postitem.html" (\p t -> map (applyTemplate t) p)
>>> arr mconcat
>>> arr pageBody
feedConfiguration :: FeedConfiguration
feedConfiguration = FeedConfiguration
{ feedTitle = "SimpleBlog RSS feed."
, feedDescription = "A simple demo of an RSS feed created with Hakyll."
, feedAuthorName = "Jasper Van der Jeugt"
, feedRoot = "http://example.com"
}

View file

@ -1,23 +0,0 @@
---
title: A first post
author: Julius Caesar
date: November 5, 2009
description: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus pretium leo
adipiscing lectus iaculis lobortis. Vivamus scelerisque velit dignissim metus
gravida sit amet dapibus ligula tempor. Quisque sit amet viverra nunc.
Suspendisse cursus elementum ante, ut venenatis nisi dictum eu. Nulla diam
ligula, eleifend in varius quis, malesuada a nibh. Vivamus consequat
pellentesque erat non blandit. Nunc sit amet eros vel massa semper ullamcorper
quis iaculis magna. Vestibulum ullamcorper urna sit amet est elementum
pulvinar. Vestibulum consequat lacus ac quam hendrerit tincidunt. Praesent
bibendum vehicula diam, nec sagittis risus tempus a. Nulla quis odio sit amet
odio vehicula cursus ut id odio. Curabitur semper magna euismod magna mollis
venenatis. Nunc eget eleifend velit. Mauris sed posuere sem. Fusce id nunc
nisi, a aliquam orci. Suspendisse laoreet justo non enim laoreet eget consequat
velit porttitor. Aenean faucibus sodales metus at tincidunt. Donec vestibulum
leo pulvinar erat auctor ac ultrices massa euismod. Phasellus blandit cursus
magna, eget lacinia mi lobortis sed. Suspendisse ultricies enim ligula, vel
scelerisque mauris.

View file

@ -1,17 +0,0 @@
---
title: Another post
author: Marcus Tullius Cicero
date: November 10, 2009
description: Vestibulum in ultrices urna. Etiam tempor enim dui, nec malesuada elit.
---
Vestibulum in ultrices urna. Etiam tempor enim dui, nec malesuada elit. Donec
tempor ligula et quam volutpat quis fermentum eros congue. Sed ut pulvinar sem.
Sed aliquam ipsum id purus sollicitudin vulputate. Cras et mauris dui, vel
hendrerit leo. Ut metus ipsum, fermentum ac malesuada id, tempus pharetra quam.
Donec diam felis, consequat ac scelerisque cursus, gravida non lectus. Sed
faucibus elit dapibus diam elementum id varius nisi tristique. Proin consequat
faucibus neque in aliquam. Vestibulum ligula odio, pulvinar vel hendrerit
vitae, egestas ut nibh. Praesent ut velit elit, in consequat dolor. Praesent
sem enim, commodo in gravida sed, adipiscing vel eros. Lorem ipsum dolor sit
amet, consectetur adipiscing elit. Proin non aliquam nunc.

View file

@ -1,21 +0,0 @@
---
title: A third post
author: Publius Ovidius Naso
date: November 28, 2009
description: Pellentesque tempor blandit elit, vel ultricies arcu congue egestas.
---
Pellentesque tempor blandit elit, vel ultricies arcu congue egestas. Fusce
vitae rutrum nisl. Fusce id mauris libero, a venenatis tellus. Fusce iaculis,
lorem et ornare molestie, mauris risus mollis nisi, non fermentum lacus lacus
sit amet ipsum. Praesent lobortis ullamcorper dolor, eget convallis ligula
dignissim a. Suspendisse nulla nisi, congue et pharetra vel, convallis non
libero. Ut a nulla ipsum. Phasellus cursus velit id neque viverra ut
pellentesque justo posuere. Curabitur laoreet enim et velit tempor consectetur.
Donec eu pretium urna. Suspendisse vitae nisi at metus vestibulum aliquam in
sit amet nisl. Donec convallis lacinia odio, vestibulum molestie nunc feugiat
a. Suspendisse vehicula, sapien id aliquet consectetur, sem sapien ullamcorper
arcu, scelerisque porttitor elit ipsum posuere ligula. Nulla at velit eu metus
tincidunt auctor ut sit amet enim. Donec placerat dapibus nisi id facilisis.
Maecenas pellentesque pulvinar auctor. Curabitur gravida quam sit amet purus
consectetur blandit.

View file

@ -1,14 +0,0 @@
---
title: This blog ain't dead
author: Marcus Antonius
date: December 4, 2009
description: Etiam non felis aliquet tellus dictum vestibulum.
---
Etiam non felis aliquet tellus dictum vestibulum. Aliquam accumsan mauris non
lacus ultricies nec lacinia enim rhoncus. Curabitur vel tortor massa, elementum
tincidunt elit. Maecenas venenatis luctus arcu ut ullamcorper. Donec interdum
dolor eu enim tristique vel vehicula risus mollis. Nunc nec tortor quam. Nulla
a mauris arcu. Phasellus venenatis tortor vel odio tincidunt consequat. Integer
venenatis nibh vitae lectus laoreet eu feugiat nunc pretium. Integer nec turpis
metus, in fermentum lorem.

View file

@ -1,15 +0,0 @@
---
title: Almost Christmas!
author: Publius Vergilius Maro
date: December 23, 2009
description: Morbi tincidunt eleifend ante, eu gravida ante rutrum vel.
---
Morbi tincidunt eleifend ante, eu gravida ante rutrum vel. Nunc bibendum nulla
tellus, eget egestas sapien. Nam rhoncus interdum libero, eget congue orci
imperdiet eu. Quisque pellentesque fringilla urna, ac venenatis ante ultricies
et. Pellentesque habitant morbi tristique senectus et netus et malesuada fames
ac turpis egestas. Mauris eleifend sagittis ultrices. Quisque ultrices accumsan
nisl, sed pellentesque metus porta vitae. Nulla facilisi. In et nibh tincidunt
mi volutpat pellentesque vitae nec sapien. Integer massa ipsum, pellentesque in
elementum at, cursus sit amet diam.

View file

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<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>SimpleBlog - $title$</title>
<link rel="stylesheet" type="text/css" href="/css/default.css" />
<link rel="alternate"
type="application/rss+xml"
title="SimpleBlog"
href="/rss.xml" />
</head>
<body>
<h1>SimpleBlog - $title$</h1>
<div id="navigation">
<a href="/">Home</a>
<a href="/posts.html">All posts</a>
</div>
$body$
</body>
</html>

View file

@ -1,14 +0,0 @@
<div id="posts">
<h1>Recent posts</h1>
<ul>
$posts$
</ul>
<p><a href="/posts.html">All posts&hellip;</a></p>
</div>
<div class="about">
<h1>About</h1>
<p>
This is a sample blog for educational purposes.
</p>
</div>

View file

@ -1,5 +0,0 @@
<h1>$title$</h1>
<p>by <em>$author$</em> on <strong>$date$</strong></p>
$body$

View file

@ -1,4 +0,0 @@
<li>
<a href="$url$">$title$</a>
- <em>$date$</em> - by <em>$author$</em>
</li>

View file

@ -1,4 +0,0 @@
<h1>All posts</h1>
<ul>
$posts$
</ul>

View file

@ -1,18 +0,0 @@
/* Generated by pandoc. */
table.sourceCode, tr.sourceCode, td.lineNumbers, td.sourceCode, table.sourceCode pre
{ margin: 0; padding: 0; border: 0; vertical-align: baseline; border: none; }
td.lineNumbers { border-right: 1px solid #AAAAAA; text-align: right; color: #AAAAAA; padding-right: 5px; padding-left: 5px; }
td.sourceCode { padding-left: 5px; }
pre.sourceCode span.kw { color: #007020; font-weight: bold; }
pre.sourceCode span.dt { color: #902000; }
pre.sourceCode span.dv { color: #40a070; }
pre.sourceCode span.bn { color: #40a070; }
pre.sourceCode span.fl { color: #40a070; }
pre.sourceCode span.ch { color: #4070a0; }
pre.sourceCode span.st { color: #4070a0; }
pre.sourceCode span.co { color: #60a0b0; font-style: italic; }
pre.sourceCode span.ot { color: #007020; }
pre.sourceCode span.al { color: red; font-weight: bold; }
pre.sourceCode span.fu { color: #06287e; }
pre.sourceCode span.re { }
pre.sourceCode span.er { color: red; font-weight: bold; }

View file

@ -1,28 +0,0 @@
---
title: About
---
## 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.
## 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.
## 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
tincidunt id. Curabitur lorem libero, fermentum non tincidunt ac, pretium in
libero. Donec vel mi eu tortor accumsan dictum ut in augue. Vestibulum est
lorem, bibendum eu vehicula eu, convallis eget mauris.

View file

@ -1,28 +0,0 @@
body {
width: 600px;
margin: 0px auto 0px auto;
}
div#navigation {
text-align: center;
border-bottom: 4px solid black;
}
div#navigation a {
color: white;
text-decoration: none;
background-color: black;
padding: 3px 10px 3px 10px;
margin: 0px 10px 0px 10px;
}
div.column {
width: 30%;
float: left;
margin: 0px 10px 0px 10px;
}
div#footer {
clear: both;
border-top: 4px solid black;
}

View file

@ -1,19 +0,0 @@
---
title: Footer
---
## Sapien
In hac habitasse platea dictumst. Cras placerat felis nec risus varius in
accumsan sem fermentum. Vestibulum elementum aliquam tortor semper vulputate.
Vivamus tincidunt tellus sed purus tempor fringilla. Morbi dui nisl, eleifend
non dictum vitae, luctus eu lacus. Duis vitae lacus sem, ut porta mauris.
Aenean sed ultricies dui. Vivamus ullamcorper metus lorem, at ornare nibh.
Mauris mi metus, convallis id lobortis vitae, interdum quis felis. Cras elit
massa, pellentesque sit amet pharetra ut, volutpat in arcu. Vivamus blandit,
ligula et ultricies consequat, metus sem congue quam, ac pretium enim velit at
tortor. Cras in tellus eu sapien pulvinar sollicitudin eu id ipsum. Mauris nec
urna tellus, et scelerisque tellus. Nunc imperdiet felis nec libero consectetur
tristique tristique ipsum sodales. Cras tortor nisl, condimentum in
pellentesque id, interdum vel mi. Suspendisse auctor vehicula orci at
scelerisque. Vivamus quis sagittis felis.

View file

@ -1,29 +0,0 @@
{-# LANGUAGE OverloadedStrings, Arrows #-}
module Main where
import Control.Monad (forM_)
import Control.Arrow (arr, (>>>))
import Hakyll
main :: IO ()
main = hakyll $ do
-- Compress CSS
match "css/*" $ do
route idRoute
compile compressCssCompiler
-- Render static pages
forM_ ["about.markdown", "index.markdown", "products.markdown"] $ \p ->
match p $ do
route $ setExtension ".html"
compile $ pageCompiler
>>> requireA "footer.markdown" (setFieldA "footer" $ arr pageBody)
>>> applyTemplateCompiler "templates/default.html"
>>> relativizeUrlsCompiler
-- Compile footer
match "footer.markdown" $ compile pageCompiler
-- Read templates
match "templates/*" $ compile templateCompiler

View file

@ -1,25 +0,0 @@
---
title: Home
---
## 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.
## 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
tempor ante, a ornare ipsum felis sed ligula. Morbi urna lectus, scelerisque
non pharetra in, rutrum quis ligula. Phasellus semper ullamcorper arcu eu
auctor.
## 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
imperdiet. Aliquam justo sem, viverra eu vehicula vitae, imperdiet vel magna.

View file

@ -1,24 +0,0 @@
---
title: Products
---
## 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.
## 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.
## 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,
justo tortor bibendum sem, at facilisis justo odio luctus lectus.

View file

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<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="/css/default.css" />
</head>
<body>
<h1>MyAweSomeCompany - $title$</h1>
<div id="navigation">
<a href="/">Home</a>
<a href="/about.html">About</a>
<a href="/products.html">Products</a>
</div>
$body$
<div id="footer">
$footer$
</div>
</body>
</html>

View file

@ -1,17 +0,0 @@
body {
width: 600px;
margin: 0px auto 0px auto;
}
div#navigation {
text-align: center;
border-bottom: 4px solid black;
}
div#navigation a {
color: white;
text-decoration: none;
background-color: black;
padding: 3px 10px 3px 10px;
margin: 0px 10px 0px 10px;
}

View file

@ -1,55 +0,0 @@
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Prelude hiding (id)
import Control.Category (id)
import Control.Arrow ((>>>), (***), arr)
import Data.Monoid (mempty, mconcat)
import Hakyll
main :: IO ()
main = hakyll $ do
-- Compress CSS
match "css/*" $ do
route idRoute
compile compressCssCompiler
-- Render posts
match "posts/*" $ do
route $ setExtension ".html"
compile $ pageCompiler
>>> applyTemplateCompiler "templates/post.html"
>>> applyTemplateCompiler "templates/default.html"
>>> relativizeUrlsCompiler
-- Render posts list
match "posts.html" $ route idRoute
create "posts.html" $ constA mempty
>>> arr (setField "title" "All posts")
>>> requireAllA "posts/*" addPostList
>>> applyTemplateCompiler "templates/posts.html"
>>> applyTemplateCompiler "templates/default.html"
>>> relativizeUrlsCompiler
-- Index
match "index.html" $ route idRoute
create "index.html" $ constA mempty
>>> arr (setField "title" "Home")
>>> requireAllA "posts/*" (id *** arr (take 3 . reverse . sortByBaseName) >>> addPostList)
>>> applyTemplateCompiler "templates/index.html"
>>> applyTemplateCompiler "templates/default.html"
>>> relativizeUrlsCompiler
-- Read templates
match "templates/*" $ compile templateCompiler
-- | Auxiliary compiler: generate a post list from a list of given posts, and
-- add it to the current page under @$posts@
--
addPostList :: Compiler (Page String, [Page String]) (Page String)
addPostList = setFieldA "posts" $
arr (reverse . sortByBaseName)
>>> require "templates/postitem.html" (\p t -> map (applyTemplate t) p)
>>> arr mconcat
>>> arr pageBody

View file

@ -1,21 +0,0 @@
---
title: A first post
author: Julius Caesar
date: November 5, 2009
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus pretium leo
adipiscing lectus iaculis lobortis. Vivamus scelerisque velit dignissim metus
gravida sit amet dapibus ligula tempor. Quisque sit amet viverra nunc.
Suspendisse cursus elementum ante, ut venenatis nisi dictum eu. Nulla diam
ligula, eleifend in varius quis, malesuada a nibh. Vivamus consequat
pellentesque erat non blandit. Nunc sit amet eros vel massa semper ullamcorper
quis iaculis magna. Vestibulum ullamcorper urna sit amet est elementum
pulvinar. Vestibulum consequat lacus ac quam hendrerit tincidunt. Praesent
bibendum vehicula diam, nec sagittis risus tempus a. Nulla quis odio sit amet
odio vehicula cursus ut id odio. Curabitur semper magna euismod magna mollis
venenatis. Nunc eget eleifend velit. Mauris sed posuere sem. Fusce id nunc
nisi, a aliquam orci. Suspendisse laoreet justo non enim laoreet eget consequat
velit porttitor. Aenean faucibus sodales metus at tincidunt. Donec vestibulum
leo pulvinar erat auctor ac ultrices massa euismod. Phasellus blandit cursus
magna, eget lacinia mi lobortis sed. Suspendisse ultricies enim ligula, vel
scelerisque mauris.

View file

@ -1,15 +0,0 @@
---
title: Another post
author: Marcus Tullius Cicero
date: November 10, 2009
---
Vestibulum in ultrices urna. Etiam tempor enim dui, nec malesuada elit. Donec
tempor ligula et quam volutpat quis fermentum eros congue. Sed ut pulvinar sem.
Sed aliquam ipsum id purus sollicitudin vulputate. Cras et mauris dui, vel
hendrerit leo. Ut metus ipsum, fermentum ac malesuada id, tempus pharetra quam.
Donec diam felis, consequat ac scelerisque cursus, gravida non lectus. Sed
faucibus elit dapibus diam elementum id varius nisi tristique. Proin consequat
faucibus neque in aliquam. Vestibulum ligula odio, pulvinar vel hendrerit
vitae, egestas ut nibh. Praesent ut velit elit, in consequat dolor. Praesent
sem enim, commodo in gravida sed, adipiscing vel eros. Lorem ipsum dolor sit
amet, consectetur adipiscing elit. Proin non aliquam nunc.

View file

@ -1,19 +0,0 @@
---
title: A third post
author: Publius Ovidius Naso
date: November 28, 2009
---
Pellentesque tempor blandit elit, vel ultricies arcu congue egestas. Fusce
vitae rutrum nisl. Fusce id mauris libero, a venenatis tellus. Fusce iaculis,
lorem et ornare molestie, mauris risus mollis nisi, non fermentum lacus lacus
sit amet ipsum. Praesent lobortis ullamcorper dolor, eget convallis ligula
dignissim a. Suspendisse nulla nisi, congue et pharetra vel, convallis non
libero. Ut a nulla ipsum. Phasellus cursus velit id neque viverra ut
pellentesque justo posuere. Curabitur laoreet enim et velit tempor consectetur.
Donec eu pretium urna. Suspendisse vitae nisi at metus vestibulum aliquam in
sit amet nisl. Donec convallis lacinia odio, vestibulum molestie nunc feugiat
a. Suspendisse vehicula, sapien id aliquet consectetur, sem sapien ullamcorper
arcu, scelerisque porttitor elit ipsum posuere ligula. Nulla at velit eu metus
tincidunt auctor ut sit amet enim. Donec placerat dapibus nisi id facilisis.
Maecenas pellentesque pulvinar auctor. Curabitur gravida quam sit amet purus
consectetur blandit.

View file

@ -1,12 +0,0 @@
---
title: This blog ain't dead
author: Marcus Antonius
date: December 4, 2009
---
Etiam non felis aliquet tellus dictum vestibulum. Aliquam accumsan mauris non
lacus ultricies nec lacinia enim rhoncus. Curabitur vel tortor massa, elementum
tincidunt elit. Maecenas venenatis luctus arcu ut ullamcorper. Donec interdum
dolor eu enim tristique vel vehicula risus mollis. Nunc nec tortor quam. Nulla
a mauris arcu. Phasellus venenatis tortor vel odio tincidunt consequat. Integer
venenatis nibh vitae lectus laoreet eu feugiat nunc pretium. Integer nec turpis
metus, in fermentum lorem.

View file

@ -1,13 +0,0 @@
---
title: Almost Christmas!
author: Publius Vergilius Maro
date: December 23, 2009
---
Morbi tincidunt eleifend ante, eu gravida ante rutrum vel. Nunc bibendum nulla
tellus, eget egestas sapien. Nam rhoncus interdum libero, eget congue orci
imperdiet eu. Quisque pellentesque fringilla urna, ac venenatis ante ultricies
et. Pellentesque habitant morbi tristique senectus et netus et malesuada fames
ac turpis egestas. Mauris eleifend sagittis ultrices. Quisque ultrices accumsan
nisl, sed pellentesque metus porta vitae. Nulla facilisi. In et nibh tincidunt
mi volutpat pellentesque vitae nec sapien. Integer massa ipsum, pellentesque in
elementum at, cursus sit amet diam.

View file

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<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>SimpleBlog - $title$</title>
<link rel="stylesheet" type="text/css" href="/css/default.css" />
</head>
<body>
<h1>SimpleBlog - $title$</h1>
<div id="navigation">
<a href="/index.html">Home</a>
<a href="/posts.html">All posts</a>
</div>
$body$
</body>
</html>

View file

@ -1,14 +0,0 @@
<div id="posts">
<h1>Recent posts</h1>
<ul>
$posts$
</ul>
<a href="/posts.html">All posts&hellip;</a>
</div>
<div class="about">
<h1>About</h1>
<p>
This is a sample blog for educational purposes.
</p>
</div>

View file

@ -1,5 +0,0 @@
<h1>$title$</h1>
<p>by <em>$author$</em> on <strong>$date$</strong></p>
$body$

View file

@ -1,4 +0,0 @@
<li>
<a href="/$url$">$title$</a>
- <em>$date$</em> - by <em>$author$</em>
</li>

View file

@ -1,4 +0,0 @@
<h1>All posts</h1>
<ul>
$posts$
</ul>

View file

@ -1,17 +0,0 @@
body {
width: 600px;
margin: 0px auto 0px auto;
}
div#navigation {
text-align: center;
border-bottom: 4px solid black;
}
div#navigation a {
color: white;
text-decoration: none;
background-color: black;
padding: 3px 10px 3px 10px;
margin: 0px 10px 0px 10px;
}

View file

@ -1,99 +0,0 @@
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Prelude hiding (id)
import Control.Arrow ((>>>), (***), arr)
import Control.Category (id)
import Data.Monoid (mempty, mconcat)
import Hakyll
main :: IO ()
main = hakyll $ do
-- Compress CSS
match "css/*" $ do
route idRoute
compile compressCssCompiler
-- Render posts
match "posts/*" $ do
route $ setExtension ".html"
compile $ pageCompiler
>>> arr (renderDateField "date" "%B %e, %Y" "Date unknown")
>>> renderTagsField "prettytags" (fromCapture "tags/*")
>>> applyTemplateCompiler "templates/post.html"
>>> applyTemplateCompiler "templates/default.html"
>>> relativizeUrlsCompiler
-- Render posts list
match "posts.html" $ route idRoute
create "posts.html" $ constA mempty
>>> arr (setField "title" "All posts")
>>> requireAllA "posts/*" addPostList
>>> applyTemplateCompiler "templates/posts.html"
>>> applyTemplateCompiler "templates/default.html"
>>> relativizeUrlsCompiler
-- Index
match "index.html" $ route idRoute
create "index.html" $ constA mempty
>>> arr (setField "title" "Home")
>>> requireA "tags" (setFieldA "tagcloud" (renderTagCloud'))
>>> requireAllA "posts/*" (id *** arr (take 3 . reverse . sortByBaseName) >>> addPostList)
>>> applyTemplateCompiler "templates/index.html"
>>> applyTemplateCompiler "templates/default.html"
>>> relativizeUrlsCompiler
-- Tags
create "tags" $
requireAll "posts/*" (\_ ps -> readTags ps :: Tags String)
-- Add a tag list compiler for every tag
match "tags/*" $ route $ setExtension ".html"
metaCompile $ require_ "tags"
>>> arr tagsMap
>>> arr (map (\(t, p) -> (tagIdentifier t, makeTagList t p)))
-- Render RSS feed
match "rss.xml" $ route idRoute
create "rss.xml" $
requireAll_ "posts/*"
>>> mapCompiler (arr $ copyBodyToField "description")
>>> renderRss feedConfiguration
-- Read templates
match "templates/*" $ compile templateCompiler
where
renderTagCloud' :: Compiler (Tags String) String
renderTagCloud' = renderTagCloud tagIdentifier 100 120
tagIdentifier :: String -> Identifier
tagIdentifier = fromCapture "tags/*"
-- | Auxiliary compiler: generate a post list from a list of given posts, and
-- add it to the current page under @$posts@
--
addPostList :: Compiler (Page String, [Page String]) (Page String)
addPostList = setFieldA "posts" $
arr (reverse . sortByBaseName)
>>> require "templates/postitem.html" (\p t -> map (applyTemplate t) p)
>>> arr mconcat
>>> arr pageBody
makeTagList :: String
-> [Page String]
-> Compiler () (Page String)
makeTagList tag posts =
constA (mempty, posts)
>>> addPostList
>>> arr (setField "title" ("Posts tagged &#8216;" ++ tag ++ "&#8217;"))
>>> applyTemplateCompiler "templates/posts.html"
>>> applyTemplateCompiler "templates/default.html"
feedConfiguration :: FeedConfiguration
feedConfiguration = FeedConfiguration
{ feedTitle = "SimpleBlog RSS feed."
, feedDescription = "A simple demo of an RSS feed created with Hakyll."
, feedAuthorName = "Jasper Van der Jeugt"
, feedRoot = "http://example.com"
}

View file

@ -1,22 +0,0 @@
---
title: A first post
author: Julius Caesar
tags: caesar, random crap
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus pretium leo
adipiscing lectus iaculis lobortis. Vivamus scelerisque velit dignissim metus
gravida sit amet dapibus ligula tempor. Quisque sit amet viverra nunc.
Suspendisse cursus elementum ante, ut venenatis nisi dictum eu. Nulla diam
ligula, eleifend in varius quis, malesuada a nibh. Vivamus consequat
pellentesque erat non blandit. Nunc sit amet eros vel massa semper ullamcorper
quis iaculis magna. Vestibulum ullamcorper urna sit amet est elementum
pulvinar. Vestibulum consequat lacus ac quam hendrerit tincidunt. Praesent
bibendum vehicula diam, nec sagittis risus tempus a. Nulla quis odio sit amet
odio vehicula cursus ut id odio. Curabitur semper magna euismod magna mollis
venenatis. Nunc eget eleifend velit. Mauris sed posuere sem. Fusce id nunc
nisi, a aliquam orci. Suspendisse laoreet justo non enim laoreet eget consequat
velit porttitor. Aenean faucibus sodales metus at tincidunt. Donec vestibulum
leo pulvinar erat auctor ac ultrices massa euismod. Phasellus blandit cursus
magna, eget lacinia mi lobortis sed. Suspendisse ultricies enim ligula, vel
scelerisque mauris.

View file

@ -1,16 +0,0 @@
---
title: Another post
author: Marcus Tullius Cicero
tags: cicero, random crap
---
Vestibulum in ultrices urna. Etiam tempor enim dui, nec malesuada elit. Donec
tempor ligula et quam volutpat quis fermentum eros congue. Sed ut pulvinar sem.
Sed aliquam ipsum id purus sollicitudin vulputate. Cras et mauris dui, vel
hendrerit leo. Ut metus ipsum, fermentum ac malesuada id, tempus pharetra quam.
Donec diam felis, consequat ac scelerisque cursus, gravida non lectus. Sed
faucibus elit dapibus diam elementum id varius nisi tristique. Proin consequat
faucibus neque in aliquam. Vestibulum ligula odio, pulvinar vel hendrerit
vitae, egestas ut nibh. Praesent ut velit elit, in consequat dolor. Praesent
sem enim, commodo in gravida sed, adipiscing vel eros. Lorem ipsum dolor sit
amet, consectetur adipiscing elit. Proin non aliquam nunc.

View file

@ -1,20 +0,0 @@
---
title: A third post
author: Publius Ovidius Naso
tags: epic fail, ovidius
---
Pellentesque tempor blandit elit, vel ultricies arcu congue egestas. Fusce
vitae rutrum nisl. Fusce id mauris libero, a venenatis tellus. Fusce iaculis,
lorem et ornare molestie, mauris risus mollis nisi, non fermentum lacus lacus
sit amet ipsum. Praesent lobortis ullamcorper dolor, eget convallis ligula
dignissim a. Suspendisse nulla nisi, congue et pharetra vel, convallis non
libero. Ut a nulla ipsum. Phasellus cursus velit id neque viverra ut
pellentesque justo posuere. Curabitur laoreet enim et velit tempor consectetur.
Donec eu pretium urna. Suspendisse vitae nisi at metus vestibulum aliquam in
sit amet nisl. Donec convallis lacinia odio, vestibulum molestie nunc feugiat
a. Suspendisse vehicula, sapien id aliquet consectetur, sem sapien ullamcorper
arcu, scelerisque porttitor elit ipsum posuere ligula. Nulla at velit eu metus
tincidunt auctor ut sit amet enim. Donec placerat dapibus nisi id facilisis.
Maecenas pellentesque pulvinar auctor. Curabitur gravida quam sit amet purus
consectetur blandit.

View file

@ -1,13 +0,0 @@
---
title: This blog ain't dead
author: Marcus Antonius
tags: epic fail, antonius
---
Etiam non felis aliquet tellus dictum vestibulum. Aliquam accumsan mauris non
lacus ultricies nec lacinia enim rhoncus. Curabitur vel tortor massa, elementum
tincidunt elit. Maecenas venenatis luctus arcu ut ullamcorper. Donec interdum
dolor eu enim tristique vel vehicula risus mollis. Nunc nec tortor quam. Nulla
a mauris arcu. Phasellus venenatis tortor vel odio tincidunt consequat. Integer
venenatis nibh vitae lectus laoreet eu feugiat nunc pretium. Integer nec turpis
metus, in fermentum lorem.

View file

@ -1,14 +0,0 @@
---
title: Almost Christmas!
author: Publius Vergilius Maro
tags: christmas, random crap
---
Morbi tincidunt eleifend ante, eu gravida ante rutrum vel. Nunc bibendum nulla
tellus, eget egestas sapien. Nam rhoncus interdum libero, eget congue orci
imperdiet eu. Quisque pellentesque fringilla urna, ac venenatis ante ultricies
et. Pellentesque habitant morbi tristique senectus et netus et malesuada fames
ac turpis egestas. Mauris eleifend sagittis ultrices. Quisque ultrices accumsan
nisl, sed pellentesque metus porta vitae. Nulla facilisi. In et nibh tincidunt
mi volutpat pellentesque vitae nec sapien. Integer massa ipsum, pellentesque in
elementum at, cursus sit amet diam.

View file

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<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>SimpleBlog - $title$</title>
<link rel="stylesheet" type="text/css" href="/css/default.css" />
<link rel="alternate"
type="application/rss+xml"
title="SimpleBlog"
href="/rss.xml" />
</head>
<body>
<h1>SimpleBlog - $title$</h1>
<div id="navigation">
<a href="/">Home</a>
<a href="/posts.html">All posts</a>
</div>
$body$
</body>
</html>

View file

@ -1,19 +0,0 @@
<div id="posts">
<h1>Recent posts</h1>
<ul>
$posts$
</ul>
<p><a href="/posts.html">All posts&hellip;</a></p>
<h1>Tags</h1>
<div>
$tagcloud$
</div>
</div>
<div class="about">
<h1>About</h1>
<p>
This is a sample blog for educational purposes.
</p>
</div>

View file

@ -1,7 +0,0 @@
<h1>$title$</h1>
<p>by <em>$author$</em> on <strong>$date$</strong></p>
<p>Tagged as: $prettytags$.</p>
$body$

View file

@ -1,4 +0,0 @@
<li>
<a href="$url$">$title$</a>
- <em>$date$</em> - by <em>$author$</em>
</li>

View file

@ -1,4 +0,0 @@
<h1>$title$</h1>
<ul>
$posts$
</ul>

View file

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 122 KiB

View file

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View file

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

Before

Width:  |  Height:  |  Size: 878 B

After

Width:  |  Height:  |  Size: 878 B