Enlive 模板 – 添加到头部

2024-03-25

我的应用程序的某些页面将有自己的 js/css 包含,所以我想知道如何使用 Enlive 将这些资源添加到 html 文档的头部部分。我发现 “append”变压器,但没有不自动转义的“html-append”。或者什么是正确的方法来做到这一点?


其他答案可能早于活跃的打嗝式助手。答案取自并扩展自:Enlive 模板 - 将 CSS 添加到 https://stackoverflow.com/q/20811216/894091.

(require '[net.cgrand.enlive-html :as html])

生成 HTML 节点的函数(简单得多):

(defn include-js [src]
      (first (html/html [:script {:src src}])))

(defn include-css [href]
      (first (html/html [:link {:href href :rel "stylesheet"}])))

用法示例:

;; Example templates/base.html file    
<html>
  <head>
  </head>
  <body>
  </body>
</html>

(def jquery "http://code.jquery.com/jquery-1.11.0.min.js") ; links work as well
(html/deftemplate home-page "templates/base.html"
  []
   [:head] (html/append (map include-css ["css/some_file" "css/index.css"]))
   [:head] (html/append (map include-js [jquery "js/index.js"])))

检查它是否生成正确的 HTML:

(print (apply str (home-page)))
;; newlines added by hand for clarity
=> <html>
     <head>
       <link href="css/some_file" rel="stylesheet" />
       <link href="css/index.css" rel="stylesheet" />
       <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
       <script src="js/index.js"></script>
     </head>
     <body>
     </body>

   </html>
   nil
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Enlive 模板 – 添加到头部 的相关文章

随机推荐

  • 如何删除 JavaScript 中动态生成的事件处理程序

    当我单击按钮时 我会看到控制台消息 显示我已单击它们 当我取消选中该复选框然后单击按钮时 我预计不会出现控制台消息 但我仍然看到它们 为什么不removeEventListener删除事件监听器 const buttons document
  • 如何以干净的方式创建通过外键与 Room DB 相关的行和子项?

    这个问题在某种程度上与我的最后一个问题 https stackoverflow com q 69384937 3692177 因为这是同一个项目 但现在我正努力向前迈进一步 所以 在我之前的问题中 我只有一张桌子 这次我有两个表 新的第二个
  • 为什么 git log 在传递给寻呼机时不显示 HEAD 和分支

    当传递给寻呼机时 git log less watch git log https stackoverflow com q 62803231 9157799等 则 HEAD gt master origin master origin HE
  • Pylance 无法识别新安装的 pip 软件包

    我在尝试从 pip 导入新安装的软件包时收到以下错误 无法解析导入 皮兰斯 报告缺少进口 重新启动 VS Code 后 Pylance 似乎能够识别该包 有没有办法解决这个问题 因为它很烦人 当 Pylance 没有立即检测到该模块时 就会
  • Greasemonkey 中的函数未定义或访问对象的权限被拒绝

    我正在开发一个 Greasemonkey 脚本 该脚本将一个按钮注入聊天系统 Gitter 允许您发送默认消息 不是垃圾邮件 管理员可以发送类似行为准则的消息 假设我已经注入了一个按钮
  • 为 Flask-CORS 指定域

    我有一个 Python 脚本作为 Web api 许多域会调用它来获取他们想要的数据 因此 为了使其可行 我需要启用 CORS 我通读了 Flask 文档 但没有找到指定多个域以允许 CORS 的方法 以下是启用 CORS 的代码片段 fr
  • 访问 VBA 循环(无响应)

    我正在循环访问记录集以执行一些基本功能或编辑 通常 对于包含超过 50 条记录的记录集 访问将停止响应 I have me repaint在循环命令之前 但窗口始终冻结并且访问标题栏显示 未响应 知道如何解决这个问题吗 Thanks Dav
  • 缺少 google-services.json 并运行“make bootstrap”(Kickstarter 应用程序 android studio)

    当我尝试运行该应用程序时 遇到了此谷歌服务缺失错误来自 GitHub 的 Kickstarter https github com kickstarter android oss在 Android Studio 中 试图寻找答案 我发现我应
  • 将用户输入循环附加到列表中

    我是 python 编程新手 正在用它做一些实验 希望我的问题不太愚蠢 我正在编写一个小程序 将输入添加到列表中 并使用 while 循环在输入等于 4 时打印它 问题是它永远不会停止添加输入和打印列表 我的代码是 S input L wh
  • 根据查找 NP 头的规则在 NLTK 和 stanford 解析中查找名词短语的头

    一般来说 名词短语的中心词是位于 NP 最右边的名词 如下所示 树是父 NP 的中心词 所以 ROOT S NP PP
  • 如何在Python中将多行输入读取到二维数组中

    我在 python 中遇到了一个问题 要读取的二维数组的输入格式是 3 number of rows and columns of a square matrix 1 2 3 first row 3 4 6 second row 4 6 3
  • 从另一个 ViewController 调用方法

    我有一个 ViewControllerA 和一个 ViewControllerB 我想从 ViewControllerB 调用 ViewControllerA 的方法 在 ViewControllerA 中存在一个方法 NSMutableA
  • 使用 matplotlib plt.show() 绘图不可见

    我对 Python 和 Linux 非常陌生 我需要帮助 我尝试使用 matplotlib 按以下方式显示简单的绘图 from matplotlib import pyplot as plt plt plot 5 6 7 8 7 3 8 3
  • 我如何使用纯javascript解析远程html页面

    我需要解析远程 html 页面 例如 www mywesite com home 我如何获取此网站 html 页面源以及如何解析此页面 html是这样的 div class my class1 a href home link id 1 h
  • iOS 7.1 中的 safari 全屏,带有最小的 ui 元标记

    我在多个网站 包括一些 stackoverflow 问题 上读到 iOS 7 1 Safari 将会有一个 minim ui 元标记 所以今天我更新了我的iPad 但似乎没有效果 任何人都可以确认这应该有效吗 这是我的元标记 此选项仅适用于
  • celery-django 找不到设置

    我有一个 Django 项目 使用Celery http pypi python org pypi django celery用于运行异步任务 我正在 Windows XP 计算机上进行开发 启动我的 Django 服务器 python m
  • android ListView不会突出显示所选行

    在我的应用程序中 我从服务器检索用户的播放列表 并感受到ListView与数据 问题是 ListView不突出显示单击的行 为了防止愤怒的评论告诉我我不使用搜索 我尝试过以下方法 将我行中的按钮设置为不可聚焦 通过代码和 XML 设置 li
  • Java 本机接口 (JNI) 是否受 C++ ABI 兼容性问题影响?

    Java 本机接口 JNI 是否受 C ABI 兼容性问题影响 我正在开发一个 Java 应用程序 我想使用 Java 本机接口 JNI 来调用 C 库中的函数 我可以访问 C 库的代码 并且可以根据需要重建它 例如 我可以静态链接 C 运
  • 如何使用现有的 solr 核心数据创建 solr 核心?

    Solr 1 4 企业搜索服务器建议对核心副本进行大量更新 然后将其交换为主核心 我正在执行以下步骤 创建准备核心 执行索引更新 然后在准备核心上提交 优化 交换主核心和预备核心 卸载准备核心 我遇到的问题是 步骤 1 中创建的核心中没有任
  • Enlive 模板 – 添加到头部

    我的应用程序的某些页面将有自己的 js css 包含 所以我想知道如何使用 Enlive 将这些资源添加到 html 文档的头部部分 我发现 append 变压器 但没有不自动转义的 html append 或者什么是正确的方法来做到这一点