From c4935954075258f410d5fcd260bb7f4a3b34c457 Mon Sep 17 00:00:00 2001 From: Rhiannon Morris Date: Thu, 20 May 2021 23:32:08 +0200 Subject: [PATCH] =?UTF-8?q?put=20l=C3=A1ntas=20svgs=20in=20a=20directory?= =?UTF-8?q?=20named=20after=20the=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 4 +++- langfilter/LaantasImage.hs | 11 +++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index d6d821e..cf807c5 100644 --- a/Makefile +++ b/Makefile @@ -37,8 +37,10 @@ build: $(OUTPUT) $(BUILDDIR)/%.html: $(PAGESDIR)/%.md $(TEMPLATE) $(LANGFILTER) $(LAANTAS_SCRIPT) @echo "[pandoc] $<" mkdir -p $(dir $@) + mkdir -p $(basename $@) LAANTAS_SCRIPT="$(LAANTAS_SCRIPT)" \ - DIRNAME="$(subst $(PAGESDIR),$(BUILDDIR),$(dir $<))" \ + DIRNAME="$(basename $@)" \ + FILENAME="$@" \ pandoc -s --toc --template $(TEMPLATE) -o $@ $< \ --filter $(LANGFILTER) diff --git a/langfilter/LaantasImage.hs b/langfilter/LaantasImage.hs index 48c10c1..fc8ff5b 100644 --- a/langfilter/LaantasImage.hs +++ b/langfilter/LaantasImage.hs @@ -92,12 +92,15 @@ toTitle = Text.filter \c -> c /= '\\' && c /= '#' makeImage :: Image -> IO Inline makeImage (Image {..}) = do - exe <- getEnv "LAANTAS_SCRIPT" - dir <- getEnv "DIRNAME" + exe <- getEnv "LAANTAS_SCRIPT" + parent <- dropFileName <$> getEnv "FILENAME" + dir <- getEnv "DIRNAME" + let fullFile = dir file + let relFile = Text.pack $ makeRelative parent fullFile callProcess exe ["-S", show size, "-K", show stroke, "-W", show width, - "-C", Text.unpack color, "-t", Text.unpack text, "-o", dir file] - pure $ Pandoc.Image ("", ["scr","laantas"], []) [] (Text.pack file, title) + "-C", Text.unpack color, "-t", Text.unpack text, "-o", fullFile] + pure $ Pandoc.Image ("", ["scr","laantas"], []) [] (relFile, title) weirdUrl :: Char -> Bool weirdUrl c = c `elem` ("#\\?&_/.ยท,{} " :: String)