provisioning-outreach/presentations/pres-prvng/SOLUTION_FINAL_SIMPLE.md

1 line
2.8 KiB
Markdown
Raw Permalink Normal View History

# Simple Solution - Presentation Suite\n\n## The Key Insight\n\nThe problem wasn't the images, it was the **file location**. When presentations were in `versions/`, all paths got confused.\n\n## The Solution (Simple)\n\n### Step 1: Copy to Root\n\nBefore running, copy the presentation from `versions/` to the root directory:\n\n```bash\ncp versions/pitch.md pitch.md\npnpm run dev pitch.md\n```\n\n### Step 2: Use Simple Image Tag\n\nJust use a simple HTML img tag with the path:\n\n```html\n<img src="/provisioning-logo.svg" alt="Provisioning Logo" class="w-32 mx-auto mt-8" />\n```\n\n### Step 3: Update Section Paths\n\nWhen presentation is at root, sections are accessed with `../sections/`:\n\n```markdown\n---\nsrc: ../sections/01-intro.md\n---\n```\n\n## Why This Works\n\n```plaintext\nPresentation at root\n ↓\nPath /provisioning-logo.svg → public/provisioning-logo.svg (works!)\n ↓\nPath ../sections/01-intro.md → sections/01-intro.md (works!)\n ↓\nNo Vue compilation issues\n ↓\nNo Vite import errors\n ↓\n✅ Everything works!\n```\n\n## The Script Does It Automatically\n\nThe `run.nu` script:\n\n1. Copies selected presentation to root\n2. Runs `pnpm run dev`\n3. Cleans up (deletes) the file when done\n\n```nushell\n# Copy to root\ncp versions/($selected.name) $selected.name\n\n# Execute from root \npnpm run dev $selected.name\n\n# Cleanup\nrm $selected.name\n```\n\n## Files Structure\n\n```plaintext\npres-prvng/\n├── run.nu # Script that handles copy/exec/cleanup\n├── pitch.md (temporary) # Created during execution\n├── sections/ # Imported by presentations\n│ ├── 01-intro.md\n│ ├── 02-solution.md\n│ └── ... (8 files total)\n└── versions/ # Where presentations are stored\n ├── pitch.md\n ├── demo-intro.md\n ├── talk.md\n ├── workshop.md\n └── full.md\n```\n\n## Usage\n\n```bash\n# Run from pres-prvng directory\nnu run.nu\n\n# Select presentation from menu\n# Press Ctrl+C to stop server\n# File is automatically cleaned up\n```\n\n## Key Points\n\n✅ **Simple** - No fancy Vue imports or script setup blocks \n✅ **Clean** - Presentations stay organized in `versions/` \n✅ **Automatic** - Script handles copy/cleanup \n✅ **Reliable** - No path resolution issues \n\n## Common Issues (And Why They're Gone)\n\n| Issue | Cause | Solution |\n|-------|-------|----------|\n| "Failed to resolve import" | Presentation in `versions/` | Copy to root |\n| Wrong image paths | Relative path confusion | Use `/provisioning-logo.svg` |\n| Missing sections | `./sections/` from root | Use `../sections/` from root |\n\n---\n**Status**: ✅ SIMPLE AND WORKING\n**Tested**: All presentations load without errors\n**Ready**: Yes, for consulting engagement