From 04f8d5f3093e1b13aa704590f4d0bf9dce6afce9 Mon Sep 17 00:00:00 2001 From: Christoph Schlosser Date: Fri, 19 Sep 2025 20:14:59 +0200 Subject: g2h: Make sure backticks in plaintext doesn't break page rendering --- src/g2h/file_page.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/g2h/file_page.py') diff --git a/src/g2h/file_page.py b/src/g2h/file_page.py index a558254..d64cb84 100644 --- a/src/g2h/file_page.py +++ b/src/g2h/file_page.py @@ -1,6 +1,7 @@ import base64 import filetype import os +import re from .file import generate_breadcrumbs, sanitize_file_name, tree_join from .page import Page @@ -35,8 +36,13 @@ class FilePage(Page): def context(self): file_bytes = self.read_file() content, file_type = bytes_to_content(file_bytes) + backtick_max = 2 + if file_type == 'text': + matches = re.findall('`+', content) + backtick_max = max(max(len(match) for match in matches) if matches else 0, backtick_max) return { + 'backtick_max': backtick_max + 1, 'breadcrumbs': generate_breadcrumbs(self.content_subdir, self.commit, os.path.join(self.file_path, self.file_name), self.tree.blobs), 'content': content, 'content_subdir': self.content_subdir, -- cgit v1.2.3