packages feed

pandoc-lua-engine 0.4.2 → 0.4.3

raw patch · 4 files changed

+39/−2 lines, 4 filesdep ~hsluadep ~hslua-module-system

Dependency ranges changed: hslua, hslua-module-system

Files

pandoc-lua-engine.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.4 name:                pandoc-lua-engine-version:             0.4.2+version:             0.4.3 build-type:          Simple license:             GPL-2.0-or-later license-file:        COPYING.md
src/Text/Pandoc/Lua/Module/MediaBag.hs view
@@ -27,6 +27,7 @@ import Text.Pandoc.Lua.Orphans () import Text.Pandoc.Lua.PandocLua (unPandocLua) import Text.Pandoc.MIME (MimeType)+import Text.Pandoc.SelfContained (makeDataURI)  import qualified Data.ByteString.Lazy as BL import qualified Data.Text as T@@ -60,6 +61,7 @@       , items   `since` makeVersion [2,7,3]       , list    `since` makeVersion [2,0]       , lookup  `since` makeVersion [2,0]+      , make_data_uri `since` makeVersion [3,7,1]       , write   `since` makeVersion [3,0]       ]   , moduleOperations = []@@ -242,6 +244,29 @@   , "    local diagram_url = 'https://pandoc.org/diagram.jpg'"   , "    local mt, contents = pandoc.mediabag.fetch(diagram_url)"   ]++make_data_uri :: DocumentedFunction PandocError+make_data_uri = defun "make_data_uri"+  ### (\mime raw -> pure $ makeDataURI (mime, raw))+  <#> parameter Lua.peekText "string" "mime_type" "MIME type of the data"+  <#> parameter Lua.peekByteString "string" "raw_data" "data to encode"+  =#> functionResult Lua.pushText "string" "data uri"+  #? T.unlines+  [ "Convert the input data into a data URI as defined by RFC 2397."+  , ""+  , "Example:"+  , ""+  , "    -- Embed an unofficial pandoc logo"+  , "    local pandoc_logo_url = 'https://raw.githubusercontent.com/'"+  , "      .. 'tarleb/pandoc-logo/main/pandoc.svg'"+  , ""+  , "    local datauri = pandoc.mediabag.make_data_uri("+  , "      pandoc.mediabag.fetch(pandoc_logo_url)"+  , "    )"+  , ""+  , "    local image = pandoc.Image('Logo', datauri)"+  ]+  -- | Extract the mediabag or just a single entry. write :: DocumentedFunction PandocError
src/Text/Pandoc/Lua/Module/Pandoc.hs view
@@ -25,6 +25,7 @@ import Data.Maybe (fromMaybe) import Data.Proxy (Proxy (Proxy)) import Data.Text.Encoding.Error (UnicodeException)+import Data.Version (makeVersion) import HsLua import System.Exit (ExitCode (..)) import Text.Pandoc.Class ( PandocMonad, FileInfo (..), FileTree@@ -151,7 +152,7 @@ otherConstructors :: [DocumentedFunction PandocError] otherConstructors =   [ mkAttr-  , mkCaption+  , mkCaption `since` makeVersion [3,6,1]   , mkCell   , mkAttributeList   , mkCitation
test/lua/module/pandoc-mediabag.lua view
@@ -104,4 +104,15 @@     end),   }, +  group 'make_data_uri' {+    test('returns a data URI', function ()+      local uri = mediabag.make_data_uri('text/plain', 'foo')+      assert.are_equal(uri:sub(1,5), 'data:')+    end),+    test('URI specifies the given MIME type', function ()+      local mimetype = 'text/plain'+      local uri = mediabag.make_data_uri(mimetype, 'foo')+      assert.are_equal(uri:sub(6, 5 + #mimetype), mimetype)+    end),+  } }