You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用blogdown(cactus-plus模板)如何修改代码块默认配色方案?

修改blogdown+cactus-plus主题的代码块配色方案

我来帮你解决这个问题——用blogdown搭配cactus-plus主题时,代码块的高亮配置确实和普通Rmd文档不一样,因为这时候是Hugo负责页面渲染,而不是rmarkdown的HTML输出逻辑。下面是具体的修改步骤:

1. 修改Hugo站点配置文件(最直接的方法)

Hugo内置了多种代码高亮风格,你可以通过站点根目录的配置文件(config.toml/config.yaml/config.json)来指定想要的风格,比如你熟悉的tango。

如果你用的是TOML格式的配置:

在config.toml中添加或修改[markup.highlight]部分:

[markup]
  [markup.highlight]
    # 确保启用代码围栏(Rmd默认用这种格式写代码块)
    codeFences = true
    # 指定高亮风格,可选值包括tango、zenburn、monokai、github等
    style = "tango"
    # 可选:是否显示行号,根据需求设置
    lineNos = false

如果你用的是YAML格式的配置:

在config.yaml中添加或修改对应节点:

markup:
  highlight:
    codeFences: true
    style: tango
    lineNos: false

修改完成后,重启blogdown的本地服务器(或者重新运行blogdown::serve_site()),就能看到代码块配色的变化了。

2. 针对cactus-plus主题的特殊处理(如果上述方法不生效)

有些Hugo主题会自带自定义的代码高亮CSS,可能会覆盖Hugo的内置设置。如果修改配置后配色没变化,可以试试下面的方法:

  • 找到主题的CSS目录:通常在themes/cactus-plus/static/css下,看看有没有highlight.css或者类似名称的文件。
  • 替换该文件的内容为你想要的tango风格CSS:你可以从Hugo内置的高亮风格生成对应的CSS,或者使用highlight.js的tango主题代码。
  • 或者,在站点根目录的static/css下新建一个自定义CSS文件(比如custom-highlight.css),把tango风格的CSS放进去,然后在主题的layouts/partials/head.html中添加引入该CSS的代码,确保它在主题自带的高亮CSS之后加载,从而覆盖原有样式。

3. 验证与排障

如果修改后还是没生效:

  • 清除Hugo的缓存:删除站点根目录下的public和resources文件夹,然后重新生成站点。
  • 检查代码块的格式:确保你的Rmd文档中代码块用的是标准的围栏格式(```开头结尾),而不是缩进式的代码块。

内容的提问来源于stack exchange,提问作者blazej

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:02:57