Skip to content

Commit 29a540d

Browse files
committed
2.0.2
1 parent 9842d13 commit 29a540d

File tree

13 files changed

+5573
-0
lines changed

13 files changed

+5573
-0
lines changed

.DS_Store

0 Bytes
Binary file not shown.

website/.gitignore

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Dependencies
2+
node_modules/
3+
npm-debug.log*
4+
yarn-debug.log*
5+
yarn-error.log*
6+
7+
# Build outputs
8+
dist/
9+
build/
10+
*.min.css
11+
*.min.js
12+
13+
# OS generated files
14+
.DS_Store
15+
.DS_Store?
16+
._*
17+
.Spotlight-V100
18+
.Trashes
19+
ehthumbs.db
20+
Thumbs.db
21+
22+
# Editor files
23+
.vscode/
24+
.idea/
25+
*.swp
26+
*.swo
27+
*~
28+
29+
# Logs
30+
logs/
31+
*.log
32+
33+
# Runtime data
34+
pids/
35+
*.pid
36+
*.seed
37+
*.pid.lock
38+
39+
# Coverage directory used by tools like istanbul
40+
coverage/
41+
42+
# Temporary folders
43+
tmp/
44+
temp/
45+
46+
# Environment variables
47+
.env
48+
.env.local
49+
.env.development.local
50+
.env.test.local
51+
.env.production.local
52+
53+
# Cache
54+
.cache/
55+
.parcel-cache/
56+
57+
# Optional npm cache directory
58+
.npm
59+
60+
# Optional eslint cache
61+
.eslintcache
62+
63+
# Microbundle cache
64+
.rpt2_cache/
65+
.rts2_cache_cjs/
66+
.rts2_cache_es/
67+
.rts2_cache_umd/
68+
69+
# Optional REPL history
70+
.node_repl_history
71+
72+
# Output of 'npm pack'
73+
*.tgz
74+
75+
# Yarn Integrity file
76+
.yarn-integrity
77+
78+
# dotenv environment variables file
79+
.env
80+
81+
# Stores VSCode versions used for testing VSCode extensions
82+
.vscode-test

website/README.md

Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
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

Comments
 (0)