pygmentsからの出力をカスタマイズするにはどうすればよいですか?

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

  •  05-07-2019
  •  | 
  •  

質問

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>タグを示す例です。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top