2017-03-26 19:19:54 +02:00
|
|
|
{-# LANGUAGE CPP #-}
|
|
|
|
#ifdef EMBED_DATA_FILES
|
2017-03-26 17:22:00 +02:00
|
|
|
{-# LANGUAGE TemplateHaskell #-}
|
2017-03-26 19:19:54 +02:00
|
|
|
#endif
|
2013-01-23 08:14:23 -08:00
|
|
|
module Text.Pandoc.Data (dataFiles) where
|
2017-03-26 17:22:00 +02:00
|
|
|
|
2017-03-26 19:19:54 +02:00
|
|
|
import System.FilePath (FilePath, splitDirectories)
|
2013-01-23 08:14:23 -08:00
|
|
|
import qualified Data.ByteString as B
|
2015-10-17 22:03:12 -07:00
|
|
|
import qualified System.FilePath.Posix as Posix
|
2017-03-26 19:19:54 +02:00
|
|
|
#ifdef EMBED_DATA_FILES
|
|
|
|
import Data.FileEmbed
|
|
|
|
#endif
|
2013-01-23 08:14:23 -08:00
|
|
|
|
2015-10-17 22:03:12 -07:00
|
|
|
-- We ensure that the data files are stored using Posix
|
|
|
|
-- path separators (/), even on Windows.
|
2013-01-23 08:14:23 -08:00
|
|
|
dataFiles :: [(FilePath, B.ByteString)]
|
2015-10-17 22:03:12 -07:00
|
|
|
dataFiles = map (\(fp, contents) ->
|
|
|
|
(Posix.joinPath (splitDirectories fp), contents)) dataFiles'
|
|
|
|
|
|
|
|
dataFiles' :: [(FilePath, B.ByteString)]
|
2017-03-26 19:19:54 +02:00
|
|
|
#ifdef EMBED_DATA_FILES
|
2017-03-26 17:22:00 +02:00
|
|
|
dataFiles' = ("MANUAL.txt", $(embedFile "MANUAL.txt")) : $(embedDir "data")
|
2017-03-26 19:19:54 +02:00
|
|
|
#else
|
|
|
|
dataFiles' = error "dataFiles is only defined when embed_data_files flag set"
|
|
|
|
#endif
|