Text::...Hoedown(3pm)

πŸ“¦ version 1.03, in alpine 3.24

πŸ’– NAME πŸ’–

okay bestie, welcome to the Text::...Hoedown(3pm) page β€” that's the manual name folded right up here, and yes it's a User Contributed Perl Documentation situation. The module is Text::Markdown::Hoedown, aka hoedown for Perl5. Slay. ✨

🌸 SYNOPSIS 🌸

like, here's the vibe:

use Text::Markdown::Hoedown;

print markdown(<<'...');
# foo

bar

  * hoge
  * fuga
...

πŸ¦‹ DESCRIPTION πŸ¦‹

Text::Markdown::Hoedown is the binding library for hoedown β€” that's the whole flex, no cap. πŸ’…

Also, hoedown is a forking project from sundown. That's the lore. 🌈

✨ FUNCTIONS ✨

🌟 markdown 🌟

my $out = markdown($src :Str, %options) :Str β€” Rendering markdown. 🫢

The options are following:

  • toc_nesting_lvl β€” Nesting levels for TOC generation. (Default: 99)
  • extensions β€” this is a bit flag. You can use the flags by | operator. Values are following:
    • HOEDOWN_EXT_TABLES β€” Parse PHP-Markdown style tables.
    • HOEDOWN_EXT_FENCED_CODE β€” Parse fenced code blocks.
    • HOEDOWN_EXT_FOOTNOTES β€” Parse footnotes.
    • HOEDOWN_EXT_AUTOLINK β€” Automatically turn safe URLs into links.
    • HOEDOWN_EXT_STRIKETHROUGH β€” Parse ~~stikethrough~~ spans.
    • HOEDOWN_EXT_UNDERLINE β€” Parse _underline_ instead of emphasis.
    • HOEDOWN_EXT_HIGHLIGHT β€” Parse ==highlight== spans.
    • HOEDOWN_EXT_QUOTE β€” Render "quotes" as <q>quotes</q>.
    • HOEDOWN_EXT_SUPERSCRIPT β€” Parse super^script.
    • HOEDOWN_EXT_MATH β€” Parse TeX $$math$$ syntax, Kramdown style.
    • HOEDOWN_EXT_NO_INTRA_EMPHASIS β€” Disable emphasis_between_words.
    • HOEDOWN_EXT_SPACE_HEADERS β€” Require a space after '#' in headers.
    • HOEDOWN_EXT_MATH_EXPLICIT β€” Instead of guessing by context, parse $inline math$ and $$always block math$$ (requires HOEDOWN_EXT_MATH).
    • HOEDOWN_EXT_DISABLE_INDENTED_CODE β€” Don't parse indented code blocks.
  • html_options β€” this is a bit flag. You can use the flags by | operator. Values are following:
    • HOEDOWN_HTML_SKIP_HTML β€” Strip all HTML tags.
    • HOEDOWN_HTML_ESCAPE β€” Escape all HTML.
    • HOEDOWN_HTML_HARD_WRAP β€” Render each linebreak as <br>.
    • HOEDOWN_HTML_USE_XHTML β€” Render XHTML.
  • max_nesting β€” the docs literally say β€œI don't know what this do.” 😭 not me making it up, that's the actual note.

🌟 markdown_toc 🌟

markdown_toc($src:Str, %opts) :Str β€” Generate TOC HTML from $str. πŸŽ€

Options are following:

  • nesting_level β€” Maximum nesting level for TOC.
  • extensions β€” Same as above.
  • max_nesting β€” Same as above.
All HOEDOWN_* constants are exported by default. 🫢

πŸ‘‘ TODO πŸ‘‘

Document about low level APIs. That's it. That's the todo, bestie. 😭

🧚 HACKING 🧚

The hoedown/ directory is managed by git subtree.

You can pull the modifications from upstream by following command:

git subtree pull --prefix=hoedown git@github.com:hoedown/hoedown.git master

⭐ LICENSE ⭐

Copyright (C) tokuhirom.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

πŸ’… AUTHOR πŸ’…

tokuhirom <tokuhirom@gmail.com>


πŸ’– cute little sign-off: this page is from perl v5.42.2, dated 2025-06-30 β€” bye bestie, go render some markdown! πŸ’–

πŸ“¦ where this page comes from