gpt4 book ai didi

clojure - Enlive 中的可变 HTML 模板

转载 作者:行者123 更新时间:2023-12-02 20:30:05 26 4
gpt4 key购买 nike

我正在尝试找到一种“Enlivonic”方式来定义一个函数,该函数将对参数化的 html 模板执行转换。

换句话说,如何定义像 defsnippet 这样也将模板作为参数的东西?

我查看了代码片段和转换,但我对宏有点迷失了:-(

最佳答案

如果您有一个转换,但想为其提供不同的模板,您可以尝试:

(defn multi-template [t]
(template t [h1 h2]
[:h1] (content h1)
[:h2] (content h2)))

当使用 html 模板调用此函数时,将返回一个以 h1 和 h2 作为参数并将它们替换到给定模板中的函数。调用方式如下:

((multi-template "your-template.html") "heading 1 content" "heading 2 content")

当我有许多不同的图片库设计作为模板并希望在它们之间动态切换时,我使用了与此类似的东西。

注意:这每次都会动态创建模板,而 deftemplate 宏仅在编译时调用一次模板。因此,如果这太慢,您可以采取一些措施来优化它(请参阅 clojure, enlive, multi-site )

关于clojure - Enlive 中的可变 HTML 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16547195/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com