|
| 1 | +# MultiLineDiff Website |
| 2 | + |
| 3 | +This is the official website for the MultiLineDiff Swift library, showcasing its revolutionary features and capabilities. |
| 4 | + |
| 5 | +## 🌐 Live Site |
| 6 | + |
| 7 | +**URL**: https://diff.xcf.ai |
| 8 | + |
| 9 | +## 📁 Project Structure |
| 10 | + |
| 11 | +``` |
| 12 | +website/ |
| 13 | +├── index.html # Main HTML page |
| 14 | +├── css/ |
| 15 | +│ ├── styles.css # Main styles and layout |
| 16 | +│ ├── components.css # Component-specific styles |
| 17 | +│ └── animations.css # Animation definitions |
| 18 | +├── js/ |
| 19 | +│ ├── main.js # Core functionality |
| 20 | +│ ├── demo.js # Interactive demo |
| 21 | +│ └── performance.js # Performance charts |
| 22 | +├── images/ |
| 23 | +│ ├── favicon.svg # Site favicon |
| 24 | +│ ├── og-image.png # Social media preview (to be added) |
| 25 | +│ └── apple-touch-icon.png # iOS icon (to be added) |
| 26 | +├── fonts/ # Custom fonts (if needed) |
| 27 | +└── README.md # This file |
| 28 | +``` |
| 29 | + |
| 30 | +## 🚀 Features |
| 31 | + |
| 32 | +### Modern Design |
| 33 | +- **Dark Theme**: Professional dark color scheme |
| 34 | +- **Responsive Layout**: Works on all devices |
| 35 | +- **Smooth Animations**: Engaging user experience |
| 36 | +- **Performance Optimized**: Fast loading and smooth interactions |
| 37 | + |
| 38 | +### Interactive Components |
| 39 | +- **Algorithm Comparison**: Tabbed interface showing all 5 algorithms |
| 40 | +- **Live Demo**: Interactive diff generation with syntax highlighting |
| 41 | +- **Performance Charts**: Real-time performance visualization |
| 42 | +- **Scroll Animations**: Elements animate as they come into view |
| 43 | + |
| 44 | +### Technical Features |
| 45 | +- **Pure HTML/CSS/JS**: No framework dependencies |
| 46 | +- **Modern CSS**: CSS Grid, Flexbox, Custom Properties |
| 47 | +- **ES6+ JavaScript**: Modern JavaScript features |
| 48 | +- **Chart.js Integration**: Beautiful performance charts |
| 49 | +- **Prism.js**: Syntax highlighting for code examples |
| 50 | + |
| 51 | +## 🛠️ Development |
| 52 | + |
| 53 | +### Local Development |
| 54 | +1. Clone the repository |
| 55 | +2. Navigate to the `website` directory |
| 56 | +3. Serve the files using any HTTP server: |
| 57 | + |
| 58 | +```bash |
| 59 | +# Using Python |
| 60 | +python -m http.server 8000 |
| 61 | + |
| 62 | +# Using Node.js |
| 63 | +npx serve . |
| 64 | + |
| 65 | +# Using PHP |
| 66 | +php -S localhost:8000 |
| 67 | +``` |
| 68 | + |
| 69 | +4. Open http://localhost:8000 in your browser |
| 70 | + |
| 71 | +### Dependencies |
| 72 | +The website uses CDN-hosted libraries: |
| 73 | +- **Chart.js**: Performance charts |
| 74 | +- **Prism.js**: Syntax highlighting |
| 75 | +- **Google Fonts**: Inter and JetBrains Mono fonts |
| 76 | + |
| 77 | +### Browser Support |
| 78 | +- Chrome 90+ |
| 79 | +- Firefox 88+ |
| 80 | +- Safari 14+ |
| 81 | +- Edge 90+ |
| 82 | + |
| 83 | +## 📱 Responsive Breakpoints |
| 84 | + |
| 85 | +- **Desktop**: 1200px+ |
| 86 | +- **Tablet**: 768px - 1199px |
| 87 | +- **Mobile**: 320px - 767px |
| 88 | + |
| 89 | +## 🎨 Design System |
| 90 | + |
| 91 | +### Colors |
| 92 | +- **Primary**: #6366f1 (Indigo) |
| 93 | +- **Secondary**: #10b981 (Emerald) |
| 94 | +- **Accent**: #f59e0b (Amber) |
| 95 | +- **Background**: #0f0f23 (Dark Blue) |
| 96 | +- **Text**: #f8fafc (Slate) |
| 97 | + |
| 98 | +### Typography |
| 99 | +- **Sans Serif**: Inter (Google Fonts) |
| 100 | +- **Monospace**: JetBrains Mono (Google Fonts) |
| 101 | + |
| 102 | +### Spacing |
| 103 | +- **Base Unit**: 1rem (16px) |
| 104 | +- **Scale**: 0.25, 0.5, 1, 1.5, 2, 3, 4rem |
| 105 | + |
| 106 | +## 🚀 Deployment |
| 107 | + |
| 108 | +### Static Hosting |
| 109 | +The website is a static site and can be deployed to: |
| 110 | +- **Netlify**: Drag and drop deployment |
| 111 | +- **Vercel**: Git-based deployment |
| 112 | +- **GitHub Pages**: Direct from repository |
| 113 | +- **AWS S3**: Static website hosting |
| 114 | +- **Cloudflare Pages**: Fast global deployment |
| 115 | + |
| 116 | +### Recommended Deployment (Netlify) |
| 117 | +1. Create account at netlify.com |
| 118 | +2. Drag the `website` folder to Netlify dashboard |
| 119 | +3. Configure custom domain: diff.xcf.ai |
| 120 | +4. Enable HTTPS and CDN |
| 121 | + |
| 122 | +### Build Optimization |
| 123 | +For production deployment: |
| 124 | +1. Minify CSS and JavaScript files |
| 125 | +2. Optimize images (WebP format) |
| 126 | +3. Enable gzip compression |
| 127 | +4. Set up proper caching headers |
| 128 | + |
| 129 | +## 📊 Performance |
| 130 | + |
| 131 | +### Lighthouse Scores (Target) |
| 132 | +- **Performance**: 95+ |
| 133 | +- **Accessibility**: 100 |
| 134 | +- **Best Practices**: 100 |
| 135 | +- **SEO**: 100 |
| 136 | + |
| 137 | +### Optimization Features |
| 138 | +- **Lazy Loading**: Images load as needed |
| 139 | +- **Code Splitting**: JavaScript modules |
| 140 | +- **CSS Optimization**: Minimal unused styles |
| 141 | +- **Font Loading**: Optimized web fonts |
| 142 | + |
| 143 | +## 🔧 Customization |
| 144 | + |
| 145 | +### Adding New Sections |
| 146 | +1. Add HTML structure to `index.html` |
| 147 | +2. Add styles to appropriate CSS file |
| 148 | +3. Add JavaScript functionality if needed |
| 149 | +4. Update navigation links |
| 150 | + |
| 151 | +### Modifying Colors |
| 152 | +Update CSS custom properties in `styles.css`: |
| 153 | +```css |
| 154 | +:root { |
| 155 | + --primary: #your-color; |
| 156 | + --secondary: #your-color; |
| 157 | + /* etc. */ |
| 158 | +} |
| 159 | +``` |
| 160 | + |
| 161 | +### Adding Animations |
| 162 | +Add new keyframes to `animations.css` and apply classes to elements. |
| 163 | + |
| 164 | +## 📈 Analytics |
| 165 | + |
| 166 | +### Recommended Analytics |
| 167 | +- **Google Analytics 4**: User behavior tracking |
| 168 | +- **Hotjar**: User session recordings |
| 169 | +- **PageSpeed Insights**: Performance monitoring |
| 170 | + |
| 171 | +### Event Tracking |
| 172 | +The site includes event tracking for: |
| 173 | +- Button clicks |
| 174 | +- Section scrolling |
| 175 | +- Demo interactions |
| 176 | +- Algorithm selections |
| 177 | + |
| 178 | +## 🔒 Security |
| 179 | + |
| 180 | +### Content Security Policy |
| 181 | +Recommended CSP headers: |
| 182 | +``` |
| 183 | +Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' cdn.jsdelivr.net cdnjs.cloudflare.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com; font-src fonts.gstatic.com; img-src 'self' data:; |
| 184 | +``` |
| 185 | + |
| 186 | +### HTTPS |
| 187 | +Always serve over HTTPS in production. |
| 188 | + |
| 189 | +## 📞 Support |
| 190 | + |
| 191 | +For website issues or suggestions: |
| 192 | +- **Repository**: https://github.com/codefreezeai/swift-multi-line-diff |
| 193 | +- **Email**: support@xcf.ai |
| 194 | +- **Website**: https://xcf.ai |
| 195 | + |
| 196 | +## 📄 License |
| 197 | + |
| 198 | +This website is part of the MultiLineDiff project. |
| 199 | +© 2025 Todd Bruss, XCF.ai. All rights reserved. |
| 200 | + |
| 201 | +--- |
| 202 | + |
| 203 | +**Built with ❤️ for the MultiLineDiff community** |
0 commit comments