Source code for sphinx_github_style.github_style

import sphinx
from pygments.token import *
from pygments.style import Style

# Pygments Token/CSS Mappings: https://gist.github.com/TDKorn/f3a7fc98503eccb602ae7af428c0b981

# ====  GitHub PrettyLights - color variable -> hexcode mapping ====
# ~~~~  See ./_static/starry_night.css  ~~~~

pl = {
    "syntax-comment": "#8b949e",
    "syntax-constant": "#79c0ff",
    "syntax-entity": "#d2a8ff",
    "syntax-storage-modifier-import": "#c9d1d9",
    "syntax-entity-tag": "#7ee787",
    "syntax-keyword": "#ff7b72",
    "syntax-string": "#a5d6ff",
    "syntax-variable": "#ffa657",
    "syntax-brackethighlighter-unmatched": "#f85149",
    "syntax-invalid-illegal-text": "#f0f6fc",
    "syntax-invalid-illegal-bg": "#8e1519",
    "syntax-carriage-return-text": "#f0f6fc",
    "syntax-carriage-return-bg": "#b62324",
    "syntax-string-regexp": "#7ee787",
    "syntax-markup-list": "#f2cc60",
    "syntax-markup-heading": "#1f6feb",
    "syntax-markup-italic": "#c9d1d9",
    "syntax-markup-bold": "#e6edf3",
    "syntax-markup-deleted-text": "#ffdcd7",
    "syntax-markup-deleted-bg": "#67060c",
    "syntax-markup-inserted-text": "#aff5b4",
    "syntax-markup-inserted-bg": "#033a16",
    "syntax-markup-changed-text": "#ffdfb6",
    "syntax-markup-changed-bg": "#5a1e02",
    "syntax-markup-ignored-text": "#c9d1d9",
    "syntax-markup-ignored-bg": "#1158c7",
    "syntax-meta-diff-range": "#d2a8ff",
    "syntax-brackethighlighter-angle": "#8b949e",
    "syntax-sublimelinter-gutter-mark": "#484f58",
    "syntax-constant-other-reference-link": "#a5d6ff",
}


[docs]class GitHubStyle(Style): """A Pygments style similar to GitHub's pretty lights dark theme""" background_color = "#0d1117" default_style = '' styles = { Whitespace: "#f0f6fc", Comment: pl["syntax-comment"], Comment.Hashbang: pl["syntax-comment"], Comment.Multiline: pl["syntax-comment"], Comment.Preproc: pl["syntax-comment"], Comment.Single: pl["syntax-comment"], Comment.Special: pl["syntax-comment"], Generic: "#f0f6fc", Generic.Deleted: "#8b080b", Generic.Emph: "#f8f8f2 underline", Generic.Error: "#f8f8f2", Generic.Heading: "#f8f8f2 bold", Generic.Inserted: "#f8f8f2 bold", Generic.Output: "#adaeb6", Generic.Prompt: "#f8f8f2", Generic.Strong: "#f8f8f2", Generic.Subheading: "#f8f8f2 bold", Generic.Traceback: "#f8f8f2", Error: "#f8f8f2", Keyword: pl["syntax-keyword"], Keyword.Constant: pl["syntax-constant"], # Ex. None Keyword.Declaration: pl["syntax-keyword"], Keyword.Namespace: pl["syntax-keyword"], Keyword.Pseudo: pl["syntax-entity"], Keyword.Reserved: pl["syntax-constant"], Keyword.Type: pl["syntax-constant"], Literal: "#f8f8f2", Literal.Date: "#f8f8f2", Literal.String.Affix: "#f8f8f2", Literal.String.Doc: "#f8f8f2", Literal.String.Double: "#f8f8f2", Literal.String.Interpol: "#f8f8f2", Literal.String.Single: "#f8f8f2", Name: pl["syntax-markup-bold"], Name.Variable: pl["syntax-markup-bold"], Name.Attribute: pl["syntax-markup-bold"], Name.Builtin.Pseudo: pl["syntax-markup-bold"], # Ex. self Name.Builtin: pl["syntax-entity"], # Ex. print() Name.Class: pl["syntax-variable"], Name.Constant: pl["syntax-constant"], Name.Decorator: pl["syntax-entity"], Name.Entity: pl["syntax-entity"], Name.Exception: pl["syntax-variable"], Name.Function: pl["syntax-entity"], Name.Function.Magic: pl["syntax-entity"], # Name.Label: "#8be9fd italic", Name.Namespace: pl["syntax-markup-bold"], Name.Other: pl["syntax-markup-bold"], # Name.Other: pl["syntax-variable"], # Name.Tag: "#ff79c6", Name.Variable.Class: pl["syntax-variable"], Name.Variable.Global: pl["syntax-variable"], Name.Variable.Instance: pl["syntax-markup-bold"], Name.Variable.Magic: pl["syntax-markup-bold"], Number: pl["syntax-constant"], Number.Bin: pl["syntax-constant"], Number.Float: pl["syntax-constant"], Number.Hex: pl["syntax-constant"], Number.Integer: pl["syntax-constant"], Number.Integer.Long: pl["syntax-constant"], Number.Oct: pl["syntax-constant"], Operator: pl["syntax-constant"], Operator.Word: pl["syntax-constant"], # Other: "#f8f8f2", Other.Constant: pl["syntax-constant"], Punctuation: "#f8f8f2", Punctuation.Definition.Comment: pl["syntax-comment"], String: pl["syntax-string"], String.Affix: pl["syntax-string"], String.Backtick: pl["syntax-string"], String.Char: pl["syntax-string"], String.Comment: pl["syntax-comment"], String.Doc: pl["syntax-string"], String.Double: pl["syntax-string"], String.Escape: pl["syntax-string"], String.Heredoc: pl["syntax-string"], String.Interpol: pl["syntax-string"], String.Other: pl["syntax-string"], String.Regex: pl["syntax-string"], String.Single: pl["syntax-string"], String.Symbol: pl["syntax-string"], Text: pl["syntax-markup-bold"], }