An open API service indexing awesome lists of open source software.

https://github.com/donatj/mddom

A Basic Markdown "DOM" for building Markdown out of Objects
https://github.com/donatj/mddom

markdown markdown-generator

Last synced: 10 months ago
JSON representation

A Basic Markdown "DOM" for building Markdown out of Objects

Awesome Lists containing this project

README

          

# MDDom - Markdown DOM

[![Latest Stable Version](https://poser.pugx.org/donatj/mddom/version)](https://packagist.org/packages/donatj/mddom)
[![License](https://poser.pugx.org/donatj/mddom/license)](https://packagist.org/packages/donatj/mddom)
[![ci.yml](https://github.com/donatj/mddom/actions/workflows/ci.yml/badge.svg?)](https://github.com/donatj/mddom/actions/workflows/ci.yml)

A Simple Easy To Use Way to Generate Markdown Using a "DOM" Like Interface

[See: docs/docs.md](docs/docs.md)

## Requirements

- **php**: >=7.2

## Installing

Install the latest version with:

```bash
composer require 'donatj/mddom'
```

## Example

```php
appendChild(new MDDom\Header("Hello World!"));
$doc->appendChild(new MDDom\Paragraph("This text is in a paragraph"));
$doc->appendChild(new MDDom\Paragraph("This text is in a separate paragraph"));

$sub = new MDDom\DocumentDepth;
$doc->appendChild($sub);

// Header Level, e.g.

is determined by the depth.
$sub->appendChild(new MDDom\Header("Sub-Header!"));
$sub->appendChild(new MDDom\CodeBlock("echo 'Hello World';", 'php'));

echo $doc->exportMarkdown();

```

Outputs:

````markdown
# Hello World!

This text is in a paragraph

This text is in a separate paragraph

## Sub-Header!

```php
echo 'Hello World';
```
````