403Webshell
Server IP : 216.250.13.251  /  Your IP : 216.73.216.164
Web Server : nginx/1.24.0
System : Linux gunay 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64
User : root ( 0)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/markdown_it/rules_inline/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/markdown_it/rules_inline//backticks.py
# Parse backticks
import re

from .state_inline import StateInline

regex = re.compile("^ (.+) $")


def backtick(state: StateInline, silent: bool) -> bool:
    pos = state.pos

    if state.src[pos] != "`":
        return False

    start = pos
    pos += 1
    maximum = state.posMax

    # scan marker length
    while pos < maximum and (state.src[pos] == "`"):
        pos += 1

    marker = state.src[start:pos]
    openerLength = len(marker)

    if state.backticksScanned and state.backticks.get(openerLength, 0) <= start:
        if not silent:
            state.pending += marker
        state.pos += openerLength
        return True

    matchStart = matchEnd = pos

    # Nothing found in the cache, scan until the end of the line (or until marker is found)
    while True:
        try:
            matchStart = state.src.index("`", matchEnd)
        except ValueError:
            break
        matchEnd = matchStart + 1

        # scan marker length
        while matchEnd < maximum and (state.src[matchEnd] == "`"):
            matchEnd += 1

        closerLength = matchEnd - matchStart

        if closerLength == openerLength:
            # Found matching closer length.
            if not silent:
                token = state.push("code_inline", "code", 0)
                token.markup = marker
                token.content = state.src[pos:matchStart].replace("\n", " ")
                if (
                    token.content.startswith(" ")
                    and token.content.endswith(" ")
                    and len(token.content.strip()) > 0
                ):
                    token.content = token.content[1:-1]
            state.pos = matchEnd
            return True

        # Some different length found, put it in cache as upper limit of where closer can be found
        state.backticks[closerLength] = matchStart

    # Scanned through the end, didn't find anything
    state.backticksScanned = True

    if not silent:
        state.pending += marker
    state.pos += openerLength
    return True

Youez - 2016 - github.com/yon3zu
LinuXploit