diff --git a/index.html b/index.html index 4aab5e1..2cf3ee9 100644 --- a/index.html +++ b/index.html @@ -1523,48 +1523,87 @@ try { const files = []; - // Get actual files from the current directory - const knownFiles = [ - 'index.html', - 'script.js', - 'style.css', - '.replit' - ]; - - // Add any additional files that might exist - const potentialFiles = [ + // Common .md file patterns to check + const commonMdFiles = [ 'README.md', - 'main.py', - 'app.js', - 'server.js', - 'package.json', - 'requirements.txt', - 'config.js', - 'data.json', - 'utils.js', - 'helpers.py', - 'styles.css', - 'script.min.js', - 'favicon.ico', - 'manifest.json' + 'CHANGELOG.md', + 'CONTRIBUTING.md', + 'LICENSE.md', + 'DOCS.md', + 'INSTALL.md', + 'USAGE.md', + 'API.md', + 'GUIDE.md', + 'TUTORIAL.md' ]; - const allFiles = [...knownFiles, ...potentialFiles]; + // Common directory patterns that might contain .md files + const commonDirectories = [ + 'docs/', + 'documentation/', + 'guides/', + 'tutorials/', + 'examples/', + 'samples/', + 'prompts/', + 'jailbreaks/', + 'techniques/', + 'methods/', + 'security/', + 'tools/', + 'resources/', + 'collection/', + 'archive/', + 'latest/', + 'legendary/', + 'ultra/', + 'advanced/', + 'basic/', + 'premium/', + 'free/', + 'public/', + 'private/' + ]; + + // Generate potential .md file paths + const potentialMdFiles = [ + ...commonMdFiles, + // Add numbered patterns + ...Array.from({length: 50}, (_, i) => `${i + 1}.md`), + ...Array.from({length: 20}, (_, i) => `prompt${i + 1}.md`), + ...Array.from({length: 20}, (_, i) => `jailbreak${i + 1}.md`), + ...Array.from({length: 20}, (_, i) => `technique${i + 1}.md`), + // Add files in subdirectories + ...commonDirectories.flatMap(dir => [ + ...commonMdFiles.map(file => `${dir}${file}`), + ...Array.from({length: 30}, (_, i) => `${dir}${i + 1}.md`), + ...Array.from({length: 15}, (_, i) => `${dir}prompt${i + 1}.md`), + ...Array.from({length: 15}, (_, i) => `${dir}jailbreak${i + 1}.md`), + ...Array.from({length: 15}, (_, i) => `${dir}technique${i + 1}.md`) + ]) + ]; + + console.log(`Scanning for ${potentialMdFiles.length} potential .md files...`); - for (const fileName of allFiles) { + for (const filePath of potentialMdFiles) { try { - const response = await fetch(fileName); + const response = await fetch(filePath); if (response.ok) { const content = await response.text(); - const size = new Blob([content]).size; - files.push({ - name: fileName.replace(/\.[^/.]+$/, ""), // Remove extension - folder: determineFolder(fileName), - path: fileName, - size: size, - content: content - }); + // Only include if it's actually markdown content (has some content) + if (content && content.trim().length > 0) { + const size = new Blob([content]).size; + const fileName = filePath.split('/').pop() || filePath; + + files.push({ + name: fileName.replace(/\.md$/, ""), // Remove .md extension + folder: determineFolder(filePath), + path: filePath, + size: size, + content: content + }); + } } } catch (error) { // File doesn't exist or can't be loaded, skip silently @@ -1572,6 +1611,7 @@ } } + console.log(`Found ${files.length} .md files`); return files; } catch (error) { console.error('Error scanning directory:', error); @@ -1592,38 +1632,40 @@ } } - function determineFolder(fileName) { - const ext = fileName.split('.').pop().toLowerCase(); - const name = fileName.toLowerCase(); + function determineFolder(filePath) { + const fileName = filePath.toLowerCase(); + const path = filePath.toLowerCase(); - // Web files - if (ext === 'html' || ext === 'htm') return 'Web Pages'; - if (ext === 'css' || ext === 'scss' || ext === 'sass') return 'Stylesheets'; - if (ext === 'js' || ext === 'jsx' || ext === 'ts' || ext === 'tsx') return 'JavaScript'; + // Determine folder based on directory structure first + if (path.includes('jailbreak')) return 'Latest Jailbreaks'; + if (path.includes('legendary') || path.includes('leak')) return 'Legendary Leaks'; + if (path.includes('security') || path.includes('protection')) return 'Prompt Security'; + if (path.includes('ultra') || path.includes('advanced') || path.includes('premium')) return 'Ultra Prompts'; + if (path.includes('injection') || path.includes('bypass')) return 'Injection Techniques'; + if (path.includes('tool') || path.includes('utility')) return 'Security Tools'; + if (path.includes('guide') || path.includes('tutorial')) return 'Guides & Tutorials'; + if (path.includes('example') || path.includes('sample')) return 'Examples'; + if (path.includes('doc') || fileName === 'readme.md') return 'Documentation'; + if (path.includes('prompt') && !path.includes('security')) return 'Prompt Collection'; + if (path.includes('technique') || path.includes('method')) return 'Techniques'; + if (path.includes('collection') || path.includes('archive')) return 'Archives'; + if (path.includes('resource')) return 'Resources'; - // Programming languages - if (ext === 'py' || ext === 'python') return 'Python'; - if (ext === 'java' || ext === 'class') return 'Java'; - if (ext === 'cpp' || ext === 'c' || ext === 'h') return 'C/C++'; - if (ext === 'php') return 'PHP'; - if (ext === 'rb' || ext === 'ruby') return 'Ruby'; + // Determine folder based on file name patterns + if (fileName.includes('jailbreak')) return 'Latest Jailbreaks'; + if (fileName.includes('legendary') || fileName.includes('leak')) return 'Legendary Leaks'; + if (fileName.includes('security') || fileName.includes('protection')) return 'Prompt Security'; + if (fileName.includes('ultra') || fileName.includes('advanced')) return 'Ultra Prompts'; + if (fileName.includes('injection') || fileName.includes('bypass')) return 'Injection Techniques'; + if (fileName.includes('tool') || fileName.includes('utility')) return 'Security Tools'; + if (fileName.includes('guide') || fileName.includes('tutorial')) return 'Guides & Tutorials'; + if (fileName.includes('prompt')) return 'Prompt Collection'; + if (fileName.includes('technique') || fileName.includes('method')) return 'Techniques'; - // Documentation and text - if (ext === 'md' || ext === 'markdown') return 'Documentation'; - if (ext === 'txt' || ext === 'text') return 'Text Files'; - if (ext === 'json') return 'Data Files'; - if (ext === 'xml' || ext === 'yaml' || ext === 'yml') return 'Data Files'; + // Numeric files go to general prompt collection + if (/^\d+\.md$/.test(fileName.split('/').pop())) return 'Prompt Collection'; - // Configuration - if (name.includes('config') || name.includes('.env') || fileName === '.replit') return 'Configuration'; - if (ext === 'toml' || ext === 'ini' || ext === 'conf') return 'Configuration'; - if (fileName === 'package.json' || fileName === 'requirements.txt') return 'Dependencies'; - - // Media - if (ext === 'jpg' || ext === 'jpeg' || ext === 'png' || ext === 'gif' || ext === 'svg') return 'Images'; - if (ext === 'ico') return 'Assets'; - - return 'Miscellaneous'; + return 'General'; } // GPT Arsenal Application