Skip to content

HarrisFauntleroy/blog

Repository files navigation

Personal Blog Template

GitHub release GitHub GitHub contributors GitHub branch checks state GitHub issues GitHub issues GitHub issues

A template for a blog, and portfolio.


Table of Contents 📖

  1. Features
  2. Local Development
  3. Contributing
  4. License
  5. Disclaimer

Features ✨

  • 🌗 Dark Mode: Toggle between light and dark mode.
  • 📱 Responsive: Works on all devices.
  • 🎨 Theming: Simple UI customization.
  • 📡 RSS Feed: Keep readers updated automatically.
  • 🔒 NextAuth: Secure, simple logins.
  • 📝 Markdown: with support for GitHub Flavored Markdown, Katex, Mermaid, and more.
  • 🔍 SEO: Built-in search engine optimization features.
  • 🗺️ Sitemap Generation: Auto-generate for better SEO.
  • 🧩 Modular: Easy to extend.
  • 💬 Comments: In progress. 🚧
  • 📊 Analytics: In progress. 🚧
  • 👩‍💼 Admin Panel: In progress. 🚧

Dev Features ✨

  • ⚡ Full-stack React with Next.js
  • 🎉 Storybook deployed to Chromatic for UI development
  • 🌈 Chromatic for UI review and visual testing
  • 🗺️ Sitemap.xml and robots.txt with next-sitemap
  • 🤖 SEO metadata, JSON-LD, and Open Graph tags with Next SEO
  • 🧪 Unit Testing with Jest
  • 🧪 End-to-end testing with Playwright
  • 🧹 ESLint for code linting
  • 🎨 Prettier for code formatting
  • 🐶 Git hooks with Husky
  • 🌳 Trunk-Based Development
  • 🔄 Continuous integration with GitHub Actions
  • 🏷 TypeScript

Local Development 🛠️

Here's how you can set up personal-blog-template in your local dev environment:

Installation

# Install dependencies with bun
bun install
# Start development server
bun run dev

Please refer to the package.json for additional details and scripts.

Trunk-Based Development and Git Hooks

This repository adopts a Trunk-Based Development approach to encourage:

  • Short-lived branches or direct trunk modifications
  • Frequent merges
  • High collaboration among developers

Automated Git Hooks

To maintain code quality, we've set up automated Git hooks that perform various tasks at different stages of the Git workflow:

Pre-Commit Hooks:

  • Linting: Enforces a consistent code style across the codebase.
  • Formatting: Applies standardized code formatting.
  • Testing: Executes all unit tests to catch regressions and errors at an early stage.
  • Building: Compiles the code and bundles all assets to ensure everything is set up correctly.

This automation helps keep our codebase clean, stable, and error-free.

Contributing 🤝

If you'd like to contribute, please see our contribution guidelines for more information.

License ⚖️

This software is distributed under the terms of the MIT License. You can see the full license here.

Disclaimer 🚨

This software is currently a work in progress and considered in the ALPHA phase. As we continue to update and improve, please expect features to evolve and APIs to change. We appreciate your patience and value your feedback! 🙌

Screenshots 📸

Image 1
Image 1
Image 2 Image 3
Image 2 Image 3
Image 4 Image 5
Image 4 Image 5