From fb5fd8c81988ae3886de60085bd929bbe844420a Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Mon, 1 Sep 2025 13:56:55 +0200 Subject: [PATCH] [mod] simple client: pygments.less - switched dark theme to monokai Compared to ``lightbulb`` theme we used in the past for the dark theme, the ``monokai`` has a better contrast [1]. BTW, the result list of SearXNG should not act as a code-checker: The border & color of class ``.err`` (used for syntax errors) has been removed / code snippets are often not well formed nor valid code and the rendering of such code fragments as errors obscures the view on the code snippet. [1] https://pygments.org/styles/ Signed-off-by: Markus Heiser --- client/simple/generated/pygments.less | 170 ++++++++++++------------ client/simple/src/less/code.less | 6 + searxng_extra/update/update_pygments.py | 5 +- 3 files changed, 92 insertions(+), 89 deletions(-) diff --git a/client/simple/generated/pygments.less b/client/simple/generated/pygments.less index 5a44af6b9..34b37baf0 100644 --- a/client/simple/generated/pygments.less +++ b/client/simple/generated/pygments.less @@ -10,7 +10,7 @@ .code-highlight { - pre { line-height: 100%; } + pre { line-height: 125%; } td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } @@ -89,89 +89,89 @@ .code-highlight-dark(){ .code-highlight { - pre { line-height: 100%; } - td.linenos .normal { color: #3c4354; background-color: transparent; padding-left: 5px; padding-right: 5px; } - span.linenos { color: #3c4354; background-color: transparent; padding-left: 5px; padding-right: 5px; } - td.linenos .special { color: #3c4354; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } - span.linenos.special { color: #3c4354; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } - .hll { background-color: #6e7681 } - .c { color: #7E8AA1 } /* Comment */ - .err { color: #F88F7F } /* Error */ - .esc { color: #D4D2C8 } /* Escape */ - .g { color: #D4D2C8 } /* Generic */ - .k { color: #FFAD66 } /* Keyword */ - .l { color: #D5FF80 } /* Literal */ - .n { color: #D4D2C8 } /* Name */ - .o { color: #FFAD66 } /* Operator */ - .x { color: #D4D2C8 } /* Other */ - .p { color: #D4D2C8 } /* Punctuation */ - .ch { color: #F88F7F; font-style: italic } /* Comment.Hashbang */ - .cm { color: #7E8AA1 } /* Comment.Multiline */ - .cp { color: #FFAD66; font-weight: bold } /* Comment.Preproc */ - .cpf { color: #7E8AA1 } /* Comment.PreprocFile */ - .c1 { color: #7E8AA1 } /* Comment.Single */ - .cs { color: #7E8AA1; font-style: italic } /* Comment.Special */ - .gd { color: #F88F7F; background-color: #3D1E20 } /* Generic.Deleted */ - .ge { color: #D4D2C8; font-style: italic } /* Generic.Emph */ - .ges { color: #D4D2C8 } /* Generic.EmphStrong */ - .gr { color: #F88F7F } /* Generic.Error */ - .gh { color: #D4D2C8 } /* Generic.Heading */ - .gi { color: #6AD4AF; background-color: #19362C } /* Generic.Inserted */ - .go { color: #7E8AA1 } /* Generic.Output */ - .gp { color: #D4D2C8 } /* Generic.Prompt */ - .gs { color: #D4D2C8; font-weight: bold } /* Generic.Strong */ - .gu { color: #D4D2C8 } /* Generic.Subheading */ - .gt { color: #F88F7F } /* Generic.Traceback */ - .kc { color: #FFAD66 } /* Keyword.Constant */ - .kd { color: #FFAD66 } /* Keyword.Declaration */ - .kn { color: #FFAD66 } /* Keyword.Namespace */ - .kp { color: #FFAD66 } /* Keyword.Pseudo */ - .kr { color: #FFAD66 } /* Keyword.Reserved */ - .kt { color: #73D0FF } /* Keyword.Type */ - .ld { color: #D5FF80 } /* Literal.Date */ - .m { color: #DFBFFF } /* Literal.Number */ - .s { color: #D5FF80 } /* Literal.String */ - .na { color: #FFD173 } /* Name.Attribute */ - .nb { color: #FFD173 } /* Name.Builtin */ - .nc { color: #73D0FF } /* Name.Class */ - .no { color: #FFD173 } /* Name.Constant */ - .nd { color: #7E8AA1; font-weight: bold; font-style: italic } /* Name.Decorator */ - .ni { color: #95E6CB } /* Name.Entity */ - .ne { color: #73D0FF } /* Name.Exception */ - .nf { color: #FFD173 } /* Name.Function */ - .nl { color: #D4D2C8 } /* Name.Label */ - .nn { color: #D4D2C8 } /* Name.Namespace */ - .nx { color: #D4D2C8 } /* Name.Other */ - .py { color: #FFD173 } /* Name.Property */ - .nt { color: #5CCFE6 } /* Name.Tag */ - .nv { color: #D4D2C8 } /* Name.Variable */ - .ow { color: #FFAD66 } /* Operator.Word */ - .pm { color: #D4D2C8 } /* Punctuation.Marker */ - .w { color: #D4D2C8 } /* Text.Whitespace */ - .mb { color: #DFBFFF } /* Literal.Number.Bin */ - .mf { color: #DFBFFF } /* Literal.Number.Float */ - .mh { color: #DFBFFF } /* Literal.Number.Hex */ - .mi { color: #DFBFFF } /* Literal.Number.Integer */ - .mo { color: #DFBFFF } /* Literal.Number.Oct */ - .sa { color: #F29E74 } /* Literal.String.Affix */ - .sb { color: #D5FF80 } /* Literal.String.Backtick */ - .sc { color: #D5FF80 } /* Literal.String.Char */ - .dl { color: #D5FF80 } /* Literal.String.Delimiter */ - .sd { color: #7E8AA1 } /* Literal.String.Doc */ - .s2 { color: #D5FF80 } /* Literal.String.Double */ - .se { color: #95E6CB } /* Literal.String.Escape */ - .sh { color: #D5FF80 } /* Literal.String.Heredoc */ - .si { color: #95E6CB } /* Literal.String.Interpol */ - .sx { color: #95E6CB } /* Literal.String.Other */ - .sr { color: #95E6CB } /* Literal.String.Regex */ - .s1 { color: #D5FF80 } /* Literal.String.Single */ - .ss { color: #DFBFFF } /* Literal.String.Symbol */ - .bp { color: #5CCFE6 } /* Name.Builtin.Pseudo */ - .fm { color: #FFD173 } /* Name.Function.Magic */ - .vc { color: #D4D2C8 } /* Name.Variable.Class */ - .vg { color: #D4D2C8 } /* Name.Variable.Global */ - .vi { color: #D4D2C8 } /* Name.Variable.Instance */ - .vm { color: #D4D2C8 } /* Name.Variable.Magic */ - .il { color: #DFBFFF } /* Literal.Number.Integer.Long */ + pre { line-height: 125%; } + td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } + span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } + td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } + span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } + .hll { background-color: #49483e } + .c { color: #959077 } /* Comment */ + .err { color: #ED007E; background-color: #1E0010 } /* Error */ + .esc { color: #F8F8F2 } /* Escape */ + .g { color: #F8F8F2 } /* Generic */ + .k { color: #66D9EF } /* Keyword */ + .l { color: #AE81FF } /* Literal */ + .n { color: #F8F8F2 } /* Name */ + .o { color: #FF4689 } /* Operator */ + .x { color: #F8F8F2 } /* Other */ + .p { color: #F8F8F2 } /* Punctuation */ + .ch { color: #959077 } /* Comment.Hashbang */ + .cm { color: #959077 } /* Comment.Multiline */ + .cp { color: #959077 } /* Comment.Preproc */ + .cpf { color: #959077 } /* Comment.PreprocFile */ + .c1 { color: #959077 } /* Comment.Single */ + .cs { color: #959077 } /* Comment.Special */ + .gd { color: #FF4689 } /* Generic.Deleted */ + .ge { color: #F8F8F2; font-style: italic } /* Generic.Emph */ + .ges { color: #F8F8F2; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ + .gr { color: #F8F8F2 } /* Generic.Error */ + .gh { color: #F8F8F2 } /* Generic.Heading */ + .gi { color: #A6E22E } /* Generic.Inserted */ + .go { color: #66D9EF } /* Generic.Output */ + .gp { color: #FF4689; font-weight: bold } /* Generic.Prompt */ + .gs { color: #F8F8F2; font-weight: bold } /* Generic.Strong */ + .gu { color: #959077 } /* Generic.Subheading */ + .gt { color: #F8F8F2 } /* Generic.Traceback */ + .kc { color: #66D9EF } /* Keyword.Constant */ + .kd { color: #66D9EF } /* Keyword.Declaration */ + .kn { color: #FF4689 } /* Keyword.Namespace */ + .kp { color: #66D9EF } /* Keyword.Pseudo */ + .kr { color: #66D9EF } /* Keyword.Reserved */ + .kt { color: #66D9EF } /* Keyword.Type */ + .ld { color: #E6DB74 } /* Literal.Date */ + .m { color: #AE81FF } /* Literal.Number */ + .s { color: #E6DB74 } /* Literal.String */ + .na { color: #A6E22E } /* Name.Attribute */ + .nb { color: #F8F8F2 } /* Name.Builtin */ + .nc { color: #A6E22E } /* Name.Class */ + .no { color: #66D9EF } /* Name.Constant */ + .nd { color: #A6E22E } /* Name.Decorator */ + .ni { color: #F8F8F2 } /* Name.Entity */ + .ne { color: #A6E22E } /* Name.Exception */ + .nf { color: #A6E22E } /* Name.Function */ + .nl { color: #F8F8F2 } /* Name.Label */ + .nn { color: #F8F8F2 } /* Name.Namespace */ + .nx { color: #A6E22E } /* Name.Other */ + .py { color: #F8F8F2 } /* Name.Property */ + .nt { color: #FF4689 } /* Name.Tag */ + .nv { color: #F8F8F2 } /* Name.Variable */ + .ow { color: #FF4689 } /* Operator.Word */ + .pm { color: #F8F8F2 } /* Punctuation.Marker */ + .w { color: #F8F8F2 } /* Text.Whitespace */ + .mb { color: #AE81FF } /* Literal.Number.Bin */ + .mf { color: #AE81FF } /* Literal.Number.Float */ + .mh { color: #AE81FF } /* Literal.Number.Hex */ + .mi { color: #AE81FF } /* Literal.Number.Integer */ + .mo { color: #AE81FF } /* Literal.Number.Oct */ + .sa { color: #E6DB74 } /* Literal.String.Affix */ + .sb { color: #E6DB74 } /* Literal.String.Backtick */ + .sc { color: #E6DB74 } /* Literal.String.Char */ + .dl { color: #E6DB74 } /* Literal.String.Delimiter */ + .sd { color: #E6DB74 } /* Literal.String.Doc */ + .s2 { color: #E6DB74 } /* Literal.String.Double */ + .se { color: #AE81FF } /* Literal.String.Escape */ + .sh { color: #E6DB74 } /* Literal.String.Heredoc */ + .si { color: #E6DB74 } /* Literal.String.Interpol */ + .sx { color: #E6DB74 } /* Literal.String.Other */ + .sr { color: #E6DB74 } /* Literal.String.Regex */ + .s1 { color: #E6DB74 } /* Literal.String.Single */ + .ss { color: #E6DB74 } /* Literal.String.Symbol */ + .bp { color: #F8F8F2 } /* Name.Builtin.Pseudo */ + .fm { color: #A6E22E } /* Name.Function.Magic */ + .vc { color: #F8F8F2 } /* Name.Variable.Class */ + .vg { color: #F8F8F2 } /* Name.Variable.Global */ + .vi { color: #F8F8F2 } /* Name.Variable.Instance */ + .vm { color: #F8F8F2 } /* Name.Variable.Magic */ + .il { color: #AE81FF } /* Literal.Number.Integer.Long */ } } diff --git a/client/simple/src/less/code.less b/client/simple/src/less/code.less index a59b44e0b..59d63a931 100644 --- a/client/simple/src/less/code.less +++ b/client/simple/src/less/code.less @@ -30,6 +30,12 @@ span.linenos { color: var(--color-line-number); } + + .err { + // The code view in the result list should not act as a code-checker. + border: none; + color: inherit; + } } } diff --git a/searxng_extra/update/update_pygments.py b/searxng_extra/update/update_pygments.py index 3c01bd6da..1d3a127cf 100755 --- a/searxng_extra/update/update_pygments.py +++ b/searxng_extra/update/update_pygments.py @@ -47,9 +47,6 @@ END_DARK_THEME = """ class Formatter(HtmlFormatter): # pylint: disable=missing-class-docstring - @property - def _pre_style(self): - return 'line-height: 100%;' def get_style_lines(self, arg=None): style_lines = [] @@ -73,4 +70,4 @@ def generat_css(light_style, dark_style) -> str: if __name__ == '__main__': print("update: %s" % LESS_FILE) with LESS_FILE.open('w', encoding='utf8') as f: - f.write(generat_css('default', 'lightbulb')) + f.write(generat_css('default', 'monokai'))