r - 用于在 Markdown 文件中添加指向所有图像的链接的脚本
问题描述
我有一个工作流程,我将 Google Docs 下载为 docx,然后将它们处理为 markdown 以导出到 R 环境中的其他格式。
当我使用 pandoc_convert 转换为 markdown 时,我得到嵌入的图像,但它们没有链接。我想添加类似于这篇文章的链接语法,
即我想要这个(未链接):
![m'lady](https://i.imgur.com/v8IVDka.jpg)
成为(链接):
[![m'lady](https://i.imgur.com/v8IVDka.jpg)](https://i.imgur.com/v8IVDka.jpg)
对于文档中的每个图像。怎么做?
解决方案
经过一番辛劳,我把这个功能放在一起,解决了我的问题:
addLinksToPhotos<-function(mdfile){
d<-readLines(mdfile)
s<-sapply(d,function(x) {
replacementPattern="[\\1(\\2)](\\2)\\3"
gsub('.*?(?<firstpart>!\\[[^\\]]*?\\])\\((?<filename>.*)\\)(?<potentialHTML>\\{.*?\\})?.*?',x=x,replacement=replacementPattern,perl=T)
},USE.NAMES = F)
writeLines(s,mdfile)
}
#usage
addLinksToPhotos("myRMarkdownDoc.rmd")
它将读取 markdown 文件中的每一行,查找照片![]()
模式,包括它在大括号中具有样式编码的位置![](){}
。它将修改每个实例以具有链接图像[![]()](){}
。
推荐阅读
- python - 在排序一个列表期间将不同列表中的相关元素保持在一起
- c# - 如何对通用列表对象进行排序
- javascript - 向和从 js 服务器发送数据的基本方法?
- json - 使用 Pyspark 处理 JSON 结构
- amazon-web-services - 为什么角色假设应该在 lambda 内部完成?
- html - 如何将数值绑定到 CSS 以创建时间线?
- docker - 如何为 docker compose 环境变量设置运行时变量
- javascript - 仅在 Javascript 中具有不同段落的动态 Div
- tsql - 表格模型中的测量列未在浏览器中显示正确的值
- javascript - 调用此函数时如何获取返回值?