diff --git a/docs/README-ja.md b/docs/README-ja.md
index 07bb0c2..9900a95 100644
--- a/docs/README-ja.md
+++ b/docs/README-ja.md
@@ -50,60 +50,61 @@ issuesに投稿する場合必ずリクエストタグを付けて投稿して
## 日本語訳:
-| 名前 | 画像 |
+| Name | Image |
|-------------------------------|--------|
-| [Angular](/Angular/) |
|
-| [ArchLinux](/ArchLinux/) |
|
-| [C#](/C%23/) |
|
-| [C++](/C%2B%2B/) |
|
-| [C,C#,C++](/C,C%23,C%2B%2B/) |
|
-| [C](/C/) |
|
-| [Clion](/Clion/) |
|
-| [Cloudflare](/Cloudflare/) |
|
-| [Cobol](/Cobol/) |
|
-| [Crowdstrike](/Crowdstrike/) |
|
-| [Figma](/Figma/) |
|
-| [FORTRAN](/FORTRAN/) |
|
-| [FlipperZero](/FlipperZero/)|
|
-| [Flutter](/Flutter/) |
|
-| [GitHub](/GitHub/) |
|
-| [GitLab](/GitLab/) |
|
-| [Gnuemacs](/Gnuemacs/) |
|
-| [Go](/Go/) |
|
-| [Haskell](/Haskell/) |
|
-| [Hono](/Hono/) |
|
-| [Html](/Html/) |
|
-| [Htmx](/Htmx/) |
|
-| [IamSeries](/IamSeries/) |
|
-| [Java](/Java/) |
|
-| [Juniper](/Juniper/) |
|
-| [Kotlin](/Kotlin/) |
|
-| [Laravel](/Laravel/) |
|
-| [Mui](/Mui/) |
|
-| [Next.js](/Next.js/) |
|
-| [Node.js](/Node.js/) |
|
-| [Photoshop](/Photoshop/) |
|
-| [Python](/Python/) |
|
-| [Qwik.js](/Qwik.js/) |
|
-| [RaspberryPi](/RaspberryPi/) |
|
-| [React](/React/) |
|
-| [RhineLab](/RhineLab/) |
|
-| [Rider](/Rider/) |
|
-| [Rstudio](/Rstudio/) |
|
-| [Ruby](/Ruby/) |
|
-| [Rust](/Rust/) |
|
-| [Streamloots](/Streamloots/) |
|
-| [Swift](/Swift/) |
|
-| [Tailwindcss](/Tailwindcss/) |
|
-| [Teamspeak](/Teamspeak/) |
|
-| [Twitter](/Twitter/) |
|
-| [TypeScript](/TypeScript/) |
|
-| [Ubuntu](/Ubuntu/) |
|
-| [UnityBlender](/UnityBlender/)|
|
-| [Vim](/Vim/) |
|
-| [Vite](/Vite/) |
|
-| [Voicemod](/Voicemod/) |
|
-| [Vrchat](/Vrchat/) |
|
-| [Vue](/Vue/) |
|
-| [Wallhack](/Wallhack/) |
|
-| [X](/X/) |
|
+| 404Notfound |
|
+| Angular |
|
+| ArchLinux |
|
+| C# |
|
+| C++ |
|
+| C,C#,C++ |
|
+| C |
|
+| Clion |
|
+| Cloudflare |
|
+| Cobol |
|
+| Crowdstrike |
|
+| FORTRAN |
|
+| Figma |
|
+| FlipperZero |
|
+| Flutter |
|
+| GitHub |
|
+| GitLab |
|
+| Gnuemacs |
|
+| Go |
|
+| Haskell |
|
+| Hono |
|
+| Html |
|
+| Htmx |
|
+| IamSeries |
|
+| Java |
|
+| Juniper |
|
+| Kotlin |
|
+| Laravel |
|
+| Mui |
|
+| Next.js |
|
+| Node.js |
|
+| Photoshop |
|
+| Python |
|
+| Qwik.js |
|
+| RaspberryPi |
|
+| React |
|
+| RhineLab |
|
+| Rider |
|
+| Rstudio |
|
+| Ruby |
|
+| Rust |
|
+| Streamloots |
|
+| Swift |
|
+| Tailwindcss |
|
+| Teamspeak |
|
+| Twitter |
|
+| TypeScript |
|
+| Ubuntu |
|
+| UnityBlender |
|
+| Vim |
|
+| Vite |
|
+| Voicemod |
|
+| Vrchat |
|
+| Vue |
|
+| Wallhack |
|
+| X |
|
diff --git a/docs/README-zhHans.md b/docs/README-zhHans.md
index 885a5f9..28dec6c 100644
--- a/docs/README-zhHans.md
+++ b/docs/README-zhHans.md
@@ -53,60 +53,61 @@
## 图片集:
-| 名称 | 图片 |
+| Name | Image |
|-------------------------------|--------|
-| [Angular](/Angular/) |
|
-| [ArchLinux](/ArchLinux/) |
|
-| [C#](/C%23/) |
|
-| [C++](/C%2B%2B/) |
|
-| [C,C#,C++](/C,C%23,C%2B%2B/) |
|
-| [C](/C/) |
|
-| [Clion](/Clion/) |
|
-| [Cloudflare](/Cloudflare/) |
|
-| [Cobol](/Cobol/) |
|
-| [Crowdstrike](/Crowdstrike/) |
|
-| [Figma](/Figma/) |
|
-| [FORTRAN](/FORTRAN/) |
|
-| [FlipperZero](/FlipperZero/)|
|
-| [Flutter](/Flutter/) |
|
-| [GitHub](/GitHub/) |
|
-| [GitLab](/GitLab/) |
|
-| [Gnuemacs](/Gnuemacs/) |
|
-| [Go](/Go/) |
|
-| [Haskell](/Haskell/) |
|
-| [Hono](/Hono/) |
|
-| [Html](/Html/) |
|
-| [Htmx](/Htmx/) |
|
-| [IamSeries](/IamSeries/) |
|
-| [Java](/Java/) |
|
-| [Juniper](/Juniper/) |
|
-| [Kotlin](/Kotlin/) |
|
-| [Laravel](/Laravel/) |
|
-| [Mui](/Mui/) |
|
-| [Next.js](/Next.js/) |
|
-| [Node.js](/Node.js/) |
|
-| [Photoshop](/Photoshop/) |
|
-| [Python](/Python/) |
|
-| [Qwik.js](/Qwik.js/) |
|
-| [RaspberryPi](/RaspberryPi/) |
|
-| [React](/React/) |
|
-| [RhineLab](/RhineLab/) |
|
-| [Rider](/Rider/) |
|
-| [Rstudio](/Rstudio/) |
|
-| [Ruby](/Ruby/) |
|
-| [Rust](/Rust/) |
|
-| [Streamloots](/Streamloots/) |
|
-| [Swift](/Swift/) |
|
-| [Tailwindcss](/Tailwindcss/) |
|
-| [Teamspeak](/Teamspeak/) |
|
-| [Twitter](/Twitter/) |
|
-| [TypeScript](/TypeScript/) |
|
-| [Ubuntu](/Ubuntu/) |
|
-| [UnityBlender](/UnityBlender/)|
|
-| [Vim](/Vim/) |
|
-| [Vite](/Vite/) |
|
-| [Voicemod](/Voicemod/) |
|
-| [Vrchat](/Vrchat/) |
|
-| [Vue](/Vue/) |
|
-| [Wallhack](/Wallhack/) |
|
-| [X](/X/) |
|
+| 404Notfound |
|
+| Angular |
|
+| ArchLinux |
|
+| C# |
|
+| C++ |
|
+| C,C#,C++ |
|
+| C |
|
+| Clion |
|
+| Cloudflare |
|
+| Cobol |
|
+| Crowdstrike |
|
+| FORTRAN |
|
+| Figma |
|
+| FlipperZero |
|
+| Flutter |
|
+| GitHub |
|
+| GitLab |
|
+| Gnuemacs |
|
+| Go |
|
+| Haskell |
|
+| Hono |
|
+| Html |
|
+| Htmx |
|
+| IamSeries |
|
+| Java |
|
+| Juniper |
|
+| Kotlin |
|
+| Laravel |
|
+| Mui |
|
+| Next.js |
|
+| Node.js |
|
+| Photoshop |
|
+| Python |
|
+| Qwik.js |
|
+| RaspberryPi |
|
+| React |
|
+| RhineLab |
|
+| Rider |
|
+| Rstudio |
|
+| Ruby |
|
+| Rust |
|
+| Streamloots |
|
+| Swift |
|
+| Tailwindcss |
|
+| Teamspeak |
|
+| Twitter |
|
+| TypeScript |
|
+| Ubuntu |
|
+| UnityBlender |
|
+| Vim |
|
+| Vite |
|
+| Voicemod |
|
+| Vrchat |
|
+| Vue |
|
+| Wallhack |
|
+| X |
|
diff --git a/docs/README.md b/docs/README.md
index a8e93cd..e25a717 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -47,61 +47,61 @@ If you would like to sell your product officially, please send a [Direct message
- Feedback posts from everyone
## image :
-
-| Name | Images |
+| Name | Image |
|-------------------------------|--------|
-| [Angular](/Angular/) |
|
-| [ArchLinux](/ArchLinux/) |
|
-| [C#](/C%23/) |
|
-| [C++](/C%2B%2B/) |
|
-| [C,C#,C++](/C,C%23,C%2B%2B/) |
|
-| [C](/C/) |
|
-| [Clion](/Clion/) |
|
-| [Cloudflare](/Cloudflare/) |
|
-| [Cobol](/Cobol/) |
|
-| [Crowdstrike](/Crowdstrike/) |
|
-| [Figma](/Figma/) |
|
-| [FORTRAN](/FORTRAN/) |
|
-| [FlipperZero](/FlipperZero/)|
|
-| [Flutter](/Flutter/) |
|
-| [GitHub](/GitHub/) |
|
-| [GitLab](/GitLab/) |
|
-| [Gnuemacs](/Gnuemacs/) |
|
-| [Go](/Go/) |
|
-| [Haskell](/Haskell/) |
|
-| [Hono](/Hono/) |
|
-| [Html](/Html/) |
|
-| [Htmx](/Htmx/) |
|
-| [IamSeries](/IamSeries/) |
|
-| [Java](/Java/) |
|
-| [Juniper](/Juniper/) |
|
-| [Kotlin](/Kotlin/) |
|
-| [Laravel](/Laravel/) |
|
-| [Mui](/Mui/) |
|
-| [Next.js](/Next.js/) |
|
-| [Node.js](/Node.js/) |
|
-| [Photoshop](/Photoshop/) |
|
-| [Python](/Python/) |
|
-| [Qwik.js](/Qwik.js/) |
|
-| [RaspberryPi](/RaspberryPi/) |
|
-| [React](/React/) |
|
-| [RhineLab](/RhineLab/) |
|
-| [Rider](/Rider/) |
|
-| [Rstudio](/Rstudio/) |
|
-| [Ruby](/Ruby/) |
|
-| [Rust](/Rust/) |
|
-| [Streamloots](/Streamloots/) |
|
-| [Swift](/Swift/) |
|
-| [Tailwindcss](/Tailwindcss/) |
|
-| [Teamspeak](/Teamspeak/) |
|
-| [Twitter](/Twitter/) |
|
-| [TypeScript](/TypeScript/) |
|
-| [Ubuntu](/Ubuntu/) |
|
-| [UnityBlender](/UnityBlender/)|
|
-| [Vim](/Vim/) |
|
-| [Vite](/Vite/) |
|
-| [Voicemod](/Voicemod/) |
|
-| [Vrchat](/Vrchat/) |
|
-| [Vue](/Vue/) |
|
-| [Wallhack](/Wallhack/) |
|
-| [X](/X/) |
|
+| 404Notfound |
|
+| Angular |
|
+| ArchLinux |
|
+| C# |
|
+| C++ |
|
+| C,C#,C++ |
|
+| C |
|
+| Clion |
|
+| Cloudflare |
|
+| Cobol |
|
+| Crowdstrike |
|
+| FORTRAN |
|
+| Figma |
|
+| FlipperZero |
|
+| Flutter |
|
+| GitHub |
|
+| GitLab |
|
+| Gnuemacs |
|
+| Go |
|
+| Haskell |
|
+| Hono |
|
+| Html |
|
+| Htmx |
|
+| IamSeries |
|
+| Java |
|
+| Juniper |
|
+| Kotlin |
|
+| Laravel |
|
+| Mui |
|
+| Next.js |
|
+| Node.js |
|
+| Photoshop |
|
+| Python |
|
+| Qwik.js |
|
+| RaspberryPi |
|
+| React |
|
+| RhineLab |
|
+| Rider |
|
+| Rstudio |
|
+| Ruby |
|
+| Rust |
|
+| Streamloots |
|
+| Swift |
|
+| Tailwindcss |
|
+| Teamspeak |
|
+| Twitter |
|
+| TypeScript |
|
+| Ubuntu |
|
+| UnityBlender |
|
+| Vim |
|
+| Vite |
|
+| Voicemod |
|
+| Vrchat |
|
+| Vue |
|
+| Wallhack |
|
+| X |
|
diff --git a/docs/generate-images-table.py b/docs/generate-images-table.py
new file mode 100644
index 0000000..69d7b5c
--- /dev/null
+++ b/docs/generate-images-table.py
@@ -0,0 +1,38 @@
+import os
+
+
+def main():
+ current_dir = os.path.dirname(os.path.realpath(__file__))
+
+ # Get all directories in the parent directory
+ data: dict[str, list[str]] = {}
+ for d in os.listdir(os.path.join(current_dir, "..")):
+ if not os.path.isdir(os.path.join(current_dir, "..", d)):
+ continue
+ if d.startswith("."):
+ continue
+
+ # Get all png files in the directory
+ files = [f for f in os.listdir(os.path.join(current_dir, "..", d)) if f.endswith(".png")]
+ if not files:
+ continue
+
+ data[d] = files
+
+ # Generate markdown table
+ columnWidth = max(len(name) for name in data.keys())
+
+ markdown = "| Name | Image |\n"
+ markdown += '|-------------------------------|--------|\n'
+
+ for name, images in data.items():
+ markdown += f"| {name.ljust(columnWidth)} | "
+ for image in images:
+ markdown += f'
'
+ markdown += "|\n"
+
+ print(markdown)
+
+
+if __name__ == "__main__":
+ main()