问题标签 [cl-who]

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 回答
619 浏览

common-lisp - 带有 CLISP 和 CL-WHO 的 CGI 示例?

有人可以为我提供一个简单的 clisp 脚本示例,它使用

  • 电脑动画
  • /usr/local/bin/clisp
  • CL-WHO 或同等级别?

我的安装由 apache2、clisp 和 quicklisp 组成。

提前致谢!

0 投票
1 回答
569 浏览

lisp - cl-who 和格式

我正在尝试使用 cl-who 生成以下 html 代码:

这是我认为可行的代码:

但相反,我得到以下输出:

似乎 :id 不适用于函数调用。这是否意味着我不能在 cl-who 中使用格式?我应该改用什么?

0 投票
1 回答
173 浏览

common-lisp - 未在 CL-WHO 模板中呈现的字符串

这段代码没有输出我想要的。我期望它输出:

但是,它输出:

谁能告诉我为什么?我正在使用 SBCL。

0 投票
2 回答
892 浏览

macros - cl-who:在 with-html-output-to-string 中使用变量

到目前为止,我看到的所有示例都是这样cl-who工作的:

哪个工作正常。但是,我想使用with-html-output-to-string变量,而不是硬编码的 html 树;如果*p*(:HTML (:HEAD (:TITLE "hello")) (:BODY (:DIV "world"))),我会这样做

结果我得到""了。我想作为with-html-output-to-string一个宏,它的最后一个参数永远不会被评估。有什么办法可以解决这个问题吗?

0 投票
1 回答
162 浏览

common-lisp - with-html-output 在使用 :li 时添加字符串

我正在通过 Adam Tornhill 的 Lisp For The Web 工作,我一直在生成一个包含 li 元素的 html 页面。

当我编译它时,以下输出被打印到 REPL

通常不添加输出末尾的字符串,并且包含此字符串的站点不会在 hunchentoot 中呈现。在 :li 周围添加 :ol 并没有帮助,我想保持示例最小化。

书中的代码作为参考:

0 投票
1 回答
111 浏览

html - CL-WHO HTML 生成器到文件

我正在尝试将 html 文件生成到文件中。我正在使用 with-html-output-to-string,但我似乎无法弄清楚如何让该功能正常工作。我不确定是否应该使用文件流、with-open-file 以及如何使语法正常工作。我已经搞砸了一天,但代码只是没有运行。

0 投票
2 回答
505 浏览

macros - 宏展开后未定义的函数

我正在学习 Common Lisp,想玩 lisp 和 Web 开发。我目前的问题来自一个简单的想法,即遍历我想要包含的所有 javascript 文件。我使用 SBCL 和 Quicklisp 来快速启动。问题可能与cl-who我正在使用的包有关。

所以我已经声明了我的包裹并开始这样:

为了简单起见,我减少了问题函数。所以我有这个page功能:

这将产生所需的输出

现在我创建了一个生成:script标签的宏。

这按预期工作:

但是,如果我将其包含在我的page函数中:

undefined function: :SCRIPT...定义新page函数时,它会给我一个样式警告( )。此外,该page函数在执行时会产生此错误:

为什么嵌入式宏js-source-file按预期工作,因为它产生所需的输出,但在另一个函数中调用时失败?

PS 我知道对于像我这样的初学者来说,Lisp 中的宏主题可能会让人筋疲力尽。但目前我无法理解这应该有效但没有用的事实!

0 投票
1 回答
154 浏览

common-lisp - CL-WHO 在条件后不显示任何 HTML

抱歉这个可能很愚蠢的问题,但我是 Common Lisp 的新手(我是从 Racket 迁移过来的),到目前为止,我正在用 Hunchentoot、cl-who 和其他一些杂项包构建一个 Web 应用程序,但是我最近遇到了一个我无法解决的问题:如果哈希不为空,我正在尝试遍历一个哈希并显示它的值(它们是结构)。如果是,我想显示“这是空的”消息。但是, cl-who 仅输出调用后的 HTML。这是我的代码:

所以在这种情况下,“创建新板”出现了,但粗体文本和标题都没有。但是,如果我在 if 之后移动标题,它就会显示出来。

我已经为此苦苦挣扎了六个多小时,有人对我有任何提示吗?谢谢!

0 投票
4 回答
106 浏览

svg - cl-who 中的混合大小写标记名称

我正在使用 cl-who 生成 svg,它工作正常,直到我需要混合大小写标签:

对于这种情况,有一个变量 *downcase-tokens-p*。使用起来有点困难:

输出:

用 let 包装没有效果,因为 *downcase-tokens-p* 在宏扩展时显然设置了 T。

所以我们需要拖出eval:

输出:

这适用于radialGradient 标签,但现在我需要|| 包裹一切。

什么是让radialGradient标签正确显示的最简单方法,同时不理会其他所有内容?

编辑:添加示例。

0 投票
1 回答
263 浏览

lisp - 使用 cl-who、parenscript 和 hunchentoot 生成内联 javascript

我正在尝试生成内联 javascript,但我必须将 parenscript 代码放入其中(:script)(str)使用 cl-who 标记。ps, ps*,ps-inline并且ps-inline*似乎对生成的 js 没有太大的影响。

是编写宏以避免代码重复的常用方法,还是有更好的方法?

这是我的程序: