Parsoid DOM compatibility for links and copy buttons

Change-Id: Ib3d30ba38753a060772029379675a5552c9631af
This commit is contained in:
Siddharth VP 2024-10-12 22:57:29 +05:30
parent 73f8f3ef71
commit d9f5c2a60e

View file

@ -40,6 +40,7 @@ use ParserOptions;
use RuntimeException;
use TextContent;
use WANObjectCache;
use Wikimedia\Parsoid\Core\ContentMetadataCollectorStringSets as CMCSS;
use Wikimedia\Parsoid\DOM\DocumentFragment;
use Wikimedia\Parsoid\Ext\ExtensionTagHandler;
use Wikimedia\Parsoid\Ext\ParsoidExtensionAPI;
@ -198,7 +199,7 @@ class SyntaxHighlight extends ExtensionTagHandler implements
$parser->addTrackingCategory( $cat );
}
// Register CSS
// Register modules
$parser->getOutput()->addModuleStyles( self::getModuleStyles() );
$parser->getOutput()->addModules( [ 'ext.pygments.view' ] );
return $result['html'];
@ -213,8 +214,9 @@ class SyntaxHighlight extends ExtensionTagHandler implements
// FIXME: There is no API method in Parsoid to add tracking categories
// So, $result['cats'] is being ignored
// Register CSS
$extApi->addModuleStyles( self::getModuleStyles() );
// Register modules
$extApi->getMetadata()->appendOutputStrings( CMCSS::MODULE_STYLE, self::getModuleStyles() );
$extApi->getMetadata()->appendOutputStrings( CMCSS::MODULE, [ 'ext.pygments.view' ] );
return $extApi->htmlToDom( $result['html'] );
}