GitHub syntax highlighter color scheme for Pygments.
Switch branches/tags
Nothing to show
Clone or download
Failed to load latest commit information.
.gitignore Initial commit Jul 23, 2018
.travis.yml Fixed travis build Aug 3, 2018
LICENSE Initial commit Jul 23, 2018 Build on install Aug 3, 2018
github.css Initial commit Jul 23, 2018
package.json Build on install Aug 3, 2018
yarn.lock Initial commit Jul 23, 2018


License: MIT


Building minified version:

git clone --depth=1
cd pygments-github-css
yarn install

Using CDN:

<link rel="stylesheet" href="" />


Pygments tokens do not map to GitHub tokens cleanly. Certain compromises had to be made to obtain a mapping that closely matches the look of GitHub's highlighter.

Actions: ✓ Apply style | ✗ Do not apply style

Element GitHub Pygments Solution
Operator Dot (.) is not treated as an operator Dot (.) is treated as an operator ✗ (because all dots would be colored incorrectly)
Name.Builtin Differentiates between builtin functions and types (completely inconsistent) Does not differentiate
Name.Decorator Differentiates between builtin decorators and regular names Does not differentiate ✓ (regular decorator style)
Optional arguments Differentiates between regular arguments and optional arguments Does not differentiate
Name.Namespace Namespace imports are ignored Namespace imports are not ignored
Comment.Preproc Treated as constants Special case
Name Functions are treated as names in some languages Functions and variables are names
Comment.Preproc Treated differently depending on language (C++: colored, Rust: uncolored, XML: multi-colored, ...) Treated equally
Name.Attribute Frequently treated as text (LaTeX, ...) Treated specially
Generic.Heading "index..." is interpreted as regular text "index..." is still part of header
Generic.Subheading File list is interpreted as regular text File list is still part of subheading

Unmappable tokens

Tokens that I could not find instances of on GitHub:

  • Generic.Emph: Marks the token value as emphasized.
  • Generic.Error: Marks the token value as an error message.
  • Generic.Output: Marks the token value as program output.
  • Generic.Prompt: Marks the token value as command prompt.
  • Error: Lexer error

If you happen to come across a piece of code that contains one of these tokens feel free to create an issue or open up a pull request. Make sure to denote the file extension!