File tree Expand file tree Collapse file tree 2 files changed +17
-3
lines changed
Expand file tree Collapse file tree 2 files changed +17
-3
lines changed Original file line number Diff line number Diff line change 11from _typeshed import Incomplete
2+ from typing import Callable
23
34ATX : str
45ATX_CLOSED : str
@@ -14,13 +15,15 @@ STRIP: str
1415STRIP_ONE : str
1516
1617
18+ type CodeLanguageCallback = Callable [[Incomplete ], str | None ]
19+
1720def markdownify (
1821 html : str ,
1922 autolinks : bool = ...,
2023 bs4_options : str = ...,
2124 bullets : str = ...,
2225 code_language : str = ...,
23- code_language_callback : Incomplete | None = ...,
26+ code_language_callback : CodeLanguageCallback | None = ...,
2427 convert : list [str ] | None = ...,
2528 default_title : bool = ...,
2629 escape_asterisks : bool = ...,
@@ -48,7 +51,7 @@ class MarkdownConverter:
4851 bs4_options : str = ...,
4952 bullets : str = ...,
5053 code_language : str = ...,
51- code_language_callback : Incomplete | None = ...,
54+ code_language_callback : CodeLanguageCallback | None = ...,
5255 convert : list [str ] | None = ...,
5356 default_title : bool = ...,
5457 escape_asterisks : bool = ...,
Original file line number Diff line number Diff line change 5555
5656html = '<b>test</b>'
5757soup = BeautifulSoup (html , 'html.parser' )
58- MarkdownConverter ().convert_soup (soup ) == '**test**'
58+ MarkdownConverter ().convert_soup (soup ) == '**test**'
59+
60+
61+ def callback (el : BeautifulSoup ) -> str | None :
62+ return el ['class' ][0 ] if el .has_attr ('class' ) else None
63+
64+
65+ MarkdownConverter (code_language_callback = callback ).convert ("" )
66+ MarkdownConverter (code_language_callback = lambda el : None ).convert ("" )
67+
68+ markdownify ('<pre class="python">test\n foo\n bar</pre>' , code_language_callback = callback )
69+ markdownify ('<pre class="python">test\n foo\n bar</pre>' , code_language_callback = lambda el : None )
You can’t perform that action at this time.
0 commit comments