summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--blog.cabal3
-rw-r--r--blog.nix4
-rw-r--r--src/Site.hs6
3 files changed, 10 insertions, 3 deletions
diff --git a/blog.cabal b/blog.cabal
index f1e3c0b..7ad97a7 100644
--- a/blog.cabal
+++ b/blog.cabal
@@ -27,3 +27,6 @@ executable site
27 , pandoc-types >=1.12 && <2 27 , pandoc-types >=1.12 && <2
28 , data-default >=0.5 && <0.6 28 , data-default >=0.5 && <0.6
29 , filepath >=1.3 && <2 29 , filepath >=1.3 && <2
30 , bytestring >=0.10 && <1
31 , cryptohash >=0.11 && <1
32 , hex >=0.1 && <1
diff --git a/blog.nix b/blog.nix
index a4c5d8c..ecb0022 100644
--- a/blog.nix
+++ b/blog.nix
@@ -1,7 +1,7 @@
1# This file was auto-generated by cabal2nix. Please do NOT edit manually! 1# This file was auto-generated by cabal2nix. Please do NOT edit manually!
2 2
3{ mkDerivation, stdenv 3{ mkDerivation, stdenv
4, hakyll, containers, pandoc, data-default, filepath 4, hakyll, containers, pandoc, data-default, filepath, hex, cryptohash
5}: 5}:
6 6
7mkDerivation { 7mkDerivation {
@@ -11,7 +11,7 @@ mkDerivation {
11 isExecutable = true; 11 isExecutable = true;
12 isLibrary = false; 12 isLibrary = false;
13 buildDepends = [ 13 buildDepends = [
14 hakyll containers pandoc data-default filepath 14 hakyll containers pandoc data-default filepath hex cryptohash
15 ]; 15 ];
16 license = stdenv.lib.licenses.publicDomain; 16 license = stdenv.lib.licenses.publicDomain;
17} 17}
diff --git a/src/Site.hs b/src/Site.hs
index 279532f..1bda7ec 100644
--- a/src/Site.hs
+++ b/src/Site.hs
@@ -17,6 +17,10 @@ import Text.Pandoc.Walk (query)
17import Text.Pandoc.Error 17import Text.Pandoc.Error
18import Control.Applicative (Alternative(..), Applicative(..)) 18import Control.Applicative (Alternative(..), Applicative(..))
19 19
20import qualified Crypto.Hash.SHA256 as SHA256 (hash)
21import qualified Data.ByteString.Char8 as CBS
22import Data.Hex
23
20import System.FilePath (takeBaseName, (</>), (<.>)) 24import System.FilePath (takeBaseName, (</>), (<.>))
21 25
22main :: IO () 26main :: IO ()
@@ -135,7 +139,7 @@ tagTranslation = mapMaybe charTrans
135 | otherwise = Nothing 139 | otherwise = Nothing
136 140
137mathTranslation' :: String -> Identifier 141mathTranslation' :: String -> Identifier
138mathTranslation' = fromCapture "math/*.svg" . id -- TODO hash math 142mathTranslation' = fromCapture "math/*.svg" . CBS.unpack . hex . SHA256.hash . CBS.pack
139 143
140addTag :: MonadMetadata m => String -> Pattern -> Tags -> m Tags 144addTag :: MonadMetadata m => String -> Pattern -> Tags -> m Tags
141addTag name pattern tags = do 145addTag name pattern tags = do