📷 Codebase for Hosting TheDoShoots Photography Portfolio 📷
0
stars
118
commits
HTML
primary language
Sep 12, 2026
updated
Welcome to my photography portfolio: TheDoShoots! Here is how you build my website.
This project automates the creation of gallery pages based on a template repository and provides tools for managing image metadata.
Live Site: https://thedoshoots.me
Install the required Python packages. You can install them via pip:
pip install -r requirements.txt
To build your galleries (e.g., Astronomy, Wildlife) from the template, run the main script:
python preparePortfolio.py
This will:
https://github.com/dotimothy/gallery.git.astronomy, wildlife) with the correct titles and configurations.If you need to modify the EXIF data of your images (specifically for the "fulls" directory in a gallery), you can launch the helper tool:
python preparePortfolio.py --exif
| Argument | Description |
|---|---|
--quality/-q | [NEW] Set JPEG quality (1-100) for watermarked images and thumbnails. Default: 100. |
--jobs/-j | Set number of parallel workers for faster processing. |
--clean | Wipe generated assets (keeps images). |
--full-clean | Wipe everything including downloaded porfolio images. |
--dry-run | Simulate the build process without making changes. |
--watermark | Apply watermark to images. |
--select | Build only specific galleries (e.g. --select astronomy). |
preparePortfolio.py: The main orchestration script. Handles fetching the template and generating site sections.index.html: The main landing page of the portfolio.astronomy/, wildlife/: Dedicated directories for each photo category.
index.html for the gallery.fulls/ directory where high-resolution images are kept.prepareSite.py script for gallery-specific operations.assets/photographer.jpg: Profile picture used on the landing page.The portfolio site (index.html) includes a built-in settings panel (gear icon) allowing visitors to toggle:
This repository uses a dual licensing structure to clearly define the terms for the source code versus the photographic content. This repository contains two distinct categories of content, each governed by its own license:
| Component | Purpose | License | Key Permissions Granted |
|---|---|---|---|
| Photographic Content (Images) | The original creative work (the photography). | CC BY-NC-ND 4.0 | Users can share the photos with credit, but cannot modify them (No-Derivatives) and cannot use them commercially. |
Source Code (.py, .html, etc.) | The underlying automation and site structure. | MIT License | Users can freely use, modify, and distribute the code for any purpose, with attribution. |
Photographic Content License Details:
All photographs in this portfolio are the original work of Timothy Do and are licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License (CC BY-NC-ND 4.0).
© 2026 Timothy Do. All Rights Reserved.
See the LICENSE file in this repository for the full legal text.
Timothy Do - @dotimothy on GitHub
118 commits
HTML
47.3%
JavaScript
44.5%
Python
5.9%
CSS
1.6%
📷 Codebase for Hosting TheDoShoots Photography Portfolio 📷
0
stars
118
commits
HTML
primary language
Sep 12, 2026
updated
Welcome to my photography portfolio: TheDoShoots! Here is how you build my website.
This project automates the creation of gallery pages based on a template repository and provides tools for managing image metadata.
Live Site: https://thedoshoots.me
Install the required Python packages. You can install them via pip:
pip install -r requirements.txt
To build your galleries (e.g., Astronomy, Wildlife) from the template, run the main script:
python preparePortfolio.py
This will:
https://github.com/dotimothy/gallery.git.astronomy, wildlife) with the correct titles and configurations.If you need to modify the EXIF data of your images (specifically for the "fulls" directory in a gallery), you can launch the helper tool:
python preparePortfolio.py --exif
| Argument | Description |
|---|---|
--quality/-q | [NEW] Set JPEG quality (1-100) for watermarked images and thumbnails. Default: 100. |
--jobs/-j | Set number of parallel workers for faster processing. |
--clean | Wipe generated assets (keeps images). |
--full-clean | Wipe everything including downloaded porfolio images. |
--dry-run | Simulate the build process without making changes. |
--watermark | Apply watermark to images. |
--select | Build only specific galleries (e.g. --select astronomy). |
preparePortfolio.py: The main orchestration script. Handles fetching the template and generating site sections.index.html: The main landing page of the portfolio.astronomy/, wildlife/: Dedicated directories for each photo category.
index.html for the gallery.fulls/ directory where high-resolution images are kept.prepareSite.py script for gallery-specific operations.assets/photographer.jpg: Profile picture used on the landing page.The portfolio site (index.html) includes a built-in settings panel (gear icon) allowing visitors to toggle:
This repository uses a dual licensing structure to clearly define the terms for the source code versus the photographic content. This repository contains two distinct categories of content, each governed by its own license:
| Component | Purpose | License | Key Permissions Granted |
|---|---|---|---|
| Photographic Content (Images) | The original creative work (the photography). | CC BY-NC-ND 4.0 | Users can share the photos with credit, but cannot modify them (No-Derivatives) and cannot use them commercially. |
Source Code (.py, .html, etc.) | The underlying automation and site structure. | MIT License | Users can freely use, modify, and distribute the code for any purpose, with attribution. |
Photographic Content License Details:
All photographs in this portfolio are the original work of Timothy Do and are licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License (CC BY-NC-ND 4.0).
© 2026 Timothy Do. All Rights Reserved.
See the LICENSE file in this repository for the full legal text.
Timothy Do - @dotimothy on GitHub
118 commits
HTML
47.3%
JavaScript
44.5%
Python
5.9%
CSS
1.6%