Personal Data Science Portfolio
Architecture & Tech Stack
- Framework: Quarto (Static Site Generator for Data Science).
- Content: Jupyter Notebooks (
.ipynb), Markdown (.md), and Python scripts. - Hosting: Dockerized Nginx serving static HTML assets.
Build & Run Commands
- Preview locally:
quarto preview - Render static site:
quarto render(Outputs to_site/) - Build Docker image:
docker build -t ds-portfolio:latest . - Run locally:
docker run -p 8080:80 ds-portfolio:latest
Workflow for Adding Content
- Jupyter Notebooks: Drop
.ipynbfiles directly into theposts/orprojects/directory. Quarto will execute and render the cells during the build process. - Dashboards: Use Quarto Dashboards or embed interactive Python applications (e.g., Streamlit, Dash) via HTML iframes.
- Navigation: Update
_quarto.ymlto reflect new pages or let Quarto auto-generate navigation based on directory structure.
Containerization Contract
When modifying the Dockerfile or build process, adhere to these rules: 1. Statelessness: The final container must serve purely static assets. 2. Standard Ports: The web server must expose port 80. 3. Portability: Make no assumptions about the target hosting environment, orchestrator, or hardware architecture.