vtalbot / markdown
Markdown compiler for Laravel 5
Installs: 170 300
Dependents: 3
Suggesters: 0
Security: 0
Stars: 99
Watchers: 6
Forks: 23
Open Issues: 6
pkg:composer/vtalbot/markdown
Requires
- laravel/framework: ^5||^6||^7||^8
- michelf/php-markdown: ^1.8
Requires (Dev)
- mockery/mockery: 0.9.0
This package is auto-updated.
Last update: 2025-09-29 01:31:41 UTC
README
Installation
For Laravel 4
- Run
composer require vtalbot/markdown:1.5 - Run
php artisan config:publish vtalbot/markdown - Then edit
config.phpinapp/config/packages/vtalbot/markdownto your needs. - Add
'VTalbot\Markdown\MarkdownServiceProvider',toprovidersinapp/config/app.phpand'Markdown' => 'VTalbot\Markdown\Facades\Markdown',toaliasesinapp/config/app.php
For Laravel 5+
- Run
composer require vtalbot/markdown:2.0 - Run
php artisan vendor:publish --provider=“VTalbot\Markdown\MarkdownServiceProvider” - Then edit
markdown.phpin yourconfigdirectory to your needs. - Add
VTalbot\Markdown\MarkdownServiceProvider::classtoprovidersinconfig/app.phpand'Markdown' => VTalbot\Markdown\Facades\Markdown::classtoaliasesinconfig/app.php
Usage
http://domain.name/test.md
If test.md doesn't exists in the public directory, it will search for test.md in app/markdown directory.
If found, compile it if needed and return the result.
Markdown::make('file-in-markdown-directory');
Or, you can compile a simple string:
Markdown::string('#test');
To handle markdown file not found:
Markdown::setNotFoundHandler(function($file) { return 'Markdown file not found'; }); Markdown::setNotFoundHandler('MarkdownController@missing');
Configuration
| Key | Default value | Description |
|---|---|---|
paths |
array('/markdown') |
Directory where to find the markdown files. |
routes |
array('',) |
Routes prefixes. |
extensions |
array('markdown','md') |
Extensions used to set routes. |
add_routes |
true |
Enable the creation of routes. |
empty_element_suffix |
' />' |
Suffix for empty element (br, hr). |
tab_width |
4 |
Tab character width. |
no_markup |
false |
Prevent HTML tags to be passed to output. |
no_entities |
false |
Convert entities like < to &. |
predef_urls |
array() |
Add reference for urls. array('ref' => '//goo.gl'): [google][ref] |
predef_titles |
array() |
Same as predef_urls. |
use_extra |
true |
Use Markdown with extra, eg.: fenced code block. |
fn_id_prefix |
'' |
Prefix for ID attributes generated by footnotes. |
fn_link_title |
'' |
Title for footnotes links. |
fn_backlink_title |
'' |
Same as fn_link_title. |
fn_link_class |
'footnote-ref' |
CSS class for footnotes links and backlinks. |
fn_backlink_class |
'footnote-backref' |
Same as fn_link_class. |
code_class_prefix |
'' |
Prepend CSS class to fenced code block. |
code_attr_on_pre |
false |
Put attributes on pre instead of code. |
predef_abbr |
array() |
Create predefine abbreviations. |
For more information on the Markdown configuration, you may refer to http://michelf.ca/projects/php-markdown/configuration .
Changelog
2.0
- Add support for Laravel 5
1.5
- Change deprecated dependency.
- Add Markdown file not found handler.
- Add configurations based on the new dependency.
- Add some tests.