如何从img alt属性生成标题

时间:2016-04-18 12:15:02

标签: emacs org-mode pandoc

有没有办法转换包含img属性的alt标记(在html文件中),

<img src="pics/01.png" alt="my very first pic"/>

到图片链接加上标题(组织文件),

#+CAPTION: my very first pic
[[pics/01.png]]

使用pandoc

我这样打电话给pandoc

$ pandoc -s -r html index.html -o index.org

其中index.html包含上面的img标记,但它不会在输出组织文件中添加标题:

[[pics/01.png]]

2 个答案:

答案 0 :(得分:1)

目前是Org Writer unfortunately throws away the image alt and title strings。如果有办法在组织中alt发送文字,请随时提交问题或补丁。

您也可以随时编写filter来修改文档AST,并将alt文本添加到其他段落中。

答案 1 :(得分:0)

OP在这里。在这种情况下,我没有设法使pandoc弯曲到我的需要。但是用一些awk帮助做一点bash脚本就可以了。 该脚本将所有img标记替换为org-mode等效项和标题。当从html转换为org-mode时,Pandoc会将这些单独留下。

awk脚本,

# replace_img.awk
#
# Sample input:
#   <img src="/pics/01.png" alt="my very first pic"/>
# Sample output:
#   #+CAPTION: my very first pic
#   [[/pics/01.png]]

BEGIN {
    # Split the input at "
    FS = "\""
}
# Replace all img tags with an org-mode equivalent.
/^<img src/{
    print "#+CAPTION: " $4
    print "[["$2"]]"
}
# Leave the rest of the file intact.
!/^<img src/

和bash脚本,

# replace_img.sh

php_files=`find -name "*.php"`
for file in $php_files; do
    awk -f replace_img.awk $file > tmp && mv tmp $file
done

将这些文件放在项目的根目录chomod +x replace_img.sh,然后运行脚本:./replace_img.sh。如果需要,更改文件的扩展名。我有超过300个php文件。