Coder Social home page Coder Social logo

Comments (2)

odan avatar odan commented on August 15, 2024

I have tried it according to the documentation and it works like expected.

My steps:

composer require twig/markdown-extra
composer require twig/markdown-extra league/commonmark

Add the Twig extension in container.php for the Twig::class definition:

use Twig\Extra\Markdown\DefaultMarkdown;
use Twig\Extra\Markdown\MarkdownExtension;
use Twig\Extra\Markdown\MarkdownRuntime;
use Twig\RuntimeLoader\RuntimeLoaderInterface;
// ...

Twig::class => function (ContainerInterface $container) {

    // ...
    $twig->addExtension(new MarkdownExtension());
    // ...

    $twig->addRuntimeLoader(new class implements RuntimeLoaderInterface {
        public function load($class) {
            if ($class === MarkdownRuntime::class) {
                return new MarkdownRuntime(new DefaultMarkdown());
            }
        }
    });
    // ...
}, 

Create a Twig template:

{% apply markdown_to_html %}

# Header

Text

## Top 1

{% endapply %}

Render it as usual:

return $this->twig->render($response, 'filename.twig', $viewData);

Result:

image

image

from slim4-skeleton.

fvtorres avatar fvtorres commented on August 15, 2024

Hello @odan ,

Thanks for checking on this. I used your template and it worked here.

The issue was that I was using Markdown and Inky inside the same tags, and it was conflicting with each other.

This is the code I was using, and if you test there you wont get the H1

{% apply markdown_to_html|inline_css|inky_to_html %}
<style>
    h1 {
        color: #333;
    }
</style>
<container>
<row class="header">
<columns>
# Hello World
</columns>
</row>
</container>
{% endapply %}

The solution I found after knowing it was working (thanks for that!!), is to separate the tags, like this:

{% apply inline_css|inky_to_html %}
<style>
    h1 {
        color: #333;
    }
</style>
<container>
<row class="header">
<columns>
{% apply markdown_to_html %}
# Hello World
{% endapply %}
</columns>
</row>
</container>
{% endapply %}

I`m not sure if its the best solution, but it definitely works

Thanks again for your help!!

from slim4-skeleton.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.