使用knitr,markdown避免自动生成超链接

10

knitr会在将.Rmd文件转换为.html文件时自动生成链接。通常情况下这非常有用,但现在不是我想要的。

假设您有这个.Rmd文件:

---
title: "Doc title"
output: html_document
---

I don't want this@to-be-a-link.com, but it comes out that way. 

If you wrap it in an R expression  `r "this@is-still-a-link.com"`.

Is there some kind of CSS trick I can avail myself of if I wanted <style='nolink'>www.something.com</style> not to be a link?

像这样编织:
library(knitr)
knit2html('that_file.Rmd', 'that_file.html')

这导致所有这些东西都成为链接。

在此输入图片描述

是否有一种简单的方法通常保持自动链接生成,但有选择性地在特定行中禁用它?感谢任何想法。

编辑:在接受之前,我想我应该实际尝试下面的解决方案。这是在.Rmd文件中:

I don't want this <!-- breaklink -->@to-be-a-link.com

实际上,这并不是一个HTML注释,因为--被转换成了em dash(是由knitr?pandoc?完成的),然后我得到了:

在此输入图片描述


你是不是只想让它不显示为链接,或者完全删除链接?另外,在第二次尝试中,为什么要使用R表达式而不是裸的反引号? - A5C1D2H2I1M1N2O1R2T1
这似乎有些投机取巧,但您可以通过将类似于 <!-- --> 的内容插入URL作为一部分来“破坏”链接... - A5C1D2H2I1M1N2O1R2T1
不想要裸露的反引号版本,因为我想要纯文本输出。并不一定期望 R 表达式能够工作,只是展示了我尝试过的/扔在墙上的东西。 - arvi1000
1
我认为这可能是一个Pandoc的问题。我发布的答案似乎适用于HTML和DOCX,但不适用于PDF。 - A5C1D2H2I1M1N2O1R2T1
3个回答

8

我看到有两种选择,(1)使用裸的反引号,或者(2)通过使用一个空的HTML注释来“打破”链接。

示例:

---
title: "Doc title"
output: html_document
---

I don't want this<!-- -->@to-be-a-link.com, but it comes out that way. 

If you wrap it in an R expression `this@is-still-a-link.com`.

Is there some kind of CSS trick I can avail myself of if I wanted 
<style='nolink'>http<!-- -->://www.something.com</style> not to 
be a link?

变成:

在此输入图片描述


1
@arvi1000,这是一条注释 - 所以您可以将其详细说明,例如 this<!-- breaklink -->@to-be-a-link.com :-) - A5C1D2H2I1M1N2O1R2T1

0

虽然来晚了,但是还有另一种方法可以使用HTML实体来完成。

使用实体而不是普通字符标记将会转义任何内容,并在渲染时不会成为超链接。

例如,如果我想要一个URL以纯文本形式呈现(意思是我不希望它看起来像代码,对于大多数情况来说这样做就可以),但我有一个用例,我希望URL的一部分加粗,那么:

在我的.Rmd文件中:

Hyperlinked  
: https://sub-domain-**env**.domain.com/path/to/collection
Non-Hyperlinked  
: https&#58;//sub-domain-**env**.domain.com/path/to/collection

enter image description here


0

最简单和最本地化的方法是使用“反斜杠转义”at符号:

I don't want this\@to-be-a-link.com, and now it isn't. 

这也适用于网络链接:

Not a link: https\://posit.co

自动链接功能也可以通过关闭autolink_bare_uris扩展来完全禁用:

---
title: "Doc title"
output:
  html_document:
    md_extensions: -autolink_bare_uris
---

I don't want this@to-be-a-link.com, and now it isn't.

为了创建链接,URL必须用尖括号括起来:<https://posit.co>

另请参阅R Markdown Cookbook中的“HTML文档”部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接