Server IP : 85.214.239.14 / Your IP : 3.22.41.80 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 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 : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /usr/lib/python3/dist-packages/markdown_it/rules_inline/ |
Upload File : |
# Parse backticks import re from .state_inline import StateInline regex = re.compile("^ (.+) $") def backtick(state: StateInline, silent: bool) -> bool: pos = state.pos ch = state.srcCharCode[pos] # /* ` */ if ch != 0x60: return False start = pos pos += 1 maximum = state.posMax # scan marker length while pos < maximum and (state.srcCharCode[pos] == 0x60): # /* ` */ 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.srcCharCode[matchEnd] == 0x60): # /* ` */ 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