7
votes

Strip Whitepace de la sortie de modèle de mako (pylônes)

J'utilise Mako + Pylônes et je l'ai remarqué une quantité horrible d'espaces dans ma sortie HTML.

Comment puis-je faire pour se débarrasser de lui? Reddit parviennent à le faire.


0 commentaires

5 Réponses :


0
votes

Si vos données ne sont pas trop dynamiques, vous pouvez stocker un cache optimisé de la sortie de modèle et servir ceci aux clients Web.


2 commentaires

Je ne comprends pas comment cela se rapporte à mon problème des espaces blancs. Pouvez-vous préciser?


Eh bien, ont Mako générer les modèles comme il le fait maintenant. Et, plutôt que d'ajouter la complexité de post-traitement de chaque demande (le plus souvent par des expressions régulières), servent une version en cache de la page une fois qu'il a été traité.



2
votes

Je ne suis pas sûr de savoir s'il y a un moyen de le faire au sein de Mako, mais vous pouvez toujours faire du traitement post-rendu avant de servir la page. Par exemple, disons que vous avez le code suivant qui génère votre espace horrible: xxx

Vous pouvez ajouter une étape supplémentaire comme: xxx

... où CleanUp_whitSpace () est une fonction qui fait ce que vous voulez (cela pourrait passer par HTML Tidy ou mince ou autre). Ce n'est pas le moyen le plus efficace de le faire, mais cela fait un exemple rapide :)


0 commentaires

8
votes

Il y a la truc de la barre oblique inverse.

Regardez la page d'accueil de Mako http://makoemplates.org pour un exemple . P>

<%def name="makerow(row)">
    <tr>
    % for name in row:
        <td>${name}</td>\
    % endfor
    </tr>
</%def>




0
votes

Semblable à la réponse de Dan, j'ai passé la sortie rendue via cette fonction qui conserve uniquement le blanc "délibéré". J'ai défini cela pour être deux retours de carragile dans une rangée (c.-à-d. Une ligne vide)

SO P>

whitespace_mess = template.render(somevar="Hello \nThere")
cleaned_up_output = filter_newline(whitespace_mess)


0 commentaires