···4646 $environment
4747 ->addRenderer(ListItem::class, new Renderers\ListItemRenderer(), 10)
4848 ->addRenderer(Table::class, new Renderers\TableRenderer(), 10)
4949- ->addEventListener(DocumentParsedEvent::class, $this->processor);
4949+ // This needs to be run after AttributesExtension so it gets
5050+ // correct node id attribute for table of contents.
5151+ ->addEventListener(DocumentParsedEvent::class, $this->processor, -10);
50525153 if ($environment->getConfiguration()->exists('osu_extension/attributes_allowed')) {
5254 $environment->addEventListener(DocumentParsedEvent::class, new AttributesAllowedListener());
+9
tests/Libraries/Markdown/ProcessorTest.php
···3333 $this->assertSame($expectedOutput, $osuMarkdown->toIndexable());
3434 }
35353636+ public function testTocId()
3737+ {
3838+ $parser = new OsuMarkdown('default', osuExtensionConfig: ['attributes_allowed' => ['id'], 'generate_toc' => true]);
3939+4040+ $parsed = $parser->load('## some header {#headerid}')->toArray();
4141+4242+ $this->assertTrue(isset($parsed['toc']['headerid']));
4343+ }
4444+3645 public function testTocImage()
3746 {
3847 $parser = new OsuMarkdown('default', osuExtensionConfig: ['generate_toc' => true]);