mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/SyntaxHighlight_GeSHi
synced 2024-11-27 15:50:37 +00:00
15b894bdbc
We originally started using symfony/process because kzykhys/pygments depended upon it. But that library was unmaintained and became broken, so we stopped using it, and just used symfony/process directly. At the time, the main reason in favor of symfony/process was that it could pass stdin to pygments, while Shell\Command couldn't - but it can now (T182463)! On top of that, there are downsides, like not respecting the default MediaWiki shell limits, being incompatible with core's firejail support, and requiring an external composer dependency. Note that because Shell::command() will enforce MediaWiki's normal limits, it's possible that some large pages may no longer render with syntax highlighting if they pass those limits. Bug: T182467 Bug: T181771 Change-Id: Ie1cb72b7eb17d943f79ecae4d94a2110546ef039
56 lines
1.7 KiB
Plaintext
56 lines
1.7 KiB
Plaintext
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 informations:
|
|
|
|
https://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi
|
|
|
|
== Requirements ==
|
|
|
|
This version of the extension has been tested with Pygments 1.6, 2.0.2 and
|
|
MediaWiki 1.25 as of 2015-06-19. 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.0.2. 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 opion.
|
|
* 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.
|