首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在pkgdown引用yaml中包括“所有其他函数”

在pkgdown引用yaml中包括“所有其他函数”
EN

Stack Overflow用户
提问于 2017-08-25 17:35:52
回答 2查看 529关注 0票数 10

我有一个pkgdown站点,在这个站点中,我将许多函数分组到参考.yml文件中的类别中。我想知道是否有一种方法可以将我没有明确分类的所有函数归为它们自己的类别。我唯一的想法是像这样使用matches函数:

代码语言:javascript
复制
reference:
- title: "someCategory"
  contents:
  - myFunction
- title: "other"
  contents:
  - matches(".*")

但是,这将myFunction分为"someCategory“和”其他“两类。我想做的是匹配不属于一个类别的所有函数。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2017-09-02 11:23:16

pkgdown中,已经有一个功能可以提醒您注意yaml文件中缺少的主题。您可以通过键入pkgdown:::data_reference_index来查看代码。

因此,基本上,如果您只修改这段代码,您就可以返回索引中缺少的函数的名称。

代码语言:javascript
复制
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]
}
票数 5
EN

Stack Overflow用户

发布于 2017-08-29 03:15:30

我不熟悉pkgdown,但是对于这种有限的情况,使用matches和regex进行并不等于任何一个是可行的

Regex否定是无效的,您将不得不重新键入分类函数的名称,因此,在有限的情况下,这可能是可行的,但不是最佳实践。

像这样的东西有用吗?(在这里测试)

代码语言:javascript
复制
- title: "other"
  contents:
  - matches('^(?!.*(myFunction|myOtherFunction|yetAnotherFunction)).*$')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45886789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档