Pandex alternatives and similar packages
Based on the "Markdown" category.
Alternatively, view Pandex alternatives based on common mentions on social networks and blogs.
-
cmark
💧 Elixir NIF for cmark (C), a parser library following the CommonMark spec, a compatible implementation of Markdown.
Learn Elixir in as little as 12 Weeks
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Pandex or a related project?
Popular Comparisons
README
Pandex
Pandex is a lightweight Elixir wrapper for Pandoc. It has no dependencies other than Pandoc itself. Pandex unit tests are currently run again Pandoc version 2.5.
Pandex enables you to perform any combination of the conversions below:
Convert From (any) | Convert To (any) |
---|---|
commonmark | asciidoc |
gfm | beamer |
html | commonmark |
json | context |
latex | docbook |
markdown | dzslides |
markdown_github * | gfm |
markdown_mmd | html |
markdown_phpextra | html5 |
markdown_strict | json |
rst | latex |
textile | man |
markdown | |
markdown_github * | |
markdown_mmd | |
markdown_phpextra | |
markdown_strict | |
mediawiki | |
opendocument | |
org | |
plain | |
rst | |
rtf | |
s5 | |
slidy | |
texinfo | |
textile |
*
Deprecated: markdown_github
. Use gfm
instead.
Installation
Pandex requires Pandoc to work. Install Pandoc for your operating system.
Add Pandex to
mix.exs
as follows:
defmodule YourApp.Mixfile do
defp deps do
[
{:pandex, "~> 0.2.0"}
]
end
end
- Run
mix deps.get
to installPandex
.
Usage
Pandex follows the syntax of <format-from>_to_<format-to>(<string>)
.
Examples
iex> Pandex.gfm_to_html("# Title \n\n## List\n\n- one\n- two\n- three\n")
{:ok, "<h1 id=\"title\">Title</h1>\n<h2 id=\"list\">List</h2>\n<ul>\n<li>one</li>\n<li>two</li>\n<li>three</li>\n</ul>\n"}
iex> Pandex.latex_to_html5("\\section{Title}\n\n\\subsection{List}\n\n\\begin{itemize}\n\\tightlist\n\\item\n one\n\\item\n two\n\\item\n three\n\\end{itemize}\n")
{:ok, "<h1 id=\"title\">Title</h1>\n<h2 id=\"list\">List</h2>\n<ul>\n<li><p>one</p></li>\n<li><p>two</p></li>\n<li><p>three</p></li>\n</ul>\n"}
iex> Pandex.latex_to_json("\\section{Title}\\label{title}\n\n\\subsection{List}\\label{list}\n\n\\begin{itemize}\n\\item\n one\n\\item\n two\n\\item\n three\n\\end{itemize}\n")
{:ok, "{\"blocks\":[{\"t\":\"Header\",\"c\":[1,[\"title\",[],[]],[{\"t\":\"Str\",\"c\":\"Title\"}]]},{\"t\":\"Header\",\"c\":[2,[\"list\",[],[]],[{\"t\":\"Str\",\"c\":\"List\"}]]},{\"t\":\"BulletList\",\"c\":[[{\"t\":\"Para\",\"c\":[{\"t\":\"Str\",\"c\":\"one\"}]}],[{\"t\":\"Para\",\"c\":[{\"t\":\"Str\",\"c\":\"two\"}]}],[{\"t\":\"Para\",\"c\":[{\"t\":\"Str\",\"c\":\"three\"}]}]]}],\"pandoc-api-version\":[1,17,5,4],\"meta\":{}}\n"}
Using with your app
defmodule YourApp do
import Pandex
def convert(string) do
{:ok, output} = markdown_to_html(string)
IO.puts(output)
end
end
You can also give a file as an input. The output will however be a string.
defmodule YourApp do
import Pandex
def convert(file) do
{:ok, output} = markdown_file_to_html(file)
IO.puts(output)
end
end
License
[MIT License](LICENSE)
*Note that all licence references and agreements mentioned in the Pandex README section above
are relevant to that project's source code only.