/goilerplate

Goilerplate - Modern UI Components for Go & Templ

Primary LanguagetemplMIT LicenseMIT

Goilerplate

Modern UI Components for Go & Templ

Goilerplate Logo

About

Goilerplate is a growing library of modern UI components designed specifically for Go and Templ. It leverages Alpine.js for enhanced interactivity and Tailwind CSS for effortless styling. Whether you're building a small website or a large web application, Goilerplate provides the tools you need to create sleek, responsive interfaces with ease.

Features

  • Go-native Implementation: Optimized for Go developers, seamlessly integrating with Go backends.
  • Templ-first Design: Leverages the full power of Templ for type-safe, high-performance templating.
  • Server-Side Rendering (SSR) Focus: Excellent performance and SEO benefits out of the box.
  • Alpine.js Integration: Enhanced client-side interactivity when needed.
  • Tailwind CSS Styling: Modern, utility-first styling that's highly customizable.
  • Accessible Components: Built with accessibility in mind, following WCAG guidelines.
  • TypeSafe: Utilizing Go's type system for robust, error-resistant development.

Getting Started

There are two main ways to use Goilerplate in your projects:

  1. Use as a Package Library

    Install Goilerplate as a Go package:

    go get github.com/axzilla/goilerplate
    

    Then import and use components in your Templ files:

    import "github.com/axzilla/goilerplate/pkg/components"
    
    // In your Templ files
    @components.Button(components.ButtonProps{Text: "Click me"})
  2. Copy Components to Your Codebase

    Visit our components documentation to find and copy the components you need directly into your project.

You can also mix and match these approaches based on your project needs.

For a quick start, check out our Goilerplate Quickstart template, which provides a pre-configured setup using Goilerplate as a package library.

For detailed setup instructions and examples, visit our Getting Started guide.

Components

Explore our growing list of components in the Components documentation. Each component comes with usage examples and code snippets.

Inspiration

Goilerplate draws inspiration from several popular UI libraries and frameworks:

We're exploring whether to make Goilerplate a strict port of shadcn/ui or to create a unique blend of various inspirations. The project is still evolving, and community feedback will play a crucial role in shaping its direction.

Current Status

  • Heavy Development: The project is under active development. Expect frequent updates and potential breaking changes until we reach a stable version.
  • Actively growing component library
  • Regular updates and bug fixes
  • Continuous development based on community feedback

Changelog

See Releases for a detailed list of changes in each version.

Contributing

We welcome contributions from the community! Whether it's adding new components, improving existing ones, or enhancing documentation, your input is valuable. Please check our Contributing Guidelines for more information on how to get involved.

Feedback

Your feedback is crucial in shaping the future of Goilerplate. If you have suggestions, feature requests, or encounter any issues, please open an issue on our GitHub repository or reach out to us through our website.

License

Goilerplate is open-source software licensed under the MIT license.

Support

For support, questions, or discussions, please open an issue on our GitHub repository.


Built with ❤️ by the Go community, for the Go community.

Product Hunt