static
Data Blog Platform Built with Gatsby and Python Automation
Explore a Gatsby-based data blog platform that integrates Markdown and HTML for detailed analyses, featuring a Python build automation script.
Shipped January 2026
A data-focused blog platform built with Gatsby, designed to integrate Markdown and HTML content for publishing detailed data analyses and research posts.
Features
- Static site generation using Gatsby with React
- Support for Markdown and HTML content
- Syntax highlighting for code blocks
- Integration with various Gatsby plugins for image optimization, offline support, and smooth scrolling
- Custom GraphQL queries to generate pages from content
- Python build automation script for dependency management and site building
Tech Stack
- Gatsby (React-based static site generator)
- React 17
- GraphQL for data querying
- Python for build automation
- GeoPandas, Folium, and other Python libraries for geospatial data analysis (in blog content)
- PrismJS for syntax highlighting
Getting Started
Prerequisites
- Node.js (v14 or higher recommended)
- npm or yarn
- Python 3 (for build automation script)
Installation
Clone the repository:
git clone https://github.com/justin-napolitano/data-blog.git
cd data-blog
Install dependencies:
npm install
# or
# yarn install
Running the Development Server
npm run develop
# or
# yarn develop
Open your browser at http://localhost:8000 to view the site.
Building the Site
npm run build
# or
# yarn build
Serve the production build locally:
npm run serve
# or
# yarn serve
Python Build Script
A Python script (python-build.py) automates cleaning, building, committing, and pushing the Gatsby site.
Run the script:
python python-build.py
Project Structure
/data-blog
├── content/ # Markdown and HTML blog content organized by topic
├── src/ # React components and templates
├── static/ # Static assets
├── user-components/ # Custom user components
├── gatsby-browser.js # Browser APIs and CSS imports
├── gatsby-config.js # Gatsby configuration and plugins
├── gatsby-node.js # Node APIs for page creation and schema customization
├── html_node.js # Custom node creation for HTML content
├── python-build.py # Python automation script for build and deployment
├── package.json # Node.js dependencies and scripts
├── package-lock.json # Exact dependency versions
├── README.md # This file
└── LICENSE # License file
Future Work / Roadmap
- Add comprehensive documentation and metadata for blog posts
- Implement testing for React components and GraphQL queries
- Enhance Python build script with error handling and logging
- Add support for additional data visualization components
- Integrate continuous deployment pipeline
- Expand content types and support for interactive notebooks
Note: This README assumes the repository is a personal data blog leveraging Gatsby and Markdown content, with Python automation for build tasks.
Need more context?
Want help adapting this playbook?
Send me the constraints and I'll annotate the relevant docs, share risks I see, and outline the first sprint so the work keeps moving.