GitHub Pages Deployment Guide
This guide will help you enable GitHub Pages for the Portfolio Necromancer project to make the landing page publicly accessible.
⚠️ Important: demo.py and GitHub Pages
Can demo.py run on GitHub Pages? NO ❌
- GitHub Pages can only host static files (HTML, CSS, JavaScript, images)
- GitHub Pages cannot run Python scripts like demo.py
- demo.py is a Python script that requires Python to be installed and executed locally
Can the OUTPUT of demo.py be deployed to GitHub Pages? YES ✅
- After running
python demo.py locally, it generates static HTML/CSS files
- These generated portfolio files can be deployed to GitHub Pages
- See Deploying Demo Portfolio Output section below
Quick Setup (5 minutes)
Step 1: Enable GitHub Pages
- Go to your repository: https://github.com/jmenichole/Portfolio-Necromancer
- Click on Settings tab
- Scroll down to Pages section (under “Code and automation”)
- Under Build and deployment:
- Source: Select “Deploy from a branch”
- Branch: Select
main (or your default branch)
- Folder: Select
/docs
- Click Save
Step 2: Wait for Deployment
- GitHub will automatically build and deploy your site
- This usually takes 1-3 minutes
- You’ll see a message: “Your site is live at
https://YOUR-USERNAME.github.io/YOUR-REPO-NAME/”
Step 3: Access Your Landing Page
Once deployed, your landing page will be available at:
- URL: https://YOUR-USERNAME.github.io/YOUR-REPO-NAME/
For this repository: https://jmenichole.github.io/Portfolio-Necromancer/
What Was Created
Landing Page Features
- ✅ Modern, responsive design
- ✅ Hero section with call-to-action
- ✅ Problem/solution presentation
- ✅ Feature showcase (6 key features)
- ✅ Live demo instructions
- ✅ Getting started guide
- ✅ Integration overview
- ✅ Pricing comparison
- ✅ Documentation links
- ✅ Mobile-friendly
Files Created
docs/index.html - Main landing page
docs/style.css - Styling and layout
docs/README.md - Setup documentation
INTEGRATIONS.md - Complete integration guide
Deploying Demo Portfolio Output
Want to deploy the portfolio generated by demo.py to GitHub Pages? Follow these steps:
Step 1: Generate the Demo Portfolio Locally
# Run demo.py on your local machine (requires Python)
python demo.py
This creates a portfolio in demo_portfolio/demo/ with index.html and other assets.
Step 2: Copy Demo Output to docs Folder
# Option A: Replace the current landing page with your demo portfolio
cp -r demo_portfolio/demo/* docs/
# Option B: Create a subdirectory for the demo
mkdir -p docs/demo
cp -r demo_portfolio/demo/* docs/demo/
Step 3: Commit and Push
git add docs/
git commit -m "Add generated demo portfolio to GitHub Pages"
git push origin main
Step 4: Access Your Demo Portfolio
- Option A (if you replaced landing page): https://YOUR-USERNAME.github.io/YOUR-REPO-NAME/
- Option B (if you used subdirectory): https://YOUR-USERNAME.github.io/YOUR-REPO-NAME/demo/
For this repository specifically:
- https://jmenichole.github.io/Portfolio-Necromancer/
- https://jmenichole.github.io/Portfolio-Necromancer/demo/
Important Notes
- You must run
python demo.py locally on your computer first
- GitHub Pages will only serve the static HTML/CSS/JS files you commit
- Each time you regenerate the portfolio with
demo.py, you need to copy and commit the new files
- Consider using a separate branch or repository for personal portfolios to keep the main repo clean
Customization
Update Content
To modify the landing page:
- Edit
docs/index.html for content changes
- Edit
docs/style.css for styling changes
- Commit and push to main branch
- GitHub Pages will automatically redeploy
Custom Domain (Optional)
To use a custom domain (e.g., portfolionecromancer.com):
- In Settings → Pages
- Under Custom domain, enter your domain
- Add DNS records as instructed
- Wait for DNS propagation (up to 24 hours)
Integration Documentation
The INTEGRATIONS.md file provides detailed setup instructions for all integrations:
Available Integrations
- Google APIs (Gmail, Drive, Docs)
- Email and file scraping
- OAuth setup guide
- Slack
- Team conversation scraping
- Bot token setup
- Figma
- Design file access
- Personal token setup
- OpenAI
- AI categorization and summaries
- API key configuration
- Local Screenshots
- File system scanning
- No API needed
All integrations are optional and fully documented.
Troubleshooting
GitHub Pages Not Showing
- Check: Settings → Pages shows green “Your site is published” message
- Wait: Allow 1-3 minutes for first deployment
- Verify: Branch is set to
main and folder to /docs
- Clear cache: Try opening in incognito/private window
404 Error
- Check: Files exist in
docs/ directory on main branch
- Verify:
index.html exists at docs/index.html
- Wait: Can take a few minutes after pushing changes
Styling Issues
- Check:
style.css is in the same directory as index.html
- Verify: Link in HTML:
<link rel="stylesheet" href="style.css">
- Clear cache: Hard refresh (Ctrl+Shift+R or Cmd+Shift+R)
Next Steps
- ✅ Enable GitHub Pages (follow Step 1 above)
- ✅ Verify the landing page loads correctly
- ✅ Share the URL with potential users
- ✅ Consider adding custom domain
- ✅ Update content as project evolves
Support
- Documentation: See
docs/README.md for local development
- Integrations: See
INTEGRATIONS.md for API setup
- Project Docs: See main
README.md for usage
- Issues: Open on GitHub for bugs or questions
Frequently Asked Questions (FAQ)
Can I run demo.py directly on GitHub Pages?
No. GitHub Pages is a static hosting service that only serves HTML, CSS, and JavaScript files. It cannot execute Python scripts.
Can I deploy the portfolio generated by demo.py to GitHub Pages?
Yes! After running demo.py on your local machine, you can copy the generated HTML/CSS files to the docs/ folder and commit them. See Deploying Demo Portfolio Output above.
Do I need Python installed to view a portfolio on GitHub Pages?
No. Once the portfolio is generated and deployed to GitHub Pages, visitors only need a web browser to view it. Python is only needed to generate the portfolio, not to view it.
What’s the difference between the landing page and a demo portfolio?
- Landing Page (
docs/index.html): Marketing site for Portfolio Necromancer itself
- Demo Portfolio: An example portfolio generated by running
demo.py, showcasing what the tool can create
Can I use GitHub Actions to automatically run demo.py?
Yes! You could set up a GitHub Actions workflow to run demo.py and commit the output automatically. However, this requires configuring secrets and proper permissions. For most users, running demo.py locally is simpler.
Your landing page is ready to go live! Just follow Step 1 above to enable GitHub Pages.