summaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Lua/Module/Template.hs
diff options
context:
space:
mode:
authorAlbert Krewinkel <albert@zeitkraut.de>2022-09-29 17:24:31 +0200
committerJohn MacFarlane <jgm@berkeley.edu>2022-09-30 08:33:40 -0700
commit5be9052f5fb7283372b3d5497bef499718a34992 (patch)
tree80e5805786ef7ab08f363135861e1aa9c8868f6f /src/Text/Pandoc/Lua/Module/Template.hs
parent79980eee4a1854921d7fb8b14848894b53cc21a7 (diff)
[API Change] Extract Lua code into new package pandoc-lua-engine
The flag 'lua53` must now be used with that package if pandoc is to be compiled against Lua 5.3.
Diffstat (limited to 'src/Text/Pandoc/Lua/Module/Template.hs')
-rw-r--r--src/Text/Pandoc/Lua/Module/Template.hs61
1 files changed, 0 insertions, 61 deletions
diff --git a/src/Text/Pandoc/Lua/Module/Template.hs b/src/Text/Pandoc/Lua/Module/Template.hs
deleted file mode 100644
index 967fe31a8..000000000
--- a/src/Text/Pandoc/Lua/Module/Template.hs
+++ /dev/null
@@ -1,61 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{- |
- Module : Text.Pandoc.Lua.Module.Template
- Copyright : Copyright © 2022 Albert Krewinkel, John MacFarlane
- License : GNU GPL, version 2 or above
- Maintainer : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
-
-Lua module to handle pandoc templates.
--}
-module Text.Pandoc.Lua.Module.Template
- ( documentedModule
- ) where
-
-import HsLua
-import Text.Pandoc.Error (PandocError)
-import Text.Pandoc.Lua.Marshal.Template (pushTemplate)
-import Text.Pandoc.Lua.PandocLua (PandocLua (unPandocLua), liftPandocLua)
-import Text.Pandoc.Templates
- (compileTemplate, getDefaultTemplate, runWithPartials, runWithDefaultPartials)
-
-import qualified Data.Text as T
-
--- | The "pandoc.template" module.
-documentedModule :: Module PandocError
-documentedModule = Module
- { moduleName = "pandoc.template"
- , moduleDescription = T.unlines
- [ "Lua functions for pandoc templates."
- ]
- , moduleFields = []
- , moduleOperations = []
- , moduleFunctions = functions
- }
-
--- | Template module functions.
-functions :: [DocumentedFunction PandocError]
-functions =
- [ defun "compile"
- ### (\template mfilepath -> unPandocLua $
- case mfilepath of
- Just fp -> runWithPartials (compileTemplate fp template)
- Nothing -> runWithDefaultPartials
- (compileTemplate "templates/default" template))
- <#> parameter peekText "string" "template" "template string"
- <#> opt (stringParam "templ_path" "template path")
- =#> functionResult (either failLua pushTemplate) "pandoc Template"
- "compiled template"
-
- , defun "default"
- ### (\mformat -> unPandocLua $ do
- let getFORMAT = liftPandocLua $ do
- getglobal "FORMAT"
- forcePeek $ peekText top `lastly` pop 1
- format <- maybe getFORMAT pure mformat
- getDefaultTemplate format)
- <#> opt (textParam "writer"
- "writer for which the template should be returned.")
- =#> functionResult pushText "string"
- "string representation of the writer's default template"
-
- ]