Comments (5)
Thanks so much @colinodell. Massively appreciate your continual jumping into these issues and helping out. :)
from laravel-markdown.
Thanks @colinodell
If anyone is looking to do the same, this is what I did:
- Create an
Extensions
folder underApp
- Create file called
AddListStyleClassesExtension.php
under the newly created folderApp/Extensions
- Populate
AddListStyleClassesExtension.php
with:
<?php
namespace App\Extensions;
use League\CommonMark\ConfigurableEnvironmentInterface;
use League\CommonMark\Event\DocumentParsedEvent;
use League\CommonMark\Extension\ExtensionInterface;
class AddListStyleClassesExtension implements ExtensionInterface
{
public function register(ConfigurableEnvironmentInterface $environment): void
{
$environment
->addEventListener(DocumentParsedEvent::class, new AddListStyleClassesRenderer());
;
}
}
- Create file called
AddListStyleClassesRenderer.php
under the newly created folderApp/Extensions
- Populate
AddListStyleClassesRenderer.php
with:
<?php
namespace App\Extensions;
use League\CommonMark\EnvironmentInterface;
use League\CommonMark\Event\DocumentParsedEvent;
use League\CommonMark\Block\Element\ListBlock;
class AddListStyleClassesRenderer {
/**
* @param DocumentParsedEvent $e
*
* @return void
*/
public function __invoke(DocumentParsedEvent $e)
{
$walker = $e->getDocument()->walker();
while ($event = $walker->next()) {
$node = $event->getNode();
if ($node instanceof ListBlock) {
$node->data['attributes'] = array('class' => 'list-disc list-inside');
}
}
}
}
- Add the
AddListStyleClassesExtension
class to themarkdown.php
-config file
'extensions' => [\App\Extensions\AddListStyleClassesExtension::class],
Done!
from laravel-markdown.
thephpleague/commonmark#605 might answer your question
from laravel-markdown.
Thanks for sharing your solution with others! o/
from laravel-markdown.
For anybody coming to this from a search engine like I just did, there is a much easier solution now using Default Attributes.
from laravel-markdown.
Related Issues (20)
- Best practice for configuring extensions HOT 2
- Cannot add classes to the extension configuration HOT 1
- How to use localized Markdown files in Laravel HOT 1
- Laravel 8 installation problem HOT 10
- Markdown output does not print well if the text continues without any space. HOT 3
- Running the composer command throws an error HOT 11
- Is the Service Provider writing to file? HOT 2
- Your requirements could not be resolved to an installable set of packages. Installation failed, reverting ./composer.json to its original content. HOT 1
- Laravel 9 Support? HOT 5
- Update README or facade method HOT 1
- TableOfContentsExtension No data exists at the given path
- adding id to headers HOT 2
- Syntax highlight? HOT 2
- Adding extension in v14 / commonmark v2 HOT 3
- Livewire support? HOT 2
- Unexpected item 'commonmark'. HOT 2
- Add Laravel 10 support HOT 9
- Laravel 11 Support HOT 4
- using custom slug_normalizer
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from laravel-markdown.