LaravelPackages.net
Acme Inc.
Toggle sidebar
nanoblocktech/markdown

PHP parsedown plugin to allow video and table of content.

37
1
1.6.5
About nanoblocktech/markdown

nanoblocktech/markdown is a Laravel package for php parsedown plugin to allow video and table of content.. It currently has 1 GitHub stars and 37 downloads on Packagist (latest version 1.6.5). Install it with composer require nanoblocktech/markdown. Discover more Laravel packages by nanoblocktech or browse all Laravel packages to compare alternatives.

Last updated

PHP Markdown Extension

PHP Version Composer License

A lightweight PHP extension of Parsedown that adds:

  • Audio and video embedding using markdown syntax
  • Automatic Table of Contents generation
  • Responsive HTML tables
  • External links automatically open in a new tab when the hostname differs

Installation

Installation via composer.

composer require nanoblocktech/markdown

Quick Start

use Luminova\ExtraUtils\HtmlDocuments\Markdown;

$markdown = new Markdown();

echo $markdown->text('### Hello World');

Media Embedding

Embedding audio and videos in markdown.

Audio

{Description}(audio)(/path/to/audio.opus)

Video

{Description}(video)(/path/to/video.mp4)

Supports both local and remote URLs.


Configuration

Enable Features

// Generate table of contents
$markdown->tableOfContents(true);

// Make HTML tables responsive
$markdown->responsiveTable(true);

Table of Contents Options

// Include specific heading levels
$markdown->setHeadings(['h1', 'h2']);

// Prefix for generated heading IDs
$markdown->setIdPrefix('my-contents-');

// Retrieve generated table of contents
$tableOfContents = $markdown->getTableOfContents();

// Base URL for relative links
$markdown->setLink('https://example.com/assets/');

Media Types

$markdown->setMediaType('audio', 'audio/ogg; codecs=opus');
$markdown->setMediaType('video', 'video/mp4');

Rendering Markdown

echo $markdown->text($content);

Full Example

$markdown = new Markdown();
$markdown->tableOfContents(true);
$markdown->responsiveTable(true);
$markdown->setHeadings(['h1', 'h2']);
$markdown->setIdPrefix('toc-');
$markdown->setLink('https://example.com/assets/');
$markdown->setMediaType('audio', 'audio/ogg; codecs=opus');
$markdown->setMediaType('video', 'video/mp4');

$mdText = <<<MD
# Welcome
Some intro text.

## Audio Example
{Cool song}(audio)(/media/song.opus)

## Video Example
{Demo video}(video)(/media/demo.mp4)
MD;

echo $markdown->text($mdText);

Features vs Parsedown

| Feature | Parsedown | PHP Markdown Extension | | ---------------------------------- | --------- | ---------------------- | | Markdown rendering | ✅ | ✅ | | Audio embedding | ❌ | ✅ | | Video embedding | ❌ | ✅ | | Table of Contents generation | ❌ | ✅ | | Responsive HTML tables | ❌ | ✅ | | Auto external link target="_blank" | ❌ | ✅ |


Notes:

  • External links automatically receive target="_blank" when the host differs from your application domain.
  • Media embedding works with local paths or remote URLs.
  • Table of contents is generated from configured heading levels only.

Star History Chart