al-minimal

al-minimal

A modern, minimal personal blog built with Jekyll and Tailwind CSS. Perfect for developers who want a clean blog on GitHub Pages.

šŸ“ Minimal Jekyll Blog

A modern, minimal personal blog built with Jekyll and Tailwind CSS. Perfect for developers who want a clean, professional blog on GitHub Pages.

🌟 Features

  • Responsive Design - Beautiful dark theme, mobile-first approach
  • Blog Posts - Markdown posts with pagination (10 per page)
  • Projects Portfolio - Showcase your work
  • Tags System - Organize posts by tags
  • Table of Contents - Auto-generated TOC for long posts
  • Social Sharing - Twitter, LinkedIn, Facebook, Reddit, Telegram
  • SEO Optimized - Sitemap, meta tags, RSS feed
  • Clean URLs - No .html extensions
  • GitHub Actions - Automated deployment
  • Docker Support - Run anywhere with zero setup
  • Fast & Lightweight - Optimized performance

šŸš€ Getting Started

Quick Start (No Installation Needed!)

The fastest and easiest way to get your blog live:

  1. Click "Use this template" button at the top of this repository
  2. Create a new repository from the template
    • Name it yourusername.github.io (replace with your GitHub username)
    • Choose public
    • Click "Create repository"
  3. Configure permissions
    • Go to Settings → Actions → General → Workflow permissions
    • Select Read and write permissions and save
  4. Wait a few minutes for GitHub Actions to build your site

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?

  • āœ… No Ruby, Node.js, or gem installation needed
  • āœ… Works identically on Windows, Mac, and Linux
  • āœ… No dependency conflicts
  • āœ… Clean system - everything in containers
  • āœ… Easy updates - just rebuild

See docs/INSTALL.md for detailed Docker instructions.

Traditional Setup (Without Docker)

If you prefer installing dependencies locally:

Prerequisites:

  • Ruby 3.0 or higher
  • Node.js 18 or higher
  • Bundler and npm
# 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

šŸ“š Documentation

Comprehensive guides to help you:

⚔ Quick Customization

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

šŸ“ Writing Your First Post

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

![Description](/assets/images/my-image.jpg)

**Easy!** šŸŽ‰

For more details: See CONTENT.md

🐳 Docker Commands

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

🚢 Deploy to GitHub Pages

  1. Push to GitHub

    git add .
    git commit -m "Initial commit"
    git push origin main
    
  2. Enable GitHub Pages

    • Go to Settings → Pages
    • Select GitHub Actions as source
  3. Configure Permissions

    • Go to Settings → Actions → General
    • Select Read and write permissions
  4. Done! Your site deploys automatically on every push! šŸŽ‰

    Visit: https://yourusername.github.io

For detailed deployment: See DEPLOYMENT.md

šŸ“‚ Project Structure

.
ā”œā”€ā”€ _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

šŸ› ļø Development Workflow

Using Docker

# 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

Without Docker

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!

šŸŽØ Customization Examples

Change Colors

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

Add Google Analytics

Edit _config.yml:

google_analytics: G-XXXXXXXXXX

Use Custom Domain

  1. Create CNAME file with your domain:

    yourdomain.com
    
  2. 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
    
  3. Update _config.yml:

    url: "https://yourdomain.com"
    
  4. Enable in GitHub: Settings → Pages → Custom domain

See DEPLOYMENT.md for details.

šŸ™ Acknowledgments

Powered by these amazing tools:

šŸ“– Resources

Jekyll

Tailwind CSS

Markdown

šŸ¤ Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

Ways to contribute:

  • šŸ› Report bugs
  • šŸ’” Suggest features
  • šŸ“ Improve documentation
  • šŸ”§ Submit pull requests
  • ⭐ Share your blog (for inspiration)

šŸ“„ License

MIT License - See LICENSE for details.

Free to use for personal and commercial projects.

šŸ’¬ Support

🌟 Show Your Support

If you find this template useful:

  • ⭐ Star this repository to show your appreciation
  • šŸ“ Fork it to create your own blog
  • šŸ“¢ Share it with others who might benefit
  • šŸ¤ Contribute to make it even better

šŸŽÆ What's Next?

After setting up your blog:

  1. āœ… Customize - Make it yours (CUSTOMIZING.md)
  2. āœ… Write - Create your first post (CONTENT.md)
  3. āœ… Deploy - Go live on GitHub Pages (DEPLOYMENT.md)
  4. āœ… Share - Tell the world about your blog!
  5. āœ… Maintain - Keep dependencies updated

šŸš€ Live Examples

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!