RMarkdown本地HTML文件链接失效,求排查原因
问题排查与解决方法
首先,最明显的问题是你的Markdown链接格式有误——[Link] (../...)里的方括号和圆括号之间多了一个空格!Markdown对链接的格式要求很严格,这个空格会让解析器把它当成普通文本而不是链接。
先把代码改成正确的格式:
[Link](../Marktaandeel/Project/index.html)
如果改完还是不行,可以从这几个方向排查:
确认相对路径的基准目录
相对路径是相对于你的RMarkdown文件所在的位置,而不是最终生成的HTML文件位置(除非你手动设置了knit_root_dir参数)。你可以在RMarkdown里加一段代码验证路径是否存在:file.exists("../Marktaandeel/Project/index.html")如果返回
FALSE,说明路径层级错了——比如如果你的Rmd在/A/B/目录,那么../指向/A/,要确保/A/Marktaandeel/Project/index.html确实存在,不然就得调整路径(比如用../../跳两级,或者./表示当前目录)。检查输出目录的路径映射
如果你设置了output_dir把生成的HTML放到了其他文件夹,那链接里的相对路径是相对于这个输出目录的。比如你把HTML输出到/A/B/output/,那../Marktaandeel/...就会指向/A/B/Marktaandeel/...,得确认这个位置的文件存在。用绝对路径做测试
要是相对路径实在搞不清,先试试绝对路径能不能工作,比如:[Link](/Users/你的用户名/文档/Marktaandeel/Project/index.html)替换成你自己的实际绝对路径,如果这个能打开,就说明问题出在相对路径的层级上,再回头调整相对路径就行。
内容的提问来源于stack exchange,提问作者SuGer
相关产品推荐
相关产品推荐

