Refactor theme colors and styles; remove unused favicon; update translations and layouts

- Deleted unused favicon file.
- Updated Tailwind CSS configuration to redefine primary and secondary colors.
- Adjusted button styles in CSS to use new color definitions.
- Removed English translations and added French translations for various UI elements.
- Created new layouts for features and updated existing layouts to reflect new design.
- Modified header and CTA components to use updated color scheme.
- Cleaned up pricing table shortcode to align with new styles.
- Updated theme metadata to reflect new author and project details.
This commit is contained in:
Boris Waaub
2026-01-28 13:22:33 +01:00
parent ad649599c9
commit d50f7013a9
39 changed files with 1119 additions and 810 deletions
+6 -6
View File
@@ -40,15 +40,15 @@
}
.btn-primary {
@apply btn bg-primary-600 text-white hover:bg-primary-700 hover:scale-105;
@apply btn bg-primary-400 text-white hover:bg-primary-400 hover:scale-105;
}
.btn-secondary {
@apply btn bg-secondary-600 text-white hover:bg-secondary-700 hover:scale-105;
@apply btn bg-secondary-400 text-white hover:bg-secondary-700 hover:scale-105;
}
.btn-outline {
@apply btn border-2 border-primary-600 text-primary-600 hover:scale-105;
@apply btn border-2 border-primary-400 text-primary-400 hover:scale-105;
}
.container {
@@ -146,7 +146,7 @@
}
.prose a {
@apply text-primary-600 hover:text-primary-700 no-underline;
@apply text-primary-600 hover:text-primary-400 no-underline;
}
.prose ul, .prose ol {
@@ -187,12 +187,12 @@
}
.features-carousel__nav { margin-bottom: 1rem; text-align: center; }
.features-carousel__nav button {
@apply btn text-gray-900 hover:text-primary-700;
@apply btn text-gray-900 hover:text-primary-400;
max-height:40px;
}
.features-carousel__nav button.active {
@apply btn bg-primary-600 text-white hover:bg-primary-700 hover:scale-105;
@apply btn bg-primary-400 text-white hover:bg-primary-400 hover:scale-105;
}
.features-carousel__slides { min-height: 150px; }
-154
View File
@@ -1,154 +0,0 @@
# English translations for Hugo Saasify Theme
# Copy this file to your site's i18n directory and customize as needed
# Common UI translations
[readMore]
other = "Read More"
[readTime]
other = "min read"
[published]
other = "Published"
[updated]
other = "Updated"
[by]
other = "by"
[shareOn]
other = "Share on"
[relatedPosts]
other = "Related Posts"
[categories]
other = "Categories"
[tags]
other = "Tags"
[allPosts]
other = "All Posts"
[search]
other = "Search"
[searchPlaceholder]
other = "Search articles..."
[noResults]
other = "No results found"
[backToHome]
other = "Back to Home"
[404Title]
other = "Page Not Found"
[404Message]
other = "The page you are looking for doesn't exist or has been moved."
# Navigation
[home]
other = "Home"
[about]
other = "About"
[contact]
other = "Contact"
# Blog
[latestPosts]
other = "Latest Posts"
[recentArticles]
other = "Recent Articles"
[popularTags]
other = "Popular Tags"
[subscribeNewsletter]
other = "Subscribe to Newsletter"
[subscribeDescription]
other = "Get the latest posts delivered right to your inbox"
[emailPlaceholder]
other = "Enter your email"
[subscribe]
other = "Subscribe"
[subscribeDisclaimer]
other = "We respect your privacy. Unsubscribe at any time."
# Footer
[copyright]
other = "© {{ .Year }} {{ .SiteName }}. All rights reserved."
[builtWith]
other = "Built with"
[and]
other = "and"
# Language switcher
[language]
other = "Language"
[switchLanguage]
other = "Switch Language"
# Features
[seeItInAction]
other = "See it in action"
# Pricing
[popular]
other = "Popular"
[mostPopular]
other = "Most Popular"
[perMonth]
other = "/month"
# Documentation
[documentation]
other = "Documentation"
# Pagination
[previous]
other = "Previous"
[next]
other = "Next"
# Homepage
[trustedByCompanies]
other = "Trusted by leading companies worldwide"
[lovedByTeams]
other = "Loved by Teams Worldwide"
[testimonialsDescription]
other = "See what our customers have to say about their experience with our platform."
# Blog Post
[tableOfContents]
other = "Table of Contents"
[minRead]
other = "min read"
[previousPost]
other = "Previous Post"
[nextPost]
other = "Next Post"
[dateFormat]
other = "January 2, 2006"
+157 -2
View File
@@ -1,4 +1,116 @@
[discoverFeature]
other = "Découvrir"
# Traductions françaises pour les shortcodes pricing
# English translations for Hugo Saasify Theme
# Copy this file to your site's i18n directory and customize as needed
# Common UI translations
[readMore]
other = "Lire la suite"
[readTime]
other = "min de lecture"
[published]
other = "Publié"
[updated]
other = "Mis à jour"
[by]
other = "par"
[shareOn]
other = "Partager sur"
[relatedPosts]
other = "Articles liés"
[categories]
other = "Catégories"
[tags]
other = "Étiquettes"
[allPosts]
other = "Tous les articles"
[search]
other = "Recherche"
[searchPlaceholder]
other = "Rechercher des articles..."
[noResults]
other = "Aucun résultat trouvé"
[backToHome]
other = "Retour à l'accueil"
[404Title]
other = "Page non trouvée"
[404Message]
other = "La page que vous recherchez n'existe pas ou a été déplacée."
# Navigation
[home]
other = "Accueil"
[about]
other = "À propos"
[contact]
other = "Contact"
# Blog
[latestPosts]
other = "Derniers articles"
[recentArticles]
other = "Articles récents"
[popularTags]
other = "Étiquettes populaires"
[subscribeNewsletter]
other = "S'abonner à la newsletter"
[subscribeDescription]
other = "Recevez les derniers articles directement dans votre boîte mail"
[emailPlaceholder]
other = "Entrez votre email"
[subscribe]
other = "S'abonner"
[subscribeDisclaimer]
other = "Nous respectons votre vie privée. Vous pouvez vous désabonner à tout moment."
# Footer
[copyright]
other = "© {{ .Year }} {{ .SiteName }}. Tous droits réservés."
[builtWith]
other = "Construit avec"
[and]
other = "et"
# Language switcher
[language]
other = "Langue"
[switchLanguage]
other = "Changer de langue"
# Features
[seeItInAction]
other = "Voir en action"
# Pricing
[popular]
other = "Populaire"
@@ -6,7 +118,6 @@ other = "Populaire"
[mostPopular]
other = "Le plus populaire"
[perVATHour]
other = "HT/heure"
@@ -17,4 +128,48 @@ other = "HT/jour"
other = "HT/mois"
[perVATYear]
other = "HT/an"
other = "HT/an"
[perMonth]
other = "/mois"
# Documentation
[documentation]
other = "Documentation"
# Pagination
[previous]
other = "Précédent"
[next]
other = "Suivant"
# Homepage
[trustedByCompanies]
other = "Approuvé par les principales entreprises du monde entier"
[lovedByTeams]
other = "Apprécié par les équipes du monde entier"
[testimonialsDescription]
other = "Découvrez ce que nos clients pensent de leur expérience avec notre plateforme."
# Blog Post
[tableOfContents]
other = "Table des matières"
[minRead]
other = "min de lecture"
[previousPost]
other = "Article précédent"
[nextPost]
other = "Article suivant"
[dateFormat]
other = "2 janvier 2006"
# Features
[features]
other = "Fonctionnalités"
-10
View File
@@ -1,10 +0,0 @@
# Nederlandse vertalingen voor pricing shortcodes
[popular]
other = "Populair"
[mostPopular]
other = "Meest populair"
[perMonth]
other = "/maand"
@@ -22,7 +22,7 @@
{{ range .values }}
<div class="flex items-start">
<div class="flex-shrink-0">
<div class="flex items-center justify-center h-12 w-12 rounded-md bg-primary-600 text-white">
<div class="flex items-center justify-center h-12 w-12 rounded-md bg-primary-400 text-white">
{{ .icon }}
</div>
</div>
@@ -27,7 +27,7 @@
<nav class="mt-12 flex justify-between items-center">
{{ if $paginator.HasPrev }}
<a href="{{ $paginator.Prev.URL }}"
class="inline-flex items-center px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors duration-200">
class="inline-flex items-center px-4 py-2 bg-primary-400 text-white rounded-lg hover:bg-primary-700 transition-colors duration-200">
<svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18"></path>
</svg>
@@ -40,7 +40,7 @@
<div class="flex space-x-2">
{{ range $paginator.Pagers }}
{{ if eq . $paginator }}
<span class="px-4 py-2 bg-primary-600 text-white rounded-lg">
<span class="px-4 py-2 bg-primary-400 text-white rounded-lg">
{{ .PageNumber }}
</span>
{{ else }}
@@ -54,7 +54,7 @@
{{ if $paginator.HasNext }}
<a href="{{ $paginator.Next.URL }}"
class="inline-flex items-center px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors duration-200">
class="inline-flex items-center px-4 py-2 bg-primary-400 text-white rounded-lg hover:bg-primary-700 transition-colors duration-200">
{{ i18n "next" }}
<svg class="w-5 h-5 ml-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 5l7 7m0 0l-7 7m7-7H3"></path>
@@ -1,20 +0,0 @@
{{ define "main" }}
<div class="pt-2">
<div class="container mx-auto px-4 py-6">
<div class="flex flex-col md:flex-row gap-6 items-start">
<!-- Sidebar -->
<div class="w-full md:w-1/4 lg:w-1/5 pt-1">
{{ partial "docs-sidebar.html" . }}
</div>
<!-- Main Content -->
<main class="w-full md:w-3/4 lg:w-4/5 pt-2">
<article class="prose max-w-none -mt-2 pt-6">
{{ .Content }}
</article>
</main>
</div>
</div>
</div>
{{ end }}
@@ -0,0 +1,79 @@
{{ define "main" }}
<div class="pt-2">
<div class="container mx-auto px-4 py-6">
<div class="flex flex-col md:flex-row gap-6 items-start">
<!-- Sidebar -->
<div class="w-full md:w-1/4 lg:w-1/5 pt-1">
{{ partial "features-sidebar.html" . }}
</div>
<!-- Main Content -->
<main class="w-full md:w-3/4 lg:w-4/5 pt-2">
<article class="feature-page">
<h1 class="text-4xl font-bold text-center mb-5">{{ .Title }}</h1>
{{ with .Params.description }}
<p class="text-center font-light text-gray-500 sm:text-xl">{{ . }}</p>
{{ end }}
<!-- Main Content -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
{{ $paginator := .Paginate (.Pages.ByWeight) }}
{{ range $paginator.Pages }}
{{ partial "feature-card.html" . }}
{{ end }}
</div>
{{ $paginator := .Paginate .Pages }}
{{ if gt $paginator.TotalPages 1 }}
<nav class="mt-12 flex justify-between items-center">
{{ if $paginator.HasPrev }}
<a href="{{ $paginator.Prev.URL }}"
class="inline-flex items-center px-4 py-2 bg-primary-400 text-white rounded-lg hover:bg-primary-700 transition-colors duration-200">
<svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18"></path>
</svg>
{{ i18n "previous" }}
</a>
{{ else }}
<div></div>
{{ end }}
<div class="flex space-x-2">
{{ range $paginator.Pagers }}
{{ if eq . $paginator }}
<span class="px-4 py-2 bg-primary-400 text-white rounded-lg">
{{ .PageNumber }}
</span>
{{ else }}
<a href="{{ .URL }}"
class="px-4 py-2 bg-gray-100 text-gray-700 rounded-lg hover:bg-gray-200 transition-colors duration-200">
{{ .PageNumber }}
</a>
{{ end }}
{{ end }}
</div>
{{ if $paginator.HasNext }}
<a href="{{ $paginator.Next.URL }}"
class="inline-flex items-center px-4 py-2 bg-primary-400 text-white rounded-lg hover:bg-primary-700 transition-colors duration-200">
{{ i18n "next" }}
<svg class="w-5 h-5 ml-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 5l7 7m0 0l-7 7m7-7H3"></path>
</svg>
</a>
{{ else }}
<div></div>
{{ end }}
</nav>
{{ end }}
<!-- Global CTA -->
{{ partial "components/cta.html" . }}
</article>
</main>
</div>
</div>
</div>
{{ end }}
@@ -0,0 +1,93 @@
{{ define "main" }}
<div class="pt-2 feature-page badge-{{ .Params.badgeColor }}">
<style>
.badge {
background-color: color-mix(in srgb, var(--badge-color) 30%, transparent);
color: #222;
}
.gradient-bg {
background-image: linear-gradient(180deg, color-mix(in srgb, var(--badge-color) 15%, white), white);
}
</style>
<div class="absolute inset-x-0 top-0 h-96 gradient-bg opacity-75"></div>
<div class="container mx-auto px-4 py-6">
<div class="flex flex-col md:flex-row gap-6 items-start">
<!-- Sidebar -->
<div class="w-full md:w-1/4 lg:w-1/5 pt-1">
{{ partial "features-sidebar.html" . }}
</div>
<!-- Main Content -->
<main class="w-full md:w-3/4 lg:w-4/5 pt-2">
<article >
<!-- Hero Section -->
<div class="relative isolate overflow-hidden">
<div class="relative pt-16 pb-16 ">
<div class="mx-auto max-w-7xl px-6 lg:px-8">
<div class="mx-auto max-w-2xl text-center">
{{ with .Params.badge }}
<div class="mb-6">
<span class="badge inline-flex items-center rounded-full px-4 py-1.5 text-sm font-medium">
{{ . }}
</span>
</div>
{{ end }}
<h1 class="text-4xl font-bold tracking-tight text-gray-900 sm:text-6xl">{{ .Title }}</h1>
<p class="mt-6 text-lg leading-8 text-gray-600">{{ .Description }}</p>
</div>
</div>
</div>
</div>
<!-- Main Content -->
<div class="mx-auto max-w-7xl px-6 lg:px-8">
<!-- Key Features Grid -->
{{ if .Params.features }}
<div class="mx-auto mt-16 max-w-2xl sm:mt-20 lg:mt-24 lg:max-w-none">
<div class="grid max-w-xl grid-cols-1 gap-x-8 gap-y-16 lg:max-w-none lg:grid-cols-2 xl:grid-cols-4">
{{ range .Params.features }}
<div class="flex flex-col bg-white rounded-2xl shadow-sm ring-1 ring-gray-200 p-8">
<dt class="text-lg font-semibold leading-7 text-gray-900">
{{ .title }}
</dt>
<dd class="mt-4 flex flex-auto flex-col text-base leading-7 text-gray-600">
<p class="flex-auto">{{ .description }}</p>
</dd>
</div>
{{ end }}
</div>
</div>
{{ end }}
<!-- Content Section -->
<div class="prose prose-lg mx-auto mt-16 pb-24">
{{ .Content }}
</div>
<!-- Demo Section -->
{{ if .Params.demo }}
<div class="bg-gray-50 -mx-6 px-6 py-24 sm:py-32">
<div class="mx-auto max-w-2xl lg:text-center">
<h2 class="text-3xl font-bold tracking-tight text-gray-900 sm:text-4xl">{{ i18n "seeItInAction" }}</h2>
<p class="mt-6 text-lg leading-8 text-gray-600">{{ .Params.demo.description }}</p>
</div>
<div class="mt-16 flex justify-center">
<div class="relative rounded-xl bg-white p-8 shadow-2xl ring-1 ring-gray-200">
<img src="{{ .Params.demo.image }}" alt="Demo" class="rounded-lg">
</div>
</div>
</div>
{{ end }}
</div>
<!-- Global CTA -->
{{ partial "components/cta.html" . }}
</article>
</main>
</div>
</div>
</div>
{{ end }}
@@ -4,7 +4,7 @@
{{ $angle := .Site.Params.cta.gradient_angle | default 45 }}
{{ $from := .Site.Params.cta.gradient_from }}
{{ $to := .Site.Params.cta.gradient_to }}
<div class="relative rounded-lg overflow-hidden bg-primary-600 cta-gradient"
<div class="relative rounded-lg overflow-hidden bg-primary-400 cta-gradient"
style="--gradient-angle: {{ $angle }}; --gradient-from: {{ $from }}; --gradient-to: {{ $to }}">
<div class="relative text-center max-w-3xl mx-auto px-6 py-10">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-6">{{ .Site.Params.cta.title }}</h2>
@@ -0,0 +1,86 @@
<div class="docs-sidebar bg-white shadow-sm rounded-lg p-4 sticky top-20 mt-2">
<h3 class="text-lg font-semibold text-gray-900 mb-3 mt-1">{{ i18n "documentation" }}</h3>
<nav class="docs-nav">
<ul class="space-y-1">
{{/* Get all docs pages */}}
{{ $docsPages := where .Site.Pages "Section" "docs" }}
{{ $docsPages = where $docsPages ".IsHome" false }}
{{/* Build list of all section directories to check against */}}
{{ $sectionDirs := slice }}
{{ range $docsPages }}
{{ if eq .Kind "section" }}
{{ $sectionDirs = $sectionDirs | append .File.Dir }}
{{ end }}
{{ end }}
{{/* Build top-level items: pages directly in docs/ AND first-level sections */}}
{{ $topLevel := slice }}
{{ range $docsPages }}
{{ $dir := .File.Dir }}
{{/* For sections: include if NOT the root "docs/" section */}}
{{ if eq .Kind "section" }}
{{ if ne $dir "docs/" }}
{{/* This is a first-level section like "concepts/", "react/", "backend/" */}}
{{ $topLevel = $topLevel | append . }}
{{ end }}
{{ else if eq .Kind "page" }}
{{/* For pages: only include if Dir is exactly "docs/" (top-level pages) */}}
{{ if eq $dir "docs/" }}
{{ $topLevel = $topLevel | append . }}
{{ end }}
{{ end }}
{{ end }}
{{/* Display top-level items sorted by weight */}}
{{ range sort $topLevel "Weight" }}
{{ if .Title }}
<li>
<a href="{{ .RelPermalink }}"
class="block px-4 py-2 rounded-md transition-colors duration-200
{{ if eq .RelPermalink $.RelPermalink }}
bg-indigo-50 text-indigo-600 font-medium
{{ else }}
text-gray-700 hover:bg-gray-50 hover:text-gray-900
{{ end }}">
{{ .Title }}
</a>
{{/* If this is a section, show its children */}}
{{ if eq .Kind "section" }}
{{ $sectionDir := .File.Dir }}
{{ $children := slice }}
{{/* Find child pages in this section (same directory, but .Kind is "page" not "section") */}}
{{ range $docsPages }}
{{ if and (eq .Kind "page") (eq .File.Dir $sectionDir) }}
{{ $children = $children | append . }}
{{ end }}
{{ end }}
{{/* Display children if any exist */}}
{{ if $children }}
<ul class="ml-4 mt-1 space-y-1">
{{ range sort $children "Weight" }}
<li>
<a href="{{ .RelPermalink }}"
class="block px-3 py-1.5 text-sm rounded-md transition-colors duration-200
{{ if eq .RelPermalink $.RelPermalink }}
bg-indigo-50 text-indigo-600 font-medium
{{ else }}
text-gray-600 hover:bg-gray-50 hover:text-gray-900
{{ end }}">
{{ .Title }}
</a>
</li>
{{ end }}
</ul>
{{ end }}
{{ end }}
</li>
{{ end }}
{{ end }}
</ul>
</nav>
</div>
@@ -34,7 +34,7 @@
<button
type="submit"
class="w-full px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors duration-200"
class="w-full px-4 py-2 bg-primary-400 text-white rounded-lg hover:bg-primary-700 transition-colors duration-200"
>
{{ if .buttonText }}{{ .buttonText }}{{ else }}{{ if eq $lang "zh-cn" }}订阅{{ else }}Subscribe{{ end }}{{ end }}
</button>
@@ -0,0 +1,62 @@
<article class="bg-transparent rounded-lg shadow-md overflow-hidden hover:shadow-lg transition-shadow duration-300 badge-{{ .Params.badgeColor }} flex flex-col h-full">
<!-- Badge couleur -->
{{ with .Params.badge }}
<style>
.badge {
background-color: color-mix(in srgb, var(--badge-color) 30%, transparent);
color: #222;
}
.badge-icon {
color: var(--badge-color);
}
</style>
<div class="px-6 pt-6">
<div class="badge inline-block px-4 py-2 rounded-full font-medium">{{ . }}</div>
</div>
{{ end }}
{{ with .Params.featured_image }}
<a href="{{ $.RelPermalink }}" class="block aspect-w-16 aspect-h-9 overflow-hidden">
<img
src="{{ . }}"
alt="{{ $.Title }}"
class="object-cover w-full h-full transform hover:scale-105 transition-transform duration-300"
loading="lazy"
>
</a>
{{ end }}
<div class="p-6 pt-2 flex flex-col h-full">
<!-- Title -->
<h2 class="text-2xl font-bold mb-3 hover:text-primary-600 transition-colors duration-200">
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
</h2>
<!-- Description -->
<p class="text-gray-600 mb-4 line-clamp-2">
{{ with .Description }}
{{ . }}
{{ else }}
{{ .Summary | truncate 160 }}
{{ end }}
</p>
<!-- Read More link and Reading Time -->
<div class="flex justify-between items-center mt-auto">
<!-- Reading Time -->
<span class="text-sm text-gray-500 flex items-center">
</span>
<a href="{{ .RelPermalink }}"
class="inline-flex items-center text-primary-600 hover:text-primary-700 font-medium">
{{ i18n "discoverFeature" }}
<svg class="w-4 h-4 ml-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 5l7 7m0 0l-7 7m7-7H3"></path>
</svg>
</a>
</div>
</div>
</article>
@@ -1,14 +1,14 @@
<div class="docs-sidebar bg-white shadow-sm rounded-lg p-4 sticky top-20 mt-2">
<h3 class="text-lg font-semibold text-gray-900 mb-3 mt-1">{{ i18n "documentation" }}</h3>
<div class="docs-sidebar bg-transparent shadow-sm rounded-lg p-4 sticky top-20 mt-2">
<h3 class="text-lg font-semibold mb-3 mt-1">{{ i18n "features" }}</h3>
<nav class="docs-nav">
<ul class="space-y-1">
{{ range (where .Site.Pages "Section" "docs").ByWeight }}
{{ range (where .Site.Pages "Section" .Section).ByWeight }}
{{ if and .Title (not .IsHome) (ne .Kind "section") }}
<li>
<a href="{{ .RelPermalink }}"
class="block px-4 py-2 rounded-md transition-colors duration-200
{{ if eq .RelPermalink $.RelPermalink }}
bg-indigo-50 text-indigo-600 font-medium
bg-primary-100 text-primary-500 font-medium
{{ else }}
text-gray-700 hover:bg-gray-50 hover:text-gray-900
{{ end }}">
@@ -55,7 +55,7 @@
{{ end }}
{{ with $headerConfig.buttons.getStarted }}
<a href="{{ .url | default "#" }}" class="{{ with .class }}{{ . }}{{ else }}inline-flex items-center justify-center px-6 py-3 rounded-lg font-bold transition duration-200 ease-in-out bg-primary-600 text-white hover:bg-primary-700 hover:scale-105{{ end }}">
<a href="{{ .url | default "#" }}" class="{{ with .class }}{{ . }}{{ else }}inline-flex items-center justify-center px-6 py-3 rounded-lg font-bold transition duration-200 ease-in-out bg-primary-400 text-white hover:bg-primary-700 hover:scale-105{{ end }}">
{{ .text | default "Get Started" }}
</a>
{{ end }}
@@ -117,7 +117,7 @@
{{ end }}
{{ with $headerConfig.buttons.getStarted }}
<a href="{{ .url | default "#" }}" class="{{ with .mobileClass }}{{ . }}{{ else }}block text-center px-6 py-3 rounded-lg font-bold transition duration-200 ease-in-out bg-primary-600 text-white hover:bg-primary-700 hover:scale-105{{ end }}">
<a href="{{ .url | default "#" }}" class="{{ with .mobileClass }}{{ . }}{{ else }}block text-center px-6 py-3 rounded-lg font-bold transition duration-200 ease-in-out bg-primary-400 text-white hover:bg-primary-700 hover:scale-105{{ end }}">
{{ .text | default "Get Started" }}
</a>
{{ end }}
@@ -12,7 +12,7 @@
<div class="grid grid-cols-1 md:grid-cols-4 gap-8">
{{ range $index, $plan := $data.plans }}
<div class="relative flex flex-col p-6 {{ if $plan.featured }}bg-primary-600 text-white{{ else }}bg-white{{ end }} rounded-2xl shadow-xl transform hover:-translate-y-1 transition duration-300">
<div class="relative flex flex-col p-6 {{ if $plan.featured }}bg-primary-400 text-white{{ else }}bg-white{{ end }} rounded-2xl shadow-xl transform hover:-translate-y-1 transition duration-300">
{{ if $plan.featured }}
<div class="absolute -top-4 left-1/2 transform -translate-x-1/2">
<span class="bg-yellow-400 text-gray-900 text-xs font-semibold px-4 py-1 rounded-full">{{ i18n "mostPopular" }}</span>
@@ -50,7 +50,7 @@
{{ with .additional_description }}
<div class="text-sm text-gray-500">{{ . }}</div>
{{ end }}
<a href="{{ $plan.button.url }}" class="mt-4 text-center w-full px-5 py-3 rounded-lg {{ if $plan.featured }}bg-white text-primary-600 hover:bg-gray-100{{ else }}bg-primary-600 text-white hover:bg-primary-700{{ end }} font-medium transition duration-300">
<a href="{{ $plan.button.url }}" class="mt-4 text-center w-full px-5 py-3 rounded-lg {{ if $plan.featured }}bg-white text-primary-600 hover:bg-gray-100{{ else }}bg-primary-400 text-white hover:bg-primary-700{{ end }} font-medium transition duration-300">
{{ $plan.button.text }}
</a>
</div>
@@ -27,7 +27,7 @@
<nav class="mt-12 flex justify-between items-center">
{{ if $paginator.HasPrev }}
<a href="{{ $paginator.Prev.URL }}"
class="inline-flex items-center px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors duration-200">
class="inline-flex items-center px-4 py-2 bg-primary-400 text-white rounded-lg hover:bg-primary-700 transition-colors duration-200">
<svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18"></path>
</svg>
@@ -40,7 +40,7 @@
<div class="flex space-x-2">
{{ range $paginator.Pagers }}
{{ if eq . $paginator }}
<span class="px-4 py-2 bg-primary-600 text-white rounded-lg">
<span class="px-4 py-2 bg-primary-400 text-white rounded-lg">
{{ .PageNumber }}
</span>
{{ else }}
@@ -54,7 +54,7 @@
{{ if $paginator.HasNext }}
<a href="{{ $paginator.Next.URL }}"
class="inline-flex items-center px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors duration-200">
class="inline-flex items-center px-4 py-2 bg-primary-400 text-white rounded-lg hover:bg-primary-700 transition-colors duration-200">
Next
<svg class="w-5 h-5 ml-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 5l7 7m0 0l-7 7m7-7H3"></path>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 KiB

After

Width:  |  Height:  |  Size: 153 KiB

+20 -20
View File
@@ -5,28 +5,28 @@ module.exports = {
extend: {
colors: {
primary: {
50: '#eef1fc',
100: '#dde3f9',
200: '#bbc7f3',
300: '#99abec',
400: '#778fe6',
500: '#5573df',
600: '#425ad6',
700: '#3548ab',
800: '#283680',
900: '#1b2456',
50: "#fffbfa",
100: "#fcd7ca",
200: "#f9b29a",
300: "#f78d69",
400: "#f46839", // couleur principale
500: "#ed450d",
600: "#bd370a",
700: "#8c2908",
800: "#5c1b05",
900: "#2c0d02",
},
secondary: {
50: '#faf5ff',
100: '#f3e8ff',
200: '#e9d5ff',
300: '#d8b4fe',
400: '#c084fc',
500: '#a855f7',
600: '#9333ea',
700: '#7e22ce',
800: '#6b21a8',
900: '#581c87',
50: "#ddeef6",
100: "#8ec6df",
200: "#3e9fc9",
300: "#23627e",
400: "#0d242e", // couleur principale
500: "#020506",
600: "#000",
700: "#000",
800: "#000",
900: "#000",
},
},
fontFamily: {
+6 -6
View File
@@ -1,13 +1,13 @@
name = "Hugo Saasify"
license = "MIT"
licenselink = "https://github.com/chaoming/chill-theme/blob/main/LICENSE"
description = "A modern Hugo theme for SaaS websites built with TailwindCSS"
homepage = "https://github.com/chaoming/chill-theme"
demosite = "https://saasify-demo.chaoming.li"
licenselink = ""
description = ""
homepage = ""
demosite = ""
tags = ["saas", "business", "tailwind", "responsive", "modern", "clean"]
features = ["responsive", "tailwind", "modern design"]
min_version = "0.80.0"
[author]
name = "Chaoming Li"
homepage = "https://chaoming.li"
name = "Champs-Libres"
homepage = "https://www.champs-libres.coop/"