Как вы можете передать html-контекст cl-who в вызываемый subfn?
Я использую cl-кто для создания HTML. В основном я делаю что-то вроде: '' '
(defun main ()
(with-html-output-to-string
(*standard-output* nil :prologue t)
(:html
(:body
...
Любой вывод (в стандартный вывод), который я делаю в этой функции или в любом вызываемом subfn, корректно передается потоку HTML (строка). Тем не менее, я, очевидно, не могу использовать обычные (:......) теги внутри ниже fns. То есть я могу их использовать, но они ничего не генерируют. Например:
(defun main ()
(with-html-output-to-string
(*standard-output* nil :prologue t)
(:html
(:body
(:table (:tr (:td (format t "left cell"))
(right-cell)))))))
(defun right-cell ()
(format t "<td>Right cell</td>"))
Работает отлично:
"left cellRight cell"
[Я пытаюсь показать фактический вывод HTML выше, но не знаю, как его процитировать, чтобы он появился в моем вопросе. Если вы посмотрите на источник вопроса, вы увидите сгенерированный HTML]
Но это:
(defun right-cell ()
(:td (format t "Right cell")))
get и undefined function:: tr... достаточно разумно. Но как мне это сделать?
Это компилирует:
(defun right-cell ()
(with-html-output-to-string
(*standard-output* nil :prologue t)
(htm (:td (format t "Right cell")))))
Но не работает (Примечание: нет правильной ячейки!):
"левая клетка"
[То же]
и я пробовал различные другие варианты. Итак, если не считать рукописного кода s и s, как я могу получить HTML-контекст CL-WHO в subfn?
Спасибо!