# Using Timeline SVG on Windows This guide explains how to use Timeline SVG Generator on Windows after building the distribution in WSL. ## Building the Distribution (in WSL) 1. In your WSL terminal, navigate to the project directory: ```bash cd /home/worsch/timeline-svg ``` 2. Build the distribution package: ```bash make dist-zip ``` This creates either `timeline-svg-dist.zip` (if zip is installed) or `timeline-svg-dist.tar.gz`. 3. The distribution file is now in your project directory and accessible from Windows at: ``` \\wsl$\Ubuntu\home\worsch\timeline-svg\timeline-svg-dist.tar.gz ``` Or if you have the WSL path mounted: ``` \\wsl.localhost\Ubuntu\home\worsch\timeline-svg\timeline-svg-dist.tar.gz ``` ## Transferring to Windows ### Option 1: Copy from WSL Location 1. Open Windows Explorer 2. Navigate to `\\wsl$\Ubuntu\home\worsch\timeline-svg\` 3. Copy `timeline-svg-dist.tar.gz` (or `.zip`) to your Windows directory - Example: `C:\Users\YourName\Documents\timeline-svg\` ### Option 2: Use Command Line In WSL terminal: ```bash # Copy to Windows user directory cp timeline-svg-dist.tar.gz /mnt/c/Users/YourName/Documents/ ``` Or from Windows PowerShell: ```powershell # Copy from WSL to Windows Copy-Item "\\wsl$\Ubuntu\home\worsch\timeline-svg\timeline-svg-dist.tar.gz" -Destination "C:\Users\YourName\Documents\" ``` ## Extracting on Windows ### If you have a .zip file: - Right-click the file → "Extract All..." - Choose destination folder ### If you have a .tar.gz file: - Install 7-Zip (free): https://www.7-zip.org/ - Right-click → 7-Zip → Extract Here (twice - first for .gz, then for .tar) ## Running on Windows Once extracted, you have several options: ### Option 1: Use the Batch Script (Easiest) 1. Double-click `start-server.bat` in the extracted folder 2. A command window will open and your browser will launch automatically 3. The application will be available at http://localhost:8000 4. To stop the server, close the command window or press Ctrl+C **Note:** Requires Python to be installed on Windows. Download from https://www.python.org/ if needed. ### Option 2: Use Python Directly 1. Open Command Prompt or PowerShell in the extracted folder 2. Run one of these commands: ```cmd python -m http.server 8000 ``` or ```cmd python3 -m http.server 8000 ``` 3. Open your browser to http://localhost:8000 ### Option 3: Use Node.js http-server If you have Node.js installed: ```cmd npx http-server -p 8000 ``` ### Option 4: Direct File Access (Limited) You can open `index.html` directly in your browser, but due to CORS restrictions: - ✅ UI will load - ❌ Auto-loading of example projects won't work - ❌ CSV/template files must be manually uploaded **Recommendation:** Use a local server (Option 1-3) for full functionality. ## Working with Your Own Projects ### Creating a New Project 1. Copy one of the example folders (e.g., `example\`) 2. Rename it to your project name 3. Edit the files: - `project.json` - Configure field mappings and settings - `sample.csv` - Replace with your timeline data - `style.css` - Customize colors and fonts - `template-v2.svg` - Design your timeline layout ### Loading Your Project You have two options: #### Option 1: Load Entire Project Folder (Recommended) 1. Click **"📂 Load Project Folder"** 2. Select your project folder (e.g., `example\` or your custom project folder) 3. All files (project.json, CSV, SVG, CSS) will be loaded automatically 4. Timeline generates immediately This is the easiest method - one click loads everything! #### Option 2: Load Files Individually 1. Click **"📁 Load"** next to "Project Configuration" 2. Select your `project.json` file 3. Manually upload CSV, CSS, and SVG files using the respective buttons **Note:** Due to browser security, uploading just project.json won't automatically load the other files from the same directory. Use the folder picker (Option 1) for automatic loading. ## File Paths on Windows The application uses forward slashes (`/`) in URLs, which work correctly in browsers on Windows. You don't need to change anything in the code. **Example project.json on Windows:** ```json { "name": "My Timeline", "dataSource": "sample.csv", "stylesheet": "style.css", "svgTemplate": "template-v2.svg" } ``` These relative paths work the same way on Windows and Linux when served via HTTP. ## Troubleshooting on Windows ### "Python not found" Install Python: 1. Download from https://www.python.org/downloads/ 2. **Important:** Check "Add Python to PATH" during installation 3. Restart Command Prompt 4. Try running `start-server.bat` again ### Port 8000 already in use Change the port in `start-server.bat`: - Edit the file with Notepad - Change `8000` to another port like `8080` or `3000` - Update the browser URL accordingly ### Files not loading (CORS errors) - Make sure you're using the local server (not opening index.html directly) - Check that all project files are in the same directory structure - Look at browser console (F12) for specific error messages ### Browser doesn't open automatically If `start http://localhost:8000` doesn't work: - Manually open your browser - Navigate to http://localhost:8000 - The application should load normally ## Syncing Between WSL and Windows If you want to develop in WSL but test on Windows: ### Option 1: Work in WSL-accessible location Develop in a Windows folder accessed from WSL: ```bash cd /mnt/c/Users/YourName/Documents/timeline-svg ``` Changes made in WSL are immediately visible in Windows. ### Option 2: Rebuild distribution after changes 1. Make changes in WSL 2. Rebuild: `make dist-zip` 3. Copy to Windows 4. Extract and test ### Option 3: Use the Windows folder directly The distribution folder can be used from both environments: - WSL: `cd /mnt/c/Users/YourName/Documents/timeline-svg/dist` - Windows: `C:\Users\YourName\Documents\timeline-svg\dist` ## Performance Notes - The application runs entirely in the browser (no backend needed) - Performance is identical on Windows and Linux - Large CSV files (>1000 rows) may take a few seconds to process - SVG generation is client-side and depends on your browser/CPU speed ## Additional Resources - See `README.md` for application overview and features - See `TEMPLATE_V2_GUIDE.md` for template customization - See `TROUBLESHOOTING.md` for common issues and solutions ## Questions or Issues? If you encounter problems specific to Windows: 1. Check the browser console (F12 → Console tab) for error messages 2. Verify Python is installed and in PATH 3. Try the alternative server options above 4. Check file permissions (extracted files should be readable)