Skip to content

Latest commit

 

History

History
56 lines (43 loc) · 1005 Bytes

File metadata and controls

56 lines (43 loc) · 1005 Bytes

Sprout Build Status

Simple DOM generator inspired by Emmet. Dumb and fluent.

Install

% composer require dmitrivereshchagin/sprout

Usage

You can build your DOM from subtrees in the following way (you should avoid recursion though)

use Sprout\Node as Root;

$head = Root::create('head')
    ->meta('charset="utf-8"')->merge()
    ->up()
    ->title()->text('Title')
    ->root()
;

$body = Root::create('body')
    ->h1('id="header"')->text('Header')
    ->up()
    ->p()->text('Paragraph of text.')->times(2)
    ->root()
;

echo Root::create('html', 'lang="en"')
    ->insert($head, $body)
;

Or you can build entire tree using marked nodes

echo Root::create('html', 'lang="en"')->mark('h')
    // head subtree
    // ...
    ->to('h')
    // body subtree
    // ...
    ->root()
;

Testing

% composer test