benjaminhoegh / parsedown-extended
An extension for Parsedown.
Fund package maintenance!
paypal.me/BenjaminHoegh
www.buymeacoffee.com/BenjaminHoegh
Installs: 9 194
Dependents: 2
Suggesters: 0
Security: 0
Stars: 39
Watchers: 6
Forks: 8
Open Issues: 3
Requires
- php: >=7.4
- ext-json: *
- erusev/parsedown: >=1.7.4 <2.0
- erusev/parsedown-extra: ^0.8.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.64
- phpunit/phpunit: ^9.6
- vimeo/psalm: ^5.26
README
Parsedown Extended
Explore Documentation »
Report bug
·
Request feature
·
Discussions
Table of contents
- Introduction
- Features
- Getting started
- Bugs and feature requests
- Contributing
- Community
- Copyright and license
Introduction
ParsedownExtended is an extention for Parsedown, offering additional features and functionalities. It is designed to provide an easy-to-use Markdown parsing solution while extending the capabilities of the base Parsedown library.
Stand alone versions of the extended features are also available as separate libraries:
Features
ParsedownExtended includes a variety of features to enhance your Markdown parsing experience:
- Task Lists: Create simple task lists in Markdown.
- Smartypants: Automatically convert straight quotes to curly, dashes to en-dash and em-dash, etc.
- Emojis: Support for rendering emojis.
- Heading Permalinks: Generate permalinks for your headings.
- Table of Contents: Automatically generate a table of contents based on headings.
- Keystrokes: Render keystroke combinations.
- Marking: Mark text within your documents for emphasis or distinction.
- Superscript and Subscript: Render text as superscript or subscript.
- Diagrams Syntax Support: Recognizes diagram syntax for integration with libraries like mermaid.js and chart.js.
- LaTeX Syntax Support: Detects LaTeX syntax, suitable for mathematical expressions, to be rendered with libraries like KaTeX.js.
- Predefined Abbreviations: Define and use abbreviations easily.
- GFM Alerts: Create alerts using GitHub Flavored Markdown Alert syntax there can be customized into your own language, or even create your own.
- Customizable Options: Extensive options for customizing each Markdown element.
- Additional Features: ParsedownExtended continuously evolves, adding more features over time.
Getting started
Manual
Download the source code from the latest release
You must include parsedown.php
1.7+
Include ParsedownExtended.php
require 'Parsedown.php'; require 'ParsedownExtra.php'; // optional require 'ParsedownExtended.php'; use BenjaminHoegh\ParsedownExtended\ParsedownExtended; $ParsedownExtended = new ParsedownExtended(); echo $ParsedownExtended->text('Hello _Parsedown_!'); # prints: <p>Hello <em>Parsedown</em>!</p> // you can also parse inline markdown only echo $ParsedownExtended->line('Hello _Parsedown_!'); # prints: Hello <em>Parsedown</em>!
Using composer
From the command line interface, navigate to your project folder then run this command:
composer require benjaminhoegh/parsedown-extended
Then require the auto-loader file:
require 'vendor/autoload.php'; use BenjaminHoegh\ParsedownExtended\ParsedownExtended; $ParsedownExtended = new ParsedownExtended(); echo $ParsedownExtended->text('Hello _Parsedown_!'); # prints: <p>Hello <em>Parsedown</em>!</p> // you can also parse inline markdown only echo $ParsedownExtended->line('Hello _Parsedown_!'); # prints: Hello <em>Parsedown</em>!
Bugs and feature requests
Have a bug or a feature request? Please first read the issue guidelines and search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.
Contributing
Please read through our contributing guidelines. Included are directions for opening issues, coding standards, and notes on development.
All PHP should conform to the Code Guide.
Community
Get updates on ParsedownExtended's development and chat with the project maintainers and community members.
- Join GitHub discussions.
Copyright and license
Code and documentation copyright 2024 the ParsedownExtended Authors. Code released under the MIT License. Docs released under Creative Commons.