refactor(pages): move app store badges to hero section and add section IDs
Move Google Play and App Store badges from downloads section to hero section for better visibility. Removes redundant display when both downloads and app stores are present. Add id attributes to major sections (hero, stats, downloads, social-proof, cta, etc.) for anchor link navigation. Applies to all 9 page templates. Improves UX for mobile app landing pages.
This commit is contained in:
@@ -1102,7 +1102,7 @@
|
|||||||
</section>
|
</section>
|
||||||
{{else}}
|
{{else}}
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="ad-hero">
|
<section class="ad-hero" id="hero">
|
||||||
<div class="ad-hero-content">
|
<div class="ad-hero-content">
|
||||||
<div class="ad-badge ad-reveal visible">
|
<div class="ad-badge ad-reveal visible">
|
||||||
<span class="ad-badge-dot"></span>
|
<span class="ad-badge-dot"></span>
|
||||||
@@ -1123,11 +1123,6 @@
|
|||||||
{{.Config.Hero.PrimaryCTA.Label}}
|
{{.Config.Hero.PrimaryCTA.Label}}
|
||||||
{{svg "octicon-arrow-right" 16}}
|
{{svg "octicon-arrow-right" 16}}
|
||||||
</a>
|
</a>
|
||||||
{{else}}
|
|
||||||
<a href="{{.RepoURL}}" class="ad-btn-primary" data-cta="primary">
|
|
||||||
Get Started
|
|
||||||
{{svg "octicon-arrow-right" 16}}
|
|
||||||
</a>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if .Config.Hero.SecondaryCTA.Label}}
|
{{if .Config.Hero.SecondaryCTA.Label}}
|
||||||
@@ -1135,14 +1130,26 @@
|
|||||||
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
||||||
{{.Config.Hero.SecondaryCTA.Label}}
|
{{.Config.Hero.SecondaryCTA.Label}}
|
||||||
</a>
|
</a>
|
||||||
{{else}}
|
|
||||||
<a href="{{.RepoURL}}" class="ad-btn-secondary" data-cta="secondary">
|
|
||||||
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
|
||||||
View Source
|
|
||||||
</a>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{if or $.GooglePlayID $.AppStoreID}}
|
||||||
|
<div style="display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 16px;" class="ad-reveal visible ad-reveal-delay-4">
|
||||||
|
{{if $.GooglePlayID}}
|
||||||
|
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="ad-download-item" style="display: inline-flex; align-items: center; gap: 10px; clip-path: none;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
||||||
|
Google Play
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
{{if $.AppStoreID}}
|
||||||
|
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="ad-download-item" style="display: inline-flex; align-items: center; gap: 10px; clip-path: none;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
||||||
|
App Store
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
|
||||||
{{if .Config.Hero.CodeExample}}
|
{{if .Config.Hero.CodeExample}}
|
||||||
<div class="ad-code-block ad-reveal visible ad-reveal-delay-4">
|
<div class="ad-code-block ad-reveal visible ad-reveal-delay-4">
|
||||||
<span class="ad-code-prompt">$</span>
|
<span class="ad-code-prompt">$</span>
|
||||||
@@ -1157,7 +1164,7 @@
|
|||||||
|
|
||||||
<!-- Stats Section -->
|
<!-- Stats Section -->
|
||||||
{{if or .Config.Stats (gt .NumStars 0)}}
|
{{if or .Config.Stats (gt .NumStars 0)}}
|
||||||
<section class="ad-stats">
|
<section class="ad-stats" id="stats">
|
||||||
<div class="ad-stats-inner ad-reveal">
|
<div class="ad-stats-inner ad-reveal">
|
||||||
{{if .Config.Stats}}
|
{{if .Config.Stats}}
|
||||||
{{range .Config.Stats}}
|
{{range .Config.Stats}}
|
||||||
@@ -1188,7 +1195,7 @@
|
|||||||
|
|
||||||
<!-- Downloads Section -->
|
<!-- Downloads Section -->
|
||||||
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
||||||
<section class="ad-downloads">
|
<section class="ad-downloads" id="downloads">
|
||||||
<div class="ad-downloads-inner ad-reveal">
|
<div class="ad-downloads-inner ad-reveal">
|
||||||
<h2>Download v{{.LatestReleaseTag}}</h2>
|
<h2>Download v{{.LatestReleaseTag}}</h2>
|
||||||
<p>Get the latest release</p>
|
<p>Get the latest release</p>
|
||||||
@@ -1251,25 +1258,6 @@
|
|||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if or $.GooglePlayID $.AppStoreID}}
|
|
||||||
<div style="margin-bottom: 24px;">
|
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13px; color: var(--ad-muted); font-family: 'Barlow Condensed', sans-serif; letter-spacing: 0.12em; text-transform: uppercase;">{{svg "octicon-device-mobile" 16}} App Stores</h4>
|
|
||||||
<div style="display: flex; gap: 12px; flex-wrap: wrap;">
|
|
||||||
{{if $.GooglePlayID}}
|
|
||||||
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="ad-download-item" style="display: inline-flex; align-items: center; gap: 10px; clip-path: none;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
|
||||||
Google Play
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
{{if $.AppStoreID}}
|
|
||||||
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="ad-download-item" style="display: inline-flex; align-items: center; gap: 10px; clip-path: none;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
|
||||||
App Store
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
{{if $otherFiles}}
|
{{if $otherFiles}}
|
||||||
<div style="margin-bottom: 24px;">
|
<div style="margin-bottom: 24px;">
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13px; color: var(--ad-muted); font-family: 'Barlow Condensed', sans-serif; letter-spacing: 0.12em; text-transform: uppercase;">{{svg "octicon-file" 16}} Other</h4>
|
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13px; color: var(--ad-muted); font-family: 'Barlow Condensed', sans-serif; letter-spacing: 0.12em; text-transform: uppercase;">{{svg "octicon-file" 16}} Other</h4>
|
||||||
@@ -1332,7 +1320,7 @@
|
|||||||
|
|
||||||
<!-- Social Proof -->
|
<!-- Social Proof -->
|
||||||
{{if or .Config.SocialProof.Logos .Config.SocialProof.Testimonials}}
|
{{if or .Config.SocialProof.Logos .Config.SocialProof.Testimonials}}
|
||||||
<section class="ad-social-proof">
|
<section class="ad-social-proof" id="social-proof">
|
||||||
<div class="ad-social-proof-inner">
|
<div class="ad-social-proof-inner">
|
||||||
{{if .Config.SocialProof.Logos}}
|
{{if .Config.SocialProof.Logos}}
|
||||||
<div class="ad-logos ad-reveal">
|
<div class="ad-logos ad-reveal">
|
||||||
@@ -1398,7 +1386,7 @@
|
|||||||
|
|
||||||
<!-- CTA Section -->
|
<!-- CTA Section -->
|
||||||
{{if .Config.CTASection.Headline}}
|
{{if .Config.CTASection.Headline}}
|
||||||
<section class="ad-cta-section">
|
<section class="ad-cta-section" id="cta">
|
||||||
<div class="ad-cta-inner ad-reveal">
|
<div class="ad-cta-inner ad-reveal">
|
||||||
<h2>{{.Config.CTASection.Headline}}</h2>
|
<h2>{{.Config.CTASection.Headline}}</h2>
|
||||||
{{if .Config.CTASection.Subheadline}}
|
{{if .Config.CTASection.Subheadline}}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
.nb-reveal-delay-1 { transition-delay: 0.1s; }
|
.nb-reveal-delay-1 { transition-delay: 0.1s; }
|
||||||
.nb-reveal-delay-2 { transition-delay: 0.2s; }
|
.nb-reveal-delay-2 { transition-delay: 0.2s; }
|
||||||
.nb-reveal-delay-3 { transition-delay: 0.3s; }
|
.nb-reveal-delay-3 { transition-delay: 0.3s; }
|
||||||
|
.nb-reveal-delay-4 { transition-delay: 0.4s; }
|
||||||
|
|
||||||
.nb-page {
|
.nb-page {
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
@@ -1248,7 +1249,7 @@
|
|||||||
</section>
|
</section>
|
||||||
{{else}}
|
{{else}}
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="nb-hero">
|
<section class="nb-hero" id="hero">
|
||||||
<div class="nb-hero-accent nb-hero-accent-1"></div>
|
<div class="nb-hero-accent nb-hero-accent-1"></div>
|
||||||
<div class="nb-hero-accent nb-hero-accent-2"></div>
|
<div class="nb-hero-accent nb-hero-accent-2"></div>
|
||||||
<div class="nb-hero-accent nb-hero-accent-3">*</div>
|
<div class="nb-hero-accent nb-hero-accent-3">*</div>
|
||||||
@@ -1273,12 +1274,29 @@
|
|||||||
</a>
|
</a>
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{if or $.GooglePlayID $.AppStoreID}}
|
||||||
|
<div style="display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 16px;" class="nb-reveal nb-reveal-delay-4">
|
||||||
|
{{if $.GooglePlayID}}
|
||||||
|
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="nb-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
||||||
|
Google Play
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
{{if $.AppStoreID}}
|
||||||
|
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="nb-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
||||||
|
App Store
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{{if .Config.Stats}}
|
{{if .Config.Stats}}
|
||||||
<!-- Stats Section -->
|
<!-- Stats Section -->
|
||||||
<section class="nb-stats">
|
<section class="nb-stats" id="stats">
|
||||||
<div class="nb-stats-grid">
|
<div class="nb-stats-grid">
|
||||||
{{range .Config.Stats}}
|
{{range .Config.Stats}}
|
||||||
<div class="nb-stat-card nb-reveal">
|
<div class="nb-stat-card nb-reveal">
|
||||||
@@ -1291,7 +1309,7 @@
|
|||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
||||||
<section class="nb-downloads">
|
<section class="nb-downloads" id="downloads">
|
||||||
<div class="nb-downloads-inner">
|
<div class="nb-downloads-inner">
|
||||||
<div class="nb-downloads-header nb-reveal">
|
<div class="nb-downloads-header nb-reveal">
|
||||||
<div class="nb-section-label">Download</div>
|
<div class="nb-section-label">Download</div>
|
||||||
@@ -1357,25 +1375,6 @@
|
|||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if or $.GooglePlayID $.AppStoreID}}
|
|
||||||
<div style="margin-bottom: 24px;">
|
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13px; color: var(--nb-muted); text-transform: uppercase; letter-spacing: 0.1em;">{{svg "octicon-device-mobile" 16}} App Stores</h4>
|
|
||||||
<div style="display: flex; gap: 12px; flex-wrap: wrap;">
|
|
||||||
{{if $.GooglePlayID}}
|
|
||||||
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="nb-download-item nb-reveal" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
|
||||||
Google Play
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
{{if $.AppStoreID}}
|
|
||||||
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="nb-download-item nb-reveal" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
|
||||||
App Store
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
{{if $otherFiles}}
|
{{if $otherFiles}}
|
||||||
<div style="margin-bottom: 24px;">
|
<div style="margin-bottom: 24px;">
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13px; color: var(--nb-muted); text-transform: uppercase; letter-spacing: 0.1em;">{{svg "octicon-file" 16}} Other</h4>
|
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13px; color: var(--nb-muted); text-transform: uppercase; letter-spacing: 0.1em;">{{svg "octicon-file" 16}} Other</h4>
|
||||||
@@ -1390,7 +1389,7 @@
|
|||||||
|
|
||||||
{{if .Config.SocialProof.Logos}}
|
{{if .Config.SocialProof.Logos}}
|
||||||
<!-- Trust Bar -->
|
<!-- Trust Bar -->
|
||||||
<section class="nb-trust-bar">
|
<section class="nb-trust-bar" id="social-proof">
|
||||||
<p class="nb-trust-label nb-reveal">Trusted by the best</p>
|
<p class="nb-trust-label nb-reveal">Trusted by the best</p>
|
||||||
<div class="nb-trust-logos nb-reveal nb-reveal-delay-1">
|
<div class="nb-trust-logos nb-reveal nb-reveal-delay-1">
|
||||||
{{range .Config.SocialProof.Logos}}
|
{{range .Config.SocialProof.Logos}}
|
||||||
@@ -1474,7 +1473,7 @@
|
|||||||
|
|
||||||
<!-- Testimonials Section -->
|
<!-- Testimonials Section -->
|
||||||
{{if .Config.SocialProof.Testimonials}}
|
{{if .Config.SocialProof.Testimonials}}
|
||||||
<section class="nb-testimonial-section">
|
<section class="nb-testimonial-section" id="testimonials">
|
||||||
<div class="nb-testimonial-block nb-reveal">
|
<div class="nb-testimonial-block nb-reveal">
|
||||||
<span class="nb-quote-mark">“</span>
|
<span class="nb-quote-mark">“</span>
|
||||||
<div class="nb-testimonials-container">
|
<div class="nb-testimonials-container">
|
||||||
@@ -1508,7 +1507,7 @@
|
|||||||
|
|
||||||
{{if .Config.CTASection.Headline}}
|
{{if .Config.CTASection.Headline}}
|
||||||
<!-- CTA Banner -->
|
<!-- CTA Banner -->
|
||||||
<section class="nb-cta-section">
|
<section class="nb-cta-section" id="cta">
|
||||||
<div class="nb-cta-banner nb-reveal">
|
<div class="nb-cta-banner nb-reveal">
|
||||||
<h2>{{.Config.CTASection.Headline}}</h2>
|
<h2>{{.Config.CTASection.Headline}}</h2>
|
||||||
{{if .Config.CTASection.Subheadline}}
|
{{if .Config.CTASection.Subheadline}}
|
||||||
|
|||||||
@@ -1108,7 +1108,7 @@
|
|||||||
</section>
|
</section>
|
||||||
{{else}}
|
{{else}}
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="ct-hero">
|
<section class="ct-hero" id="hero">
|
||||||
<div class="ct-hero-glow"></div>
|
<div class="ct-hero-glow"></div>
|
||||||
<div class="ct-hero-vignette"></div>
|
<div class="ct-hero-vignette"></div>
|
||||||
|
|
||||||
@@ -1130,11 +1130,6 @@
|
|||||||
{{.Config.Hero.PrimaryCTA.Label}}
|
{{.Config.Hero.PrimaryCTA.Label}}
|
||||||
{{svg "octicon-arrow-right" 16}}
|
{{svg "octicon-arrow-right" 16}}
|
||||||
</a>
|
</a>
|
||||||
{{else}}
|
|
||||||
<a href="{{.RepoURL}}" class="ct-btn-primary" data-cta="primary">
|
|
||||||
Get Started
|
|
||||||
{{svg "octicon-arrow-right" 16}}
|
|
||||||
</a>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if .Config.Hero.SecondaryCTA.Label}}
|
{{if .Config.Hero.SecondaryCTA.Label}}
|
||||||
@@ -1142,14 +1137,26 @@
|
|||||||
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
||||||
{{.Config.Hero.SecondaryCTA.Label}}
|
{{.Config.Hero.SecondaryCTA.Label}}
|
||||||
</a>
|
</a>
|
||||||
{{else}}
|
|
||||||
<a href="{{.RepoURL}}" class="ct-btn-secondary" data-cta="secondary">
|
|
||||||
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
|
||||||
View Source
|
|
||||||
</a>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{if or $.GooglePlayID $.AppStoreID}}
|
||||||
|
<div style="display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 16px;" class="ct-reveal visible ct-reveal-delay-4">
|
||||||
|
{{if $.GooglePlayID}}
|
||||||
|
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="ct-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
||||||
|
Google Play
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
{{if $.AppStoreID}}
|
||||||
|
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="ct-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
||||||
|
App Store
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
|
||||||
{{if .Config.Hero.CodeExample}}
|
{{if .Config.Hero.CodeExample}}
|
||||||
<div class="ct-code-block ct-reveal visible ct-reveal-delay-4">
|
<div class="ct-code-block ct-reveal visible ct-reveal-delay-4">
|
||||||
<div class="ct-code-titlebar">
|
<div class="ct-code-titlebar">
|
||||||
@@ -1172,7 +1179,7 @@
|
|||||||
|
|
||||||
<!-- Stats Section -->
|
<!-- Stats Section -->
|
||||||
{{if or .Config.Stats (gt .NumStars 0)}}
|
{{if or .Config.Stats (gt .NumStars 0)}}
|
||||||
<section class="ct-stats">
|
<section class="ct-stats" id="stats">
|
||||||
<div class="ct-stats-inner ct-reveal">
|
<div class="ct-stats-inner ct-reveal">
|
||||||
{{if .Config.Stats}}
|
{{if .Config.Stats}}
|
||||||
{{range .Config.Stats}}
|
{{range .Config.Stats}}
|
||||||
@@ -1203,7 +1210,7 @@
|
|||||||
|
|
||||||
<!-- Downloads Section -->
|
<!-- Downloads Section -->
|
||||||
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
||||||
<section class="ct-downloads">
|
<section class="ct-downloads" id="downloads">
|
||||||
<div class="ct-downloads-inner ct-reveal">
|
<div class="ct-downloads-inner ct-reveal">
|
||||||
<h2>Download v{{.LatestReleaseTag}}</h2>
|
<h2>Download v{{.LatestReleaseTag}}</h2>
|
||||||
<p>Get the latest release</p>
|
<p>Get the latest release</p>
|
||||||
@@ -1266,25 +1273,6 @@
|
|||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if or $.GooglePlayID $.AppStoreID}}
|
|
||||||
<div style="margin-bottom: 24px;">
|
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 12px; color: var(--ct-muted); letter-spacing: 0.08em; text-transform: uppercase;">{{svg "octicon-device-mobile" 16}} App Stores</h4>
|
|
||||||
<div style="display: flex; gap: 8px; flex-wrap: wrap;">
|
|
||||||
{{if $.GooglePlayID}}
|
|
||||||
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="ct-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
|
||||||
Google Play
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
{{if $.AppStoreID}}
|
|
||||||
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="ct-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
|
||||||
App Store
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
{{if $otherFiles}}
|
{{if $otherFiles}}
|
||||||
<div style="margin-bottom: 24px;">
|
<div style="margin-bottom: 24px;">
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 12px; color: var(--ct-muted); letter-spacing: 0.08em; text-transform: uppercase;">{{svg "octicon-file" 16}} Other</h4>
|
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 12px; color: var(--ct-muted); letter-spacing: 0.08em; text-transform: uppercase;">{{svg "octicon-file" 16}} Other</h4>
|
||||||
@@ -1347,7 +1335,7 @@
|
|||||||
|
|
||||||
<!-- Social Proof -->
|
<!-- Social Proof -->
|
||||||
{{if or .Config.SocialProof.Logos .Config.SocialProof.Testimonials}}
|
{{if or .Config.SocialProof.Logos .Config.SocialProof.Testimonials}}
|
||||||
<section class="ct-social-proof">
|
<section class="ct-social-proof" id="social-proof">
|
||||||
<div class="ct-social-proof-inner">
|
<div class="ct-social-proof-inner">
|
||||||
{{if .Config.SocialProof.Logos}}
|
{{if .Config.SocialProof.Logos}}
|
||||||
<div class="ct-logos ct-reveal">
|
<div class="ct-logos ct-reveal">
|
||||||
@@ -1413,7 +1401,7 @@
|
|||||||
|
|
||||||
<!-- CTA Section -->
|
<!-- CTA Section -->
|
||||||
{{if .Config.CTASection.Headline}}
|
{{if .Config.CTASection.Headline}}
|
||||||
<section class="ct-cta-section">
|
<section class="ct-cta-section" id="cta">
|
||||||
<div class="ct-cta-inner ct-reveal">
|
<div class="ct-cta-inner ct-reveal">
|
||||||
<h2>{{.Config.CTASection.Headline}}</h2>
|
<h2>{{.Config.CTASection.Headline}}</h2>
|
||||||
{{if .Config.CTASection.Subheadline}}
|
{{if .Config.CTASection.Subheadline}}
|
||||||
|
|||||||
@@ -991,7 +991,7 @@
|
|||||||
</section>
|
</section>
|
||||||
{{else}}
|
{{else}}
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="dt-hero">
|
<section class="dt-hero" id="hero">
|
||||||
<div class="dt-hero-content">
|
<div class="dt-hero-content">
|
||||||
<div class="dt-badge dt-reveal visible">
|
<div class="dt-badge dt-reveal visible">
|
||||||
<span class="dt-badge-label">status</span>
|
<span class="dt-badge-label">status</span>
|
||||||
@@ -1011,11 +1011,6 @@
|
|||||||
{{.Config.Hero.PrimaryCTA.Label}}
|
{{.Config.Hero.PrimaryCTA.Label}}
|
||||||
{{svg "octicon-arrow-right" 16}}
|
{{svg "octicon-arrow-right" 16}}
|
||||||
</a>
|
</a>
|
||||||
{{else}}
|
|
||||||
<a href="{{.RepoURL}}" class="dt-btn-primary" data-cta="primary">
|
|
||||||
Get Started
|
|
||||||
{{svg "octicon-arrow-right" 16}}
|
|
||||||
</a>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if .Config.Hero.SecondaryCTA.Label}}
|
{{if .Config.Hero.SecondaryCTA.Label}}
|
||||||
@@ -1023,14 +1018,26 @@
|
|||||||
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
||||||
{{.Config.Hero.SecondaryCTA.Label}}
|
{{.Config.Hero.SecondaryCTA.Label}}
|
||||||
</a>
|
</a>
|
||||||
{{else}}
|
|
||||||
<a href="{{.RepoURL}}" class="dt-btn-secondary" data-cta="secondary">
|
|
||||||
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
|
||||||
View Source
|
|
||||||
</a>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{if or $.GooglePlayID $.AppStoreID}}
|
||||||
|
<div style="display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 16px;" class="dt-reveal visible dt-reveal-delay-4">
|
||||||
|
{{if $.GooglePlayID}}
|
||||||
|
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="dt-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
||||||
|
Google Play
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
{{if $.AppStoreID}}
|
||||||
|
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="dt-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
||||||
|
App Store
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
|
||||||
{{if .Config.Hero.CodeExample}}
|
{{if .Config.Hero.CodeExample}}
|
||||||
<div class="dt-code-block dt-reveal visible dt-reveal-delay-4">
|
<div class="dt-code-block dt-reveal visible dt-reveal-delay-4">
|
||||||
<span class="dt-code-prompt">$</span>
|
<span class="dt-code-prompt">$</span>
|
||||||
@@ -1045,7 +1052,7 @@
|
|||||||
|
|
||||||
<!-- Stats Section -->
|
<!-- Stats Section -->
|
||||||
{{if or .Config.Stats (gt .NumStars 0)}}
|
{{if or .Config.Stats (gt .NumStars 0)}}
|
||||||
<section class="dt-stats">
|
<section class="dt-stats" id="stats">
|
||||||
<div class="dt-stats-inner dt-reveal">
|
<div class="dt-stats-inner dt-reveal">
|
||||||
{{if .Config.Stats}}
|
{{if .Config.Stats}}
|
||||||
{{range .Config.Stats}}
|
{{range .Config.Stats}}
|
||||||
@@ -1076,7 +1083,7 @@
|
|||||||
|
|
||||||
<!-- Downloads Section -->
|
<!-- Downloads Section -->
|
||||||
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
||||||
<section class="dt-downloads">
|
<section class="dt-downloads" id="downloads">
|
||||||
<div class="dt-downloads-inner dt-reveal">
|
<div class="dt-downloads-inner dt-reveal">
|
||||||
<h2>Download v{{.LatestReleaseTag}}</h2>
|
<h2>Download v{{.LatestReleaseTag}}</h2>
|
||||||
<p>Get the latest release</p>
|
<p>Get the latest release</p>
|
||||||
@@ -1139,25 +1146,6 @@
|
|||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if or $.GooglePlayID $.AppStoreID}}
|
|
||||||
<div style="margin-bottom: 24px;">
|
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 12px; color: var(--dt-muted); font-family: 'JetBrains Mono', monospace; letter-spacing: 0.08em; text-transform: uppercase;">{{svg "octicon-device-mobile" 16}} App Stores</h4>
|
|
||||||
<div style="display: flex; gap: 12px; flex-wrap: wrap;">
|
|
||||||
{{if $.GooglePlayID}}
|
|
||||||
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="dt-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
|
||||||
Google Play
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
{{if $.AppStoreID}}
|
|
||||||
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="dt-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
|
||||||
App Store
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
{{if $otherFiles}}
|
{{if $otherFiles}}
|
||||||
<div style="margin-bottom: 24px;">
|
<div style="margin-bottom: 24px;">
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 12px; color: var(--dt-muted); font-family: 'JetBrains Mono', monospace; letter-spacing: 0.08em; text-transform: uppercase;">{{svg "octicon-file" 16}} Other</h4>
|
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 12px; color: var(--dt-muted); font-family: 'JetBrains Mono', monospace; letter-spacing: 0.08em; text-transform: uppercase;">{{svg "octicon-file" 16}} Other</h4>
|
||||||
@@ -1220,7 +1208,7 @@
|
|||||||
|
|
||||||
<!-- Social Proof -->
|
<!-- Social Proof -->
|
||||||
{{if or .Config.SocialProof.Logos .Config.SocialProof.Testimonials}}
|
{{if or .Config.SocialProof.Logos .Config.SocialProof.Testimonials}}
|
||||||
<section class="dt-social-proof">
|
<section class="dt-social-proof" id="social-proof">
|
||||||
<div class="dt-social-proof-inner">
|
<div class="dt-social-proof-inner">
|
||||||
{{if .Config.SocialProof.Logos}}
|
{{if .Config.SocialProof.Logos}}
|
||||||
<div class="dt-logos dt-reveal">
|
<div class="dt-logos dt-reveal">
|
||||||
@@ -1286,7 +1274,7 @@
|
|||||||
|
|
||||||
<!-- CTA Section -->
|
<!-- CTA Section -->
|
||||||
{{if .Config.CTASection.Headline}}
|
{{if .Config.CTASection.Headline}}
|
||||||
<section class="dt-cta-section">
|
<section class="dt-cta-section" id="cta">
|
||||||
<div class="dt-cta-inner dt-reveal">
|
<div class="dt-cta-inner dt-reveal">
|
||||||
<h2>{{.Config.CTASection.Headline}}</h2>
|
<h2>{{.Config.CTASection.Headline}}</h2>
|
||||||
{{if .Config.CTASection.Subheadline}}
|
{{if .Config.CTASection.Subheadline}}
|
||||||
|
|||||||
@@ -1016,7 +1016,7 @@
|
|||||||
</section>
|
</section>
|
||||||
{{else}}
|
{{else}}
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="df-hero">
|
<section class="df-hero" id="hero">
|
||||||
<div class="df-hero-content">
|
<div class="df-hero-content">
|
||||||
<div class="df-badge df-reveal visible">
|
<div class="df-badge df-reveal visible">
|
||||||
<span class="df-badge-dot"></span>
|
<span class="df-badge-dot"></span>
|
||||||
@@ -1035,11 +1035,6 @@
|
|||||||
{{.Config.Hero.PrimaryCTA.Label}}
|
{{.Config.Hero.PrimaryCTA.Label}}
|
||||||
{{svg "octicon-arrow-right" 16}}
|
{{svg "octicon-arrow-right" 16}}
|
||||||
</a>
|
</a>
|
||||||
{{else}}
|
|
||||||
<a href="{{.RepoURL}}" class="df-btn-primary" data-cta="primary">
|
|
||||||
Get Started
|
|
||||||
{{svg "octicon-arrow-right" 16}}
|
|
||||||
</a>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if .Config.Hero.SecondaryCTA.Label}}
|
{{if .Config.Hero.SecondaryCTA.Label}}
|
||||||
@@ -1047,14 +1042,26 @@
|
|||||||
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
||||||
{{.Config.Hero.SecondaryCTA.Label}}
|
{{.Config.Hero.SecondaryCTA.Label}}
|
||||||
</a>
|
</a>
|
||||||
{{else}}
|
|
||||||
<a href="{{.RepoURL}}" class="df-btn-secondary" data-cta="secondary">
|
|
||||||
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
|
||||||
View Source
|
|
||||||
</a>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{if or $.GooglePlayID $.AppStoreID}}
|
||||||
|
<div style="display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 16px;" class="df-reveal visible df-reveal-delay-4">
|
||||||
|
{{if $.GooglePlayID}}
|
||||||
|
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="df-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
||||||
|
Google Play
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
{{if $.AppStoreID}}
|
||||||
|
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="df-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
||||||
|
App Store
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
|
||||||
{{if .Config.Hero.CodeExample}}
|
{{if .Config.Hero.CodeExample}}
|
||||||
<div class="df-code-block df-reveal visible df-reveal-delay-4">
|
<div class="df-code-block df-reveal visible df-reveal-delay-4">
|
||||||
<span class="df-code-prompt">$</span>
|
<span class="df-code-prompt">$</span>
|
||||||
@@ -1069,7 +1076,7 @@
|
|||||||
|
|
||||||
<!-- Stats Section -->
|
<!-- Stats Section -->
|
||||||
{{if or .Config.Stats (gt .NumStars 0)}}
|
{{if or .Config.Stats (gt .NumStars 0)}}
|
||||||
<section class="df-stats">
|
<section class="df-stats" id="stats">
|
||||||
<div class="df-stats-inner df-reveal">
|
<div class="df-stats-inner df-reveal">
|
||||||
{{if .Config.Stats}}
|
{{if .Config.Stats}}
|
||||||
{{range .Config.Stats}}
|
{{range .Config.Stats}}
|
||||||
@@ -1100,7 +1107,7 @@
|
|||||||
|
|
||||||
<!-- Downloads Section -->
|
<!-- Downloads Section -->
|
||||||
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
||||||
<section class="df-downloads">
|
<section class="df-downloads" id="downloads">
|
||||||
<div class="df-downloads-inner df-reveal">
|
<div class="df-downloads-inner df-reveal">
|
||||||
<h2>Download v{{.LatestReleaseTag}}</h2>
|
<h2>Download v{{.LatestReleaseTag}}</h2>
|
||||||
<p>Get the latest release</p>
|
<p>Get the latest release</p>
|
||||||
@@ -1163,25 +1170,6 @@
|
|||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if or $.GooglePlayID $.AppStoreID}}
|
|
||||||
<div style="margin-bottom: 24px;">
|
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13px; color: var(--df-muted); letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700;">{{svg "octicon-device-mobile" 16}} App Stores</h4>
|
|
||||||
<div style="display: flex; gap: 12px; flex-wrap: wrap;">
|
|
||||||
{{if $.GooglePlayID}}
|
|
||||||
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="df-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
|
||||||
Google Play
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
{{if $.AppStoreID}}
|
|
||||||
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="df-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
|
||||||
App Store
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
{{if $otherFiles}}
|
{{if $otherFiles}}
|
||||||
<div style="margin-bottom: 24px;">
|
<div style="margin-bottom: 24px;">
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13px; color: var(--df-muted); letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700;">{{svg "octicon-file" 16}} Other</h4>
|
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13px; color: var(--df-muted); letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700;">{{svg "octicon-file" 16}} Other</h4>
|
||||||
@@ -1244,7 +1232,7 @@
|
|||||||
|
|
||||||
<!-- Social Proof -->
|
<!-- Social Proof -->
|
||||||
{{if or .Config.SocialProof.Logos .Config.SocialProof.Testimonials}}
|
{{if or .Config.SocialProof.Logos .Config.SocialProof.Testimonials}}
|
||||||
<section class="df-social-proof">
|
<section class="df-social-proof" id="social-proof">
|
||||||
<div class="df-social-proof-inner">
|
<div class="df-social-proof-inner">
|
||||||
{{if .Config.SocialProof.Logos}}
|
{{if .Config.SocialProof.Logos}}
|
||||||
<div class="df-logos df-reveal">
|
<div class="df-logos df-reveal">
|
||||||
@@ -1310,7 +1298,7 @@
|
|||||||
|
|
||||||
<!-- CTA Section -->
|
<!-- CTA Section -->
|
||||||
{{if .Config.CTASection.Headline}}
|
{{if .Config.CTASection.Headline}}
|
||||||
<section class="df-cta-section">
|
<section class="df-cta-section" id="cta">
|
||||||
<div class="df-cta-inner df-reveal">
|
<div class="df-cta-inner df-reveal">
|
||||||
<h2>{{.Config.CTASection.Headline}}</h2>
|
<h2>{{.Config.CTASection.Headline}}</h2>
|
||||||
{{if .Config.CTASection.Subheadline}}
|
{{if .Config.CTASection.Subheadline}}
|
||||||
|
|||||||
@@ -1112,7 +1112,7 @@
|
|||||||
</section>
|
</section>
|
||||||
{{else}}
|
{{else}}
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="ea-hero">
|
<section class="ea-hero" id="hero">
|
||||||
<div class="ea-reveal">
|
<div class="ea-reveal">
|
||||||
<div class="ea-hero-eyebrow">{{if .Config.Brand.Name}}{{.Config.Brand.Name}}{{else}}Open Source{{end}}</div>
|
<div class="ea-hero-eyebrow">{{if .Config.Brand.Name}}{{.Config.Brand.Name}}{{else}}Open Source{{end}}</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1125,14 +1125,26 @@
|
|||||||
{{.Config.Hero.PrimaryCTA.Label}}
|
{{.Config.Hero.PrimaryCTA.Label}}
|
||||||
{{svg "octicon-arrow-right" 14}}
|
{{svg "octicon-arrow-right" 14}}
|
||||||
</a>
|
</a>
|
||||||
{{else}}
|
|
||||||
<a href="{{.RepoURL}}" class="ea-btn-primary" data-cta="primary">
|
|
||||||
Get Started
|
|
||||||
{{svg "octicon-arrow-right" 14}}
|
|
||||||
</a>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{if or $.GooglePlayID $.AppStoreID}}
|
||||||
|
<div style="display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 16px;" class="ea-reveal ea-reveal-delay-4">
|
||||||
|
{{if $.GooglePlayID}}
|
||||||
|
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="ea-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
||||||
|
Google Play
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
{{if $.AppStoreID}}
|
||||||
|
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="ea-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
||||||
|
App Store
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
|
||||||
{{if .Config.Hero.CodeExample}}
|
{{if .Config.Hero.CodeExample}}
|
||||||
<div class="ea-code-block ea-reveal ea-reveal-delay-4">
|
<div class="ea-code-block ea-reveal ea-reveal-delay-4">
|
||||||
<button class="ea-copy-btn" onclick="navigator.clipboard.writeText(document.getElementById('code-example').textContent)">
|
<button class="ea-copy-btn" onclick="navigator.clipboard.writeText(document.getElementById('code-example').textContent)">
|
||||||
@@ -1146,7 +1158,7 @@
|
|||||||
{{if or .Config.Stats (gt .NumStars 0)}}
|
{{if or .Config.Stats (gt .NumStars 0)}}
|
||||||
<div class="ea-rule"><div class="ea-rule-inner"></div></div>
|
<div class="ea-rule"><div class="ea-rule-inner"></div></div>
|
||||||
<!-- Stats -->
|
<!-- Stats -->
|
||||||
<section class="ea-stats">
|
<section class="ea-stats" id="stats">
|
||||||
<div class="ea-stats-inner">
|
<div class="ea-stats-inner">
|
||||||
{{if .Config.Stats}}
|
{{if .Config.Stats}}
|
||||||
{{range .Config.Stats}}
|
{{range .Config.Stats}}
|
||||||
@@ -1177,7 +1189,7 @@
|
|||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
||||||
<section class="ea-downloads">
|
<section class="ea-downloads" id="downloads">
|
||||||
<div class="ea-section-label ea-reveal">Downloads</div>
|
<div class="ea-section-label ea-reveal">Downloads</div>
|
||||||
<h2 class="ea-section-title ea-reveal">v{{.LatestReleaseTag}}</h2>
|
<h2 class="ea-section-title ea-reveal">v{{.LatestReleaseTag}}</h2>
|
||||||
<p style="color: var(--ea-muted); font-size: 17px; margin-bottom: 28px;" class="ea-reveal">Get the latest release</p>
|
<p style="color: var(--ea-muted); font-size: 17px; margin-bottom: 28px;" class="ea-reveal">Get the latest release</p>
|
||||||
@@ -1240,25 +1252,6 @@
|
|||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if or $.GooglePlayID $.AppStoreID}}
|
|
||||||
<div style="margin-bottom: 20px;" class="ea-reveal">
|
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: var(--ea-light); letter-spacing: 0.08em; text-transform: uppercase;">{{svg "octicon-device-mobile" 14}} App Stores</h4>
|
|
||||||
<div style="display: flex; gap: 12px; flex-wrap: wrap;">
|
|
||||||
{{if $.GooglePlayID}}
|
|
||||||
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="ea-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
|
||||||
Google Play
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
{{if $.AppStoreID}}
|
|
||||||
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="ea-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
|
||||||
App Store
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
{{if $otherFiles}}
|
{{if $otherFiles}}
|
||||||
<div style="margin-bottom: 20px;" class="ea-reveal">
|
<div style="margin-bottom: 20px;" class="ea-reveal">
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: var(--ea-light); letter-spacing: 0.08em; text-transform: uppercase;">{{svg "octicon-file" 14}} Other</h4>
|
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: var(--ea-light); letter-spacing: 0.08em; text-transform: uppercase;">{{svg "octicon-file" 14}} Other</h4>
|
||||||
@@ -1337,7 +1330,7 @@
|
|||||||
|
|
||||||
<!-- Testimonial -->
|
<!-- Testimonial -->
|
||||||
{{if .Config.SocialProof.Testimonials}}
|
{{if .Config.SocialProof.Testimonials}}
|
||||||
<section class="ea-testimonial-section">
|
<section class="ea-testimonial-section" id="testimonials">
|
||||||
<div class="ea-testimonial-inner">
|
<div class="ea-testimonial-inner">
|
||||||
<div class="ea-testimonials-container">
|
<div class="ea-testimonials-container">
|
||||||
{{range .Config.SocialProof.Testimonials}}
|
{{range .Config.SocialProof.Testimonials}}
|
||||||
@@ -1369,7 +1362,7 @@
|
|||||||
|
|
||||||
<!-- Used By -->
|
<!-- Used By -->
|
||||||
{{if .Config.SocialProof.Logos}}
|
{{if .Config.SocialProof.Logos}}
|
||||||
<section class="ea-used-by">
|
<section class="ea-used-by" id="social-proof">
|
||||||
<div class="ea-section-label ea-reveal">Trusted by</div>
|
<div class="ea-section-label ea-reveal">Trusted by</div>
|
||||||
<div class="ea-used-by-logos ea-reveal ea-reveal-delay-1">
|
<div class="ea-used-by-logos ea-reveal ea-reveal-delay-1">
|
||||||
{{range .Config.SocialProof.Logos}}
|
{{range .Config.SocialProof.Logos}}
|
||||||
@@ -1381,7 +1374,7 @@
|
|||||||
|
|
||||||
<!-- CTA Section -->
|
<!-- CTA Section -->
|
||||||
{{if .Config.CTASection.Headline}}
|
{{if .Config.CTASection.Headline}}
|
||||||
<section class="ea-cta-section">
|
<section class="ea-cta-section" id="cta">
|
||||||
<h2 class="ea-reveal">{{.Config.CTASection.Headline}}</h2>
|
<h2 class="ea-reveal">{{.Config.CTASection.Headline}}</h2>
|
||||||
{{if .Config.CTASection.Subheadline}}
|
{{if .Config.CTASection.Subheadline}}
|
||||||
<button class="ea-install-cmd ea-reveal ea-reveal-delay-1" onclick="navigator.clipboard.writeText('{{.Config.CTASection.Subheadline}}')">
|
<button class="ea-install-cmd ea-reveal ea-reveal-delay-1" onclick="navigator.clipboard.writeText('{{.Config.CTASection.Subheadline}}')">
|
||||||
|
|||||||
@@ -1082,7 +1082,7 @@
|
|||||||
</section>
|
</section>
|
||||||
{{else}}
|
{{else}}
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="osh-hero">
|
<section class="osh-hero" id="hero">
|
||||||
<div class="osh-hero-gradient"></div>
|
<div class="osh-hero-gradient"></div>
|
||||||
|
|
||||||
<div class="osh-hero-content">
|
<div class="osh-hero-content">
|
||||||
@@ -1103,11 +1103,6 @@
|
|||||||
{{.Config.Hero.PrimaryCTA.Label}}
|
{{.Config.Hero.PrimaryCTA.Label}}
|
||||||
{{svg "octicon-arrow-right" 16}}
|
{{svg "octicon-arrow-right" 16}}
|
||||||
</a>
|
</a>
|
||||||
{{else}}
|
|
||||||
<a href="{{.RepoURL}}" class="osh-btn-primary" data-cta="primary">
|
|
||||||
Get Started
|
|
||||||
{{svg "octicon-arrow-right" 16}}
|
|
||||||
</a>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if .Config.Hero.SecondaryCTA.Label}}
|
{{if .Config.Hero.SecondaryCTA.Label}}
|
||||||
@@ -1115,14 +1110,26 @@
|
|||||||
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
||||||
{{.Config.Hero.SecondaryCTA.Label}}
|
{{.Config.Hero.SecondaryCTA.Label}}
|
||||||
</a>
|
</a>
|
||||||
{{else}}
|
|
||||||
<a href="{{.RepoURL}}" class="osh-btn-secondary" data-cta="secondary">
|
|
||||||
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
|
||||||
View Source
|
|
||||||
</a>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{if or $.GooglePlayID $.AppStoreID}}
|
||||||
|
<div style="display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 16px;" class="osh-reveal visible osh-reveal-delay-4">
|
||||||
|
{{if $.GooglePlayID}}
|
||||||
|
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="osh-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
||||||
|
Google Play
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
{{if $.AppStoreID}}
|
||||||
|
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="osh-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
||||||
|
App Store
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
|
||||||
{{if .Config.Hero.CodeExample}}
|
{{if .Config.Hero.CodeExample}}
|
||||||
<div class="osh-code-block osh-reveal visible osh-reveal-delay-4">
|
<div class="osh-code-block osh-reveal visible osh-reveal-delay-4">
|
||||||
<span class="osh-code-prompt">$</span>
|
<span class="osh-code-prompt">$</span>
|
||||||
@@ -1137,7 +1144,7 @@
|
|||||||
|
|
||||||
<!-- Stats Section -->
|
<!-- Stats Section -->
|
||||||
{{if or .Config.Stats (gt .NumStars 0)}}
|
{{if or .Config.Stats (gt .NumStars 0)}}
|
||||||
<section class="osh-stats">
|
<section class="osh-stats" id="stats">
|
||||||
<div class="osh-stats-inner osh-reveal">
|
<div class="osh-stats-inner osh-reveal">
|
||||||
{{if .Config.Stats}}
|
{{if .Config.Stats}}
|
||||||
{{range .Config.Stats}}
|
{{range .Config.Stats}}
|
||||||
@@ -1168,7 +1175,7 @@
|
|||||||
|
|
||||||
<!-- Downloads Section -->
|
<!-- Downloads Section -->
|
||||||
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
||||||
<section class="osh-downloads">
|
<section class="osh-downloads" id="downloads">
|
||||||
<div class="osh-downloads-inner osh-reveal">
|
<div class="osh-downloads-inner osh-reveal">
|
||||||
<h2>Download v{{.LatestReleaseTag}}</h2>
|
<h2>Download v{{.LatestReleaseTag}}</h2>
|
||||||
<p>Get the latest release</p>
|
<p>Get the latest release</p>
|
||||||
@@ -1231,25 +1238,6 @@
|
|||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if or $.GooglePlayID $.AppStoreID}}
|
|
||||||
<div style="margin-bottom: 24px;">
|
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 14px; color: var(--osh-muted); font-family: 'IBM Plex Mono', monospace; letter-spacing: 0.05em; text-transform: uppercase;">{{svg "octicon-device-mobile" 16}} App Stores</h4>
|
|
||||||
<div style="display: flex; gap: 12px; flex-wrap: wrap;">
|
|
||||||
{{if $.GooglePlayID}}
|
|
||||||
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="osh-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
|
||||||
Google Play
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
{{if $.AppStoreID}}
|
|
||||||
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="osh-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
|
||||||
App Store
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
{{if $otherFiles}}
|
{{if $otherFiles}}
|
||||||
<div style="margin-bottom: 24px;">
|
<div style="margin-bottom: 24px;">
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 14px; color: var(--osh-muted); font-family: 'IBM Plex Mono', monospace; letter-spacing: 0.05em; text-transform: uppercase;">{{svg "octicon-file" 16}} Other</h4>
|
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 14px; color: var(--osh-muted); font-family: 'IBM Plex Mono', monospace; letter-spacing: 0.05em; text-transform: uppercase;">{{svg "octicon-file" 16}} Other</h4>
|
||||||
@@ -1312,7 +1300,7 @@
|
|||||||
|
|
||||||
<!-- Social Proof -->
|
<!-- Social Proof -->
|
||||||
{{if or .Config.SocialProof.Logos .Config.SocialProof.Testimonials}}
|
{{if or .Config.SocialProof.Logos .Config.SocialProof.Testimonials}}
|
||||||
<section class="osh-social-proof">
|
<section class="osh-social-proof" id="social-proof">
|
||||||
<div class="osh-social-proof-inner">
|
<div class="osh-social-proof-inner">
|
||||||
{{if .Config.SocialProof.Logos}}
|
{{if .Config.SocialProof.Logos}}
|
||||||
<div class="osh-logos osh-reveal">
|
<div class="osh-logos osh-reveal">
|
||||||
@@ -1378,7 +1366,7 @@
|
|||||||
|
|
||||||
<!-- CTA Section -->
|
<!-- CTA Section -->
|
||||||
{{if .Config.CTASection.Headline}}
|
{{if .Config.CTASection.Headline}}
|
||||||
<section class="osh-cta-section">
|
<section class="osh-cta-section" id="cta">
|
||||||
<div class="osh-cta-inner osh-reveal">
|
<div class="osh-cta-inner osh-reveal">
|
||||||
<h2>{{.Config.CTASection.Headline}}</h2>
|
<h2>{{.Config.CTASection.Headline}}</h2>
|
||||||
{{if .Config.CTASection.Subheadline}}
|
{{if .Config.CTASection.Subheadline}}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
.gm-reveal-delay-1 { transition-delay: 0.12s; }
|
.gm-reveal-delay-1 { transition-delay: 0.12s; }
|
||||||
.gm-reveal-delay-2 { transition-delay: 0.24s; }
|
.gm-reveal-delay-2 { transition-delay: 0.24s; }
|
||||||
.gm-reveal-delay-3 { transition-delay: 0.36s; }
|
.gm-reveal-delay-3 { transition-delay: 0.36s; }
|
||||||
|
.gm-reveal-delay-4 { transition-delay: 0.48s; }
|
||||||
|
|
||||||
.gm-page {
|
.gm-page {
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
@@ -1131,9 +1132,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
<a href="{{if .Config.Hero.PrimaryCTA.URL}}{{.Config.Hero.PrimaryCTA.URL}}{{else}}{{.RepoURL}}{{end}}" class="gm-btn-primary" data-cta="primary" style="padding: 10px 20px; font-size: 13px;">
|
{{if .Config.Hero.PrimaryCTA.Label}}
|
||||||
<span>{{if .Config.Hero.PrimaryCTA.Label}}{{.Config.Hero.PrimaryCTA.Label}}{{else}}Get Started{{end}}</span>
|
<a href="{{.Config.Hero.PrimaryCTA.URL}}" class="gm-btn-primary" data-cta="primary" style="padding: 10px 20px; font-size: 13px;">
|
||||||
|
<span>{{.Config.Hero.PrimaryCTA.Label}}</span>
|
||||||
</a>
|
</a>
|
||||||
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
<button class="gm-mobile-toggle" onclick="document.getElementById('gm-mobile-nav').classList.toggle('open')">Menu</button>
|
<button class="gm-mobile-toggle" onclick="document.getElementById('gm-mobile-nav').classList.toggle('open')">Menu</button>
|
||||||
</nav>
|
</nav>
|
||||||
@@ -1221,7 +1224,7 @@
|
|||||||
</section>
|
</section>
|
||||||
{{else}}
|
{{else}}
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="gm-hero">
|
<section class="gm-hero" id="hero">
|
||||||
<div class="gm-hero-inner">
|
<div class="gm-hero-inner">
|
||||||
<div>
|
<div>
|
||||||
{{if gt .NumStars 100}}
|
{{if gt .NumStars 100}}
|
||||||
@@ -1238,12 +1241,14 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="gm-hero-ctas gm-reveal gm-reveal-delay-3">
|
<div class="gm-hero-ctas gm-reveal gm-reveal-delay-3">
|
||||||
<a href="{{if .Config.Hero.PrimaryCTA.URL}}{{.Config.Hero.PrimaryCTA.URL}}{{else}}{{.RepoURL}}{{end}}" class="gm-btn-primary" data-cta="primary">
|
{{if .Config.Hero.PrimaryCTA.Label}}
|
||||||
|
<a href="{{.Config.Hero.PrimaryCTA.URL}}" class="gm-btn-primary" data-cta="primary">
|
||||||
<span>
|
<span>
|
||||||
{{if .Config.Hero.PrimaryCTA.Label}}{{.Config.Hero.PrimaryCTA.Label}}{{else}}Get Started{{end}}
|
{{.Config.Hero.PrimaryCTA.Label}}
|
||||||
{{svg "octicon-arrow-right" 16}}
|
{{svg "octicon-arrow-right" 16}}
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
|
{{end}}
|
||||||
{{if .Config.Hero.SecondaryCTA.Label}}
|
{{if .Config.Hero.SecondaryCTA.Label}}
|
||||||
<a href="{{.Config.Hero.SecondaryCTA.URL}}" class="gm-btn-secondary" data-cta="secondary">
|
<a href="{{.Config.Hero.SecondaryCTA.URL}}" class="gm-btn-secondary" data-cta="secondary">
|
||||||
{{svg "octicon-play" 16}}
|
{{svg "octicon-play" 16}}
|
||||||
@@ -1252,6 +1257,23 @@
|
|||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{if or $.GooglePlayID $.AppStoreID}}
|
||||||
|
<div style="display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 16px;" class="gm-reveal gm-reveal-delay-4">
|
||||||
|
{{if $.GooglePlayID}}
|
||||||
|
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="gm-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
||||||
|
Google Play
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
{{if $.AppStoreID}}
|
||||||
|
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="gm-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
||||||
|
App Store
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
|
||||||
<div class="gm-hero-note gm-reveal gm-reveal-delay-3">
|
<div class="gm-hero-note gm-reveal gm-reveal-delay-3">
|
||||||
<span>{{svg "octicon-check" 14}} Free to use</span>
|
<span>{{svg "octicon-check" 14}} Free to use</span>
|
||||||
<span>{{svg "octicon-check" 14}} Open source</span>
|
<span>{{svg "octicon-check" 14}} Open source</span>
|
||||||
@@ -1280,7 +1302,7 @@
|
|||||||
|
|
||||||
<!-- Stats Section -->
|
<!-- Stats Section -->
|
||||||
{{if .Config.Stats}}
|
{{if .Config.Stats}}
|
||||||
<section class="gm-stats">
|
<section class="gm-stats" id="stats">
|
||||||
<div class="gm-stats-grid">
|
<div class="gm-stats-grid">
|
||||||
{{range .Config.Stats}}
|
{{range .Config.Stats}}
|
||||||
<div class="gm-stat-card gm-reveal">
|
<div class="gm-stat-card gm-reveal">
|
||||||
@@ -1293,7 +1315,7 @@
|
|||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
||||||
<section class="gm-downloads">
|
<section class="gm-downloads" id="downloads">
|
||||||
<div class="gm-downloads-inner">
|
<div class="gm-downloads-inner">
|
||||||
<div class="gm-downloads-header gm-reveal">
|
<div class="gm-downloads-header gm-reveal">
|
||||||
<h2>Download v{{.LatestReleaseTag}}</h2>
|
<h2>Download v{{.LatestReleaseTag}}</h2>
|
||||||
@@ -1358,25 +1380,6 @@
|
|||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if or $.GooglePlayID $.AppStoreID}}
|
|
||||||
<div style="margin-bottom: 24px;">
|
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 14px; color: var(--gm-light); font-weight: 600;">{{svg "octicon-device-mobile" 16}} App Stores</h4>
|
|
||||||
<div style="display: flex; gap: 12px; flex-wrap: wrap;">
|
|
||||||
{{if $.GooglePlayID}}
|
|
||||||
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="gm-download-item gm-reveal" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
|
||||||
Google Play
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
{{if $.AppStoreID}}
|
|
||||||
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="gm-download-item gm-reveal" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
|
||||||
App Store
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
{{if $otherFiles}}
|
{{if $otherFiles}}
|
||||||
<div style="margin-bottom: 24px;">
|
<div style="margin-bottom: 24px;">
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 14px; color: var(--gm-light); font-weight: 600;">{{svg "octicon-file" 16}} Other</h4>
|
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 14px; color: var(--gm-light); font-weight: 600;">{{svg "octicon-file" 16}} Other</h4>
|
||||||
@@ -1391,7 +1394,7 @@
|
|||||||
|
|
||||||
<!-- Trust Bar -->
|
<!-- Trust Bar -->
|
||||||
{{if .Config.SocialProof.Logos}}
|
{{if .Config.SocialProof.Logos}}
|
||||||
<section class="gm-trust">
|
<section class="gm-trust" id="social-proof">
|
||||||
<p class="gm-trust-label gm-reveal">Trusted by teams at</p>
|
<p class="gm-trust-label gm-reveal">Trusted by teams at</p>
|
||||||
<div class="gm-trust-bar gm-reveal gm-reveal-delay-1">
|
<div class="gm-trust-bar gm-reveal gm-reveal-delay-1">
|
||||||
{{range .Config.SocialProof.Logos}}
|
{{range .Config.SocialProof.Logos}}
|
||||||
@@ -1450,7 +1453,7 @@
|
|||||||
|
|
||||||
<!-- Testimonials -->
|
<!-- Testimonials -->
|
||||||
{{if .Config.SocialProof.Testimonials}}
|
{{if .Config.SocialProof.Testimonials}}
|
||||||
<section class="gm-section">
|
<section class="gm-section" id="testimonials">
|
||||||
<div class="gm-testimonial-card">
|
<div class="gm-testimonial-card">
|
||||||
<div class="gm-testimonials-container">
|
<div class="gm-testimonials-container">
|
||||||
{{range .Config.SocialProof.Testimonials}}
|
{{range .Config.SocialProof.Testimonials}}
|
||||||
@@ -1518,7 +1521,7 @@
|
|||||||
|
|
||||||
<!-- Final CTA -->
|
<!-- Final CTA -->
|
||||||
{{if .Config.CTASection.Headline}}
|
{{if .Config.CTASection.Headline}}
|
||||||
<section class="gm-section">
|
<section class="gm-section" id="cta">
|
||||||
<div class="gm-cta-gradient gm-reveal">
|
<div class="gm-cta-gradient gm-reveal">
|
||||||
<h2>{{.Config.CTASection.Headline}}</h2>
|
<h2>{{.Config.CTASection.Headline}}</h2>
|
||||||
{{if .Config.CTASection.Subheadline}}
|
{{if .Config.CTASection.Subheadline}}
|
||||||
|
|||||||
@@ -1118,7 +1118,7 @@
|
|||||||
</section>
|
</section>
|
||||||
{{else}}
|
{{else}}
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="vs-hero">
|
<section class="vs-hero" id="hero">
|
||||||
<div class="vs-hero-mesh">
|
<div class="vs-hero-mesh">
|
||||||
<div class="vs-hero-blob-1"></div>
|
<div class="vs-hero-blob-1"></div>
|
||||||
<div class="vs-hero-blob-2"></div>
|
<div class="vs-hero-blob-2"></div>
|
||||||
@@ -1143,11 +1143,6 @@
|
|||||||
{{.Config.Hero.PrimaryCTA.Label}}
|
{{.Config.Hero.PrimaryCTA.Label}}
|
||||||
{{svg "octicon-arrow-right" 16}}
|
{{svg "octicon-arrow-right" 16}}
|
||||||
</a>
|
</a>
|
||||||
{{else}}
|
|
||||||
<a href="{{.RepoURL}}" class="vs-btn-primary" data-cta="primary">
|
|
||||||
Get Started
|
|
||||||
{{svg "octicon-arrow-right" 16}}
|
|
||||||
</a>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if .Config.Hero.SecondaryCTA.Label}}
|
{{if .Config.Hero.SecondaryCTA.Label}}
|
||||||
@@ -1155,14 +1150,26 @@
|
|||||||
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
||||||
{{.Config.Hero.SecondaryCTA.Label}}
|
{{.Config.Hero.SecondaryCTA.Label}}
|
||||||
</a>
|
</a>
|
||||||
{{else}}
|
|
||||||
<a href="{{.RepoURL}}" class="vs-btn-secondary" data-cta="secondary">
|
|
||||||
<img src="/assets/img/gitcaddy-icon.svg" width="16" height="16" alt="GitCaddy">
|
|
||||||
View Source
|
|
||||||
</a>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{if or $.GooglePlayID $.AppStoreID}}
|
||||||
|
<div style="display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 16px;" class="vs-reveal visible vs-reveal-delay-4">
|
||||||
|
{{if $.GooglePlayID}}
|
||||||
|
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="vs-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
||||||
|
Google Play
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
{{if $.AppStoreID}}
|
||||||
|
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="vs-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
||||||
|
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
||||||
|
App Store
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
|
||||||
{{if .Config.Hero.CodeExample}}
|
{{if .Config.Hero.CodeExample}}
|
||||||
<div class="vs-code-block vs-reveal visible vs-reveal-delay-4">
|
<div class="vs-code-block vs-reveal visible vs-reveal-delay-4">
|
||||||
<span class="vs-code-prompt">$</span>
|
<span class="vs-code-prompt">$</span>
|
||||||
@@ -1177,7 +1184,7 @@
|
|||||||
|
|
||||||
<!-- Stats Section -->
|
<!-- Stats Section -->
|
||||||
{{if or .Config.Stats (gt .NumStars 0)}}
|
{{if or .Config.Stats (gt .NumStars 0)}}
|
||||||
<section class="vs-stats">
|
<section class="vs-stats" id="stats">
|
||||||
<div class="vs-stats-inner vs-reveal">
|
<div class="vs-stats-inner vs-reveal">
|
||||||
{{if .Config.Stats}}
|
{{if .Config.Stats}}
|
||||||
{{range .Config.Stats}}
|
{{range .Config.Stats}}
|
||||||
@@ -1208,7 +1215,7 @@
|
|||||||
|
|
||||||
<!-- Downloads Section -->
|
<!-- Downloads Section -->
|
||||||
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
{{if and .PublicReleases .LatestRelease .LatestRelease.Attachments}}
|
||||||
<section class="vs-downloads">
|
<section class="vs-downloads" id="downloads">
|
||||||
<div class="vs-downloads-inner vs-reveal">
|
<div class="vs-downloads-inner vs-reveal">
|
||||||
<h2>Download v{{.LatestReleaseTag}}</h2>
|
<h2>Download v{{.LatestReleaseTag}}</h2>
|
||||||
<p>Get the latest release</p>
|
<p>Get the latest release</p>
|
||||||
@@ -1271,25 +1278,6 @@
|
|||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if or $.GooglePlayID $.AppStoreID}}
|
|
||||||
<div style="margin-bottom: 28px;">
|
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 14px; font-size: 13px; color: var(--vs-muted); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600;">{{svg "octicon-device-mobile" 16}} App Stores</h4>
|
|
||||||
<div style="display: flex; gap: 14px; flex-wrap: wrap; justify-content: center;">
|
|
||||||
{{if $.GooglePlayID}}
|
|
||||||
<a href="https://play.google.com/store/apps/details?id={{$.GooglePlayID}}" target="_blank" rel="noopener" class="vs-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-1.4l2.834 1.64a1 1 0 0 1 0 1.726l-2.834 1.64-2.635-2.636 2.635-2.37zM5.864 2.658L16.8 9.99l-2.302 2.302-8.635-8.635z"/></svg>
|
|
||||||
Google Play
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
{{if $.AppStoreID}}
|
|
||||||
<a href="https://apps.apple.com/app/{{$.AppStoreID}}" target="_blank" rel="noopener" class="vs-download-item" style="display: inline-flex; align-items: center; gap: 10px;">
|
|
||||||
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/></svg>
|
|
||||||
App Store
|
|
||||||
</a>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
{{if $otherFiles}}
|
{{if $otherFiles}}
|
||||||
<div style="margin-bottom: 28px;">
|
<div style="margin-bottom: 28px;">
|
||||||
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 14px; font-size: 13px; color: var(--vs-muted); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600;">{{svg "octicon-file" 16}} Other</h4>
|
<h4 style="display: flex; align-items: center; gap: 8px; margin-bottom: 14px; font-size: 13px; color: var(--vs-muted); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600;">{{svg "octicon-file" 16}} Other</h4>
|
||||||
@@ -1352,7 +1340,7 @@
|
|||||||
|
|
||||||
<!-- Social Proof -->
|
<!-- Social Proof -->
|
||||||
{{if or .Config.SocialProof.Logos .Config.SocialProof.Testimonials}}
|
{{if or .Config.SocialProof.Logos .Config.SocialProof.Testimonials}}
|
||||||
<section class="vs-social-proof">
|
<section class="vs-social-proof" id="social-proof">
|
||||||
<div class="vs-social-proof-inner">
|
<div class="vs-social-proof-inner">
|
||||||
{{if .Config.SocialProof.Logos}}
|
{{if .Config.SocialProof.Logos}}
|
||||||
<div class="vs-logos vs-reveal">
|
<div class="vs-logos vs-reveal">
|
||||||
@@ -1418,7 +1406,7 @@
|
|||||||
|
|
||||||
<!-- CTA Section -->
|
<!-- CTA Section -->
|
||||||
{{if .Config.CTASection.Headline}}
|
{{if .Config.CTASection.Headline}}
|
||||||
<section class="vs-cta-section">
|
<section class="vs-cta-section" id="cta">
|
||||||
<div class="vs-cta-inner vs-reveal">
|
<div class="vs-cta-inner vs-reveal">
|
||||||
<h2>{{.Config.CTASection.Headline}}</h2>
|
<h2>{{.Config.CTASection.Headline}}</h2>
|
||||||
{{if .Config.CTASection.Subheadline}}
|
{{if .Config.CTASection.Subheadline}}
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
<div class="field">
|
<div class="field">
|
||||||
<input name="image_url" value="{{.Config.Hero.ImageURL}}" placeholder="https://example.com/hero.png">
|
<input name="image_url" value="{{.Config.Hero.ImageURL}}" placeholder="https://example.com/hero.png">
|
||||||
</div>
|
</div>
|
||||||
|
<br>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
|||||||
@@ -97,7 +97,7 @@
|
|||||||
<input name="og_image" value="{{.Config.SEO.OGImage}}" placeholder="https://example.com/og-image.png">
|
<input name="og_image" value="{{.Config.SEO.OGImage}}" placeholder="https://example.com/og-image.png">
|
||||||
</div>
|
</div>
|
||||||
<div id="og-image-preview" {{if not .Config.SEO.UseMediaKitOG}}style="display:none"{{end}}>
|
<div id="og-image-preview" {{if not .Config.SEO.UseMediaKitOG}}style="display:none"{{end}}>
|
||||||
<img src="{{.Repository.Link}}/social-preview" style="max-width:400px;border-radius:8px;border:1px solid #ddd;margin-top:8px;">
|
<img id="og-preview-img" src="{{.Repository.Link}}/social-preview?v={{.Repository.UpdatedUnix}}" style="max-width:400px;border-radius:8px;border:1px solid #ddd;margin-top:8px;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -170,6 +170,10 @@
|
|||||||
document.getElementById('use-media-kit-og').addEventListener('change', function() {
|
document.getElementById('use-media-kit-og').addEventListener('change', function() {
|
||||||
document.getElementById('og-image-manual').style.display = this.checked ? 'none' : '';
|
document.getElementById('og-image-manual').style.display = this.checked ? 'none' : '';
|
||||||
document.getElementById('og-image-preview').style.display = this.checked ? '' : 'none';
|
document.getElementById('og-image-preview').style.display = this.checked ? '' : 'none';
|
||||||
|
if (this.checked) {
|
||||||
|
const img = document.getElementById('og-preview-img');
|
||||||
|
img.src = img.src.replace(/[?&]v=\d+/, '') + '?v=' + Date.now();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function updateColorPreview(type) {
|
function updateColorPreview(type) {
|
||||||
|
|||||||
Reference in New Issue
Block a user