自定义 R 帮助文件 - 字体着色
customise R help files - font colouring
我想知道是否可以自定义 R 帮助文件,以便对某些文本进行颜色编码并使其更易于阅读。 rdoc
除了将输出发送到控制台外,已经这样做了。相反,我希望将其发送到帮助面板(我正在使用 Rstudio
)。有什么解决方法吗?
如果我们运行 ?lm
正常的话,我们可以在右下方的帮助面板中看到通常的帮助文件,但是当你在[=]中使用rdoc
后再次执行时12=] 我们得到了彩色编码的帮助文件,这很好,但它被发送到控制台输出(左侧)。理想情况下,我们希望它在我们 运行ning 代码时继续显示在帮助面板中。现在的样子 - 它会在你 运行 的那一刻消失。
?lm
#devtools::install_github("mdequeljoe/rdoc")
library(rdoc)
options(rdoc.by_section = FALSE)
rdoc(lm)
我想将代码放入我的 .rprofile
中,类似于 @csgillespie .rprofile。请注意,如果您遵循他的代码,则可以使用 ?lm
而不是直接调用 rdoc(lm)
来生成颜色编码的控制台输出。
我觉得这不容易完成(如果有的话?)但有兴趣听取任何建议。
谢谢
这是可能的,但有点复杂。您需要定义自己的 css 文件来执行此操作,尽管可以创建一个函数来编写适当的 css.
作为概念证明,我使用了每个包的“/html”文件夹中定义的“R.css”文件的副本,并将 h2 颜色更改为红色,文件在本地保存为“my.css”。
无论如何,一旦您拥有 css 文件,此函数将在您的 R 查看器中以适当的样式显示适当的帮助文件 window:
help_css <- function(func, css_file)
{
pack <- sub("^.*:(.*)>$", "\1", capture.output(environment(func)))
func <- deparse(substitute(func))
x <- readLines(paste0(find.package(pack), "/html/", func, ".html"))
x[3] <- paste("<style>",
paste(readLines(css_file), collapse = "\n"),
"</style>")
writeLines(x, file.path(tempdir(), "test.html"))
myViewer <- getOption("viewer")
myViewer(file.path(tempdir(), "test.html"))
}
所以,例如,如果我这样做:
help_css(lm, "my.css")
我得到:
从 RStudio v1.2 开始,您可以通过创建自定义 user theme(本质上是 .rstheme
文件)来设置 RStudio 集成帮助窗格的样式。
我尝试了扩展 rscodeio theme (without colored syntax highlighting, though). The latest CSS code is found here.
的帮助窗格样式
帮助窗格样式目前仅在可选的 Tomorrow Night Bright (rscodeio)
编辑器主题中可用。
要立即使用它,您可以
安装当前的 rscodeio master
分支使用 remotes:
remotes::install_github("anthonynorth/rscodeio")
然后在工具下激活名为Tomorrow Night Bright (rscodeio)
的编辑器主题→全局选项…→外观 → 编辑器主题。包含第一次尝试的帮助窗格 CSS 代码。
或 – 推荐 – 安装我的叉子 interim-merge
branch,其中包含我所有最新的工作[1] 对包进行大修,包括一个新的 apply_theme
参数来激活所需的编辑器主题马上:
remotes::install_github("salim-b/rscodeio@interim-merge")
rscodeio::install_themes(apply_theme = "Tomorrow Night Bright (rscodeio)")
[1]: 前段时间上游也有人提出过这个问题(1, 2),但从那以后我就没有收到作者的回音了。
结果如下(?pal::as_string
的示例):
我想知道是否可以自定义 R 帮助文件,以便对某些文本进行颜色编码并使其更易于阅读。 rdoc
除了将输出发送到控制台外,已经这样做了。相反,我希望将其发送到帮助面板(我正在使用 Rstudio
)。有什么解决方法吗?
如果我们运行 ?lm
正常的话,我们可以在右下方的帮助面板中看到通常的帮助文件,但是当你在[=]中使用rdoc
后再次执行时12=] 我们得到了彩色编码的帮助文件,这很好,但它被发送到控制台输出(左侧)。理想情况下,我们希望它在我们 运行ning 代码时继续显示在帮助面板中。现在的样子 - 它会在你 运行 的那一刻消失。
?lm
#devtools::install_github("mdequeljoe/rdoc")
library(rdoc)
options(rdoc.by_section = FALSE)
rdoc(lm)
我想将代码放入我的 .rprofile
中,类似于 @csgillespie .rprofile。请注意,如果您遵循他的代码,则可以使用 ?lm
而不是直接调用 rdoc(lm)
来生成颜色编码的控制台输出。
我觉得这不容易完成(如果有的话?)但有兴趣听取任何建议。
谢谢
这是可能的,但有点复杂。您需要定义自己的 css 文件来执行此操作,尽管可以创建一个函数来编写适当的 css.
作为概念证明,我使用了每个包的“/html”文件夹中定义的“R.css”文件的副本,并将 h2 颜色更改为红色,文件在本地保存为“my.css”。
无论如何,一旦您拥有 css 文件,此函数将在您的 R 查看器中以适当的样式显示适当的帮助文件 window:
help_css <- function(func, css_file)
{
pack <- sub("^.*:(.*)>$", "\1", capture.output(environment(func)))
func <- deparse(substitute(func))
x <- readLines(paste0(find.package(pack), "/html/", func, ".html"))
x[3] <- paste("<style>",
paste(readLines(css_file), collapse = "\n"),
"</style>")
writeLines(x, file.path(tempdir(), "test.html"))
myViewer <- getOption("viewer")
myViewer(file.path(tempdir(), "test.html"))
}
所以,例如,如果我这样做:
help_css(lm, "my.css")
我得到:
从 RStudio v1.2 开始,您可以通过创建自定义 user theme(本质上是 .rstheme
文件)来设置 RStudio 集成帮助窗格的样式。
我尝试了扩展 rscodeio theme (without colored syntax highlighting, though). The latest CSS code is found here.
的帮助窗格样式帮助窗格样式目前仅在可选的 Tomorrow Night Bright (rscodeio)
编辑器主题中可用。
要立即使用它,您可以
安装当前的 rscodeio
master
分支使用 remotes:remotes::install_github("anthonynorth/rscodeio")
然后在工具下激活名为
Tomorrow Night Bright (rscodeio)
的编辑器主题→全局选项…→外观 → 编辑器主题。包含第一次尝试的帮助窗格 CSS 代码。或 – 推荐 – 安装我的叉子
interim-merge
branch,其中包含我所有最新的工作[1] 对包进行大修,包括一个新的apply_theme
参数来激活所需的编辑器主题马上:remotes::install_github("salim-b/rscodeio@interim-merge") rscodeio::install_themes(apply_theme = "Tomorrow Night Bright (rscodeio)")
[1]: 前段时间上游也有人提出过这个问题(1, 2),但从那以后我就没有收到作者的回音了。
结果如下(?pal::as_string
的示例):