【问题标题】:How can I include javascript and css in a flexdashboard?如何在 flexdashboard 中包含 javascript 和 css?
【发布时间】:2016-12-22 08:33:03
【问题描述】:

我创建了一个 flexdashboard,其中包含使用传单包的地图。

我需要能够选择地图区域内的标记,以便我可以根据这些标记显示汇总统计数据。 leaflet-locationfilter 似乎提供了我需要的东西,但我需要弄清楚如何将其包含在生成的 HTML 文件中。我曾尝试在 flexdashboard 标头中使用“包含”,但这会产生错误。这是一个简单的测试用例:

---
title: "Dashboard Title"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
    includes: includes(in_header = "TEST.HTML", before_body = "TEST.HTML", after_body = "TEST.HTML")
---

...其中 TEST.HTML 是:

<!-- TEST TEST TEST -->

但这失败了:

输出文件:Dashboard.knit.md

includes$in_header 中的错误:$ 运算符对原子向量无效 调用:-> -> 覆盖 -> pandoc_include_args 执行停止

我不得不求助于阅读the code 来弄清楚如何做到这一点,因为它似乎没有在任何地方记录,但我显然错过了一些东西。

有什么建议吗?

【问题讨论】:

    标签: r r-markdown flexdashboard


    【解决方案1】:

    不要像 documentation(第 4 页)那样使用 R 的内置函数 includes,而是使用 YAML:

    ---
    title: "Dashboard Title"
        output: 
        flexdashboard::flex_dashboard:
            orientation: columns
            vertical_layout: fill
            includes: 
                in_header: "TEST.HTML"
                before_body: "TEST.HTML"
                after_body: "TEST.HTML"
    ---
    

    但是,除了通过 flexdashboard 之外,还有另一种包含传单插件的方法。使用传单自己的dependencies 参数:

    map$dependencies <- c(map$dependencies, list(htmlDependency(
        name = "Leaflet.locationfilter",
        version = "0.1",
        src = "PATH_TO_DIRECTORY",
        script = "locationfilter.js",
        stylesheet = "locationfilter.css"
    )))
    

    【讨论】:

      猜你喜欢
      • 2019-12-27
      • 2011-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-19
      • 1970-01-01
      • 1970-01-01
      • 2010-12-30
      相关资源
      最近更新 更多