]> git.ameliathe1st.gay Git - site-web.git/commitdiff
Simplification de l'usage de lilypond, via hakyll-process trunk
authorAmélia P. H. Coutard <amy@ameliathe1st.gay>
Sun, 16 Jun 2024 00:41:00 +0000 (02:41 +0200)
committerAmélia P. H. Coutard <amy@ameliathe1st.gay>
Sun, 16 Jun 2024 00:41:00 +0000 (02:41 +0200)
docs/Ma'oz Tzur.ly
docs/Ma'oz Tzur.ly.metadata [new file with mode: 0644]
lilypond-unix.sh [deleted file]
main.hs

index d5ac0fbe8b54528c93bcda5936255e4489701150..b7f69be7970007db1a7eef2bc4b3cb983558d465 100644 (file)
@@ -1,9 +1,3 @@
----
-title: Ma'oz Tzur
-tags: musique, partition, Judaïsme
-date: 2024-06-16
-description: Une partition pour accordéon de mon arrangement de Ma'oz Tzur.
----
 \version "2.24.1"
 \header {
   title = "Ma'oz Tzur"
diff --git a/docs/Ma'oz Tzur.ly.metadata b/docs/Ma'oz Tzur.ly.metadata
new file mode 100644 (file)
index 0000000..a028037
--- /dev/null
@@ -0,0 +1,4 @@
+title: Ma'oz Tzur
+tags: musique, partition, Judaïsme
+date: 2024-06-16
+description: Une partition pour accordéon de mon arrangement de Ma'oz Tzur.
diff --git a/lilypond-unix.sh b/lilypond-unix.sh
deleted file mode 100755 (executable)
index 2a2c609..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-F=$(mktemp 'tmp.XXXXXXXXXX')
-lilypond -o "$F" -
-cat "$F".pdf
-rm "$F" "$F".pdf
diff --git a/main.hs b/main.hs
index 9d7bc8ebc3d9cfdebb758cdff5c27a648f38f3cb..db04329b37557c3cac1bf3a2c0cb9bae0a0536f0 100644 (file)
--- a/main.hs
+++ b/main.hs
@@ -16,6 +16,16 @@ import Data.ByteString.Lazy.UTF8 (ByteString, fromString)
 import Data.Monoid ((<>))
 import Data.Time.Format (formatTime, defaultTimeLocale)
 import Hakyll
+import Hakyll.Process
+
+mapHead :: (a -> a) -> [a] -> [a]
+mapHead _ [] = []
+mapHead f (h:t) = f h:t
+
+split :: Eq a => a -> [a] -> [[a]]
+split _ [] = [[]]
+split v (h:t) | v == h = []:split v t
+split v (h:t) = mapHead (h:) (split v t)
 
 main :: IO ()
 main = hakyll $ do
@@ -32,7 +42,7 @@ main = hakyll $ do
 
        match "docs/*.ly" $ do
                route $ setExtension "pdf"
-               compile $ getResourceBody >>= withItemBody (unixFilterLBS "./lilypond-unix.sh" [] . fromString)
+               compile $ execCompilerWith (execName "lilypond") [HakFilePath] (COutFile (RelativePath (newExtension "pdf" . last . split '/')))
 
        match "html/atom.xml" $ do
                route $ gsubRoute "html/" (const "")