问题标签 [enlive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
97 浏览

clojure - 在 enlive 中更新和规范 attr src

我最近才开始编程,我遇到了这个问题,所以我有这个 html 片段。我想解析 img 的 src 属性并使用 urly 路径规范化对其进行规范化,并向 src 添加一些新路径。

变成这个

我想到了这种方法,但我就是找不到获取 src 值的方法

0 投票
1 回答
226 浏览

clojure - Clojure:Enlive 有选择器不返回任何内容

我正在尝试从实时文档中获取链接内的图像。以下作品:

但是这样我只得到图像节点,我也想要链接!

所以下一步是

但由于某种原因,这只会返回一个空列表。我试图浏览文档并阅读源代码,似乎这应该返回带有 img 标签的链接作为孩子,但也许我错过了一些东西(或者这是一个错误)

0 投票
2 回答
750 浏览

clojure - Enlive 模板自动重新加载/检测 Pedestal 服务中的更改

我正在使用 autoreload-server 示例,该示例非常适合使用 ns-tracker 在更改 .clj 文件时重新加载命名空间。

https://github.com/pedestal/samples/blob/master/auto-reload-server/dev/dev.clj

但是,它不会在 resources/public 目录中获取激活模板的更改。我已将模板路径添加到 defn watch 中的向量:

以及使用 enlive deftemplate 的命名空间中的这个:

(net.cgrand.reload/auto-reload *ns*)

但是,这不起作用。我的假设是 ns-tracker 仅适用于 clj 文件,并且我错误地使用了 enlive reload 功能。

有没有人在使用 enlive 并且已经解决了这个问题,或者有什么想法可以尝试?

0 投票
1 回答
124 浏览

clojure - 如何在 Enlive 中生成一对元素的列表?

我是 Enlive 的新手。我发现我可以用 迭代clone-for,但是,它适用于单个元素。我想生成一对元素的列表,如下所示:

我尝试选择<a>和使用clone-for,但结果如下:

在每次迭代中<a>我该怎么做才能重复?<br>

0 投票
2 回答
330 浏览

css - Enlive 模板 - 添加 CSS 包括

我不确定我应该如何处理这个问题。我有一个 CSS 文件列表,我想将这些文件输入某些内容并获取 HTML。例如,

应转化为:

从那里它应该被附加到<head>.

defsnippet几乎看起来合适,但需要一个模板文件和该文件的一部分的选择器。这里生成的 HTML 不依赖于模板,只生成 HTML 的东西似乎很合适。clone-for可能会做我想要的循环部分,但我无法弄清楚如何使用它。

0 投票
1 回答
4226 浏览

clojure - 用于响应式应用程序的 Clojure Web 框架

我最近继承了一个用 Clojure 编写的未完成的 Web 应用程序,基本上基于 compojure 和 hiccup。用 OO 风格而不是 FP 风格来建模某种 MVC 是一个糟糕的尝试,如此处所示。所以我打赌几乎从头开始重新启动项目,重用有用的部分。我考虑以下替代方案:

破坏性最小的选择是 Compojure+Enlive+jquery-pjax

使用像Pedestal这样的 clojure web 框架有这方面的经验吗?

最初的想法是实现一个服务于 JSON 的 RESTful API,因此对于更详细的解决方案,我将 Backbone+react.js 用于前端,将Liberator 用于后端,但它可能需要比传统的开发时间更长的时间服务器应用程序。

考虑到需要 Ajax 经验的想法和替代方案,非常感谢!

0 投票
1 回答
154 浏览

clojure - 在任意位置激活和标记

这是enlive 1.1.5(为清楚起见添加了源格式/空白更改。):

我想在 HTML 源代码中编写一个常量前缀,这样我的 clojure 代码就不会从我的最终内容中饱和。但正如上面的 sniptest 所示,我不能spantitle. 使用核心函数的第二个测试constantly表明,任何更多的自定义编写的转换都不太可能取得更好的成功。

我不想使用,${vars}因为它们在模板中看起来很愚蠢。我更喜欢在模板中编写体面的示例,然后可以在没有损坏的情况下进行替换。

动机

基本上,我会喜欢将模板编写为 HTML 并使用已span定义的元素id作为变量占位符。但是 enlive 不会根据需要解析'sspan内的那些标签。title为了让事情不那么复杂。例子:

或者

0 投票
1 回答
134 浏览

clojure - 模板中的 Enlive 片段产生惰性序列

访问 localhost:3001/test 会得到以下 HTML:

Clojure 代码:

看起来我没有正确使用模板和/或在某处搞砸了懒惰。我试过放在doall几个地方希望它能解决懒惰但没有骰子。

调试尝试:

到目前为止,一切都很好...

砰!"clojure.lang.LazySeq@27237276",这到底是在做什么?

0 投票
1 回答
89 浏览

clojure - Enlive 片段给了我奇怪的 HTML

问题:Enlive 片段制作时髦的 HTML

问题的视觉参考:http: //i.imgur.com/FIOzgZv.png

请参阅代码片段底部以了解有问题的奇怪 HTML

base.html 的内容:

nav.html 的内容:

访问 localhost:3000 时的 HTML:

(reduce str (html/emit* (nav)))显示奇怪的 HTML 意味着问题发生在defsnippet之前deftemplate

也许我弄错了什么[:*],或者有一个根本的误解,或者有一个我不知道的陷阱。我已经将代码减少到尽可能少,所以 lolidk。

0 投票
2 回答
197 浏览

clojure - Enlive - 将标签包裹在文件中的 HTML 周围

所以我有以下HTML logout.html

看起来我需要一些函数来读取logout.html活跃节点(至少我认为wrap需要节点;我实际上不确定)。