You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用CL-WHO从普通Lisp列表生成对应HTML?

CL-WHO 本身支持直接传入普通 Lisp 列表生成 HTML,你可以使用它内置的 cl-who:tree-to-html 函数实现需求。

这个函数接收两个参数:第一个是你定义的列表格式的 HTML 结构,第二个是输出流对象。你可以直接输出到标准输出,也可以配合 with-output-to-string 拿到生成的 HTML 字符串,对应你的示例代码调整后如下:

(let* ((id "greeting")
       (message "Hello!")
       (the-html `((:p :id ,id) ,message)))
  ;; 直接输出到标准输出
  (cl-who:tree-to-html the-html *standard-output*)
  ;; 如需得到HTML字符串,使用如下写法
  (with-output-to-string (stream)
    (cl-who:tree-to-html the-html stream)))

补充说明:

  • tree-to-html 是 CL-WHO 两个宏内部用来处理结构的核心函数,所有宏语法支持的属性规则、标签嵌套、布尔属性等特性,该函数都完全兼容,你不需要调整现有列表的结构格式。
  • 多层嵌套的 HTML 结构也可以直接传入,比如 ((:div :class "wrapper") ((:h1) "标题") ((:p :id "content") "正文")) 这类结构都可以正常解析生成对应HTML。

内容的提问来源于stack exchange,提问作者Flux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 02:54:08