maxxscho/
laravel-markdown-plus
g4t.io

Laravel Markdown-Plus

42 stars by Eric L. Barnes

A simple Laravel Markdown Parser with an optional meta section in the .md file

README from maxxscho/laravel-markdown-plus Open on GitHub →

NOT MAINTAINED ANYMORE!!

Laravel Markdown-Plus

Build Status

A simple Laravel 4 parser for markdown files with an optional meta-data section.

Installation

Laravel Markdown-Plus can be installed via composer by requiring the maxxscho/laravel-markdown-plus package in your project's composer.json.

{
    "require": {
        "maxxscho/laravel-markdown-plus": "~0"
    }
}

Next add the service provider and the alias to app/config/app.

'providers' => [
    // ...
    'Maxxscho\LaravelMarkdownPlus\LaravelMarkdownPlusServiceProvider',
],

'aliases' => [
    // ..
    'MarkdownPlus' => 'Maxxscho\LaravelMarkdownPlus\Facade\LaravelMarkdownPlusFacade',
],

Usage

Markdown file example

The meta section should be in YAML style, seperated by a custom splitter, which can be set in the config as a regular expression, default 3 or more dashes in an own line. Example:

title: This is the title
subtitle: This is the subtitle
date: 5. September 2013
tags: [code, laravel]
---
# Content goes here

Lorem Ipsum ...

Usage in Laravel

$file = File::get('test.md');

$document = MarkdownPlus::make($file);
$content = $document->getContent();
$title = $document->title(); // magic method

return View::make('your-view', compact('title', 'content'));

The meta data will be parsed with Symfony's Yaml Parser. After parsing the meta is an multidimensional array.
! Dates in the format YYYY-MM-DD will be parsed into a timestamp.

Available methods

$document->getContent() - returns the parsed Markdown (HTML-Content)

$document->getRawContent() - returns the raw content (pure Markdown)

$document->getMeta() - returns the whole meta data as an multidimensional array

$document->title() - this is a magic method. The name of the method returns its equivalent meta. For example $document->cool-meta() return the value of cool-meta: Cool Value

Configuration

Laravel-Markdown-Plus comes with some basic configuration.
Publish the configuration to customize the options:

php artisan config:publish maxxscho/laravel-markdown-plus 

You'll find the config file in app/config/packages/maxxscho/laravel-markdown-plus

Available Config-Options

'use_meta' => true, - whether you wanna use meta data or not

'section_splitter' => '/\s+-{3,}\s+/', - the seciton splitter

'use_extra' => true, - do you wanna parse markdown with additional features

'markdown_parser_options' - options for the markdown parser itself. More infos

Licencse

This is free software distributed under the terms of the MIT license.

Additional information

Inspired by an based on Dayle Rees Kurenai.

This package uses:

More from the ecosystem

marcreichel/
laya-php
g4t.io
3 53

LayaPHP: Self-Hosted Text Classification for PHP and Laravel

Classify text in PHP without an LLM bill: typed decisions in 100+ languages, self-hosted. Laravel-ready SDK for Laya, a Jev AI alternative.

ai classification decision-engine
marcreichel/laya-php via Laravel News
Josh-Dovey/
postcodes-laravel
g4t.io
5 9

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Postcodes for Laravel adds typed GB postcode lookups, validation, geography data, distance searches, and test fakes through the GB Postcodes API.

Josh-Dovey/postcodes-laravel via Laravel News
RedberryProducts/
mailbox-for-laravel
g4t.io
4 115

Mailbox for Laravel: Preview and Test Rendered Email

Mailbox for Laravel captures outgoing mail in a local dashboard and lets you test rendered HTML, recipients, and attachments with fluent assertions.

RedberryProducts/mailbox-for-laravel via Laravel News