Example #1
0
 def __handle_start_list_token(
     cls,
     output_html: str,
     next_token: MarkdownToken,
     transform_state: TransformState,
 ) -> str:
     """
     Handle the start unordered list token.
     """
     list_token = cast(ListStartMarkdownToken, next_token)
     transform_state.is_in_loose_list = (
         TransformToGfmListLooseness.calculate_list_looseness(
             transform_state.actual_tokens,
             transform_state.actual_token_index,
             list_token,
         ))
     if list_token.is_ordered_list_start:
         token_parts = ["<ol"]
         if list_token.list_start_content != "1":
             token_parts.extend(
                 [' start="',
                  str(int(list_token.list_start_content)), '"'])
         token_parts.extend([">", ParserHelper.newline_character, "<li>"])
         transform_state.add_leading_text = "".join(token_parts)
     else:
         transform_state.add_leading_text = "".join(
             ["<ul>", ParserHelper.newline_character, "<li>"])
     return output_html
Example #2
0
    def __handle_start_block_quote_token(
        cls,
        output_html: str,
        next_token: MarkdownToken,
        transform_state: TransformState,
    ) -> str:
        """
        Handle the start block quote token.
        """
        _ = next_token

        token_parts = [output_html]
        if output_html and output_html[-1] != ParserHelper.newline_character:
            token_parts.append(ParserHelper.newline_character)
        transform_state.is_in_loose_list = True
        token_parts.extend(["<blockquote>", ParserHelper.newline_character])
        return "".join(token_parts)
Example #3
0
 def __handle_end_list_token(
     cls,
     output_html: str,
     next_token: MarkdownToken,
     transform_state: TransformState,
 ) -> str:
     """
     Handle the end list token for either an ordered or unordered list.
     """
     transform_state.is_in_loose_list = (
         TransformToGfmListLooseness.reset_list_looseness(
             transform_state.actual_tokens,
             transform_state.actual_token_index,
         ))
     transform_state.add_trailing_text = "".join([
         "</li>",
         ParserHelper.newline_character,
         "</ul>" if next_token.is_unordered_list_end else "</ol>",
     ])
     return output_html
Example #4
0
    def __handle_end_block_quote_token(
        cls,
        output_html: str,
        next_token: MarkdownToken,
        transform_state: TransformState,
    ) -> str:
        """
        Handle the end block quote token.
        """
        _ = next_token

        token_parts = [output_html]
        if output_html[-1] != ParserHelper.newline_character:
            token_parts.append(ParserHelper.newline_character)
        transform_state.is_in_loose_list = (
            TransformToGfmListLooseness.reset_list_looseness(
                transform_state.actual_tokens,
                transform_state.actual_token_index,
            ))
        token_parts.extend(["</blockquote>", ParserHelper.newline_character])
        return "".join(token_parts)