Example #1
0
    def __handle_text_token(
        cls,
        output_html: str,
        next_token: MarkdownToken,
        transform_state: TransformState,
    ) -> str:
        """
        Handle the text token.
        """
        text_token = cast(TextMarkdownToken, next_token)
        adjusted_text_token = ParserHelper.resolve_all_from_text(
            text_token.token_text)

        token_parts = []
        if transform_state.is_in_code_block:
            token_parts.extend([
                ParserHelper.resolve_all_from_text(
                    text_token.extracted_whitespace),
                adjusted_text_token,
            ])
        elif transform_state.is_in_html_block:
            token_parts.extend([
                text_token.extracted_whitespace,
                adjusted_text_token,
                ParserHelper.newline_character,
            ])
        else:
            token_parts.append(adjusted_text_token)

        token_parts.insert(0, output_html)
        return "".join(token_parts)
Example #2
0
    def __handle_raw_html_token(
        cls,
        output_html: str,
        next_token: MarkdownToken,
        transform_state: TransformState,
    ) -> str:
        """
        Handle the raw html token.
        """
        _ = transform_state

        raw_html_token = cast(RawHtmlMarkdownToken, next_token)
        return "".join([
            output_html,
            "<",
            ParserHelper.resolve_all_from_text(raw_html_token.raw_tag),
            ">",
        ])
Example #3
0
    def __handle_inline_code_span_token(
        cls,
        output_html: str,
        next_token: MarkdownToken,
        transform_state: TransformState,
    ) -> str:
        """
        Handle the code span token.
        """
        _ = transform_state

        code_span_token = cast(InlineCodeSpanMarkdownToken, next_token)
        return "".join([
            output_html,
            "<code>",
            ParserHelper.resolve_all_from_text(code_span_token.span_text),
            "</code>",
        ])