diff --git a/shared/jekyll_import.py b/shared/jekyll_import.py
index bbcf9fb212cdeacd8ac1422bd05fa54245f5bf19..9372e4db32754437edaf5b5d8dda55ac74c069a4 100644
--- a/shared/jekyll_import.py
+++ b/shared/jekyll_import.py
@@ -185,13 +185,13 @@ def get_or_create_image(
     file = ImageFile(open(img_path, "rb"), name=img_path)
     image = Image(title=file_path, file=file, collection=collection)
 
-    try:
-        if not image_params["dry_run"]:
+    if not image_params["dry_run"]:
+        try:
             image.save()
-    except Exception as e:
-        msg = "Nelze uložit obrázek"
-        logger.warning(msg, extra={"exc": e})
-        return None, msg
+        except Exception as e:
+            msg = "Nelze uložit obrázek"
+            logger.warning(msg, extra={"exc": e})
+            return None, msg
     return image, ""
 
 
@@ -386,6 +386,50 @@ class JekyllArticleImporter:
         text = re.split(r"^\s*$", text.strip(), flags=re.MULTILINE)[0]
         return plain_md.convert(text)
 
+    def handle_fancybox_gallery(self, article, meta: dict):
+        for gallery in meta["fancybox"]:
+            # gallery by měl být dict o name a img
+            gallery_name = gallery.get("name", "")
+            if gallery_name:
+                article.content.append(
+                    ("text", RichText("<h2>{}</h2>".format(gallery_name)))
+                )
+
+            gallery_images = gallery.get("img", [])
+
+            if not len(gallery_images):
+                self.page_log += (
+                    "{} Nepodařilo se získat obrázky v galerii {}\n".format(
+                        article.title, gallery_name
+                    )
+                )
+                continue
+
+            wagtail_image_list = []
+            for img in gallery_images:
+                if not img.get("src"):
+                    self.page_log += (
+                        '{}: Obrázek {} v galerii namá atribut "src" \n'.format(
+                            article.title, img.get("title", "")
+                        )
+                    )
+                    continue
+
+                wagtail_image, log_message = get_or_create_image(
+                    self.path, img["src"], self.collection, self.repo_name
+                )
+                wagtail_image_list.append(wagtail_image)
+                # article.content += GalleryBlock(gallery_items=wagtail_image_list)
+
+                if log_message:
+                    self.page_log += "{}: {}".format(article.title, log_message)
+
+            # article.content += [("gallery", GalleryBlock(local_blocks=(
+            #     'gallery_items', ListBlock(
+            #         child_block=ImageChooserBlock()
+            #     ) TODO use JSON
+            # )))]
+
     @staticmethod
     def handle_meta_is_str(meta: str) -> dict:
         """
@@ -455,8 +499,11 @@ class JekyllArticleImporter:
         except (Page.DoesNotExist, Page.MultipleObjectsReturned):
             article = self.page_model()
 
-        article.content = [("text", RichText(html))]
         article.perex = self.get_perex(md) or "..."
+        article.content = [("text", RichText(html))]
+
+        if meta.get("fancybox", None):
+            self.handle_fancybox_gallery(article, meta)
 
         if meta.get("date", None):
             meta_date = meta["date"]
@@ -551,7 +598,10 @@ class JekyllArticleImporter:
                 if self.dry_run or not article:
                     return
 
-                article.save()  # ujistím se, že mám "redirect_page" pro Redirect uloženou
+                try:
+                    article.save()  # ujistím se, že mám "redirect_page" pro Redirect uloženou
+                except:
+                    pass
                 self.create_redirects(article, match)
             else:
                 msg = "Nepodporovaná přípona souboru: %s" % ext