2010-01-15 11 views
2

J'ai quelques problèmes avec chaîne suivante en essayant de syntaxe les mettre en évidence:Markdown et la coloration syntaxique dans Django avec le code mixte

Exemple

<code class="php"><? echo "<input type=\"text\">"; ?></code> 

La partie php est rendu correctement, mais la partie html pauses.

J'utilise le Markdown et la coloration syntaxique extrait de

http://www.djangosnippets.org/snippets/119/

Toute idée comment échapper à la partie html dans le code php correctement?

+0

Si vous me dites de quelle manière ma solution ne fonctionne pas (quelle sortie obtenez-vous? Quelles sorties attendez-vous? Quelles erreurs obtenez-vous?) Je pourrais peut-être vous aider davantage. Désolé ma réponse n'a pas fonctionné pour vous. –

Répondre

1

On dirait que vous devez passer votre code hybride PHP/HTML à travers le filtre escape, pour convertir les instances de <-&lt; etc.

l'utiliser comme ceci dans un modèle, en supposant avez votre code une variable de contexte de modèle appelé mycode:

{{ mycode|escape }} 
+0

merci pour votre aide, mais cela ne fonctionne pas ... je vais demander à notre groupe local d'utilisateurs de python ce soir merci quand même! – nfo

1

Python Markdown intègre à Pygments qui font la mise en évidence de la syntaxe.

Vous pouvez passer de la démarque au texte au format html avec le code source avec la syntaxe en surbrillance.

La version courte est:

import markdown 
html = markdown.markdown(text,['codehilite']) 

html contient le texte au format HTML avec le code source en surbrillance. Vous avez juste besoin de pointer vers le style CSS, c'est tout.

Jetez un oeil à how to setup markdow and pygments to do syntax highlight for blogger.

Dans votre solution, vous pouvez simplement inclure une référence à ce qui le rend css encore plus facile.