A modern, minimal personal blog built with Jekyll and Tailwind CSS. Perfect for developers who want a clean, professional blog on GitHub Pages.
.html extensionsThe fastest and easiest way to get your blog live:
yourusername.github.io (replace with your GitHub username)That's it! š Your blog is now live at https://yourusername.github.io
Want to customize locally? Use Docker for zero dependency hassles:
Prerequisites: Just install Docker Desktop
# Clone your repository
git clone https://github.com/yourusername/yourusername.github.io.git
cd yourusername.github.io
# Start with one command
make up
# Or using docker-compose
docker-compose up
Visit http://localhost:4000 to see your blog! š
Changes auto-reload with LiveReload!
Available Commands:
make help # Show all commands
make up # Start development server
make down # Stop containers
make logs # View logs
make shell # Open shell in container
make dev # Start with live CSS watching
make prod # Build for production
make clean # Clean up everything
Why Docker?
See docs/INSTALL.md for detailed Docker instructions.
If you prefer installing dependencies locally:
Prerequisites:
# Clone your repository
git clone https://github.com/yourusername/yourusername.github.io.git
cd yourusername.github.io
# Install dependencies
bundle install
npm install
# Build CSS
npm run build:css
# Run locally
bundle exec jekyll serve
Visit http://localhost:4000 to preview! š
For detailed installation: See docs/INSTALL.md
Comprehensive guides to help you:
Edit _config.yml:
# -----------------------------------------------------------------------------
# Site settings
# -----------------------------------------------------------------------------
title: Your Name
first_name: Your
last_name: Name
greeting: "Hi, I'm Your Name!"
email: [email protected]
url: "https://yourusername.github.io"
icon: āļø # emoji used as favicon
# Social Media
social:
- icon: fa-brands fa-github
link: https://github.com/yourusername
name: GitHub
- icon: fa-brands fa-x-twitter
link: https://twitter.com/your_twitter
name: Twitter / X
# Add more...
# Navigation
navigation:
- title: Articles
url: /articles
- title: Projects
url: /projects
- title: About
url: /about
Configuration is organized into clear sections with comments.
For more: See CUSTOMIZING.md
Create _posts/2025-01-15-my-first-post.markdown:
---
layout: post
title: "My First Post"
date: 2025-01-15 10:00:00 +0000
tags: [tutorial, getting-started]
excerpt: "A brief description for SEO and previews"
---
## Welcome!
Your content here in **Markdown** format.
### Code Example
\`\`\`python
def hello():
print("Hello, world!")
\`\`\`
### Images

**Easy!** š
For more details: See CONTENT.md
Quick reference for Docker users:
| Command | Description |
|---|---|
make up |
Start development server |
make down |
Stop all containers |
make restart |
Restart containers |
make logs |
Show container logs |
make shell |
Open bash in container |
make build |
Rebuild Docker image |
make clean |
Clean up everything |
make dev |
Start with live CSS watching |
make prod |
Build for production |
make install |
Install/update dependencies |
Or use docker-compose directly:
docker-compose up # Start
docker-compose down # Stop
docker-compose logs -f # View logs
docker-compose build # Rebuild
Push to GitHub
git add .
git commit -m "Initial commit"
git push origin main
Enable GitHub Pages
Configure Permissions
Done! Your site deploys automatically on every push! š
Visit: https://yourusername.github.io
For detailed deployment: See DEPLOYMENT.md
.
āāā _includes/ # Reusable components
ā āāā header.html # Site header
ā āāā share-buttons.html # Social sharing
ā āāā social-icons.html # Social media icons
āāā _layouts/ # Page templates
ā āāā default.html # Base layout
ā āāā page.html # Static pages
ā āāā post.html # Blog posts
ā āāā project.html # Project pages
āāā _posts/ # Your blog posts (Markdown)
āāā _projects/ # Your projects (Markdown)
āāā assets/
ā āāā css/
ā ā āāā input.css # Tailwind source (edit this)
ā ā āāā main.css # Compiled CSS (auto-generated)
ā āāā images/ # Your images
āāā docs/ # Documentation
āāā _config.yml # Main configuration
āāā Dockerfile # Docker configuration
āāā docker-compose.yml # Docker Compose configuration
āāā Makefile # Convenient commands
āāā Gemfile # Ruby dependencies
āāā package.json # Node.js dependencies
āāā README.md # This file
# Start development
make up
# Edit files in your favorite editor
# Changes auto-reload at http://localhost:4000
# For CSS changes with live rebuild
make dev
# Build for production
make prod
Terminal 1 - Jekyll Server:
bundle exec jekyll serve --livereload
Terminal 2 - CSS Watcher:
npm run watch:css
Now edit files - both content and styles auto-reload!
Edit assets/css/input.css:
:root {
--color-primary: #3b82f6; /* Your brand color */
--color-bg: #0a0a0a; /* Background */
--color-text: #e0e0e0; /* Text color */
}
Then rebuild: npm run build:css
Edit _config.yml:
google_analytics: G-XXXXXXXXXX
Create CNAME file with your domain:
yourdomain.com
Configure DNS at your registrar:
A @ 185.199.108.153
A @ 185.199.109.153
A @ 185.199.110.153
A @ 185.199.111.153
Update _config.yml:
url: "https://yourdomain.com"
Enable in GitHub: Settings ā Pages ā Custom domain
See DEPLOYMENT.md for details.
Powered by these amazing tools:
Contributions are welcome! See CONTRIBUTING.md for guidelines.
Ways to contribute:
MIT License - See LICENSE for details.
Free to use for personal and commercial projects.
If you find this template useful:
After setting up your blog:
Sites using this template:
Using this template? Let us know and we'll feature you here!
Made with ā¤ļø for developers by developers
ā Star this repo if you find it useful!
š“ Fork it to create your own blog!
š¢ Share it with others!
š Report issues or contribute!