https://github.com/andrewm4894/blog
Personal blog.
https://github.com/andrewm4894/blog
blog monitoring netdata
Last synced: 4 months ago
JSON representation
Personal blog.
- Host: GitHub
- URL: https://github.com/andrewm4894/blog
- Owner: andrewm4894
- Created: 2025-06-09T10:03:35.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-09-04T11:19:15.000Z (9 months ago)
- Last Synced: 2026-01-16T05:29:07.224Z (5 months ago)
- Language: Python
- Homepage: https://andrewm4894.com/
- Size: 44 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# andrewm4894 Blog
A personal blog focused on Data Science and Machine Learning, built with Jekyll and hosted on GitHub Pages.
## Overview
This blog was migrated from WordPress and is now powered by Jekyll, using the Minimal theme. It's hosted on GitHub Pages at [andrewm4894.com](https://andrewm4894.com).
## Technical Stack
- **Framework**: Jekyll
- **Theme**: Minimal (pages-themes/minimal)
- **Hosting**: GitHub Pages
- **Plugins**:
- jekyll-feed
- jekyll-seo-tag
- jekyll-remote-theme
## Branch Preview System 🚀
This blog includes an automated branch preview system that creates deployments for every branch and pull request.
### How It Works
1. **Branch Previews**: When you push to any branch (except `main`), a preview is automatically built and deployed to `https://andrewm4894.com/preview/{branch-name}/`
2. **Pull Request Previews**: When you create a PR, a preview is deployed to `https://andrewm4894.com/preview/pr-{number}/` and a comment is added to the PR with the preview link
3. **Preview Index**: All active previews are listed at `https://andrewm4894.com/preview/`
4. **Automatic Cleanup**: Old previews are cleaned up weekly, removing previews for deleted branches and closed PRs
### Workflows
- **Branch Preview Deploy** (`.github/workflows/branch-preview.yml`): Builds previews for branches and PRs
- **Deploy Main Site** (`.github/workflows/pages-preview.yml`): Deploys the main site while preserving previews
- **Cleanup Old Previews** (`.github/workflows/cleanup-previews.yml`): Weekly cleanup of stale previews
### Using Previews
1. Create a new branch: `git checkout -b feature/my-new-post`
2. Make your changes and push: `git push origin feature/my-new-post`
3. Visit the Actions tab to see the deployment progress
4. Once complete, visit `https://andrewm4894.com/preview/feature-my-new-post/`
5. Create a PR to get an additional PR-specific preview
### Local Preview Testing
Use the included script to test your changes locally before pushing:
```bash
# Test how your branch will look as a preview
./preview-local.sh feature-my-new-post
# Or test the current branch
./preview-local.sh
```
## Development
### Prerequisites
- Ruby
- Bundler
- Make (for using the Makefile)
### Setup
1. Install dependencies:
```bash
bundle install
```
2. Run locally:
```bash
make serve
```
### Project Structure
- `_posts/`: Blog posts in Markdown format
- `_layouts/`: Custom layout templates
- `assets/`: Static assets (images, CSS, etc.)
- `_config.yml`: Jekyll configuration
- `fix_images.py` & `fix_posts.sh`: Migration utilities
## License
All content is © andrewm4894. All rights reserved.