1
0
Fork 0

add photo gallery

master
Rostyslav Hnatyshyn 1 year ago
parent 6642a4992c
commit 54106ae234
  1. 19
      css/default.scss
  2. 6
      gallery.html
  3. 22
      site.hs
  4. 1
      templates/default.html
  5. 4
      templates/gallery.html
  6. 3
      templates/photo.html

@ -122,7 +122,7 @@ article .header {
@media (min-width: 640px) {
body {
width: 66%;
width: 90%;
margin: 0 auto;
padding: 0;
}
@ -169,3 +169,20 @@ code {
font-family: "PressStart";
padding: .1rem .3rem .2rem;
}
.gallery {
display:flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 5px;
}
.photo {
flex-basis: 33%;
}
.photo > img {
width: 100%;
height: auto;
}

@ -0,0 +1,6 @@
---
title: Photo Gallery
---
<p>
These are some of my favorite photos I've taken over the course of several years. They were all taken on film, and with the exception of a few, they were completely developed by myself. I develop a negative and then scan it using an Epson scanner and then store them in my digital archive. I use an old Canon Rebel EOS, shooting entirely on manual mode. The color photos were mostly taken on cheap FUJI reels, while the black and white are ILFORD reels.
</p>

@ -4,6 +4,7 @@
import Data.Monoid (mappend)
import Hakyll
import Hakyll.Web.Sass (sassCompiler)
--------------------------------------------------------------------------------
config :: Configuration
config =
@ -14,8 +15,8 @@ config =
main :: IO ()
main = hakyllWith config $ do
-- Static directories
match ("fonts/*" .||. "images/*" .||. "files/*") $ do
match ("fonts/*" .||. "images/*" .||. "files/*" .||. "film/*") $ do
route idRoute
compile copyFileCompiler
@ -51,6 +52,23 @@ main = hakyllWith config $ do
>>= loadAndApplyTemplate "templates/default.html" indexCtx
>>= relativizeUrls
match "gallery.html" $ do
route idRoute
compile $ do
film <- loadAll "film/*"
filmH <- loadBody "templates/photo.html"
let imgCtx :: Context CopyFile
imgCtx = urlField "url" <> missingField
art <- applyTemplateList filmH imgCtx film
let galleryCtx = constField "art" art <> defaultContext
getResourceBody
>>= loadAndApplyTemplate "templates/gallery.html" galleryCtx
>>= loadAndApplyTemplate "templates/default.html" galleryCtx
>>= relativizeUrls
match "templates/*" $ compile templateBodyCompiler
--------------------------------------------------------------------------------

@ -14,6 +14,7 @@
</div>
<nav>
<a href="/">Home</a>
<a href="/gallery.html">Photos</a>
</nav>
</header>

@ -0,0 +1,4 @@
$body$
<div class="gallery">
$art$
</div>

@ -0,0 +1,3 @@
<div class="photo">
<img src="$url$"/>
</div>
Loading…
Cancel
Save