diff --git a/Makefile b/Makefile
index 485253b..ade8f5f 100644
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,7 @@ ROOT := https://gallery.niss.website
SMALL := 200
MEDW := 1000
MEDH := 1200
+BIG := 2000
MAKEPAGES := $(TMPDIR)/make-pages
@@ -51,6 +52,9 @@ $(TMPDIR)/%_small.png: $(DATADIR)/%.png
$(TMPDIR)/%_med.png: $(DATADIR)/%.png
$(call resize,$(MEDW),$(MEDH),>)
+$(TMPDIR)/%_big.png: $(DATADIR)/%.png
+ $(call resize,$(BIG),$(BIG),>)
+
$(TMPDIR)/%_small.jpg: $(DATADIR)/%.jpg
$(call resize,$(SMALL),$(SMALL),^,-gravity center -crop 1:1+0)
@@ -58,6 +62,9 @@ $(TMPDIR)/%_small.jpg: $(DATADIR)/%.jpg
$(TMPDIR)/%_med.jpg: $(DATADIR)/%.jpg
$(call resize,$(MEDW),$(MEDH),>)
+$(TMPDIR)/%_big.jpg: $(DATADIR)/%.jpg
+ $(call resize,$(BIG),$(BIG),>)
+
$(MAKEPAGES): make-pages/*.hs make-pages/make-pages.cabal
echo "[make-pages]"
diff --git a/make-pages/Depend.hs b/make-pages/Depend.hs
index 4b87b4e..113b02b 100644
--- a/make-pages/Depend.hs
+++ b/make-pages/Depend.hs
@@ -1,7 +1,7 @@
module Depend
(dependSingle, dependSingle',
dependGallery, dependGallery',
- thumbFile, pageFile)
+ thumbFile, pageFile, bigFile)
where
import BuilderQQ hiding (CanBuild (..))
@@ -34,7 +34,10 @@ dependSingle' yamlDir info prefix build nsfw =
dir = build > prefix > yamlDir
page = dir > "index.html"
deps = unwords $ map (dir >) $
- thumbFile (thumbnail info) : map pageFile paths ++ paths ++ dls ++ extras
+ thumbFile (thumbnail info) :
+ map pageFile paths ++
+ map bigFile paths ++
+ dls ++ extras
dependGallery :: GalleryInfo
-> FilePath -- ^ index file
diff --git a/make-pages/Info.hs b/make-pages/Info.hs
index ca33537..c5f1bd9 100644
--- a/make-pages/Info.hs
+++ b/make-pages/Info.hs
@@ -7,7 +7,7 @@ module Info
GalleryInfo (..), GalleryFilters (..), ArtistFilter (..), NsfwFilter (..),
IndexInfo (..),
readArtistFilter, matchArtist, readNsfwFilter, matchNsfw, matchFilters,
- NoThumb (..), getThumb, thumbFile, pageFile,
+ NoThumb (..), getThumb, thumbFile, pageFile, bigFile,
-- ** Reexports
Date (..), Day (..), Text)
where
@@ -238,6 +238,11 @@ pageFile f
| takeExtension f == ".gif" = f
| otherwise = addSuffix "_med" f
+bigFile :: FilePath -> FilePath
+bigFile f
+ | takeExtension f == ".gif" = f
+ | otherwise = addSuffix "_big" f
+
addSuffix :: String -> FilePath -> FilePath
addSuffix suf path =
let (pre, ext) = splitExtension path in
diff --git a/make-pages/SinglePage.hs b/make-pages/SinglePage.hs
index 46ba3f2..00f2bed 100644
--- a/make-pages/SinglePage.hs
+++ b/make-pages/SinglePage.hs
@@ -12,9 +12,7 @@ import Data.List (sort)
import Data.Maybe (fromMaybe)
import qualified Data.Text as Strict
import qualified Data.Text.Lazy as Lazy
-import System.FilePath (joinPath, splitPath, (>))
-import qualified System.Process as Proc
-import Text.Read (readMaybe)
+import System.FilePath (joinPath, splitPath)
import qualified Data.HashSet as Set
import Data.Traversable
@@ -39,8 +37,8 @@ make root prefix nsfw dataDir dir info =
toLazyText <$> make' root prefix nsfw dataDir dir info
make' :: Text -> FilePath -> Bool -> FilePath -> FilePath -> Info -> IO Builder
-make' root prefix nsfw dataDir dir info@(Info {date, title, artist, bg}) = do
- images <- withSizes (dataDir > dir) $ imagesFor nsfw info
+make' root prefix nsfw _dataDir dir info@(Info {date, title, artist, bg}) = do
+ let images = imagesFor nsfw info
let undir = joinPath (replicate (length (splitPath dir)) "..")
@@ -49,12 +47,10 @@ make' root prefix nsfw dataDir dir info@(Info {date, title, artist, bg}) = do
let formattedDate = formatLong date
let buttonBar = makeButtonBar title $ addIds images
- let (image0@(Image {path = path0, download = download0'}),
- Size {width = width0, height = height0}) : otherImages
- = #all images
- let download0 = fromMaybe path0 download0'
+ let image0@(Image {path = path0, download = download0'}) : otherImages =
+ #all images
+ let download0 = fromMaybe (bigFile path0) download0'
let path0' = pageFile path0
- let tinyCls = if any (tiny . #second) images then [b| class=tiny|] else ""
let descSection = makeDesc $ descFor nsfw info
let tagsList = makeTags undir $ tagsFor nsfw info
@@ -62,8 +58,9 @@ make' root prefix nsfw dataDir dir info@(Info {date, title, artist, bg}) = do
let updates = sort $ updatesFor nsfw info
let updatesList = makeUpdates updates
- let makePrefetch (Image {path}) = [b||]
- let prefetches = map (makePrefetch . #first) otherImages
+ let makePrefetch (Image {path}) = [b||]
+ where path' = bigFile path
+ let prefetches = map makePrefetch otherImages
let makeWarning w = [b|@0
@@ -136,7 +133,7 @@ make' root prefix nsfw dataDir dir info@(Info {date, title, artist, bg}) = do
$2.buttonBar
-