Go to file
Siddharth VP 7fa3abe91e Enable clicking on wikilinks and external links in highlighted code
It's common practise to use [[wikilink]] syntax to mention page names
in comments of JS/CSS/Scribunto code where the links ordinarily don't
work. Using JavaScript to actually make the syntax clickable makes
navigation easier.

{{Templates links}} and external links are also supported.

Bug: T368166
Change-Id: I999937c1f6303ecc64adb6285e73a9ce10f67bd8
2024-06-22 12:35:22 +05:30
.phan Migrate to new Phan 2019-03-02 13:43:16 +01:00
i18n Localisation updates from https://translatewiki.net. 2024-06-12 09:22:59 +02:00
includes Enable clicking on wikilinks and external links in highlighted code 2024-06-22 12:35:22 +05:30
maintenance Port to BoxedCommand 2021-09-10 11:47:28 -07:00
modules Enable clicking on wikilinks and external links in highlighted code 2024-06-22 12:35:22 +05:30
pygments Update Pygments to 2.17.2 2023-12-01 15:43:32 -07:00
tests Re-enable and fix tests for Parsoid CI 2024-04-08 12:00:23 +00:00
.eslintignore build: Update linter config 2024-04-29 21:09:27 +01:00
.eslintrc.json build: Update devDependencies 2022-03-20 15:05:03 +00:00
.gitignore build: Upgrade eslint-config-wikimedia from 0.10.1 to 0.11.0 2019-04-03 16:26:40 -07:00
.gitreview Whoops, track not trace 2016-10-24 17:03:53 -07:00
.phpcs.xml build: Updating eslint-config-wikimedia to 0.18.2 2021-03-08 02:28:40 +00:00
.stylelintrc.json stylelint: Enable selector-pseudo-element-colon-notation 2023-03-30 01:00:39 +02:00
CODE_OF_CONDUCT.md build: Updating mediawiki/phan-taint-check-plugin to 1.3.0 2018-08-19 16:54:29 +00:00
composer.json build: Updating composer dependencies 2024-05-06 07:07:38 +00:00
COPYING Add COPYING 2014-01-22 19:44:32 +00:00
extension.json Enable clicking on wikilinks and external links in highlighted code 2024-06-22 12:35:22 +05:30
Gruntfile.js build: Update linter config 2024-04-29 21:09:27 +01:00
package-lock.json build: Updating npm dependencies 2024-06-08 04:58:42 +00:00
package.json build: Updating npm dependencies 2024-06-08 04:58:42 +00:00
README Minor update for README 2023-04-10 11:41:21 +00:00
SyntaxHighlight.lexers.php Update Pygments to 2.17.2 2023-12-01 15:43:32 -07:00

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.11.2 and
MediaWiki 1.36. 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.11.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 <https://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).
* linelinks;  Lines will have links and anchors with a prefix of the value.
              Similar to the lineanchors+linespans features in Pygments

== 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.