python ruby django haml

python - Ruby HAML con Django?



(4)

Recomiendo encarecidamente que no elimine ningún proceso de sus vistas de django, ya que la sobrecarga es significativa.

Debes tener un proceso ruby ​​persistente para servir tus plantillas e invocarlo desde tu código django. Le dejo la tecnología IPC, pero las opciones obvias serían algún tipo de tecnología de colas de mensajes o hablar HTTP a través de un socket al proceso ruby.

Ok, entonces realmente amo HAML. Particularmente, me encanta la integración con RedCloth y BlueCloth, por lo que puedo usar Markdown y Textile entremezclados con mi HAML.

También me encanta Python y Django.

Entonces, me gustaría usar HAML con Django. Ahora, ya entiendo que hay algunos intentos de clonar la sintaxis similar a HAML en Python (SHPAML y otros). He probado estos y, aunque no son malos, he descubierto que realmente solo quiero el verdadero HAML. Parcialmente por su sintaxis, pero también por cosas como RedCloth y BlueCloth.

Entonces, mi pregunta es, ¿cómo hacer que HAML y Django trabajen juntos?

Una solución, creo, sería crear plantillas HAML y luego compilarlas en HTML usando la herramienta de línea de comandos cada vez que se actualicen.

Pregunta 1: ¿Me encontraré con algún problema aquí?

También me pregunto si hay una manera de hacer que Python y Ruby jueguen juntos un poco más. Una idea que tuve fue en realidad forking a cabo los procesos de Ruby. Probablemente sea una mala idea, pero ¿alguien tiene alguna idea al respecto?

Pregunta 2: ¿Qué hay de usar Python para llamar al verdadero HAML de Ruby?

Finalmente, si alguien sabe de una implementación de HAML en Python que esté completa y que admita Textile o Markdown, así como también el texto simple, entonces avíseme.

Pregunta 3: ¿Existe una traducción completa de HAML a Python, incluida la compatibilidad con Markdown o Textile?

¡Gracias!


Si bien esto podría terminar siendo más problemático de lo que vale, PROBABLEMENTE es posible aprovechar la plataforma Java o .NET y aún ejecutar su aplicación Django en Jython o IronPython (con algunos ajustes menores, estoy seguro) y también ser capaz de Aproveche la gema HAML de Ruby a través de jRuby o IronRuby.

Estoy seguro de que habrá algunas peculiaridades para que esto funcione, pero estoy seguro de que sería posible.

Una vez más, esto probablemente sea mucho más problemático de lo que vale la pena (considerando que tendría que mover su aplicación a una plataforma completamente nueva), pero sería un proyecto bastante divertido para trabajar.


Pregunta 1 : los archivos HTML estáticos deberían funcionar correctamente (a menos que planee usar la función de evaluación de rubíes de HAML para el contenido dinámico). Utilizo una forma similar en un sitio web de php con hojas de estilo SASS. Solo asegúrate de iniciar HAML en el modo de visualización del directorio antes de comenzar a piratear;)

Pregunta 2 : si bien es posible forzar un proceso ruby ​​para crear código HTML, pero no lo recomiendo a usted, porque inicializar un intérprete ruby ​​y cargar los archivos requeridos requiere una gran cantidad de CPU, por lo que es mejor quedarse con los archivos estáticos. Si necesita la función de evaluación de ruby ​​para incluir datos creados en el tiempo de ejecución en el documento, será mejor que consulte a eventmachine y que sea un servidor (para que su aplicación Django pueda conectarse a él, y solicite la generación de HTML, sin forzar una nueva versión). intérprete cada vez).

Pregunta 3 : tal vez esto es lo más difícil. Hay GHRML que está abandonado; SHPAML que solo implementa un pequeño subconjunto de HAML, DMSL que actualmente es muy experimental, pero ya es compatible con la mayoría de HAML y también con código de Python, pero carece de compatibilidad con Markdown o Textile. Pero aparentemente no hay una alternativa (aún) a Ruby HAML que admita todas las funciones requeridas.