binary-husky / gpt_academic

为GPT/GLM等LLM大语言模型提供实用化交互接口,特别优化论文阅读/润色/写作体验,模块化设计,支持自定义快捷按钮&函数插件,支持Python和C++等项目剖析&自译解功能,PDF/LaTex论文翻译&总结功能,支持并行问询多种LLM模型,支持chatglm3等本地模型。接入通义千问, deepseekcoder, 讯飞星火, 文心一言, llama2, rwkv, claude2, moss等。
https://github.com/binary-husky/gpt_academic/wiki/online
GNU General Public License v3.0
65.61k stars 8.06k forks source link

如何修改代码高亮的主题 #592

Closed GrootLiu closed 1 year ago

GrootLiu commented 1 year ago

现有的代码高亮的主题在有些时刻的一些高亮上非常模糊,请问是否可以修改代码高亮主题? 我找到了theme.py文件中下面的代码块,但是我没有css的编辑经验,找了几个网上的高亮都不能正确应用,请问有什么推荐的关于代码高亮的css代码吗? if CODE_HIGHLIGHT: advanced_css += """

.hll { background-color: #ffffcc } .c { color: #3D7B7B; font-style: italic } / Comment / .err { border: 1px solid #FF0000 } / Error / .k { color: hsl(197, 94%, 51%); font-weight: bold } / Keyword / .o { color: #666666 } / Operator / .ch { color: #3D7B7B; font-style: italic } / Comment.Hashbang / .cm { color: #3D7B7B; font-style: italic } / Comment.Multiline / .cp { color: #9C6500 } / Comment.Preproc / .cpf { color: #3D7B7B; font-style: italic } / Comment.PreprocFile / .c1 { color: #3D7B7B; font-style: italic } / Comment.Single / .cs { color: #3D7B7B; font-style: italic } / Comment.Special / .gd { color: #A00000 } / Generic.Deleted / .ge { font-style: italic } / Generic.Emph / .gr { color: #E40000 } / Generic.Error / .gh { color: #000080; font-weight: bold } / Generic.Heading / .gi { color: #008400 } / Generic.Inserted / .go { color: #717171 } / Generic.Output / .gp { color: #000080; font-weight: bold } / Generic.Prompt / .gs { font-weight: bold } / Generic.Strong / .gu { color: #800080; font-weight: bold } / Generic.Subheading / .gt { color: #a9dd00 } / Generic.Traceback / .kc { color: #008000; font-weight: bold } / Keyword.Constant / .kd { color: #008000; font-weight: bold } / Keyword.Declaration / .kn { color: #008000; font-weight: bold } / Keyword.Namespace / .kp { color: #008000 } / Keyword.Pseudo / .kr { color: #008000; font-weight: bold } / Keyword.Reserved / .kt { color: #B00040 } / Keyword.Type / .m { color: #666666 } / Literal.Number / .s { color: #BA2121 } / Literal.String / .na { color: #687822 } / Name.Attribute / .nb { color: #e5f8c3 } / Name.Builtin / .nc { color: #ffad65; font-weight: bold } / Name.Class / .no { color: #880000 } / Name.Constant / .nd { color: #AA22FF } / Name.Decorator / .ni { color: #717171; font-weight: bold } / Name.Entity / .ne { color: #CB3F38; font-weight: bold } / Name.Exception / .nf { color: #f9f978 } / Name.Function / .nl { color: #767600 } / Name.Label / .nn { color: #0000FF; font-weight: bold } / Name.Namespace / .nt { color: #008000; font-weight: bold } / Name.Tag / .nv { color: #19177C } / Name.Variable / .ow { color: #AA22FF; font-weight: bold } / Operator.Word / .w { color: #bbbbbb } / Text.Whitespace / .mb { color: #666666 } / Literal.Number.Bin / .mf { color: #666666 } / Literal.Number.Float / .mh { color: #666666 } / Literal.Number.Hex / .mi { color: #666666 } / Literal.Number.Integer / .mo { color: #666666 } / Literal.Number.Oct / .sa { color: #BA2121 } / Literal.String.Affix / .sb { color: #BA2121 } / Literal.String.Backtick / .sc { color: #BA2121 } / Literal.String.Char / .dl { color: #BA2121 } / Literal.String.Delimiter / .sd { color: #BA2121; font-style: italic } / Literal.String.Doc / .s2 { color: #2bf840 } / Literal.String.Double / .se { color: #AA5D1F; font-weight: bold } / Literal.String.Escape / .sh { color: #BA2121 } / Literal.String.Heredoc / .si { color: #A45A77; font-weight: bold } / Literal.String.Interpol / .sx { color: #008000 } / Literal.String.Other / .sr { color: #A45A77 } / Literal.String.Regex / .s1 { color: #BA2121 } / Literal.String.Single / .ss { color: #19177C } / Literal.String.Symbol / .bp { color: #008000 } / Name.Builtin.Pseudo / .fm { color: #0000FF } / Name.Function.Magic / .vc { color: #19177C } / Name.Variable.Class / .vg { color: #19177C } / Name.Variable.Global / .vi { color: #19177C } / Name.Variable.Instance / .vm { color: #19177C } / Name.Variable.Magic / .il { color: #666666 } / Literal.Number.Integer.Long / """

binary-husky commented 1 year ago

@Keldos-Li 推荐了以下的代码设置方法

样式其实就是从 https://pygments.org/styles/ 里挑一个喜欢的样式,然后去 https://github.com/richleland/pygments-css 这个> repo把同名的css复制过来就行。你们现在是把一级类给删掉了,也不是不行,但推荐把css复制过来之后把.highlight替换成.codehilite,而不是直接删掉。

实际上可以这样操作:

  1. pygmentize -S github-dark -f html -a .codehilite > styles.css 生成css文件
  2. 用生成的css文件替换掉亮主题样式: image 或者暗主题样式: image 3.修正和调整背景: image
binary-husky commented 1 year ago

P.S. 我刚刚改了一下theme.py,修正了一下之前的奇葩配色

GrootLiu commented 1 year ago

@Keldos-Li 推荐了以下的代码设置方法

样式其实就是从 https://pygments.org/styles/ 里挑一个喜欢的样式,然后去 https://github.com/richleland/pygments-css 这个> repo把同名的css复制过来就行。你们现在是把一级类给删掉了,也不是不行,但推荐把css复制过来之后把.highlight替换成.codehilite,而不是直接删掉。

实际上可以这样操作:

  1. pygmentize -S github-dark -f html -a .codehilite > styles.css 生成css文件
  2. 用生成的css文件替换掉亮主题样式: image 或者暗主题样式: image 3.修正和调整背景: image

是的,我也找了这个网站,但是不会你pygmentize -S github-dark -f html -a .codehilite > styles.css则个操作,非常感谢

GrootLiu commented 1 year ago

已经搞定了,这个功能好像也可以在theme.py文件中写一个说明:

  1. 首先安装pygments库pip install pygments
  2. pygments中挑选一个主题XXX
  3. 在shell中输入pygmentize -S XXX -f html > style.css
  4. 将style.css中的内容复制替换theme.py相匹配的内容
GrootLiu commented 1 year ago

不过还是有个小问题,关于 image 代码背景是否可以更换?

binary-husky commented 1 year ago

可以https://user-images.githubusercontent.com/96192199/233963946-88a22af2-03a6-435e-a572-c67bf5a2a36e.png

GrootLiu commented 1 year ago

可以https://user-images.githubusercontent.com/96192199/233963946-88a22af2-03a6-435e-a572-c67bf5a2a36e.png

非常感谢! 这个issue可以关闭了。