如何控制pkgdown文章构建顺序?无需数字前缀命名
解决pkgdown文章构建顺序问题的替代方法
除了给文件名加数字前缀,还有以下几种方法可以控制pkgdown文章的构建顺序:
1. 手动调用build_articles()指定顺序
写一个自定义R脚本,直接调用pkgdown的构建函数并传入指定顺序的文章列表:
# 按需要的顺序列出文章文件名(不带.Rmd后缀) pkgdown::build_articles(order = c("first_article", "second_article"))
运行这个脚本时,pkgdown会严格按照你指定的顺序依次构建文章,确保依赖数据先被生成。
2. 修正_pkgdown.yml的配置
如果想通过配置文件控制,调整articles部分的写法,直接按顺序列出所有文章(无需分组):
articles: contents: - first_article - second_article
这种写法会同时控制导航菜单的显示顺序和文章的构建顺序,注意这里只需要写文章的基础文件名(不带articles/前缀和.Rmd后缀)。
如果需要保留分组结构,确保每个分组的contents按顺序排列,并且在顶级结构里指定分组顺序:
articles: - title: "第一组文章" contents: - first_article - title: "第二组文章" contents: - second_article
3. 构建整个网站时传递构建参数
如果是构建完整的pkgdown网站,可以在调用build_site()时,通过build_articles_args参数传递文章顺序:
pkgdown::build_site( build_articles_args = list(order = c("first_article", "second_article")) )
这样整个网站构建过程中,文章部分会按指定顺序处理。
补充说明
你之前的_pkgdown.yml配置没生效,是因为这种分组写法主要用于定义导航菜单结构,pkgdown默认仍会按文件名的字母顺序遍历所有文章文件进行构建。只有当你在contents里明确列出所有文章的顺序,或者通过函数参数指定order,才能覆盖默认的字母排序逻辑。
内容的提问来源于stack exchange,提问作者mat
相关产品推荐
相关产品推荐

