]> git.ipfire.org Git - ipfire.org.git/blobdiff - src/backend/wiki.py
wiki.py: fixed breadcrumb generation
[ipfire.org.git] / src / backend / wiki.py
index 349a94d08b3b76324f518eb471a86da4c6813b11..03368e8057e8f2521df2e78117571876d4580508 100644 (file)
@@ -146,7 +146,7 @@ class Wiki(misc.Object):
 
                ret = []
                for part in ("/".join(parts[:i]) for i in range(1, len(parts))):
-                       ret.append(("/%s" % part, self.get_page_title(part, os.path.basename(part))))
+                       ret.append(("/docs/%s" % part, self.get_page_title(part, os.path.basename(part))))
 
                return ret
 
@@ -390,6 +390,9 @@ class Page(misc.Object):
 
                return NotImplemented
 
+       def __hash__(self):
+               return hash(self.page)
+
        @staticmethod
        def sanitise_page_name(page):
                if not page:
@@ -704,7 +707,7 @@ class File(misc.Object):
                        return thumbnail
 
                # Generate the thumbnail
-               thumbnail = util.generate_thumbnail(self.blob, size, format=format)
+               thumbnail = util.generate_thumbnail(self.blob, size, format=format, quality=95)
 
                # Put it into the cache for forever
                await self.backend.cache.set(cache_key, thumbnail)
@@ -814,7 +817,7 @@ class WikiRenderer(misc.Object):
                        <div class="columns is-centered">
                                <div class="column is-8">
                                        <figure class="image modal-trigger" data-target="%(id)s">
-                                               <img src="/docs%(url)s?s=640&amp;%(args)s" alt="%(caption)s">
+                                               <img src="/docs%(url)s?s=960&amp;%(args)s" alt="%(caption)s">
 
                                                <figcaption class="figure-caption">%(caption)s</figcaption>
                                        </figure>
@@ -824,7 +827,7 @@ class WikiRenderer(misc.Object):
 
                                                <div class="modal-content">
                                                        <p class="image">
-                                                               <img src="/docs%(url)s?s=1920&amp;%(args)s" alt="%(caption)s"
+                                                               <img src="/docs%(url)s?s=2048&amp;%(args)s" alt="%(caption)s"
                                                                        loading="lazy">
                                                        </p>
 
@@ -841,6 +844,12 @@ class WikiRenderer(misc.Object):
                        </div>
                """
 
+               # Try to split query string
+               url, delimiter, qs = url.partition("?")
+
+               # Parse query arguments
+               args = urllib.parse.parse_qs(qs)
+
                # Skip any absolute and external URLs
                if url.startswith("https://") or url.startswith("http://"):
                        return html % {
@@ -850,12 +859,6 @@ class WikiRenderer(misc.Object):
                                "args"      : args,
                        }
 
-               # Try to split query string
-               url, delimiter, qs = url.partition("?")
-
-               # Parse query arguments
-               args = urllib.parse.parse_qs(qs)
-
                # Build absolute path
                url = self.backend.wiki.make_path(self.path, url)
 
@@ -945,9 +948,12 @@ class LinkedFilesExtractor(markdown.treeprocessors.Treeprocessor):
        """
                Finds all Linked Files
        """
-       def run(self, root):
+       def __init__(self, *args, **kwargs):
+               super().__init__(*args, **kwargs)
+
                self.md.files = []
 
+       def run(self, root):
                # Find all images and store the URLs
                for image in root.findall(".//img"):
                        src = image.get("src")