我有一个pkgdown站点,在这个站点中,我将许多函数分组到参考.yml文件中的类别中。我想知道是否有一种方法可以将我没有明确分类的所有函数归为它们自己的类别。我唯一的想法是像这样使用matches函数:
reference:
- title: "someCategory"
contents:
- myFunction
- title: "other"
contents:
- matches(".*")但是,这将myFunction分为"someCategory“和”其他“两类。我想做的是匹配不属于一个类别的所有函数。
谢谢!
发布于 2017-09-02 11:23:16
在pkgdown中,已经有一个功能可以提醒您注意yaml文件中缺少的主题。您可以通过键入pkgdown:::data_reference_index来查看代码。
因此,基本上,如果您只修改这段代码,您就可以返回索引中缺少的函数的名称。
library(purrr)
data_reference_index_missing <- function(pkg = ".", depth = 1L) {
pkg <- pkgdown:::as_pkgdown(pkg)
meta <- pkg$meta[["reference"]] %||% default_reference_index(pkg)
if (length(meta) == 0) {
return(list())
}
# Cross-reference complete list of topics vs. topics found in index page
all_topics <- meta %>%
map(~ pkgdown:::select_topics(.$contents, pkg$topics)) %>%
reduce(union)
in_index <- seq_along(pkg$topics$name) %in% all_topics
missing <- !in_index & !pkg$topics$internal
pkg$topics$name[missing]
}发布于 2017-08-29 03:15:30
我不熟悉pkgdown,但是对于这种有限的情况,使用matches和regex进行并不等于任何一个是可行的
Regex否定是无效的,您将不得不重新键入分类函数的名称,因此,在有限的情况下,这可能是可行的,但不是最佳实践。
像这样的东西有用吗?(在这里测试)
- title: "other"
contents:
- matches('^(?!.*(myFunction|myOtherFunction|yetAnotherFunction)).*$')https://stackoverflow.com/questions/45886789
复制相似问题