Hugo, Python and Sheets, Oh My!

Generating Pages for Hugo Static Site Generator using Python and Google Spreadsheets

~5 minutes 🔗

Backstory I posted recently about building online fundraising pages for a Color Run event hosted by my daughter’s Elementary School PTA. Originally I was using a CSV file as the data source for the student’s donation pages. I found a way to keep the data in Google Sheets and pull from it directly on site build in Netlify, so that they can easily be updated by admin staff in the PTA without going to text files or messing with the Git repository for each change.

Using Python,, Stripe and Hugo for Charity Fundraising Pages

How do you setup individual donation pages for participants from a data file? This post shows you how I implemented this for the Island View Elementary PTA, Color Run event.

~10 minutes 🔗

How it begins I’ve been volunteering time to help the PTA at my youngest daughter’s Elementary School implement a new website and bring some web technologies to their operations. This post focuses on one aspect of this effort, fundraising. The annual Color Run is coming soon and the PTA uses this event as one of the many small fundraisers for the organization. The question to me was, “Can we accept online donations for the students, where each student has their own unique donation page/url?

Replacing GitLab CI/CD, Docker Image and Gitlab Pages Hosted on Cloudflare, with Netlify

Changes to simplify my site builds and delivery.

~2 minutes 🔗

To simplify and improve the process of building this website, I had to make a few changes. My previous build and delivery process (written about on this site) was based on GitLab CI/CD using a Custom Docker Image and creating GitLab Pages that were hosted on Cloudflare CDN. My new setup just uses GitLab for the code repository and Netlify for everything else. Using Netlify is fairly common for static sites, but the thing that made mine unique and required some of the complexity of the previous setup, is that I wanted to use Madoko to build some documentation files and include the output of that process into the final website.