【问题标题】:R/markdown: rendering html tags inside tableR/markdown:在表格内渲染 html 标签
【发布时间】:2021-02-25 10:35:08
【问题描述】:

我想使用 Markdown 在 [R] 中创建某种 html-tag 备忘单。我认为这将是一个好主意,因为我可以轻松地显示标签和结果。事实证明这并不容易。让我们重新定义这句话:我认为这应该很容易,但在打印结果时我仍然卡住了。我真的很感激一些提示:)

我现在在做什么:


    ---
    title: "HTML Cheatsheet"
    output: html_document
    ---
    
    ```{r, results="asis"}
    
    # init
    "%>%" <- magrittr::"%>%"
    
    # create table
    tbl <- dplyr::tibble(
        "TAG"="<h1></h1>",
        "EXAMPLE"="<h1>Headline</h1>",
        "RESULT"=cat("<h1>Headline</h1>"))
    
    # print table
    tbl %>%
        knitr::kable() %>%
        kableExtra::kable_styling()
    
    ```

我的方法不起作用。我认为这是因为cat("&lt;h1&gt;Headline&lt;/h1&gt;") 直接打印并破坏了小标题。可能有一个超级简单的解决方案。不幸的是,我缺少正确的词来搜索我的问题的答案(我得到的唯一结果是“如何在 markdown 中打印 html 表格”)

感谢您的专业知识:)

【问题讨论】:

  • 我认为你需要knitr::kable(escape = FALSE)
  • 完美......几乎......现在结果部分显示为应该的......不幸的是,示例部分也被渲染了:D
  • 大声笑..我真的度过了糟糕的一天......你的解决方案就像一个魅力。我唯一要做的就是逃避我想显示为“代码”的标签

标签: html r markdown tibble kable


【解决方案1】:

解决方案:

正如 nate 所提到的,我必须使用 knitr::kable(escape=FALSE) 来呈现 html 标签。为了使标签在示例列中保持非呈现形式,我唯一要做的就是手动转义它们。


    ---
    title: "HTML Cheatsheet"
    output: html_document
    ---
    
    ```{r, results="asis"}
    
    # init
    "%>%" <- magrittr::"%>%"
    
    # create table
    tbl <- dplyr::tibble(
        "TAG"="<h1></h1>",
        "EXAMPLE"="\\<h1\\>Headline\\</h1\\>",
        "RESULT"=cat("<h1>Headline</h1>"))
    
    # print table
    tbl %>%
        knitr::kable(escape=FALSE) %>%
        kableExtra::kable_styling()
    
    ```

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多