pygmentsからの出力をカスタマイズするにはどうすればよいですか?
質問
pygmentsを通じてpythonソースファイルを実行すると、pygmentsが使用しているCSSファイルに属する要素クラスを持つhtmlコードが出力されます。 CSSファイルを提供する必要がないように、出力されるHTMLにスタイル属性を含めることができますか?
解決
noclasses 属性を True に設定すると、インラインスタイルのみが生成されます。うまく機能するスニペットを次に示します。
formatter = HtmlFormatter(style=MyStyle)
formatter.noclasses = True
print highlight(content,PythonLexer(),formatter)
他のヒント
HtmlFormatterコンストラクターへのパスfull = True。
@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))
[ref .: http://pygments.org/docs/formatters/ 、HtmlFormatterを参照]
(基本的にはTempusの答えと同じです。完全なコードスニペットで数秒節約できると思いました)
PS。元の質問が不適切であると考える人は、例えばサードパーティのサービスがホストするブログエントリに強調表示されたコードを貼り付けるタスク。
通常、あなたのコードはウェブページ上の多くのものの1つにすぎません。多くの場合、コードは他のコンテンツとは異なって見える必要があります。一般に、ページスタイル全体の一部としてコードのスタイルを制御する必要があります。これは、CSSが最初の最良の選択です。
ただし、より適切と思われる場合は、HTMLにスタイルを埋め込むことができます。 <style>
タグ内の<head>
タグを示す例です。
所属していません StackOverflow