{"repo":"marcelotto/panpipe","free":true,"listed":false,"github":"https://github.com/marcelotto/panpipe","clone":"git clone https://github.com/marcelotto/panpipe.git","description":"An Elixir wrapper around Pandoc","language":"Elixir","stars":42,"topics":["pandoc","markdown","ast"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"Panpipe An Elixir wrapper around [Pandoc]. Features - convenient ways to call the pandoc functions from Elixir - Elixir structs for the [Pandoc AST] - a read and writeable Markdown AST - ways to traverse and transform the AST via Elixir pattern matching (and pipes maybe) - ... everything you need to write [Pandoc filters] with Elixir Installation You'll need to have Pandoc installed. The Hex package can then be installed by adding panpipe to your list of dependencies in mix.exs : Usage Calling Pandoc Pandoc can be called with the Panpipe.pandoc/2 function. Generally it takes the long-form arguments of Pandoc as the usual Keyword list options with dashes replaced by underscores, but there are a couple of differences. First, the input is either provided directly as a string as the first argument or when the input is another file via the input option. As you can see the Panpipe.pandoc/2 returns an ok tuple in the success with the result as string if no output file is specified, or nil if the output was written to a file. If want directly get the result and fail in error cases, you can use the Panpipe.pandoc!/2 function. Extensions for the input and output format can be specified by providing a tuple with the format and either a list of extensions to be enabled or a map with the keys enable and disable . Another difference is that flag arguments of Pandoc must be provided as an option with the value true . You can also call Pandoc with a specific output format with the Panpipe.to","default_branch":null,"files":null,"tree":[],"storefront":"/r/marcelotto","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/marcelotto/panpipe/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}