问题标签 [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.
common-lisp - 带有 CLISP 和 CL-WHO 的 CGI 示例?
有人可以为我提供一个简单的 clisp 脚本示例,它使用
- 电脑动画
- /usr/local/bin/clisp
- CL-WHO 或同等级别?
我的安装由 apache2、clisp 和 quicklisp 组成。
提前致谢!
lisp - cl-who 和格式
我正在尝试使用 cl-who 生成以下 html 代码:
这是我认为可行的代码:
但相反,我得到以下输出:
似乎 :id 不适用于函数调用。这是否意味着我不能在 cl-who 中使用格式?我应该改用什么?
common-lisp - 未在 CL-WHO 模板中呈现的字符串
这段代码没有输出我想要的。我期望它输出:
但是,它输出:
谁能告诉我为什么?我正在使用 SBCL。
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
一个宏,它的最后一个参数永远不会被评估。有什么办法可以解决这个问题吗?
common-lisp - with-html-output 在使用 :li 时添加字符串
我正在通过 Adam Tornhill 的 Lisp For The Web 工作,我一直在生成一个包含 li 元素的 html 页面。
当我编译它时,以下输出被打印到 REPL
通常不添加输出末尾的字符串,并且包含此字符串的站点不会在 hunchentoot 中呈现。在 :li 周围添加 :ol 并没有帮助,我想保持示例最小化。
书中的代码作为参考:
html - CL-WHO HTML 生成器到文件
我正在尝试将 html 文件生成到文件中。我正在使用 with-html-output-to-string,但我似乎无法弄清楚如何让该功能正常工作。我不确定是否应该使用文件流、with-open-file 以及如何使语法正常工作。我已经搞砸了一天,但代码只是没有运行。
macros - 宏展开后未定义的函数
我正在学习 Common Lisp,想玩 lisp 和 Web 开发。我目前的问题来自一个简单的想法,即遍历我想要包含的所有 javascript 文件。我使用 SBCL 和 Quicklisp 来快速启动。问题可能与cl-who
我正在使用的包有关。
所以我已经声明了我的包裹并开始这样:
为了简单起见,我减少了问题函数。所以我有这个page
功能:
这将产生所需的输出
现在我创建了一个生成:script
标签的宏。
这按预期工作:
但是,如果我将其包含在我的page
函数中:
undefined function: :SCRIPT
...定义新page
函数时,它会给我一个样式警告( )。此外,该page
函数在执行时会产生此错误:
为什么嵌入式宏js-source-file
按预期工作,因为它产生所需的输出,但在另一个函数中调用时失败?
PS 我知道对于像我这样的初学者来说,Lisp 中的宏主题可能会让人筋疲力尽。但目前我无法理解这应该有效但没有用的事实!
common-lisp - CL-WHO 在条件后不显示任何 HTML
抱歉这个可能很愚蠢的问题,但我是 Common Lisp 的新手(我是从 Racket 迁移过来的),到目前为止,我正在用 Hunchentoot、cl-who 和其他一些杂项包构建一个 Web 应用程序,但是我最近遇到了一个我无法解决的问题:如果哈希不为空,我正在尝试遍历一个哈希并显示它的值(它们是结构)。如果是,我想显示“这是空的”消息。但是, cl-who 仅输出调用后的 HTML。这是我的代码:
所以在这种情况下,“创建新板”出现了,但粗体文本和标题都没有。但是,如果我在 if 之后移动标题,它就会显示出来。
我已经为此苦苦挣扎了六个多小时,有人对我有任何提示吗?谢谢!
svg - cl-who 中的混合大小写标记名称
我正在使用 cl-who 生成 svg,它工作正常,直到我需要混合大小写标签:
对于这种情况,有一个变量 *downcase-tokens-p*。使用起来有点困难:
输出:
用 let 包装没有效果,因为 *downcase-tokens-p* 在宏扩展时显然设置了 T。
所以我们需要拖出eval:
输出:
这适用于radialGradient 标签,但现在我需要|| 包裹一切。
什么是让radialGradient标签正确显示的最简单方法,同时不理会其他所有内容?
编辑:添加示例。
lisp - 使用 cl-who、parenscript 和 hunchentoot 生成内联 javascript
我正在尝试生成内联 javascript,但我必须将 parenscript 代码放入其中(:script)
并(str)
使用 cl-who 标记。ps
, ps*
,ps-inline
并且ps-inline*
似乎对生成的 js 没有太大的影响。
是编写宏以避免代码重复的常用方法,还是有更好的方法?
这是我的程序: