¿Cuál sería la forma recomendada de generar HTML a partir de X-expressions en Racket? Parece que response/xexpr
lo haría, pero parece estar diseñado para servir respuestas http. Lo único que necesito es generar una cadena HTML a partir de listas de Racket (o expresiones X), sin necesidad de tener un servidor web involucrado.Generar HTML en Raqueta
Respuesta
La función xexpr->string en la biblioteca xml
debe hacer lo que está solicitando, si no me equivoco. Para ver un ejemplo donde se usa, puede echar un vistazo a here, donde el ejemplo lo usa para generar respuestas HTML para una aplicación de servidor web simplificada.
> (xexpr->string '(html (head (title "Hello")) (body "Hi!")))
"<html><head><title>Hello</title></head><body>Hi!</body></html>"
Si usted está dispuesto a volcar xexprs para una instalación potencialmente más conveniente, entonces no es un nuevo lenguaje que se utiliza para generar las páginas web de raqueta. Todavía no está documentado (por lo tanto, todavía es nuevo y no es públicamente correcto), pero puede ver cómo se usa en these sources. Como un ejemplo rápido que demuestra que, ejecute lo siguiente:
#lang scribble/html
@(define name "foo")
@html{@head{@title{@name}}
@body{@h1{@name}}}
Otro ejemplo lo utiliza como una biblioteca:
#lang at-exp racket/base
(require scribble/html)
(define (page name)
(output-xml
@html{@head{@title{@name}}
@body{@h1{@name}}}))
@page{foo}
El at-exp
no es necesaria, sólo hace que sea fácil de escribir un montón de texto en código. (Y también sería igual de útil con xexprs.)
La principal diferencia es que en este lenguaje las etiquetas HTML son en realidad enlaces, lo que hace que sea conveniente mantener el código. También es muy flexible en lo que puede tomar como texto; por ejemplo, no hay necesidad de mantenerlo en una lista estricta de cadenas y etiquetas secundarias, por lo que nunca se enfrentará a preguntas sobre dónde usar append-map
etc.
- 1. ¿Cómo obtener respuesta html desde una cadena url? (Esquema/Raqueta)
- 2. Fijaciones POST/GET en Raqueta
- 3. ¿Cómo hacer coincidir, en coincidencia en raqueta?
- 4. Generar bastante html diff en Python
- 5. ¿Cómo generar Javadoc HTML en Eclipse?
- 6. Generar archivo HTML desde rspec
- 7. Configuración Raqueta Geiser Emacs Ruta
- 8. Raqueta flymake-mode para emacs
- 9. patrón condicional a juego en la raqueta
- 10. set-car !, set-cdr! desatado en raqueta?
- 11. Diferentes tipos de continuación en raqueta
- 12. Cómo evaluar cadenas en la raqueta
- 13. Incluyendo un archivo externo en la raqueta
- 14. Programación de juegos en la raqueta
- 15. El uso de local en raqueta/Esquema
- 16. Qué doctype usar al generar correo HTML
- 17. Raqueta interactiva frente a rendimiento compilado
- 18. visualizador de código para programas de Raqueta
- 19. espacio de nombres de raqueta/base
- 20. Incluyendo un archivo R5RS en otro archivo en la raqueta
- 21. Configure Rails para generar salida HTML en lugar de XHTML
- 22. Generar correo electrónico HTML con imágenes incrustadas en Delphi
- 23. Generar PDF desde un archivo html en iPhone
- 24. Generar una respuesta HTML en un servlet Java
- 25. Cómo generar informe de prueba de Android en HTML automáticamente
- 26. Utilizando helpers en rieles 3 para generar html
- 27. ¿Cómo puedo generar un comentario HTML en Compojure/Hiccup?
- 28. ¿Cómo probar el lanzamiento de errores en la raqueta?
- 29. ¿En qué se diferencia la raqueta de Scheme?
- 30. Generar datos de imagen del elemento de lienzo HTML
Funciona como un encanto, gracias! – GiantSquid