- Create image_html.php as fallback when GD not available - Add test.html page to demonstrate different bubble styles - Update index.js to support rendering bubbles in collapsed tool calls - Improve example.html settings page with new options - Add reference/ to .gitignore 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			157 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html lang="en">
 | |
| <head>
 | |
|     <meta charset="UTF-8">
 | |
|     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | |
|     <title>SillyBubble Image Generator Test</title>
 | |
|     <style>
 | |
|         body {
 | |
|             font-family: Arial, sans-serif;
 | |
|             max-width: 800px;
 | |
|             margin: 0 auto;
 | |
|             padding: 20px;
 | |
|             background-color: #f5f5f5;
 | |
|         }
 | |
|         h1 {
 | |
|             color: #333;
 | |
|             border-bottom: 1px solid #ddd;
 | |
|             padding-bottom: 10px;
 | |
|         }
 | |
|         .bubble-container {
 | |
|             display: flex;
 | |
|             flex-direction: column;
 | |
|             gap: 20px;
 | |
|             margin: 20px 0;
 | |
|         }
 | |
|         .bubble {
 | |
|             background-color: #fff;
 | |
|             border-radius: 10px;
 | |
|             padding: 20px;
 | |
|             box-shadow: 0 2px 5px rgba(0,0,0,0.1);
 | |
|         }
 | |
|         .bubble h3 {
 | |
|             margin-top: 0;
 | |
|         }
 | |
|         .bubble img {
 | |
|             max-width: 100%;
 | |
|             height: auto;
 | |
|             display: block;
 | |
|             margin: 10px 0;
 | |
|         }
 | |
|         .form-group {
 | |
|             margin-bottom: 15px;
 | |
|         }
 | |
|         label {
 | |
|             display: block;
 | |
|             margin-bottom: 5px;
 | |
|             font-weight: bold;
 | |
|         }
 | |
|         input[type="text"], select {
 | |
|             width: 100%;
 | |
|             padding: 8px;
 | |
|             border: 1px solid #ddd;
 | |
|             border-radius: 4px;
 | |
|             box-sizing: border-box;
 | |
|         }
 | |
|         button {
 | |
|             background-color: #4CAF50;
 | |
|             color: white;
 | |
|             padding: 10px 15px;
 | |
|             border: none;
 | |
|             border-radius: 4px;
 | |
|             cursor: pointer;
 | |
|         }
 | |
|         button:hover {
 | |
|             background-color: #45a049;
 | |
|         }
 | |
|         .code {
 | |
|             background-color: #f0f0f0;
 | |
|             padding: 10px;
 | |
|             border-radius: 4px;
 | |
|             font-family: monospace;
 | |
|             overflow-x: auto;
 | |
|         }
 | |
|     </style>
 | |
| </head>
 | |
| <body>
 | |
|     <h1>SillyBubble Image Generator Test</h1>
 | |
|     
 | |
|     <div class="bubble">
 | |
|         <h3>Generate Your Own Chat Bubble</h3>
 | |
|         <div class="form-group">
 | |
|             <label for="text">Text:</label>
 | |
|             <input type="text" id="text" value="Hello, I'm a chat bubble generated on the fly!" />
 | |
|         </div>
 | |
|         <div class="form-group">
 | |
|             <label for="style">Style:</label>
 | |
|             <select id="style">
 | |
|                 <option value="default">Default</option>
 | |
|                 <option value="modern">Modern</option>
 | |
|                 <option value="retro">Retro</option>
 | |
|                 <option value="minimal">Minimal</option>
 | |
|             </select>
 | |
|         </div>
 | |
|         <button onclick="generateImage()">Generate Image</button>
 | |
|         <div id="result" style="margin-top: 20px;"></div>
 | |
|     </div>
 | |
|     
 | |
|     <div class="bubble-container">
 | |
|         <div class="bubble">
 | |
|             <h3>Default Style</h3>
 | |
|             <img src="image.php?q=This%20is%20the%20default%20style%20for%20chat%20bubbles.%20It%20has%20a%20light%20blue%20background%20with%20rounded%20corners." alt="Default Style Chat Bubble" />
 | |
|         </div>
 | |
|         
 | |
|         <div class="bubble">
 | |
|             <h3>Modern Style</h3>
 | |
|             <img src="image.php?q=This%20is%20the%20modern%20style%20for%20chat%20bubbles.%20It%20has%20a%20dark%20background%20with%20white%20text.&style=modern" alt="Modern Style Chat Bubble" />
 | |
|         </div>
 | |
|         
 | |
|         <div class="bubble">
 | |
|             <h3>Retro Style</h3>
 | |
|             <img src="image.php?q=This%20is%20the%20retro%20style%20for%20chat%20bubbles.%20It%20has%20a%20warm%20color%20scheme%20and%20square%20corners.&style=retro" alt="Retro Style Chat Bubble" />
 | |
|         </div>
 | |
|         
 | |
|         <div class="bubble">
 | |
|             <h3>Minimal Style</h3>
 | |
|             <img src="image.php?q=This%20is%20the%20minimal%20style%20for%20chat%20bubbles.%20It%20has%20a%20clean,%20simple%20design%20with%20square%20corners.&style=minimal" alt="Minimal Style Chat Bubble" />
 | |
|         </div>
 | |
|     </div>
 | |
|     
 | |
|     <div class="bubble">
 | |
|         <h3>How to Use in SillyBubble Extension</h3>
 | |
|         <p>The SillyBubble extension uses this image generator to create chat bubbles on the fly. The extension passes text to this script and gets back an image.</p>
 | |
|         
 | |
|         <h4>URL Format:</h4>
 | |
|         <div class="code">image.php?q=[URL-ENCODED-TEXT]&style=[STYLE-NAME]</div>
 | |
|         
 | |
|         <h4>Available Styles:</h4>
 | |
|         <ul>
 | |
|             <li><strong>default</strong> - Light blue with rounded corners</li>
 | |
|             <li><strong>modern</strong> - Dark with light text</li>
 | |
|             <li><strong>retro</strong> - Warm colors with square corners</li>
 | |
|             <li><strong>minimal</strong> - Clean gray with square corners</li>
 | |
|         </ul>
 | |
|     </div>
 | |
|     
 | |
|     <script>
 | |
|         function generateImage() {
 | |
|             const text = document.getElementById('text').value;
 | |
|             const style = document.getElementById('style').value;
 | |
|             const encodedText = encodeURIComponent(text);
 | |
|             
 | |
|             let imageUrl = `image.php?q=${encodedText}`;
 | |
|             if (style !== 'default') {
 | |
|                 imageUrl += `&style=${style}`;
 | |
|             }
 | |
|             
 | |
|             const resultDiv = document.getElementById('result');
 | |
|             resultDiv.innerHTML = `
 | |
|                 <h4>Generated Image:</h4>
 | |
|                 <img src="${imageUrl}" alt="Generated Chat Bubble" style="max-width: 100%;" />
 | |
|                 <h4>URL:</h4>
 | |
|                 <div class="code">${imageUrl}</div>
 | |
|             `;
 | |
|         }
 | |
|     </script>
 | |
| </body>
 | |
| </html> |