如何编写Org代码生成带rel等HTML属性的链接?
在Org模式中生成带自定义HTML属性的链接
有三种常用方法可以实现生成带rel、target等属性的HTML链接:
方法一:直接嵌入原始HTML
Org模式会直接保留嵌入的原始HTML代码,导出时不会进行转换,直接输出目标标签:
<a rel="me" href="http://example.com">a website</a>
导出后就能得到你需要的HTML代码。
方法二:使用#+ATTR_HTML属性
利用Org的属性标记为链接添加自定义HTML属性,这种方式更贴合Org语法风格:
#+ATTR_HTML: :rel me [[http://example.com][a website]]
注意:部分Org导出工具需要确保启用了属性解析功能,比如Emacs原生Org导出默认支持这种写法。如果需要添加多个属性,用空格分隔即可:
#+ATTR_HTML: :rel me :target _blank [[http://example.com][a website]]
方法三:自定义链接类型(适合频繁使用场景)
如果需要反复生成同类型属性的链接,可以自定义一个专属链接类型,以Emacs配置为例:
(org-link-set-parameters 'me :follow (lambda (path) (browse-url path)) :export (lambda (path desc backend) (cond ((eq backend 'html) (format "<a rel=\"me\" href=\"%s\">%s</a>" path desc)))))
配置完成后,在Org文件中可以这样写链接:
[[me:http://example.com][a website]]
导出HTML时就会自动生成带rel="me"属性的链接标签。
内容的提问来源于stack exchange,提问作者Daniel Hernández
相关产品推荐
相关产品推荐

