Pelican はPython-MarkdownとCodeHilite拡張機能を使用して、コードブロックを Pygments に渡します。コードブロックにはインライン コード スニペットは含まれないことに注意してください。実際、インライン コードの強調表示をサポートする Markdown パーサーは知りません。一般に、インライン コード スニペットは短すぎて効果的に強調表示できず、ほとんどの場合、Pygments の言語推測アルゴリズムを利用するには短すぎます。
Attribute List Extensionを使用して Markdown に言語を通知しようとしたようです。ただし、<code>
コード スニペットをラップする HTML タグにクラスを追加するだけです。CodeHilite 拡張機能はブロックでのみ機能するため、ブロックを確認することも、Pygments に渡すこともありません。
利用可能ないくつかの異なるオプションがあります (それぞれに必要な作業量が増えます)。
ブロックと一致するように背景とテキストの色を変更する独自の CSS を作成できます。構文の強調表示は得られませんが、インライン コード スニペットは少なくともテーマに一致します。ここで言語を定義する必要はありません。
JavaScript コードの強調表示ライブラリを使用して、属性リスト拡張で定義した言語に基づいてすべてのコード スニペットを強調表示できます。ただし、これには JS ライブラリの CSS を再定義して、Pygments の出力と一致させる必要がある場合があります。
ブロックに加えてインラインコードスニペットも強調表示する独自の Python-Markdown 拡張 (またはおそらく CodeHilite をフォーク) を作成できます。
個人的には上記(1)をお勧めします。実際、ページを見ると、コード ブロックに次のように定義されているように見えます。
.highlight pre, .highlighttable pre {
background: #272822;
color: #f8f8f2;
}
つまり<pre>
、「highlight」クラス (または「highlighttable」クラス) が割り当てられた親を持つ要素は、それらの色で表示されます。インライン コードに同じ色を割り当てるには、次のルールを追加します。
code {
background: #272822;
color: #f8f8f2;
}
Pelican テーマ ( http://vfxware.com/theme/css/bootstrap.slate.min.cssにあるようです) で定義されたスタイルの後に必ず定義してください。
確かに、既存の CSS を変更することはできますが、後で新しいバージョンのテーマに更新したり、テーマを完全に変更したりする場合は、独自のルールを再定義する必要があります。したがって、私は独自の一連のオーバーライドを別のファイルに定義するのが好きです。このファイルは常に最後にロードされるようにします。