Spaces:
Running
Running
| <html lang="ko"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> | |
| <title>ํ๋ก์ ํธ ๋ทฐ์ด (์๋ ๋ถ๋ฅ ๋ฐ URL ๋ณํ)</title> | |
| <style> | |
| body { | |
| font-family: Arial, sans-serif; | |
| margin: 0; | |
| padding: 0; | |
| background-color: #f4f4f9; | |
| color: #333; | |
| } | |
| .github-link { | |
| text-align: center; | |
| padding: 8px; | |
| background-color: #24292e; | |
| color: #fff; | |
| font-size: 14px; | |
| } | |
| .github-link a { | |
| color: #fff; | |
| text-decoration: none; | |
| } | |
| .filter-group { | |
| padding: 10px; | |
| background-color: #fff; | |
| border-bottom: 1px solid #eee; | |
| text-align: center; | |
| overflow-x: auto; | |
| white-space: nowrap; | |
| } | |
| .filter-group .toggle-button { | |
| padding: 6px 12px; | |
| margin: 5px; | |
| border: 1px solid #ddd; | |
| border-radius: 15px; | |
| background-color: #fff; | |
| font-size: 13px; | |
| cursor: pointer; | |
| display: inline-block; | |
| } | |
| .filter-group .toggle-button.active { | |
| background-color: #2196f3; | |
| border-color: #2196f3; | |
| color: #fff; | |
| } | |
| .main-container { | |
| display: flex; | |
| height: calc(100vh - 100px); /* ์๋จ ์์ญ ์ ์ธ ์ ์ฒด ๋์ด */ | |
| } | |
| #sidebar { | |
| width: 25%; | |
| border-right: 1px solid #ccc; | |
| overflow-y: auto; | |
| padding: 10px; | |
| } | |
| #sidebar ul { | |
| list-style: none; | |
| padding: 0; | |
| margin: 0; | |
| } | |
| #sidebar li { | |
| margin: 5px 0; | |
| padding: 8px; | |
| background-color: #fff; | |
| border: 1px solid #ddd; | |
| border-radius: 4px; | |
| cursor: pointer; | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| } | |
| #sidebar li:hover { | |
| background-color: #f0f0f0; | |
| } | |
| #sidebar li button { | |
| margin-left: 8px; | |
| padding: 4px 8px; | |
| cursor: pointer; | |
| font-size: 12px; | |
| border-radius: 4px; | |
| border: 1px solid #ccc; | |
| background-color: #fafafa; | |
| } | |
| #embed-container { | |
| flex: 1; | |
| padding: 0; | |
| margin: 0; | |
| background-color: #fff; | |
| } | |
| #embed-container iframe { | |
| width: 100%; | |
| height: 100%; | |
| border: none; | |
| display: block; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="github-link"> | |
| <a href="https://discord.gg/openfreeai" target="_blank">Community</a> | |
| </div> | |
| <!-- ํํฐ ๋ฒํผ ์์ญ --> | |
| <div class="filter-group" id="filter-group"> | |
| <!-- JavaScript๋ก ๋์ ์ผ๋ก ๋ฒํผ ์์ฑ --> | |
| </div> | |
| <div class="main-container"> | |
| <div id="sidebar"></div> | |
| <div id="embed-container"> | |
| <iframe id="embed-frame" src=""></iframe> | |
| </div> | |
| </div> | |
| <script> | |
| // 1. ํ๋ก์ ํธ URL ๋ชฉ๋ก: ํ๋ก์ ํธ ์ด๋ฆ -> URL | |
| const projectList = { | |
| "ginipick/spaces-research-korea": "https://huggingface.co/spaces/ginipick/spaces-research-korea", | |
| "openfree/Datasets-Convertor": "https://huggingface.co/spaces/openfree/Datasets-Convertor", | |
| "VIDraft/mouse-Visual-Chat": "https://huggingface.co/spaces/VIDraft/mouse-Visual-Chat", | |
| "VIDraft/mouse-file-chat": "https://huggingface.co/spaces/VIDraft/mouse-file-chat", | |
| "openfree/Parquet-CSV-Convertor": "https://huggingface.co/spaces/openfree/Parquet-CSV-Convertor", | |
| "ginigen/FLUX-Eternity": "https://huggingface.co/spaces/ginigen/FLUX-Eternity", | |
| "ginipick/live-detect-pose": "https://huggingface.co/spaces/ginipick/live-detect-pose", | |
| "ginigen/OmniParser-v2-pro": "https://huggingface.co/spaces/ginigen/OmniParser-v2-pro", | |
| "ginigen/Celebrity": "https://huggingface.co/spaces/ginigen/Celebrity", | |
| "ginigen/Fashion-Pose-Control": "https://huggingface.co/spaces/ginigen/Fashion-Pose-Control", | |
| "ginigen/zonos-longform": "https://huggingface.co/spaces/ginigen/zonos-longform", | |
| "ginigen/Ovis2-8B": "https://huggingface.co/spaces/ginigen/Ovis2-8B", | |
| "ginigen/Workflow-Canvas": "https://huggingface.co/spaces/ginigen/Workflow-Canvas", | |
| "ginigen/Design": "https://huggingface.co/spaces/ginigen/Design", | |
| "ginigen/Diagram": "https://huggingface.co/spaces/ginigen/Diagram", | |
| "ginigen/Mockup": "https://huggingface.co/spaces/ginigen/Mockup", | |
| "ginigen/Infographic": "https://huggingface.co/spaces/ginigen/Infographic", | |
| "ginigen/Flowchart": "https://huggingface.co/spaces/ginigen/Flowchart", | |
| "aiqcamp/FLUX-Vision": "https://huggingface.co/spaces/aiqcamp/FLUX-Vision", | |
| "ginigen/VoiceClone-TTS": "https://huggingface.co/spaces/ginigen/VoiceClone-TTS", | |
| "fantos/Panorama": "https://huggingface.co/spaces/fantos/Panorama", | |
| "ginigen/Multi-LoRAgen": "https://huggingface.co/spaces/ginigen/Multi-LoRAgen", | |
| "ginigen/canvas-studio": "https://huggingface.co/spaces/ginigen/canvas-studio", | |
| "ginipick/Fashion-Stylegen": "https://huggingface.co/spaces/ginipick/Fashion-Style", | |
| "ginipick/Time-Stream": "https://huggingface.co/spaces/ginipick/Time-Stream", | |
| "ginipick/AccuVision-Diffusion": "https://huggingface.co/spaces/ginipick/AccuVision-Diffusion", | |
| "fantos/Magic-Drawings": "https://huggingface.co/spaces/fantos/Magic-Drawings", | |
| "ginigen/Lumina-Image-PLUS": "https://huggingface.co/spaces/ginigen/Lumina-Image-PLUS", | |
| "fantaxy/fantasy-novel": "https://huggingface.co/spaces/fantaxy/fantasy-novel", | |
| "fantaxy/eros": "https://huggingface.co/spaces/fantaxy/eros", | |
| "fantaxy/adult-novel": "https://huggingface.co/spaces/fantaxy/adult-novel", | |
| "fantaxy/kungfu-novel": "https://huggingface.co/spaces/fantaxy/kungfu-novel", | |
| "fantaxy/love-novel": "https://huggingface.co/spaces/fantaxy/love-novel", | |
| "VIDraft/mouse-webgen": "https://huggingface.co/spaces/VIDraft/mouse-webgen", | |
| "immunobiotech/MUSIC-Jukebox": "https://huggingface.co/spaces/immunobiotech/MUSIC-Jukebox", | |
| "seawolf2357/Flowise-AI": "https://huggingface.co/spaces/seawolf2357/Flowise-AI", | |
| "ginigen/Flux-LayerDiffuse": "https://huggingface.co/spaces/ginigen/Flux-LayerDiffuse", | |
| "VIDraft/Portrait-Animation": "https://huggingface.co/spaces/VIDraft/Portrait-Animation", | |
| "VIDraft/Deepseek-Multimodal": "https://huggingface.co/spaces/VIDraft/Deepseek-Multimodal", | |
| "VIDraft/BLIP2": "https://huggingface.co/spaces/VIDraft/BLIP2", | |
| "ginigen/text3d-r1": "https://huggingface.co/spaces/ginigen/text3d-r1", | |
| "immunobiotech/drug-discovery": "https://huggingface.co/spaces/immunobiotech/drug-discovery", | |
| "openfree/VisionOCR-Chat": "https://huggingface.co/spaces/openfree/VisionOCR-Chat", | |
| "immunobiotech/MICHELIN": "https://huggingface.co/spaces/immunobiotech/MICHELIN", | |
| "immunobiotech/MICHELIN-korea": "https://huggingface.co/spaces/immunobiotech/MICHELIN-korea", | |
| "immunobiotech/MICHELIN-japan": "https://huggingface.co/spaces/immunobiotech/MICHELIN-japan", | |
| "immunobiotech/MICHELIN-china": "https://huggingface.co/spaces/immunobiotech/MICHELIN-china", | |
| "VIDraft/money-radar-korea": "https://huggingface.co/spaces/VIDraft/money-radar-korea", | |
| "VIDraft/money-radar": "https://huggingface.co/spaces/VIDraft/money-radar", | |
| "ginipick/PharmAI-Korea": "https://huggingface.co/spaces/ginipick/PharmAI-Korea", | |
| "ginigen/MagicFace-V3": "https://huggingface.co/spaces/ginigen/MagicFace-V3", | |
| "aiqcamp/MindMap": "https://huggingface.co/spaces/aiqcamp/MindMap", | |
| "ginigen/3D-LLAMA": "https://huggingface.co/spaces/ginigen/3D-LLAMA", | |
| "openfree/VectorFlow": "https://huggingface.co/spaces/openfree/VectorFlow", | |
| "openfree/webtoon-gen": "https://huggingface.co/spaces/openfree/webtoon-gen", | |
| "VIDraft/topic-prediction": "https://huggingface.co/spaces/VIDraft/topic-prediction", | |
| "VIDraft/PapersImpact": "https://huggingface.co/spaces/VIDraft/PapersImpact", | |
| "VIDraft/EveryRAG": "https://huggingface.co/spaces/VIDraft/EveryRAG", | |
| "VIDraft/korea-president-DJ": "https://huggingface.co/spaces/VIDraft/korea-president-DJ", | |
| "VIDraft/korea-president-PARK": "https://huggingface.co/spaces/VIDraft/korea-president-PARK", | |
| "openfree/image-to-vector": "https://huggingface.co/spaces/openfree/image-to-vector", | |
| "ginipick/QR-Canvas-plus": "https://huggingface.co/spaces/ginipick/QR-Canvas-plus", | |
| "ginigen/text3d-R1": "https://huggingface.co/spaces/ginigen/text3d-R1", | |
| "openfree/MagicFace-V3": "https://huggingface.co/spaces/openfree/MagicFace-V3", | |
| "ginipick/DeepSeekR1-LIVE": "https://huggingface.co/spaces/ginipick/DeepSeekR1-LIVE", | |
| "ginigen/ColPali-multi": "https://huggingface.co/spaces/ginigen/ColPali-multi", | |
| "ginigen/Janus-Pro-7B": "https://huggingface.co/spaces/ginigen/Janus-Pro-7B", | |
| "ginigen/Animagine": "https://huggingface.co/spaces/ginigen/Animagine", | |
| "openfree/PDF-RAG": "https://huggingface.co/spaces/openfree/PDF-RAG", | |
| "fantos/Ranking-Tracker": "https://huggingface.co/spaces/fantos/Ranking-Tracker", | |
| "aiqcamp/Multilingual-Images": "https://huggingface.co/spaces/aiqcamp/Multilingual-Images", | |
| "aiqcamp/Gemini2-Flash-Thinking": "https://huggingface.co/spaces/aiqcamp/Gemini2-Flash-Thinking", | |
| "openfree/pepe": "https://huggingface.co/spaces/openfree/pepe", | |
| "openfree/korea-president-yoon": "https://huggingface.co/spaces/openfree/korea-president-yoon", | |
| "openfree/CryptoVision": "https://huggingface.co/spaces/openfree/CryptoVision", | |
| "fantos/VoiceClone": "https://huggingface.co/spaces/fantos/VoiceClone", | |
| "seawolf2357/ocrlatex": "https://huggingface.co/spaces/seawolf2357/ocrlatex", | |
| "seawolf2357/img2vid": "https://huggingface.co/spaces/seawolf2357/img2vid", | |
| "seawolf2357/sd-prompt-gen": "https://huggingface.co/spaces/seawolf2357/sd-prompt-gen", | |
| "openfree/tarotcard": "https://huggingface.co/spaces/openfree/tarotcard", | |
| "aiqcamp/Polaroid": "https://huggingface.co/spaces/aiqcamp/Polaroid", | |
| "ginigen/cartoon": "https://huggingface.co/spaces/ginigen/cartoon", | |
| "ginigen/Book-Cover": "https://huggingface.co/spaces/ginigen/Book-Cover", | |
| "aiqcamp/fash": "https://huggingface.co/spaces/aiqcamp/fash", | |
| "gunship999/Korea-Daily-News": "https://huggingface.co/spaces/gunship999/Korea-Daily-News", | |
| "immunobiotech/ChicagoGallery": "https://huggingface.co/spaces/immunobiotech/ChicagoGallery", | |
| "immunobiotech/MetropolitanMuseum": "https://huggingface.co/spaces/immunobiotech/MetropolitanMuseum", | |
| "immunobiotech/opensky": "https://huggingface.co/spaces/immunobiotech/opensky", | |
| "aiqtech/FLUX-military": "https://huggingface.co/spaces/aiqtech/FLUX-military", | |
| "fantaxy/Rolls-Royce": "https://huggingface.co/spaces/fantaxy/Rolls-Royce", | |
| "seawolf2357/flux-korea-hanbok-lora": "https://huggingface.co/spaces/seawolf2357/flux-korea-hanbok-lora", | |
| "seawolf2357/flux-korea-palace-lora": "https://huggingface.co/spaces/seawolf2357/flux-korea-palace-lora", | |
| "aiqcamp/flux-cat-lora": "https://huggingface.co/spaces/aiqcamp/flux-cat-lora", | |
| "gunship999/SexyImages": "https://huggingface.co/spaces/gunship999/SexyImages", | |
| "aiqtech/flux-claude-monet-lora": "https://huggingface.co/spaces/aiqtech/flux-claude-monet-lora", | |
| "seawolf2357/3D-Avatar-Generator": "https://huggingface.co/spaces/seawolf2357/3D-Avatar-Generator", | |
| "fantaxy/playground25": "https://huggingface.co/spaces/fantaxy/playground25", | |
| "openfree/ultpixgen": "https://huggingface.co/spaces/openfree/ultpixgen", | |
| "seawolf2357/REALVISXL-V5": "https://huggingface.co/spaces/seawolf2357/REALVISXL-V5", | |
| "fantos/flxcontrol": "https://huggingface.co/spaces/fantos/flxcontrol", | |
| "fantos/textcutobject": "https://huggingface.co/spaces/fantos/textcutobject", | |
| "ginipick/FLUX-Prompt-Generator": "https://huggingface.co/spaces/ginipick/FLUX-Prompt-Generator", | |
| "fantaxy/flxloraexp": "https://huggingface.co/spaces/fantaxy/flxloraexp", | |
| "fantos/flxloraexp": "https://huggingface.co/spaces/fantos/flxloraexp", | |
| "seawolf2357/flxloraexp": "https://huggingface.co/spaces/seawolf2357/flxloraexp", | |
| "ginipick/flxloraexp": "https://huggingface.co/spaces/ginipick/flxloraexp", | |
| "aiqcamp/imagemagic": "https://huggingface.co/spaces/aiqcamp/imagemagic", | |
| "openfree/ColorRevive": "https://huggingface.co/spaces/openfree/ColorRevive", | |
| "VIDraft/RAGOndevice": "https://huggingface.co/spaces/VIDraft/RAGOndevice", | |
| "aiqcamp/AudioLlama": "https://huggingface.co/spaces/aiqcamp/AudioLlama", | |
| "ginigen/FLUXllama-Multilingual": "https://huggingface.co/spaces/ginigen/FLUXllama-Multilingual", | |
| "ginipick/FitGen": "https://huggingface.co/spaces/ginipick/FitGen", | |
| "fantaxy/FLUX-Animations": "https://huggingface.co/spaces/fantaxy/FLUX-Animations", | |
| "fantaxy/Remove-Video-Background": "https://huggingface.co/spaces/fantaxy/Remove-Video-Background", | |
| "fantaxy/ofai-flx-logo": "https://huggingface.co/spaces/fantaxy/ofai-flx-logo", | |
| "fantaxy/flx-pulid": "https://huggingface.co/spaces/fantaxy/flx-pulid", | |
| "fantaxy/flx-upscale": "https://huggingface.co/spaces/fantaxy/flx-upscale", | |
| "aiqcamp/Fashion-FLUX": "https://huggingface.co/spaces/aiqcamp/Fashion-FLUX", | |
| "fantos/x-mas": "https://huggingface.co/spaces/fantos/x-mas", | |
| "openfree/Korean-Leaderboard": "https://huggingface.co/spaces/openfree/Korean-Leaderboard", | |
| "ginipick/FLUXllama": "https://huggingface.co/spaces/ginipick/FLUXllama", | |
| "fantaxy/Sound-AI-SFX": "https://huggingface.co/spaces/fantaxy/Sound-AI-SFX", | |
| "fantos/flx8lora": "https://huggingface.co/spaces/fantos/flx8lora", | |
| "openfree/trending-board": "https://huggingface.co/spaces/openfree/trending-board", | |
| "ginipick/Realtime-FLUX": "https://huggingface.co/spaces/ginipick/Realtime-FLUX", | |
| "aiqtech/kofaceid": "https://huggingface.co/spaces/aiqtech/kofaceid", | |
| "fantaxy/fastvideogena": "https://huggingface.co/spaces/fantaxy/fastvideogen", | |
| "fantos/flxfashmodel": "https://huggingface.co/spaces/fantos/flxfashmodel", | |
| "fantos/kolcontrl": "https://huggingface.co/spaces/fantos/kolcontrl", | |
| "aiqtech/cinevid": "https://huggingface.co/spaces/aiqtech/cinevid", | |
| "aiqtech/FLUX-Ghibli-Studio-LoRA": "https://huggingface.co/spaces/aiqtech/FLUX-Ghibli-Studio-LoRA", | |
| "aiqtech/flxgif": "https://huggingface.co/spaces/aiqtech/flxgif", | |
| "aiqtech/imaginpaint": "https://huggingface.co/spaces/aiqtech/imaginpaint" | |
| }; | |
| // 2. ๋ณ๋ ๊ฐ์ฒด: ํ๋ก์ ํธ์ ๊ฐ๋ณ ์นดํ ๊ณ ๋ฆฌ ์ง์ (์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ "Image Gen" ์ฌ์ฉ) | |
| const customCategories = { | |
| "ginipick/spaces-research-korea": "Productivity", | |
| "openfree/Datasets-Convertor": "Utility", | |
| "VIDraft/mouse-Visual-Chat": "Productivity", | |
| "VIDraft/mouse-file-chat": "Productivity", | |
| "openfree/Parquet-CSV-Convertor": "Utility", | |
| "ginigen/FLUX-Eternity": "Image Gen", | |
| "ginipick/live-detect-pose": "Productivity", | |
| "ginigen/OmniParser-v2-pro": "Vision", | |
| "ginigen/Celebrity": "Image Gen", | |
| "ginigen/Fashion-Pose-Control": "Productivity", | |
| "ginigen/zonos-longform": "Audio", | |
| "ginigen/Ovis2-8B": "Vision", | |
| "ginigen/Workflow-Canvas": "Productivity", | |
| "ginigen/Design": "Productivity", | |
| "ginigen/Diagram": "Productivity", | |
| "ginigen/Mockup": "Productivity", | |
| "ginigen/Infographic": "Productivity", | |
| "ginigen/Flowchart": "Productivity", | |
| "aiqcamp/FLUX-Vision ": "Productivity", | |
| "ginigen/VoiceClone-TTS": "Audio", | |
| "fantos/Panorama": "Image Gen", | |
| "ginigen/Multi-LoRAgen": "Image Gen", | |
| "ginigen/canvas-studio": "Image Edit", | |
| "ginipick/Fashion-Stylegen": "Productivity", | |
| "ginipick/Time-Stream": "Video", | |
| "ginipick/AccuVision-Diffusion": "Image Gen", | |
| "fantos/Magic-Drawings": "Image Edit", | |
| "ginigen/Lumina-Image-PLUS": "Image Gen", | |
| "fantaxy/fantasy-novel": "Text", | |
| "fantaxy/eros": "Text", | |
| "fantaxy/adult-novel": "Text", | |
| "fantaxy/kungfu-novel": "Text", | |
| "fantaxy/love-novel": "Text", | |
| "VIDraft/mouse-webgen": "Productivity", | |
| "immunobiotech/MUSIC-Jukebox": "Audio", | |
| "seawolf2357/Flowise-AI": "Productivity", | |
| "ginigen/Flux-LayerDiffuse": "Image Gen", | |
| "VIDraft/Portrait-Animation": "Video", | |
| "VIDraft/Deepseek-Multimodal": "Vision", | |
| "VIDraft/BLIP2": "Image Gen", | |
| "ginigen/text3d-r1": "Image Gen", | |
| "immunobiotech/drug-discovery": "Productivity", | |
| "openfree/VisionOCR-Chat": "Vision", | |
| "immunobiotech/MICHELIN": "Productivity", | |
| "immunobiotech/MICHELIN-korea": "Productivity", | |
| "immunobiotech/MICHELIN-japan": "Productivity", | |
| "immunobiotech/MICHELIN-china": "Productivity", | |
| "VIDraft/money-radar-korea": "Productivity", | |
| "VIDraft/money-radar": "Productivity", | |
| "ginipick/PharmAI-Korea": "Productivity", | |
| "ginigen/MagicFace-V3": "Image Gen", | |
| "aiqcamp/MindMap": "Image Gen", | |
| "ginigen/3D-LLAMA": "Productivity", | |
| "openfree/VectorFlow": "Image Edit", | |
| "openfree/webtoon-gen": "Image Gen", | |
| "VIDraft/topic-prediction": "Text", | |
| "VIDraft/PapersImpact": "Productivity", | |
| "VIDraft/EveryRAG": "Text", | |
| "VIDraft/korea-president-DJ": "Image Gen", | |
| "VIDraft/korea-president-PARK": "Image Gen", | |
| "openfree/image-to-vector": "Image Edit", | |
| "ginipick/QR-Canvas-plus": "Productivity", | |
| "ginigen/text3d-R1": "Image Gen", | |
| "openfree/MagicFace-V3": "Image Edit", | |
| "ginipick/DeepSeekR1-LIVE": "Text", | |
| "ginigen/ColPali-multi": "Text", | |
| "ginigen/Janus-Pro-7B": "Vision", | |
| "ginigen/Animagine": "Image Gen", | |
| "openfree/PDF-RAG": "Productivity", | |
| "fantos/Ranking-Tracker": "Utility", | |
| "aiqcamp/Multilingual-Images": "Image Gen", | |
| "aiqcamp/Gemini2-Flash-Thinking": "Text", | |
| "openfree/pepe": "Image Gen", | |
| "openfree/korea-president-yoon": "Image Gen", | |
| "openfree/CryptoVision": "Utility", | |
| "fantos/VoiceClone": "Audio", | |
| "seawolf2357/ocrlatex": "Utility", | |
| "seawolf2357/img2vid": "Video", | |
| "seawolf2357/sd-prompt-gen": "Text", | |
| "openfree/tarotcard": "Utility", | |
| "aiqcamp/Polaroid": "Image Gen", | |
| "ginigen/cartoon": "Image Gen", | |
| "ginigen/Book-Cover": "Image Gen", | |
| "aiqcamp/fash": "Productivity", | |
| "gunship999/Korea-Daily-News": "Utility", | |
| "immunobiotech/ChicagoGallery": "Utility", | |
| "immunobiotech/MetropolitanMuseum": "Utility", | |
| "immunobiotech/opensky": "Utility", | |
| "VIDraft/eum": "Text", | |
| "aiqtech/FLUX-military": "Image Gen", | |
| "fantaxy/Rolls-Royce": "Image Gen", | |
| "seawolf2357/flux-korea-hanbok-lora": "Image Gen", | |
| "seawolf2357/flux-korea-palace-lora": "Image Gen", | |
| "aiqcamp/flux-cat-lora": "Image Gen", | |
| "gunship999/SexyImages": "Image Gen", | |
| "aiqtech/flux-claude-monet-lora": "Image Gen", | |
| "seawolf2357/3D-Avatar-Generator": "Utility", | |
| "fantaxy/playground25": "Image Gen", | |
| "openfree/ultpixgen": "Image Gen", | |
| "seawolf2357/REALVISXL-V5": "Image Gen", | |
| "fantos/flxcontrol": "Image Edit", | |
| "fantos/textcutobject": "Image Edit", | |
| "ginipick/FLUX-Prompt-Generator": "Text", | |
| "fantaxy/flxloraexp": "Image Gen", | |
| "fantos/flxloraexp": "Image Gen", | |
| "seawolf2357/flxloraexp": "Image Gen", | |
| "ginipick/flxloraexp": "Image Gen", | |
| "aiqcamp/imagemagic": "Image Edit", | |
| "openfree/ColorRevive": "Image Edit", | |
| "VIDraft/RAGOndevice": "Productivity", | |
| "aiqcamp/AudioLlama": "Audio", | |
| "ginigen/FLUXllama-Multilingual": "Image Gen", | |
| "ginipick/FitGen": "Image Gen", | |
| "fantaxy/FLUX-Animations": "Image Gen", | |
| "fantaxy/Remove-Video-Background": "Image Edit", | |
| "fantaxy/ofai-flx-logo": "Image Gen", | |
| "fantaxy/flx-pulid": "Image Gen", | |
| "fantaxy/flx-upscale": "Image Edit", | |
| "aiqcamp/Fashion-FLUX": "Image Gen", | |
| "fantos/x-mas": "Image Gen", | |
| "openfree/Korean-Leaderboard": "Utility", | |
| "ginipick/FLUXllama": "Image Gen", | |
| "fantaxy/Sound-AI-SFX": "Audio", | |
| "fantos/flx8lora": "Image Gen", | |
| "openfree/trending-board": "Utility", | |
| "ginipick/Realtime-FLUX": "Image Gen", | |
| "aiqtech/kofaceid": "Image Gen", | |
| "fantaxy/fastvideogena": "Video", | |
| "fantos/cogvidx": "Video", | |
| "fantos/flxfashmodel": "Image Gen", | |
| "fantos/kolcontrl": "Image Edit", | |
| "aiqtech/cinevid": "Video", | |
| "aiqtech/FLUX-Ghibli-Studio-LoRA": "Image Gen", | |
| "aiqtech/flxgif": "Image Gen", | |
| "aiqtech/imaginpaint": "Image Edit" | |
| }; | |
| const newProjects = [ | |
| "ginigen/OmniParser-v2-pro", | |
| "ginigen/Celebrity", | |
| "ginigen/Fashion-Pose-Control", | |
| "openfree/Parquet-CSV-Convertor", | |
| "ginigen/zonos-longform", | |
| "ginigen/Ovis2-8B", | |
| "ginigen/Design", | |
| "ginigen/Diagram", | |
| "ginigen/Mockup", | |
| "ginigen/Infographic", | |
| "ginigen/Flowchart", | |
| "aiqcamp/FLUX-Vision", | |
| "fantos/Panorama", | |
| "ginigen/Multi-LoRAgen", | |
| "ginigen/canvas-studio", | |
| "ginipick/Fashion-Stylegen", | |
| "ginipick/Time-Stream", | |
| "ginipick/AccuVision-Diffusion", | |
| "fantos/Magic-Drawings", | |
| "ginigen/Lumina-Image-PLUS", | |
| "fantaxy/fantasy-novel", | |
| "fantaxy/eros", | |
| "fantaxy/adult-novel", | |
| "fantaxy/kungfu-novel", | |
| "fantaxy/love-novel", | |
| "VIDraft/mouse-webgen", | |
| "immunobiotech/MUSIC-Jukebox", | |
| "seawolf2357/Flowise-AI", | |
| "ginigen/Flux-LayerDiffuse", | |
| "VIDraft/Portrait-Animation", | |
| "VIDraft/Deepseek-Multimodal", | |
| "VIDraft/BLIP2", | |
| "ginigen/text3d-r1", | |
| "immunobiotech/drug-discovery", | |
| "openfree/VisionOCR-Chat", | |
| "immunobiotech/MICHELIN", | |
| "immunobiotech/MICHELIN-korea", | |
| "immunobiotech/MICHELIN-japan", | |
| "immunobiotech/MICHELIN-china", | |
| "VIDraft/money-radar-korea", | |
| "VIDraft/money-radar", | |
| "ginipick/PharmAI-Korea", | |
| "ginigen/MagicFace-V3", | |
| "aiqcamp/MindMap", | |
| "ginigen/3D-LLAMA", | |
| "openfree/VectorFlow", | |
| "openfree/webtoon-gen", | |
| "VIDraft/topic-prediction", | |
| "VIDraft/PapersImpact", | |
| "VIDraft/EveryRAG", | |
| "VIDraft/korea-president-DJ", | |
| "VIDraft/korea-president-PARK", | |
| "openfree/image-to-vector", | |
| "ginipick/QR-Canvas-plus", | |
| "openfree/MagicFace-V3", | |
| "ginipick/DeepSeekR1-LIVE", | |
| "ginigen/ColPali-multi", | |
| "ginigen/Janus-Pro-7B", | |
| "ginigen/Animagine", | |
| "openfree/PDF-RAG", | |
| "fantos/Ranking-Tracker", | |
| "aiqcamp/Multilingual-Images", | |
| "aiqcamp/Gemini2-Flash-Thinking", | |
| "openfree/pepe", | |
| "openfree/korea-president-yoon", | |
| "openfree/CryptoVision", | |
| "fantos/VoiceClone", | |
| "seawolf2357/ocrlatex", | |
| "seawolf2357/img2vid", | |
| "seawolf2357/sd-prompt-gen", | |
| "openfree/tarotcard", | |
| "aiqcamp/Polaroid", | |
| "ginigen/cartoon", | |
| "ginigen/Book-Cover" | |
| ]; | |
| const bestProjects = [ | |
| "ginipick/spaces-research-korea", | |
| "VIDraft/mouse-Visual-Chat", | |
| "VIDraft/mouse-file-chat", | |
| "openfree/Datasets-Convertor", | |
| "ginipick/live-detect-pose", | |
| "ginigen/FLUX-Eternity", | |
| "ginigen/Workflow-Canvas", | |
| "ginigen/VoiceClone-TTS", | |
| "openfree/VisionOCR-Chat", | |
| "ginigen/3D-LLAMA", | |
| "fantos/Ranking-Tracker", | |
| "openfree/trending-board", | |
| "openfree/Korean-Leaderboard", | |
| "fantos/Panorama", | |
| "ginigen/Multi-LoRAgen", | |
| "ginigen/canvas-studio", | |
| "fantaxy/adult-novel", | |
| "VIDraft/mouse-webgen", | |
| "ginigen/text3d-r1", | |
| "immunobiotech/MICHELIN-korea", | |
| "VIDraft/money-radar-korea", | |
| "ginipick/PharmAI-Korea", | |
| "VIDraft/PapersImpact", | |
| "aiqcamp/MindMap", | |
| "VIDraft/EveryRAG", | |
| "openfree/MagicFace-V3", | |
| "ginigen/Animagine", | |
| "openfree/PDF-RAG", | |
| "aiqcamp/Multilingual-Images", | |
| "aiqcamp/Gemini2-Flash-Thinking", | |
| "openfree/CryptoVision", | |
| "fantos/VoiceClone", | |
| "seawolf2357/ocrlatex", | |
| "ginigen/cartoon", | |
| "ginigen/Book-Cover", | |
| "aiqcamp/fash", | |
| "seawolf2357/REALVISXL-V5", | |
| "aiqcamp/AudioLlama", | |
| "ginigen/FLUXllama-Multilingual", | |
| "ginipick/FitGen" | |
| ]; | |
| // 4. URL ๋ณํ ํจ์ | |
| function transformUrl(url) { | |
| const prefix = "https://huggingface.co/spaces/"; | |
| if (url.startsWith(prefix)) { | |
| const rest = url.substring(prefix.length); | |
| return "https://" + rest.replace("/", "-") + ".hf.space"; | |
| } | |
| return url; | |
| } | |
| // 5. ํ๋ก์ ํธ ๋ฐฐ์ด ์์ฑ | |
| const keys = Object.keys(projectList); | |
| const projects = keys.map(key => { | |
| const primaryCategory = customCategories[key] || "Image Gen"; | |
| let categories = [primaryCategory]; | |
| if (newProjects.includes(key)) categories.push("NEW"); | |
| if (bestProjects.includes(key)) categories.push("BEST"); | |
| return { | |
| name: primaryCategory + "/" + key.split("/")[1], | |
| url: transformUrl(projectList[key]), | |
| categories: categories | |
| }; | |
| }); | |
| // 6. ์นดํ ๊ณ ๋ฆฌ๋ณ ๊ทธ๋ฃนํ | |
| const grouped = {}; | |
| projects.forEach(proj => { | |
| proj.categories.forEach(cat => { | |
| if (!grouped[cat]) grouped[cat] = []; | |
| grouped[cat].push(proj); | |
| }); | |
| }); | |
| // 7. ํํฐ ๋ฒํผ ์์ฑ | |
| const fixedGroups = ["NEW", "BEST", "Text", "Image Gen", "Image Edit", "Audio", "Video", "Productivity", "Utility", "Vision"]; | |
| const filterGroupDiv = document.getElementById("filter-group"); | |
| const allButton = document.createElement("button"); | |
| allButton.className = "toggle-button active"; | |
| allButton.setAttribute("data-filter", "all"); | |
| allButton.textContent = "All"; | |
| filterGroupDiv.appendChild(allButton); | |
| fixedGroups.forEach(category => { | |
| const btn = document.createElement("button"); | |
| btn.className = "toggle-button"; | |
| btn.setAttribute("data-filter", category); | |
| btn.textContent = category; | |
| filterGroupDiv.appendChild(btn); | |
| }); | |
| // 8. ์ฌ์ด๋๋ฐ ๊ฐฑ์ ํจ์ | |
| function updateSidebar(filter) { | |
| const sidebar = document.getElementById("sidebar"); | |
| sidebar.innerHTML = ""; | |
| let items = (filter === "all") | |
| ? projects | |
| : projects.filter(p => p.categories.includes(filter)); | |
| const ul = document.createElement("ul"); | |
| items.forEach(item => { | |
| const li = document.createElement("li"); | |
| // ์ด๋ฆ ํ์ | |
| const nameSpan = document.createElement("span"); | |
| nameSpan.textContent = item.name; | |
| li.appendChild(nameSpan); | |
| // "๋งํฌ ํด๋ฆญ" ๋ฒํผ | |
| const linkButton = document.createElement("button"); | |
| linkButton.textContent = "๋งํฌ ํด๋ฆญ"; | |
| linkButton.addEventListener("click", (event) => { | |
| event.stopPropagation(); // li ํด๋ฆญ ์ด๋ฒคํธ์ ๊ตฌ๋ถ | |
| window.open(item.url, "_blank"); // ์ ํญ(์ฐฝ) ์ด๊ธฐ | |
| }); | |
| li.appendChild(linkButton); | |
| // li ์์ฒด ํด๋ฆญํ๋ฉด iframe ๋ณ๊ฒฝ | |
| li.addEventListener("click", () => { | |
| document.getElementById("embed-frame").src = item.url; | |
| }); | |
| ul.appendChild(li); | |
| }); | |
| sidebar.appendChild(ul); | |
| if (items.length > 0) { | |
| document.getElementById("embed-frame").src = items[0].url; | |
| } else { | |
| document.getElementById("embed-frame").src = ""; | |
| } | |
| } | |
| // 9. ๋ฒํผ ํด๋ฆญ ์ด๋ฒคํธ | |
| document.querySelectorAll(".toggle-button").forEach(button => { | |
| button.addEventListener("click", function() { | |
| document.querySelectorAll(".toggle-button").forEach(b => b.classList.remove("active")); | |
| this.classList.add("active"); | |
| updateSidebar(this.getAttribute("data-filter")); | |
| }); | |
| }); | |
| // 10. ํ์ด์ง ๋ก๋ ์ All ํํฐ | |
| updateSidebar("all"); | |
| </script> | |
| </body> | |
| </html> | |