vtalbot / markdown by vtalbot

Markdown compiler for Laravel 4
123,722
100
6
Package Data
Maintainer Username: vtalbot
Maintainer Contact: vincent.talbot@gmail.com (Vincent Talbot)
Package Create Date: 2012-12-15
Package Last Update: 2022-09-13
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-11-22 03:04:24
Package Statistics
Total Downloads: 123,722
Monthly Downloads: 4,442
Daily Downloads: 313
Total Stars: 100
Total Watchers: 6
Total Forks: 24
Total Open Issues: 6

Markdown Compiler for Laravel

Installation

For Laravel 4

  1. Run composer require vtalbot/markdown:1.5
  2. Run php artisan config:publish vtalbot/markdown
  3. Then edit config.php in app/config/packages/vtalbot/markdown to your needs.
  4. Add 'VTalbot\Markdown\MarkdownServiceProvider', to providers in app/config/app.php and 'Markdown' => 'VTalbot\Markdown\Facades\Markdown', to aliases in app/config/app.php

For Laravel 5+

  1. Run composer require vtalbot/markdown:2.0
  2. Run php artisan vendor:publish --provider=“VTalbot\Markdown\MarkdownServiceProvider”
  3. Then edit markdown.php in your config directory to your needs.
  4. Add VTalbot\Markdown\MarkdownServiceProvider::class to providers in config/app.php and 'Markdown' => VTalbot\Markdown\Facades\Markdown::class to aliases in config/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.