Go to file
Bartosz Dziewoński 006e6c6f0f Fix styling for code blocks with copy buttons next to floated content
Make the wrapper div for code block create a block formatting
context. This changes how floated content is laid out: previously
the wrapper was taking 100% width and tried to wrap text around the
floated content, now its width is limited by the width of floated
content. This way absolutely positioned elements inside the code
block (like the copy buttons) won't overlap the floated content.
We've had this problem before when adding line numbers (T272853),
and the workaround we used there won't work for the copy buttons.
It also lets us remove the background-color override, previously
needed to avoid it leaking outside the code block (T126010).

Bug: T40932
Change-Id: I7f51ea78d7fcf07358c6ee45275b2bae2e1cbeb8
2024-10-09 21:48:52 +02:00
.phan Migrate to new Phan 2019-03-02 13:43:16 +01:00
i18n Localisation updates from https://translatewiki.net. 2024-10-08 09:45:02 +02:00
includes Avoid PHP_EOL while generating CSS 2024-09-30 22:43:05 +05:30
maintenance Port to BoxedCommand 2021-09-10 11:47:28 -07:00
modules Fix styling for code blocks with copy buttons next to floated content 2024-10-09 21:48:52 +02:00
pygments Update Pygments to 2.17.2 2023-12-01 15:43:32 -07:00
tests Add structure test to verify contents of pygments.generated.css 2024-09-28 21:59:47 +05:30
.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 mediawiki/mediawiki-codesniffer to 44.0.0 2024-08-13 06:30:06 +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 mediawiki/mediawiki-codesniffer to 44.0.0 2024-08-13 06:30:06 +00:00
COPYING Add COPYING 2014-01-22 19:44:32 +00:00
extension.json Link page references in Scribunto modules 2024-09-24 22:47:56 +05:30
Gruntfile.js build: Update linter config 2024-04-29 21:09:27 +01:00
package-lock.json build: Updating micromatch to 4.0.8 2024-08-31 07:52:05 +00:00
package.json build: Updating npm dependencies 2024-06-22 02:53:34 +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.