mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/SyntaxHighlight_GeSHi
synced 2024-11-23 22:13:40 +00:00
0cb5db91b8
The shell out to get styled text is expensive. Call Parser::incrementExpensiveFunctionCount to limit the highlighted text snippet on a page and not reaching a timeout. This would count each tag and not deduplicate the text snippet to count only once or if pygmentize needs to call or is in the cache. This also not affect Parsoid, not sure if the concept of expensive parser function exists there Bug: T316858 Change-Id: I8afe61e9be4a34e5f0725a9b65ef43c345e1be5f |
||
---|---|---|
.phan | ||
i18n | ||
includes | ||
maintenance | ||
modules | ||
pygments | ||
tests/parser | ||
.eslintrc.json | ||
.gitignore | ||
.gitreview | ||
.phpcs.xml | ||
.stylelintrc.json | ||
CODE_OF_CONDUCT.md | ||
composer.json | ||
COPYING | ||
extension.json | ||
Gruntfile.js | ||
package-lock.json | ||
package.json | ||
README | ||
SyntaxHighlight.lexers.php |
This extension allows source code to be syntax highlighted on the wiki pages. This README file might be out of date, have a look at the extension page for updated information: https://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi == Requirements == This version of the extension has been tested with Pygments 2.8.0 and MediaWiki 1.35. To get releases of this extension compatible with earlier versions of MediaWiki, visit: https://www.mediawiki.org/wiki/Special:ExtensionDistributor/SyntaxHighlight_GeSHi == Installation == Add this line to your LocalSettings.php: wfLoadExtension( 'SyntaxHighlight_GeSHi' ); By default, this extension will use a bundled copy of Pygments 2.8.0. If you would like to use a different copy of the library, you can set $wgPygmentizePath to point to the path to the 'pygmentize' binary. == Usage == On the wiki page, you can now use "source" elements: <source lang="php"> <?php v = "string"; // sample initialization ?> html text <?php echo v; // end of php code ?> </source> == Parameters == For details information of these parameters, see the documentation of Pygments' HtmlFormatter at <http://pygments.org/docs/formatters/#HtmlFormatter>. * lang; Defines the language. * line; Corresponds to linenos="inline" option. * start; Corresponds to linenostart option. * enclose; If set to "none", corresponds to the nowrap=1 option. * inline; Corresponds to the nowrap=1 option. * highlight; Corresponds to hl_lines option (comma separated). == Note == Pygments is generous about creating HTML elements: highlighting large blocks of code can easily generate enough of them to crash a browser. As a guard, syntax highlighting is turned off for code fragments larger than 100 kB.