Files
chill_hugoplate/themes/chill-theme/README.md
2026-01-28 09:40:37 +01:00

471 lines
14 KiB
Markdown

# Hugo Saasify Theme
A modern and elegant Hugo theme specifically designed for building **SaaS marketing websites**. Built with TailwindCSS, this theme provides a clean, professional look while maintaining excellent performance and customization options.
## Why Hugo Saasify Theme?
Perfect for creating high-converting SaaS landing pages, product marketing sites, and company websites with:
- **SEO Optimized** - Built-in SEO best practices, semantic HTML, and optimized meta tags to help you rank better
- **Lightning Fast** - Static site generation delivers blazing-fast load times (90+ Lighthouse scores)
- **Global Ready** - Full internationalization (i18n) support with automatic language detection powered by [VisitorAPI](https://visitorapi.com/)
- **Developer Friendly** - Clean code structure, comprehensive documentation, and easy customization
- **Production Ready** - Battle-tested with real SaaS companies, mobile-responsive, and accessibility compliant
Whether you're launching a new SaaS product or refreshing your marketing site, Hugo Saasify Theme helps you build a professional web presence quickly and efficiently.
![Hugo Saasify Theme Screenshot](https://raw.githubusercontent.com/chaoming/chill-theme/main/screenshots/screenshot1.png)
![Hugo Saasify Theme Screenshot 2](https://raw.githubusercontent.com/chaoming/chill-theme/main/screenshots/screenshot2.png)
![Hugo Saasify Theme Screenshot 3](https://raw.githubusercontent.com/chaoming/chill-theme/main/screenshots/screenshot3.png)
[Demo Site](https://saasify-demo.chaoming.li)
## Features
- 🎨 Modern design with TailwindCSS
- 📱 Fully responsive layout
- 🚀 Performance optimized
- 💅 Clean typography with Inter & Plus Jakarta Sans fonts
- 🎯 Perfect for SaaS and business websites
- 🛠 Easy to customize
- 📦 No jQuery, minimal JavaScript
- 📊 Google Analytics support
- 📈 Google Tag Manager support
- 🔧 Custom head content support for additional tracking scripts
- 🎪 21 pre-built shortcodes for rapid page building
- 📚 Documentation layout with automatic sidebar navigation
- 🌍 Full multilingual (i18n) support with automatic language switcher (powered by [VisitorAPI](https://visitorapi.com/))
## Documentation
**📖 [Complete Documentation →](docs/README.md)**
Comprehensive guides covering everything you need:
- **[Installation Guide](docs/INSTALLATION.md)** - Get started quickly
- **[Configuration Guide](docs/CONFIGURATION.md)** - All configuration options
- **[Internationalization Guide](docs/INTERNATIONALIZATION.md)** - Complete i18n and multilingual setup guide
- **[Layouts Guide](docs/LAYOUTS.md)** - Understanding layouts and templates
- **[Shortcodes Reference](docs/SHORTCODES.md)** - All 21 shortcodes documented
- **[Styling Guide](docs/STYLING.md)** - Customize colors, fonts, and styles
- **[Content Creation Guide](docs/CONTENT-CREATION.md)** - Create pages and blog posts
- **[Deployment Guide](docs/DEPLOYMENT.md)** - Deploy to various platforms
- **[Troubleshooting Guide](docs/TROUBLESHOOTING.md)** - Common issues and solutions
## Requirements
- Hugo Extended Version (>= 0.80.0)
- Node.js (>= 14.x)
- npm or yarn
## Installation
### 1. Create a new Hugo site (skip if you have an existing site)
```bash
hugo new site your-site-name
cd your-site-name
```
### 2. Add the theme as a submodule
```bash
git init
git submodule add https://github.com/chaoming/chill-theme themes/chill-theme
```
### 3. Example Site (Optional)
The theme comes with a fully functional example site that demonstrates its features and capabilities. You can use this as a reference when building your own site.
### Using the Example Site
The example site provides a great starting point to understand how to:
- Structure your content
- Use different page layouts
- Configure navigation menus
- Set up site parameters
- Implement common SaaS website features
1. Copy the example site content:
```bash
cp -r themes/chill-theme/exampleSite/* .
```
2. The example site includes:
- Complete content structure with sample pages
- Blog posts with various layouts
- Feature pages
- Career/Jobs section
- Pricing page
- Company information page
- Properly configured hugo.toml
### 4. Install dependencies
```bash
# Copy package.json and other config files to your site root
cp themes/chill-theme/package.json .
cp themes/chill-theme/postcss.config.js .
cp themes/chill-theme/tailwind.config.copy.js ./tailwind.config.js
```
```bash
# Install dependencies
npm install
```
### 5. Configure your Hugo site
Create or update your `hugo.toml` with the following configuration:
```toml
# Basic Configuration
baseURL = "/"
title = "Your Site Title"
theme = "chill-theme"
defaultContentLanguage = "en"
# Required Features
enableEmoji = true # Enable emoji support
enableGitInfo = true # Enable Git info for lastmod
# Pagination
paginate = 6
paginatePath = "page"
# Required Module Configuration
[module]
[module.hugoVersion]
extended = true
min = "0.80.0"
# Required Build Configuration
[build]
writeStats = true # Required for TailwindCSS
[build.buildStats]
enable = true
# Security Configuration
[security.funcs]
getenv = ['^HUGO_', '^CI$']
# Required Markup Configuration
[markup]
[markup.highlight]
noClasses = false
lineNos = true
codeFences = true
guessSyntax = true
lineNumbersInTable = true
[markup.goldmark.renderer]
unsafe = true # Allow HTML in markdown
[markup.tableOfContents]
endLevel = 3
ordered = false
startLevel = 2
# Taxonomies
[taxonomies]
category = 'categories'
tag = 'tags'
# Theme Parameters
[params]
description = "Your site description"
author = "Your Name"
logo = "/images/logo.svg" # Path to your logo
# Google Analytics ID (e.g., "G-XXXXXXXXXX")
googleAnalytics = "G-XXXXXXXXXX" # Only enabled in production
# Google Tag Manager ID (e.g., "GTM-XXXXXXX")
# Only enabled in production
googleTagManager = "GTM-XXXXXXX"
# Header Configuration
[params.header]
background = "bg-white/80 backdrop-blur-sm"
border = "border-b border-gray-100"
# Header Logo
[params.header.logo]
src = "/images/logo.svg"
# Header Buttons (optional)
[params.header.buttons]
[params.header.buttons.signIn]
text = "Sign in"
url = "/signin"
[params.header.buttons.getStarted]
text = "Get Started"
url = "/get-started"
# Global CTA Configuration (optional)
[params.cta]
enable = true
title = "Ready to Get Started?"
description = "Join companies using our platform"
[params.cta.primary_button]
text = "Get Started Free"
url = "/get-started"
[params.cta.secondary_button]
text = "Book Demo"
url = "/demo"
# Social Media Links (optional)
[params.social]
linkedin = "https://linkedin.com/in/yourusername"
twitter = "https://twitter.com/yourusername"
bluesky = "https://bsky.app/profile/yourblueskyhandle"
github = "https://github.com/yourusername"
# Navigation Menu
[menu]
[[menu.main]]
name = "Features"
weight = 1
[menu.main.params]
has_submenu = true
submenu = [
{ name = "Feature 1", url = "/features/feature-1/" },
{ name = "Feature 2", url = "/features/feature-2/" }
]
[[menu.main]]
name = "Pricing"
url = "/pricing"
weight = 2
[[menu.main]]
name = "Blog"
url = "/blog"
weight = 3
```
This configuration includes:
- **Basic Settings**: Site title, theme selection, and default language
- **Required Features**: Emoji support and Git integration
- **Pagination**: Posts per page configuration
- **Module Configuration**: Hugo Extended version requirements
- **Build Settings**: Required for TailwindCSS integration with build stats
- **Security Settings**: Environment variable access control
- **Markup Settings**: Syntax highlighting and markdown rendering options
- **Taxonomies**: Categories and tags support
- **Theme Parameters**:
- Header configuration with logo and navigation
- Call-to-action (CTA) sections
- Social media links
- Google Analytics configuration (only enabled in production)
- Google Tag Manager configuration (only enabled in production)
- Custom head content for additional tracking scripts and meta tags
- **Navigation Menu**: Main menu structure with dropdown support
**Note**: For multilingual sites, see the [Multilingual Support](#multilingual-support) section below for additional language configuration.
## Development
To start the development server with live reload:
```bash
npm run start
```
This will:
- Watch for changes in your TailwindCSS styles
- Run the Hugo development server
- Automatically rebuild when changes are detected
To build your site for production:
```bash
npm run build
```
This will:
- Build and minify your TailwindCSS styles
- Generate minified Hugo site in the `public` directory
## Customization
### Colors
The theme uses a primary and secondary color scheme that can be customized in `tailwind.config.js`:
```js
colors: {
primary: {
// Your primary color palette
},
secondary: {
// Your secondary color palette
}
}
```
### Typography
The theme uses Inter for body text and Plus Jakarta Sans for headings. You can modify this in `tailwind.config.js`:
```js
fontFamily: {
sans: ['Inter', 'system-ui', 'sans-serif'],
heading: ['Plus Jakarta Sans', 'sans-serif'],
}
```
### Layout Components
Common components like buttons, cards, and sections can be customized in `assets/scss/main.scss`.
### Custom Head Content
Add custom tracking scripts or meta tags by creating `layouts/partials/custom-head.html` in your site:
```html
<!-- layouts/partials/custom-head.html -->
<!-- Example: Adding Hotjar tracking -->
<script>
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:YOUR_HOTJAR_ID,hjsv:6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
</script>
<!-- Example: Site verification -->
<meta name="google-site-verification" content="your-code" />
```
This is perfect for:
- Third-party analytics (Hotjar, Mixpanel, Heap, etc.)
- Site verification meta tags
- Custom fonts or stylesheets
- A/B testing scripts
- Chat widgets
See the [Configuration Guide](docs/CONFIGURATION.md#custom-head-content) for more details.
## Multilingual Support
The theme has full multilingual (i18n) support with:
- Automatic language switcher in the header
- Language-specific content directories
- Translatable UI strings via i18n files
- Language-specific menus and parameters
### Quick Setup
1. **Configure languages in `hugo.toml`:**
```toml
defaultContentLanguage = "en"
[languages]
[languages.en]
languageCode = "en-us"
languageName = "English"
weight = 1
contentDir = "content"
[languages.zh-cn]
languageCode = "zh-cn"
languageName = "简体中文"
weight = 2
contentDir = "content/zh-cn"
```
2. **Create translation files:**
Copy `themes/chill-theme/i18n/en.toml` to your site's `i18n/` directory and create language-specific versions (e.g., `i18n/zh-cn.toml`).
3. **Organize content by language:**
```
content/
├── _index.md # English homepage
├── blog/ # English blog posts
└── zh-cn/ # Chinese content
├── _index.md # Chinese homepage
└── blog/ # Chinese blog posts
```
4. **Configure language-specific menus:**
```toml
# English menu
[[languages.en.menu.main]]
name = "Features"
url = "/features"
# Chinese menu
[[languages.zh-cn.menu.main]]
name = "功能特性"
url = "/zh-cn/features"
```
The language switcher will automatically appear in the header when multiple languages are configured.
**📖 [Full Multilingual Guide →](docs/INTERNATIONALIZATION.md)**
**💡 Want to see a complete working example?** Check out the [demo site repository](https://github.com/chaoming/hugo-saasify-demo) for a full multilingual setup with English and Simplified Chinese, including all configuration files, translated content, and i18n files.
## Content Structure
```
content/
├── _index.md # Homepage content
├── blog/ # Blog posts
├── features/ # Feature pages
├── docs/ # Documentation pages
└── zh-cn/ # Additional language (optional)
├── _index.md
└── blog/
```
## Build Your Complete SaaS Solution
Hugo Saasify Theme is perfect for your **marketing site**, but what about your actual SaaS application? Check out [**Fireact.dev**](https://fireact.dev/) - an open-source framework that complements this theme perfectly.
[Fireact.dev](https://github.com/fireact-dev/main) is a production-ready SaaS application starter built with **React, Firebase, and Stripe**. It provides everything you need for the application side of your SaaS business:
- **Stripe Integration** - Complete billing system with subscription management, payment processing, invoices, and customer portal
- **User Management** - Built-in authentication, team collaboration, user invitations, and role-based access control (admin/user roles)
- **Multi-tenancy** - Full support for multiple subscription accounts with isolated data and permissions
- **Production Ready** - TypeScript, internationalization (i18n), Firebase Cloud Functions, and comprehensive documentation
**Perfect Combination**: Use Hugo Saasify Theme for your public-facing marketing website (landing pages, blog, documentation) and Fireact.dev for your authenticated SaaS application. Together, they provide a complete solution for launching your SaaS product quickly.
Learn more at [fireact.dev](https://fireact.dev/) or view the [GitHub repository](https://github.com/fireact-dev/main).
## License
This theme is released under the [MIT license](https://github.com/chaoming/chill-theme/blob/main/LICENSE).
## Quick Links
- 📖 [Documentation](docs/README.md)
- 🎨 [Demo Site](https://saasify-demo.chaoming.li)
- 🐛 [Report Issues](https://github.com/chaoming/chill-theme/issues)
- 💬 [Discussions](https://github.com/chaoming/chill-theme/discussions)
## Support
Need help? Check the documentation first:
1. **[Complete Documentation](docs/README.md)** - Start here
2. **[Troubleshooting Guide](docs/TROUBLESHOOTING.md)** - Common issues
3. **[GitHub Issues](https://github.com/chaoming/chill-theme/issues)** - Report bugs or request features
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Author
Created by [Chaoming Li](https://chaoming.li)