Как я могу настроить выходные данные из pygments?

StackOverflow https://stackoverflow.com/questions/624345

  •  05-07-2019
  •  | 
  •  

Вопрос

Если я запускаю исходный файл python через pygments, он выводит html-код, класс элементов которого принадлежит некоторому CSS-файлу, используемому pygments.Могут ли атрибуты стиля быть включены в выводимый HTML-код, чтобы мне не нужно было предоставлять файл CSS?

Это было полезно?

Решение

Если для атрибута noclasses установлено значение True , будут созданы только встроенные стили. Вот фрагмент кода, который отлично справляется со своей задачей:


formatter = HtmlFormatter(style=MyStyle)
formatter.noclasses = True
print highlight(content,PythonLexer(),formatter)

Другие советы

Pass full = True для конструктора HtmlFormatter.

@Ignacio:совсем наоборот:

from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import HtmlFormatter

code = 'print "Hello World"'
print highlight(code, PythonLexer(), HtmlFormatter(noclasses=True))

[ исх.: http://pygments.org/docs/formatters/, смотрите HtmlFormatter ]

(В принципе, это то же самое, что и ответ Tempus, я просто подумал, что полный фрагмент кода может сэкономить несколько секунд ) )

PS.Те, кто думает, что первоначальный вопрос поставлен некорректно, могут представить, напримерзадача вставки выделенного кода в запись блога, размещенную сторонним сервисом.

Обычно ваш код - это только одна из многих вещей на веб-странице. Вы часто хотите, чтобы код выглядел иначе, чем другой контент. Как правило, вы хотите контролировать стиль кода как часть общего стиля страницы. CSS - ваш первый лучший выбор для этого.

Однако вы можете встроить стили в HTML, если это кажется лучше. Вот пример, который показывает тег <style> в теге <head>.

http://www.w3schools.com/TAGS/tag_style.asp

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top