packages feed

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