Markdownを静的htmlページに変換するために、 PygmentsでJekyllを使用しています。コンテンツはGitHub ページ用に用意されています。コード サンプル (この例ではシェル コマンド) を表示するには、次のセクションをファイルに追加します。
{% highlight sh %}
$ ls -1a
.
..
README
{% endhighlight %}
パラメータsh
は、レクサーを構成するシェルを参照します。console
テキストの強調表示など、他のレクサーを選択することもできます。
ls
などのいくつかの基本的なコマンドがシェル レクサーによって強調表示されていないことに気付きました。これは、lexerのソース コードにも見られます。次の抜粋は、シェル lexer (BashLexer クラスにあります) のキーワード定義を示しています。
...
'basic': [
(r'\b(if|fi|else|while|do|done|for|then|return|function|case|'
r'select|continue|until|esac|elif)\s*\b',
Keyword),
(r'\b(alias|bg|bind|break|builtin|caller|cd|command|compgen|'
r'complete|declare|dirs|disown|echo|enable|eval|exec|exit|'
r'export|false|fc|fg|getopts|hash|help|history|jobs|kill|let|'
r'local|logout|popd|printf|pushd|pwd|read|readonly|set|shift|'
r'shopt|source|suspend|test|time|times|trap|true|type|typeset|'
r'ulimit|umask|unalias|unset|wait)\s*\b(?!\.)',
Name.Builtin),
(r'#.*\n', Comment),
(r'\\[\w\W]', String.Escape),
(r'(\b\w+)(\s*)(=)', bygroups(Name.Variable, Text, Operator)),
(r'[\[\]{}()=]', Operator),
(r'<<-?\s*(\'?)\\?(\w+)[\w\W]+?\2', String),
(r'&&|\|\|', Operator),
],
...
キーワードのリストを拡張する方法はありますか、または代わりに別のレクサーを推奨できますか?