CRAN 上的 R 包:在小插图中引用在线图像,以便“互联网资源应该优雅地失败”

问题描述 投票:0回答:1

CRAN 有以下政策:互联网资源应该优雅地失败。

我有一个已接受的包,其中包含使用 Rmarkdown 的小插图。其中一个插图涉及大量图像,因此我没有将原始图像嵌入到插图中,而是引用了 Flickr 上的图像(以保持包大小足够小,以便在 CRAN 上托管)。每隔半年左右,我就会从 CRAN 维护者那里收到一条消息,表明该包在他们的一台服务器上没有正常失败:

     Could not fetch
https://live.staticflickr.com/65535/52281215570_5f9cc90a12_o.png
     HttpExceptionRequest Request {
      host = "live.staticflickr.com"
      port = 443
      secure = True
      requestHeaders = []
      path = "/65535/52281215570_5f9cc90a12_o.png"
      queryString = ""
      method = "GET"
      proxy = Nothing
      rawBody = False
      redirectCount = 10
      responseTimeout = ResponseTimeoutDefault
      requestVersion = HTTP/1.1
     }
      (ConnectionFailure Network.Socket.getAddrInfo (called with
preferred socket type/protocol: AddrInfo {addrFlags = [AI_ADDRCONFIG],
addrFamily = AF_UNSPEC, addrSocketType = Stream, addrProtocol = 0,
addrAddress = <assumed to be undefined>, addrCanonName = <assumed to be
undefined>}, host name: Just "live.staticflickr.com", service name: Just
"443"): does not exist (Name or service not known))
     Error: processing vignette
'Ex-04-Webscraping-Online-Data-Files.Rmd' failed with diagnostics:
     pandoc document conversion failed with error 61

让这个优雅失败的正确方法是什么?再次,我指的是网上的图片。

谢谢。

r r-markdown knitr cran
1个回答
0
投票

正如 @rui-barradas 所建议的,我发布到 r-package-devel listserv 来寻求帮助。 Ivan Krylov 建议 使用

self-contained: false
文件 yaml 标头中的
Rmd
选项不嵌入图像。不幸的是,这也适用于 CSS 样式表。这至少可以防止在互联网资源不可用时创建 html 文件时出现 pandoc 错误。

© www.soinside.com 2019 - 2024. All rights reserved.