Parsoid
A bidirectional parser between wikitext and HTML5
|
Public Member Functions | |||||||||||||
__construct (ApiHelper $api, array $opts) | |||||||||||||
reset () | |||||||||||||
disableSubpagesForNS (int $ns) | |||||||||||||
enableSubpagesForNS (int $ns) | |||||||||||||
setupInterwikiMap (array $iwData) | |||||||||||||
Compute the interwiki map based on mock raw data. | |||||||||||||
interwikiMap () | |||||||||||||
Interwiki link data. | |||||||||||||
server () | |||||||||||||
The base URL of the server. | |||||||||||||
script () | |||||||||||||
The URL path to index.php. | |||||||||||||
scriptpath () | |||||||||||||
FIXME: This is only used to compute the modules path below and maybe shouldn't be exposed. | |||||||||||||
baseURI () | |||||||||||||
Site base URI. | |||||||||||||
allowedExternalImagePrefixes () | |||||||||||||
Allowed external image URL prefixes. | |||||||||||||
getMWConfigValue (string $key) | |||||||||||||
Lookup config.
| |||||||||||||
setInterwikiMagic (bool $val) | |||||||||||||
interwikiMagic () | |||||||||||||
Treat language links as magic connectors, not inline links. | |||||||||||||
setMagicLinkEnabled (string $which, bool $val) | |||||||||||||
magicLinkEnabled (string $which) | |||||||||||||
Return true if the specified magic link syntax is enabled on this wiki.
| |||||||||||||
fakeTimestamp () | |||||||||||||
Fake timestamp, for unit tests. | |||||||||||||
timezoneOffset () | |||||||||||||
Hardcode value for parser tests. | |||||||||||||
widthOption () | |||||||||||||
Default thumbnail width. | |||||||||||||
registerParserTestExtension (ExtensionModule $ext) | |||||||||||||
Register an extension for use in parser tests. | |||||||||||||
setExternalLinkTarget ( $value) | |||||||||||||
getExternalLinkTarget () | |||||||||||||
| |||||||||||||
setNoFollowConfig (string $key, $value) | |||||||||||||
getNoFollowConfig () | |||||||||||||
Public Member Functions inherited from Wikimedia\Parsoid\Config\Api\SiteConfig | |||||||||||||
hasVideoInfo () | |||||||||||||
galleryOptions () | |||||||||||||
Default gallery options for this wiki. | |||||||||||||
relativeLinkPrefix () | |||||||||||||
Prefix for relative links. | |||||||||||||
canonicalNamespaceId (string $name) | |||||||||||||
Map a canonical namespace name to its index.
| |||||||||||||
namespaceId (string $name) | |||||||||||||
Map a namespace name to its index.
| |||||||||||||
namespaceName (int $ns) | |||||||||||||
Map a namespace index to its preferred name (with spaces, not underscores).
| |||||||||||||
namespaceHasSubpages (int $ns) | |||||||||||||
Test if a namespace has subpages.
| |||||||||||||
namespaceCase (int $ns) | |||||||||||||
Return namespace case setting.
| |||||||||||||
specialPageLocalName (string $alias) | |||||||||||||
Get the default local name for a special page.
| |||||||||||||
iwp () | |||||||||||||
Wiki identifier, for cache keys. | |||||||||||||
legalTitleChars () | |||||||||||||
Legal title characters. | |||||||||||||
linkPrefixRegex () | |||||||||||||
Link prefix regular expression. | |||||||||||||
langBcp47 () | |||||||||||||
Wiki language code. | |||||||||||||
mainpage () | |||||||||||||
mainPageLinkTarget () | |||||||||||||
Main page title, as LinkTarget. | |||||||||||||
rtl () | |||||||||||||
Whether the wiki language is right-to-left. | |||||||||||||
langConverterEnabledBcp47 (Bcp47Code $lang) | |||||||||||||
Whether language converter is enabled for the specified language.
| |||||||||||||
exportMetadataToHeadBcp47 (Document $document, ContentMetadataCollector $metadata, string $defaultTitle, Bcp47Code $lang) | |||||||||||||
Export content metadata via meta tags (and via a stylesheet for now to aid some clients).
| |||||||||||||
redirectRegexp () | |||||||||||||
A regexp matching the localized 'REDIRECT' marker for this wiki. | |||||||||||||
categoryRegexp () | |||||||||||||
A regexp matching the localized 'Category' prefix for this wiki. | |||||||||||||
bswRegexp () | |||||||||||||
A regexp matching localized behavior switches for this wiki. | |||||||||||||
variantsFor (Bcp47Code $lang) | |||||||||||||
Language variant information for the given language (or null if unknown).
| |||||||||||||
getMagicWordMatcher (string $id) | |||||||||||||
Get a regexp matching a localized magic word, given its id.FIXME: misleading function name
| |||||||||||||
getParameterizedAliasMatcher (array $words) | |||||||||||||
Get a matcher function for fetching values out of interpolated magic words, ie those with $1 in their aliases.The matcher takes a string and returns null if it doesn't match any of the words, or an associative array if it did match:
| |||||||||||||
ensureExtensionTag (string $tag) | |||||||||||||
This function is public so it can be used to synchronize env for hybrid parserTests. | |||||||||||||
getMaxTemplateDepth () | |||||||||||||
Get the maximum template depth.
| |||||||||||||
metrics () | |||||||||||||
Statistics aggregator, for counting and timing.
| |||||||||||||
incrementCounter (string $name, array $labels, float $amount=1) | |||||||||||||
Increment a counter metric. | |||||||||||||
observeTiming (string $name, float $value, array $labels) | |||||||||||||
Record a timing metric. | |||||||||||||
Public Member Functions inherited from Wikimedia\Parsoid\Config\SiteConfig | |||||||||||||
registerExtensionModule ( $configOrSpec) | |||||||||||||
Register a Parsoid extension module. | |||||||||||||
unregisterExtensionModule (int $extId) | |||||||||||||
Unregister a Parsoid extension module. | |||||||||||||
getExtensionModules () | |||||||||||||
Return the set of Parsoid extension modules associated with this SiteConfig. | |||||||||||||
__construct () | |||||||||||||
Base constructor. | |||||||||||||
getObjectFactory () | |||||||||||||
Return an object factory to use when instantiating extensions. | |||||||||||||
tagNeedsNowikiStrippedInTagPF (string $lowerTagName) | |||||||||||||
getContentModelHandler (string $contentmodel) | |||||||||||||
Return a ContentModelHandler for the specified $contentmodel, if one is registered. | |||||||||||||
getAnnotationStrippers () | |||||||||||||
Returns all the annotationStrippers that are defined as annotation configuration. | |||||||||||||
isExtensionTag (string $name) | |||||||||||||
Determine whether a given name, which must have already been converted to lower case, is a valid extension tag name. | |||||||||||||
isAnnotationTag (string $tagName) | |||||||||||||
getAnnotationTags () | |||||||||||||
Get an array of defined annotation tags in lower case. | |||||||||||||
getExtensionTagNameMap () | |||||||||||||
Get an array of defined extension tags, with the lower case name in the key, and the value being arbitrary. | |||||||||||||
getExtTagConfig (string $tagName) | |||||||||||||
getExtTagImpl (string $tagName) | |||||||||||||
getExtDOMProcessors () | |||||||||||||
Return an array mapping extension name to an array of object factory specs for Ext\DOMProcessor objects. | |||||||||||||
getWt2HtmlLimits () | |||||||||||||
getHtml2WtLimits () | |||||||||||||
getLogger () | |||||||||||||
General log channel. | |||||||||||||
setLogger (?LoggerInterface $logger) | |||||||||||||
Set the log channel, for debugging. | |||||||||||||
addHTMLTemplateParameters () | |||||||||||||
When processing template parameters, parse them to HTML and add it to the template parameters data. | |||||||||||||
scrubBidiChars () | |||||||||||||
If enabled, bidi chars adjacent to category links will be stripped in the html -> wt serialization pass. | |||||||||||||
bswPagePropRegexp () | |||||||||||||
Regex matching all double-underscore magic words. | |||||||||||||
namespaceIsTalk (int $ns) | |||||||||||||
Test if a namespace is a talk namespace. | |||||||||||||
ucfirst (string $str) | |||||||||||||
Uppercasing method for titles. | |||||||||||||
interwikiMapNoNamespaces () | |||||||||||||
Interwiki link data, after removing items that conflict with namespace names. | |||||||||||||
interwikiMatcher (string $href) | |||||||||||||
Match interwiki URLs. | |||||||||||||
linkTrailRegex () | |||||||||||||
Link trail regular expression. | |||||||||||||
solTransparentWikitextRegexp () | |||||||||||||
A regex matching a line containing just whitespace, comments, and sol transparent links and behavior switches. | |||||||||||||
solTransparentWikitextNoWsRegexp (bool $addIncludes=false) | |||||||||||||
A regex matching a line containing just comments and sol transparent links and behavior switches. | |||||||||||||
mwAliases () | |||||||||||||
List all magic words by canonical name. | |||||||||||||
getMagicWordForFunctionHook (string $str) | |||||||||||||
Return canonical magic word for a function hook. | |||||||||||||
getMagicWordForVariable (string $str) | |||||||||||||
Return canonical magic word for a variable. | |||||||||||||
getMagicWordForMediaOption (string $word) | |||||||||||||
Return canonical magic word for a media option. | |||||||||||||
getMagicWordForBehaviorSwitch (string $word) | |||||||||||||
Return canonical magic word for a behavior switch. | |||||||||||||
isBehaviorSwitch (string $word) | |||||||||||||
Check if a string is a recognized behavior switch. | |||||||||||||
getMagicWordWT (string $word, string $suggest) | |||||||||||||
Convert the internal canonical magic word name to the wikitext alias. | |||||||||||||
getMediaPrefixParameterizedAliasMatcher () | |||||||||||||
Get a matcher function for fetching values out of interpolated magic words which are media prefix options. | |||||||||||||
getExtResourceURLPatternMatcher () | |||||||||||||
Matcher for ISBN/RFC/PMID URL patterns, returning the type and number. | |||||||||||||
linterEnabled () | |||||||||||||
getLinterSiteConfig () | |||||||||||||
Return the desired linter configuration. | |||||||||||||
makeExtResourceURL (array $match, string $href, string $content) | |||||||||||||
Serialize ISBN/RFC/PMID URL patterns. | |||||||||||||
getProtocolsRegex (bool $excludeProtRel=false) | |||||||||||||
Get a regex fragment matching URL protocols, quoted for an exclamation mark delimiter. | |||||||||||||
hasValidProtocol (string $potentialLink) | |||||||||||||
Matcher for valid protocols, must be anchored at start of string. | |||||||||||||
findValidProtocol (string $potentialLink) | |||||||||||||
Matcher for valid protocols, may occur at any point within string. | |||||||||||||
Public Attributes | |
$allowedExternalImagePrefixes = [ '' ] | |
$responsiveReferences | |
$thumbsize | |
$suppressLogger | |
Public Attributes inherited from Wikimedia\Parsoid\Config\Api\SiteConfig | |
const | SITE_CONFIG_QUERY_PARAMS |
Additional Inherited Members | ||||
Static Public Member Functions inherited from Wikimedia\Parsoid\Config\SiteConfig | ||||
static | createLogger (?string $filePath=null) | |||
Protected Member Functions inherited from Wikimedia\Parsoid\Config\Api\SiteConfig | ||||
addNamespace (array $ns) | ||||
Add a new namespace to the config. | ||||
linkTrail () | ||||
Return raw link trail regexp from config.
| ||||
getVariableIDs () | ||||
haveComputedFunctionSynonyms () | ||||
Does the SiteConfig provide precomputed function synonyms? If no, the SiteConfig is expected to provide an implementation for updateFunctionSynonym. | ||||
updateFunctionSynonym (string $func, string $magicword, bool $caseSensitive) | ||||
getMagicWords () | ||||
getNonNativeExtensionTags () | ||||
Get an array of defined extension tags, with the lower case name in the key, the value arbitrary.This is the set of extension tags that are configured in M/W core. $coreExtModules may already be part of it, but eventually this distinction will disappear since all extension tags have to be defined against the Parsoid's extension API.
| ||||
getSpecialNSAliases () | ||||
Return name spaces aliases for the NS_SPECIAL namespace.
| ||||
getSpecialPageAliases (string $specialPage) | ||||
Return Special Page aliases for a special page name.
| ||||
getProtocols () | ||||
Get the list of valid protocols.
| ||||
Protected Member Functions inherited from Wikimedia\Parsoid\Config\SiteConfig | ||||
processExtensionModule (ExtensionModule $ext) | ||||
Register a Parsoid-compatible extension. | ||||
getExtConfig () | ||||
exportMetadataHelper (Document $document, string $modulesLoadURI, array $modules, array $moduleStyles, array $jsConfigVars, string $htmlTitle, Bcp47Code $lang) | ||||
Helper function to create <head> elements from metadata. | ||||
getFunctionSynonyms () | ||||
Get a list of precomputed function synonyms. | ||||
Static Protected Member Functions inherited from Wikimedia\Parsoid\Config\SiteConfig | ||||
static | quoteTitleRe (string $s, string $delimiter='/') | |||
Quote a title regex. | ||||
Protected Attributes inherited from Wikimedia\Parsoid\Config\Api\SiteConfig | ||||
$nsNames = [] | ||||
$nsCase = [] | ||||
$nsIds = [] | ||||
$nsCanon = [] | ||||
$nsWithSubpages = [] | ||||
Protected Attributes inherited from Wikimedia\Parsoid\Config\SiteConfig | ||||
$mwAliases | ||||
$functionSynonyms | ||||
$interwikiMapNoNamespaces | ||||
$linkTrailRegex = false | ||||
$logger = null | ||||
$iwMatcherBatchSize = 4096 | ||||
$iwMatcher = null | ||||
$addHTMLTemplateParameters = false | ||||
$scrubBidiChars = false | ||||
$linterEnabled = false | ||||
$extConfig = null | ||||
$wt2htmlLimits | ||||
$html2wtLimits | ||||
Wikimedia\Parsoid\ParserTests\SiteConfig::__construct | ( | ApiHelper | $api, |
array | $opts ) |
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::allowedExternalImagePrefixes | ( | ) |
Allowed external image URL prefixes.
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::baseURI | ( | ) |
Site base URI.
This would be the URI found in <base href="..." />
.
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::fakeTimestamp | ( | ) |
Fake timestamp, for unit tests.
Reimplemented from Wikimedia\Parsoid\Config\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::getExternalLinkTarget | ( | ) |
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::getMWConfigValue | ( | string | $key | ) |
Lookup config.
string | $key |
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::getNoFollowConfig | ( | ) |
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::interwikiMagic | ( | ) |
Treat language links as magic connectors, not inline links.
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::interwikiMap | ( | ) |
Interwiki link data.
Note that the order of the keys in this array is significant: if more than one prefix matches a given URL during html2wt conversion, the first match is used. If you want wikitech
to be used instead of labsconsole
, for example, the ‘'wikitech’=>[....]` key needs to enumerate first.
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::magicLinkEnabled | ( | string | $which | ) |
Return true if the specified magic link syntax is enabled on this wiki.
string | $which | One of "ISBN", "PMID", or "RFC" |
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::registerParserTestExtension | ( | ExtensionModule | $ext | ) |
Register an extension for use in parser tests.
ExtensionModule | $ext |
Wikimedia\Parsoid\ParserTests\SiteConfig::reset | ( | ) |
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::script | ( | ) |
The URL path to index.php.
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::scriptpath | ( | ) |
FIXME: This is only used to compute the modules path below and maybe shouldn't be exposed.
The base wiki path
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::server | ( | ) |
The base URL of the server.
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::setExternalLinkTarget | ( | $value | ) |
string | false | $value |
Wikimedia\Parsoid\ParserTests\SiteConfig::setMagicLinkEnabled | ( | string | $which, |
bool | $val ) |
string | $which | One of "RFC", "PMID", or "ISBN". |
bool | $val |
Wikimedia\Parsoid\ParserTests\SiteConfig::setNoFollowConfig | ( | string | $key, |
$value ) |
string | $key | |
mixed | $value |
Wikimedia\Parsoid\ParserTests\SiteConfig::setupInterwikiMap | ( | array | $iwData | ) |
Compute the interwiki map based on mock raw data.
This replaces the previously computed interwiki map based on data from MockApiHelper
array | $iwData |
Wikimedia\Parsoid\ParserTests\SiteConfig::timezoneOffset | ( | ) |
Hardcode value for parser tests.
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.
Wikimedia\Parsoid\ParserTests\SiteConfig::widthOption | ( | ) |
Default thumbnail width.
Reimplemented from Wikimedia\Parsoid\Config\Api\SiteConfig.