私はPythonで正規表現を使用して、MarkdownでフォーマットされたコメントをCoffeeScriptファイルから引き出しています。CS は、### を複数行コメントの開始および終了マーカーとして使用します。# はヘッダー クラスを示すために使用されるため、これはマークダウン形式と競合します。Markdown に % または ^ またはその他の文字をヘッダー クラス トークンとして解釈させることは可能ですか?
1 に答える
1
クラスを利用することで、PythonMarkdownの多くの要素をオーバーライドすることができますmarkdown.extensions.Extension
。少し掘り下げて実験した後、汎用のBlockParserを拡張するカスタムヘッダーパーサーを作成することで、これを機能させることができました。
本質的にはこのように見えます
class CustomHeaderParser( BlockParser )
def run( params )
# implementation
class CustomExtension( Extension )
def extendMarkdown( self, md, md_globals )
md.parser.blockprocessor.add( 'custom_header_parser', CustomHeaderParser(md.parser), '<hashheader' )
md.registerExtension( self )
markdown_parser = markdown.Markdown( extensions=[ CaretHeaderExtension() ] )
markdown_parser.convert( markdown_text )
これを調査する途中で、私は別の、あまり望ましくない回避策も見つけました。マークダウンがSetextとatxを理解するヘッダースタイルには2つのタイプがあります。Setextは、テキストの下の行で====と-----を使用して、2つのヘッダーレベルh1とh2を提供します。
于 2012-05-21T01:59:36.493 に答える