Parsoid
A bidirectional parser between wikitext and HTML5
|
See tests/parser/ParserTestParserHook.php in core. More...
Public Member Functions | ||||||||||
sourceToDom (ParsoidExtensionAPI $extApi, string $content, array $args) | ||||||||||
Convert an extension tag's content to "prepared and loaded" DOM.
| ||||||||||
processAttributeEmbeddedDom (ParsoidExtensionAPI $extApi, Element $elt, callable $proc) | ||||||||||
Extensions might embed HTML in attributes in their own custom representation (whether in data-mw or elsewhere).Core Parsoid will need a way to traverse such content. This method is a way for extension tag handlers to provide this functionality. Parsoid will only call this method if the tag's config sets the options['wt2html']['embedsDomInAttributes'] property to true.Override this method if your element embeds content directly as a DocumentFragment, which is recommended. If your element embeds content as a serialized HTML string, then processAttributeEmbeddedHTML() may be more convenient.
| ||||||||||
domToWikitext (ParsoidExtensionAPI $extApi, Element $node, bool $wrapperUnmodified) | ||||||||||
Serialize a DOM node created by this extension to wikitext.
| ||||||||||
getConfig () | ||||||||||
Return information about this extension module.The structure of the return value is enforced by moduleconfig.schema.json , in this directory.
| ||||||||||
![]() | ||||||||||
processAttributeEmbeddedHTML (ParsoidExtensionAPI $extApi, Element $elt, Closure $proc) | ||||||||||
Extensions might embed HTML in attributes in their own custom representation (whether in data-mw or elsewhere). | ||||||||||
lintHandler (ParsoidExtensionAPI $extApi, Element $rootNode, callable $defaultHandler) | ||||||||||
Lint handler for this extension. | ||||||||||
diffHandler (ParsoidExtensionAPI $extApi, callable $domDiff, Element $origNode, Element $editedNode) | ||||||||||
XXX: Experimental. | ||||||||||
Static Public Member Functions | |
static | getParserTestConfigFileName () |
Ensure that both integrated and standalone test runners have the magic word definitions used by these test hooks. | |
See tests/parser/ParserTestParserHook.php in core.
Wikimedia\Parsoid\ParserTests\ParserHook::domToWikitext | ( | ParsoidExtensionAPI | $extApi, |
Element | $node, | ||
bool | $wrapperUnmodified ) |
Serialize a DOM node created by this extension to wikitext.
ParsoidExtensionAPI | $extApi | |
Element | $node | A node in a "prepared and loaded" document. |
bool | $wrapperUnmodified |
Reimplemented from Wikimedia\Parsoid\Ext\ExtensionTagHandler.
Wikimedia\Parsoid\ParserTests\ParserHook::getConfig | ( | ) |
Return information about this extension module.The structure of the return value is enforced by moduleconfig.schema.json
, in this directory.
Implements Wikimedia\Parsoid\Ext\ExtensionModule.
|
static |
Ensure that both integrated and standalone test runners have the magic word definitions used by these test hooks.
Wikimedia\Parsoid\ParserTests\ParserHook::processAttributeEmbeddedDom | ( | ParsoidExtensionAPI | $extApi, |
Element | $elt, | ||
callable | $proc ) |
Extensions might embed HTML in attributes in their own custom representation (whether in data-mw or elsewhere).Core Parsoid will need a way to traverse such content. This method is a way for extension tag handlers to provide this functionality. Parsoid will only call this method if the tag's config sets the options['wt2html']['embedsDomInAttributes'] property to true.Override this method if your element embeds content directly as a DocumentFragment, which is recommended. If your element embeds content as a serialized HTML string, then processAttributeEmbeddedHTML() may be more convenient.
ParsoidExtensionAPI | $extApi | |
Element | $elt | The node whose data attributes need to be examined |
callable(DocumentFragment):bool | $proc The processor that will process the embedded HTML. This processor will be provided a DocumentFragment and is expected to return true if that fragment was modified. |
Reimplemented from Wikimedia\Parsoid\Ext\ExtensionTagHandler.
Wikimedia\Parsoid\ParserTests\ParserHook::sourceToDom | ( | ParsoidExtensionAPI | $extApi, |
string | $content, | ||
array | $args ) |
Convert an extension tag's content to "prepared and loaded" DOM.
ParsoidExtensionAPI | $extApi | |
string | $src | Extension tag content |
array | $extArgs | Extension tag arguments The extension tag arguments should be treated as opaque objects and any necessary inspection should be handled through the API. |
DocumentFragment
if returning some parsed content false
to fallback to the default handler for the content null
to drop the instance completelyReimplemented from Wikimedia\Parsoid\Ext\ExtensionTagHandler.