Pandex
Pandex is a lightweight Elixir wrapper for Pandoc. It has no dependencies other phàn nàn Pandoc itself. Pandex unit tests are currently lập cập again Pandoc version 2.5.
Pandex enables you to lớn perform any combination of the conversions below:
Bạn đang xem: pandex
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 lớn work. Install Pandoc for your operating system.
Xem thêm: rovamycine 3 m u
-
Add Pandex to lớn
mix.exs
as follows:Xem thêm: canvey
defmodule YourApp.Mixfile do defp deps do [ {:pandex, "~> 0.2.0"} ] end end
- Run
mix deps.get
to lớn 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 tệp tin 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
Bình luận