我正在使用 knitr 自动生成报告到mediawiki页面。报告输出通过 pandoc 以HTML格式显示。但我在将数据上传到维基站点时遇到问题。所以我想我会使用SVG设备并将代码包含在最终文档中,而不是依赖于外部文档。但是我无法使用knitr或pandoc来做这件事。有没有人知道创建嵌入式SVG而不是链接到图像的pandoc或knitr选项?甚至是一个小的shell脚本,用<img src="myFigure.svg">
的内容替换myFigure.svg
。
答案 0 :(得分:0)
我最终使用一个简单的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)