webuni/commonmark-twig-renderer

The Twig renderer for CommonMark PHP implementation

0.2.0 2016-07-14 12:50 UTC

This package is auto-updated.

Last update: 2022-05-06 23:39:36 UTC


README

Latest Stable Version Build Status Scrutinizer Code Quality SensioLabsInsight

This extension allows you to use Twig templates to render CommonMark document.

Installation

This project can be installed via Composer:

composer require webuni/commonmark-twig-renderer

Usage

    use League\CommonMark\CommonMarkConverter;
    use Webuni\CommonMark\TwigRenderer\CommonMarkTwig;

    $converter = new CommonMarkConverter();
    CommonMarkTwig::setTwigRenderer($converter);

    echo $converter->convertToHtml('# Hello World!');

Template customization

In Twig, each Commonmark Node is represented by a Twig block. To customize any part of how a node renders, you just need to override the appropriate block.

{% extends 'commonmark.html.twig' %}

{% block header -%}
    {% set content = block('_inline_children') -%}
    <h{{ node.level }}><a name="{{ content|striptags|lower }}"></a>{{ content|raw }}</h{{ node.level }}>
{%- endblock %}