【问题标题】:Cannot use a variable in Rmarkdown file in Bookdown/Hugo无法在 Bookdown/Hugo 的 Rmarkdown 文件中使用变量
【发布时间】:2019-02-20 05:41:59
【问题描述】:

我使用 Bookdown 创建了一个简单的网站。我有一个页面:

---
title: Home
---

# Page title    
Lorem ipsum dolor sit amet.

但是,我想显示来自我的 config.toml 文件的值,而不是 页面标题

我尝试了什么

我想显示在config.toml 文件中定义的site variable 的值,所以我这样做了:

---
title: Home
---

# {{ $.Site.Params.author }}
Lorem ipsum dolor sit amet.

我的配置文件是这样的:

[params]
    author = "Me myself and I"
    description = "My website"

但是该值未解析。我的理解是我需要使用模板,但是,真的没有办法在内容文件中包含变量吗?

【问题讨论】:

    标签: r-markdown hugo bookdown


    【解决方案1】:

    我发现的一种可能的方法是通过shortcodes

    1. 我在 layouts/shortcodes 中创建了一个短代码,例如:myvar.html 并将我想要发出的字符串放在那里
    2. 引用了 Rmarkdown 文件中的简码

    内容文件将如下所示:

    ---
    title: Home
    ---
    
    # {{< myvar >}}
    Lorem ipsum dolor sit amet.
    

    成功了!

    【讨论】:

    • 或使用 R 读取配置文件,然后嵌入内联 R 表达式。
    • @YihuiXie 很荣幸“认识”您先生!了不起的工作,我非常喜欢它 :) 请将其发布为答案,您的评论是我的意思,因为我可能会去做,这是我将在此处标记的有效方法。谢谢!
    • 感谢您的客气话!我认为这两种方法都应该有效,我真的没有偏好。只需使用适合您的那个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    相关资源
    最近更新 更多