document-build-0.1.0.0: src/Document/Build/Operations.hs
{-# OPTIONS_GHC -Wall #-}
{- | The canonical document operations: every one a
'System.FilePather.FilePather' value in 'Document.Build.Build.Build', or a
function that returns one, with nothing project-specific in it.
* the number of pages of a PDF file: 'pdfPages', 'pdfPageCountFile'
* the number of pages of a LibreOffice file: 'libreofficePages'
* the number of pages of a Word file: 'docxPages'
* a markdown file to PDF, HTML, Word and OpenDocument: 'markdownToPdf',
'markdownToHtml', 'markdownToDocx', 'markdownToOdt', 'pandoc'
* a PDF file to an image of each page, as JPEG, PNG, GIF or SVG:
'pdfToJpg', 'pdfToPng', 'pdfToGif', 'pdfToSvg', 'pdfToImages'
* the SHA-256 hash of a file: 'sha256'
* page 1 of a PDF file, or other pages: 'pdfFirstPage', 'pdfPage',
'pdfSelect'
* a zipped LibreOffice file (@.odt@, @.ods@, @.odp@, @.odg@) to its flat
form (@.fodt@, @.fods@, @.fodp@, @.fodg@), and back: 'libreofficeFlat',
'libreofficeZipped'
* a PDF file split into several PDF files: 'pdfSplit', 'pdfBurst'
* the git details of a file, ready to insert into a file: 'gitDetails',
'gitPlaceholders'
* each first string replaced with the second in a file: 'replaceStrings'
* the format, width, height and other details of an image: 'imageInfo'
* the PDF files of a directory joined into one PDF file: 'pdfJoin',
'pdfConcatenate', 'pdftk'
* images of a directory joined side by side: 'imageAppend'
* an assertion that a file or directory exists: 'requireInput',
'requireDirectory', 'requirePath'
An operation that takes several input files takes the directory they are in
as its file path, and their paths relative to it.
-}
module Document.Build.Operations (
-- * Assertions
requireInput,
requireDirectory,
requirePath,
-- * Kinds of file
module Document.Build.Pdf,
module Document.Build.LibreOffice,
module Document.Build.Pandoc,
module Document.Build.Image,
module Document.Build.Hash,
module Document.Build.Git,
module Document.Build.Replace,
module Document.Build.File,
) where
import Document.Build.Build (requireDirectory, requireInput, requirePath)
import Document.Build.File
import Document.Build.Git
import Document.Build.Hash
import Document.Build.Image
import Document.Build.LibreOffice
import Document.Build.Pandoc
import Document.Build.Pdf
import Document.Build.Replace