2014-05-15 43 views
3

我正在使用knitr自动生成报告到mediawiki页面。报告输出通过pandoc以HTML格式提供。但是我在将数字上传到wiki网站时遇到问题。所以我认为我会使用SVG设备并将代码包含在最终文档中,而不是依赖于外部文档。然而,我无法用knitr或pandoc做这件事。有人知道创建嵌入SVG而不是链接到图像的pandoc或knitr选项吗?或者甚至是一个小的shell脚本,用myFigure.svg的内容替换<img src="myFigure.svg">knitr,pandoc:直接将SVG嵌入到HTML文档

回答

1

最后我用一个简单的python脚本作业

from sys import argv 
import re 
import os 

def svgreplace(match): 
    "replace match with the content of a filename match" 
    filename = match.group(1) 
    with open(filename) as f: 
     return f.read() 

def svgfy(string): 
    img = re.compile(r'<img src="([^"]*\.svg)"[^>]*>') 
    return img.sub(svgreplace, string) 

if __name__ == "__main__": 
    fname = argv[1] 
    with open(fname) as f: 
     html = f.read() 
     out_fname = fname + ".tmp" 
     out = open(out_fname, 'w') 
     out.write(svgfy(html)) 
     out.close() 
     os.rename(out_fname, fname) 
+1

我也有一个解决方案在这里:https://github.com/yihui/knitr/issues/754#issuecomment-40335136 –

相关问题