This repository contains the source and build files for my personal CV website hosted at cv.jnapolitano.io. It is built primarily using HTML and Sphinx documentation tools, with automated deployment and backup scripts.
Features
- Static HTML generation of personal CV and related documentation
- Automated build and deployment scripts using Makefile and shell scripts
- Dropbox backup integration for HTML builds
- Sphinx-based documentation with support for blog posts, machine learning projects, and data projects
- TensorFlow machine learning projects integrated as submodules
Tech Stack
- HTML for the CV website
- Python 3.5+ for build automation and Dropbox API integration
- Sphinx documentation generator with extensions such as ablog, myst_nb, sphinx_copybutton
- TensorFlow for machine learning projects
- Bash shell scripts for deployment and maintenance
Getting Started
Prerequisites
- Python 3.5 or higher
- pip package manager
- Dropbox SDK for Python (
pip install dropbox) - GitHub CLI for deployment (
ghp-importtool)
Installation
- Clone the repository:
git clone https://github.com/justin-napolitano/cv.git
cd cv
- Install Python dependencies:
pip install -r requirements.txt
- (Optional) Setup Dropbox access token in
backup_html.pyfor backup functionality.
Build and Deploy
- To build the HTML documentation:
make html
- To deploy the built HTML to GitHub Pages:
./deploy.sh
- To backup the HTML build to Dropbox:
python backup_html.py
Project Structure
cv/
βββ acp.sh # Shell script (purpose unspecified)
βββ backup_html.py # Python script to backup HTML build to Dropbox
βββ chtml.sh # Shell script (purpose unspecified)
βββ deploy.sh # Deployment script to GitHub Pages
βββ deployz.sh # Alternative deployment script
βββ doit.sh # Shell script (purpose unspecified)
βββ install.sh # Installation script
βββ label_list.py # Python script for reading Sphinx pickle labels
βββ latex/ # LaTeX source files
βββ Makefile # Build automation file
βββ pullit.sh # Git pull script
βββ pushit.sh # Git push script
βββ python_build.py # Python build automation script
βββ requirements.txt # Python dependencies
βββ requirements_rocky.txt # Alternative dependencies
βββ requirments.txt # Possibly duplicate requirements file
βββ source/ # Sphinx documentation source
β βββ _toc.yml # Table of contents
β βββ conf.py # Sphinx configuration
β βββ index.md # Main documentation index
β βββ parts/ # Documentation parts (ml-ai, data, bibliography, etc.)
β βββ ...
βββ uninstall.sh # Uninstall script
Future Work / Roadmap
- Clean up and consolidate shell scripts for clarity and purpose
- Improve configuration management and environment variable handling
- Enhance documentation structure and add more detailed usage guides
- Expand Dropbox backup functionality with error handling and logging
- Modularize machine learning projects for easier reuse
- Automate testing and continuous integration for builds and deployments
Note: Some scripts and files are present without explicit documentation. Assumptions were made based on filenames and partial code snippets.