R包开发:HTML vignette链接PDF触发R-CMD-CHECK无效URI NOTE求助
解决R-CMD-CHECK中PDF链接的无效URI NOTE问题
方法1:将PDF放入inst/extdata并使用绝对路径生成链接
- 把
overview_vignette.pdf移动到包的inst/extdata目录(无此目录则新建)。 - 在生成HTML vignette的Rmd文件中,用
system.file()获取PDF的正确路径并生成链接:
生成的HTML链接会指向包安装后的PDF绝对路径,R-CMD-CHECK会识别为有效URI,不会抛出NOTE。# 获取PDF的绝对路径 pdf_path <- system.file("extdata", "overview_vignette.pdf", package = "你的包名") # 在HTML中生成可点击链接 cat(paste0('<a href="', pdf_path, '" target="_blank">查看完整PDF文档</a>'))
方法2:同时提供PDF和HTML vignette(适配GitHub与CRAN)
- 在
vignettes/目录下创建PDF vignette的Rmd文件(如overview_vignette.Rmd),设置输出格式为PDF:output: rmarkdown::pdf_document - 再创建用于GitHub展示的HTML vignette(
Overview.Rmd),链接指向PDF vignette的GitHub原始地址:
这种方式下,CRAN会自动处理PDF vignette,GitHub上的HTML链接指向原始文件,检查时不会因无效URI报错,同时满足两边的展示需求。<a href="https://raw.githubusercontent.com/你的用户名/你的包名/main/vignettes/overview_vignette.pdf" target="_blank">查看PDF文档</a>
方法3:用vignette()函数引导打开PDF vignette
如果PDF本身是标准vignette,可在HTML vignette中通过R代码引导用户打开:
cat('运行以下代码打开PDF vignette:<code>vignette("overview_vignette", package = "你的包名")</code>')
这种方式完全符合CRAN规范,不会触发任何NOTE,用户可通过R命令直接打开PDF。
内容的提问来源于stack exchange,提问作者AP30
相关产品推荐
相关产品推荐

