Skip to content

nanoblocktech/markdown

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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();

Link Handling

// 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages