如何将R Quarto自定义主题CSS接入内部R包供团队使用?
将自定义Quarto主题接入内部R包的实现方法
1. 调整R包目录结构
在你的内部R包根目录下,创建如下层级的目录(不存在就新建):
inst/ └── quarto/ └── themes/ └── mytheme.scss
把你的自定义主题代码(就是你提供的my_theme.css里的内容,注意把文件后缀改成.scss,因为里面是SCSS变量配置)放到inst/quarto/themes/mytheme.scss文件中。
2. 重新构建并安装内部R包
在R控制台用包开发工具重新安装包,执行:
devtools::install()
也可以把包构建成二进制文件后分发给团队成员安装。
3. 团队成员调用包内主题的配置方式
在Quarto项目的_quarto.yml里,修改theme配置,通过pkg:前缀指定包内的主题文件:
format: html: theme: - cosmo - pkg:你的包名/mytheme
把你的包名替换成内部R包的实际名称就行。
注意事项
- 必须用
.scss后缀:你的主题代码里用了Quarto支持的/*-- scss:defaults --*/注释,属于SCSS变量覆盖逻辑,只有.scss后缀才能被Quarto正确解析。 - 验证文件路径:包安装后,可以在R里执行
system.file("quarto/themes/mytheme.scss", package = "你的包名"),检查主题文件是否被正确安装到包目录中。
内容的提问来源于stack exchange,提问作者Philip
相关产品推荐
相关产品推荐

