Уценка и подсветка синтаксиса в Django со смешанным кодом - PullRequest
2 голосов
/ 15 января 2010

У меня есть некоторые проблемы со следующей строкой, пока пытаясь выделить их синтаксисом:

Пример

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

Часть php отображается правильно, но html-часть разрывается.

Я использую фрагмент Markdown и подсветку синтаксиса из

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

Есть идеи, как правильно избежать html-части внутри php-кода?

Ответы [ 2 ]

1 голос
/ 04 марта 2010

Уценка Python интегрируется с Pygments, которые делают подсветку синтаксиса.

Вы можете перейти от уценки к форматированному HTML-тексту с исходным кодом с выделенным синтаксисом.

Короткая версия:

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

html содержит текст в формате html с выделенным исходным кодом. Вам просто нужно указать стиль CSS, вот и все.

Посмотрите на , как настроить markdow и фрагменты для выделения синтаксиса для блоггера.

В вашем решении вы можете просто включить ссылку на CSS, что делает его еще проще.

1 голос
/ 15 января 2010

Похоже, вам нужно передать гибридный код PHP / HTML через фильтр escape для преобразования экземпляров < в &lt; и т. Д.

Используйте это так в шаблоне, предполагая, что ваш код находится в переменной контекста шаблона с именем mycode:

{{ mycode|escape }}
...