diff --git a/district/jekyll_import.py b/district/jekyll_import.py
index 4034cf7b0f1cef92f97bcb6df945a38ff660c79f..7d9fbaa11b2337d9e6b7c431b43d72d667e7e170 100644
--- a/district/jekyll_import.py
+++ b/district/jekyll_import.py
@@ -58,6 +58,7 @@ class ImgProcessor(InlineProcessor):
         el.attrib["alt"] = m.group(1)
         el.attrib["format"] = "left"
         collection = get_collection()
+        # TODO FIX REPO_NAME
         image_obj = get_or_create_image(
             params["path"], m.group(2), collection=collection, repo_name=""
         )
@@ -198,8 +199,8 @@ def get_or_create_image(path, file_path, collection, repo_name) -> Image or None
         except FileNotFoundError:
             img_name = file_path.split("/")[-1]
             img_assets_folder = repo_name.split(".")[0]  # TODO make as form field
-            img_url = "https://a.pirati.cz/{}/img/posts/{}".format(
-                img_assets_folder, img_name
+            img_url = "https://a.pirati.cz/{}/img/{}".format(
+                img_assets_folder, file_path
             )
             img_path = os.path.join(path, img_name)
             try:
@@ -290,45 +291,36 @@ def perform_import(
     articlepath = site_config.get("articlepath", "aktuality")
 
     for fn in os.listdir(os.path.join(path, POSTS_DIR)):
-        fname = os.path.join(POSTS_DIR, fn)
-        match = re.match(r"(\d*)-(\d*)-(\d*)-(.*)\.(.*)", fn)
-        if match:
-            y = match.group(1)
-            m = match.group(2)
-            d = match.group(3)
-            slug = match.group(4)
-            ext = match.group(5)
-
-            if ext == "md":
-                article, success = import_post(
-                    path, fname, article_parent_page, title_suffix, dry_run, repo_name
+        if os.path.isdir(os.path.join(path, POSTS_DIR, fn)):
+            posts_sub_folder = os.path.join(path, POSTS_DIR, fn)
+            for sub_fn in os.listdir(posts_sub_folder):
+                file_path = os.path.join(posts_sub_folder, sub_fn)
+                success_counter = article_parser(
+                    articlepath,
+                    path,
+                    sub_fn,
+                    file_path,
+                    article_parent_page,
+                    title_suffix,
+                    dry_run,
+                    repo_name,
+                    success_counter,
+                    site,
                 )
-
-                if not success:
-                    continue
-
-                if dry_run:
-                    success_counter += 1
-                    continue
-
-                Redirect.objects.get_or_create(
-                    site=site,
-                    old_path="/%s/%s/%s/%s/%s"
-                    % (articlepath, y, m.zfill(2), d.zfill(2), slug),
-                    defaults={"is_permanent": True, "redirect_page": article},
-                )
-
-                success_counter += 1
-            else:
-                msg = "ERROR: Nepodporovaná přípona souboru: %s" % ext
-                message_list.append({"level": ERROR, "text": msg})
-                stdout.write(msg)
         else:
-            msg = "Skipped: %s" % fn
-            stdout.write(msg)
-
-            if dry_run:
-                message_list.append({"level": WARNING, "text": msg})
+            file_path = os.path.join(POSTS_DIR, fn)
+            success_counter = article_parser(
+                articlepath,
+                path,
+                fn,
+                file_path,
+                article_parent_page,
+                title_suffix,
+                dry_run,
+                repo_name,
+                success_counter,
+                site,
+            )
 
     if success_counter:
         base_msg = "Lze importovat" if dry_run else "Úspěšně naimportováno"
@@ -337,3 +329,55 @@ def perform_import(
         )
 
     return message_list
+
+
+def article_parser(
+    articlepath: str,
+    path: str,
+    fn,
+    file_path,
+    article_parent_page,
+    title_suffix,
+    dry_run,
+    repo_name,
+    success_counter,
+    site,
+):
+    match = re.match(r"(\d*)-(\d*)-(\d*)-(.*)\.(.*)", fn)
+    if match:
+        y = match.group(1)
+        m = match.group(2)
+        d = match.group(3)
+        slug = match.group(4)
+        ext = match.group(5)
+
+        if ext == "md":
+            article, success = import_post(
+                path, file_path, article_parent_page, title_suffix, dry_run, repo_name
+            )
+
+            if not success:
+                return success_counter
+
+            if dry_run:
+                return success_counter + 1
+
+            Redirect.objects.get_or_create(
+                site=site,
+                old_path="/%s/%s/%s/%s/%s"
+                % (articlepath, y, m.zfill(2), d.zfill(2), slug),
+                defaults={"is_permanent": True, "redirect_page": article},
+            )
+
+            success_counter += 1
+        else:
+            msg = "ERROR: Nepodporovaná přípona souboru: %s" % ext
+            message_list.append({"level": ERROR, "text": msg})
+            stdout.write(msg)
+    else:
+        msg = "Skipped: %s" % fn
+        stdout.write(msg)
+
+        if dry_run:
+            message_list.append({"level": WARNING, "text": msg})
+    return success_counter