diff --git a/docs/index.html b/docs/index.html index bf3f16f..374a835 100644 --- a/docs/index.html +++ b/docs/index.html @@ -193,18 +193,25 @@ margin: 0 auto; } + .cta-buttons { + display: flex; + gap: 1rem; + justify-content: center; + flex-wrap: wrap; + margin-top: 1.5rem; + } + .cta-button { display: inline-block; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; - padding: 1rem 3rem; + padding: 1rem 2.5rem; border-radius: 50px; text-decoration: none; - font-size: 1.2rem; + font-size: 1.1rem; font-weight: 600; transition: transform 0.2s, box-shadow 0.2s; box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4); - margin-top: 1rem; } .cta-button:hover { @@ -212,6 +219,19 @@ box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6); } + .cta-button.demo { + background: linear-gradient(135deg, #10b981 0%, #059669 100%); + box-shadow: 0 4px 15px rgba(16, 185, 129, 0.4); + } + + .cta-button.demo:hover { + box-shadow: 0 6px 20px rgba(16, 185, 129, 0.6); + } + + .cta-button.demo::before { + content: "▶ "; + } + .features { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); @@ -290,6 +310,56 @@ margin-bottom: 0.25rem; } + /* Scroll Animations */ + @keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(40px); + } + to { + opacity: 1; + transform: translateY(0); + } + } + + @keyframes fadeInScale { + from { + opacity: 0; + transform: scale(0.9); + } + to { + opacity: 1; + transform: scale(1); + } + } + + .animate-on-scroll { + opacity: 0; + } + + .animate-on-scroll.animated { + animation: fadeInUp 0.6s ease-out forwards; + } + + .animate-on-scroll.animated-scale { + animation: fadeInScale 0.6s ease-out forwards; + } + + /* Stagger animation delays for feature cards */ + .feature.animated:nth-child(1) { animation-delay: 0s; } + .feature.animated:nth-child(2) { animation-delay: 0.1s; } + .feature.animated:nth-child(3) { animation-delay: 0.2s; } + .feature.animated:nth-child(4) { animation-delay: 0.05s; } + .feature.animated:nth-child(5) { animation-delay: 0.15s; } + .feature.animated:nth-child(6) { animation-delay: 0.25s; } + .feature.animated:nth-child(7) { animation-delay: 0.1s; } + .feature.animated:nth-child(8) { animation-delay: 0.2s; } + .feature.animated:nth-child(9) { animation-delay: 0.3s; } + .feature.animated:nth-child(10) { animation-delay: 0.15s; } + .feature.animated:nth-child(11) { animation-delay: 0.25s; } + .feature.animated:nth-child(12) { animation-delay: 0.35s; } + .feature.animated:nth-child(13) { animation-delay: 0.2s; } + .screenshot-section { margin: 4rem 0 3rem 0; text-align: center; @@ -319,17 +389,34 @@ padding: 0 1rem; } + /* Screenshot Carousel */ + .carousel { + position: relative; + overflow: hidden; + } + + .carousel-track { + display: flex; + transition: transform 0.5s ease-in-out; + width: 100%; + } + + .carousel-slide { + width: 100%; + min-width: 100%; + flex: 0 0 100%; + } + .screenshot-frame { background: var(--card-bg); border-radius: 12px; padding: 0.5rem; box-shadow: 0 20px 60px var(--shadow); - transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease; + transition: box-shadow 0.3s ease, background 0.3s ease; overflow: hidden; } .screenshot-frame:hover { - transform: translateY(-5px); box-shadow: 0 25px 80px var(--shadow); } @@ -343,6 +430,14 @@ margin-bottom: 0.5rem; } + .screenshot-title { + flex: 1; + text-align: center; + font-size: 0.85rem; + color: var(--text-secondary); + font-weight: 500; + } + .screenshot-dots { display: flex; gap: 0.4rem; @@ -365,6 +460,60 @@ border-radius: 0 0 8px 8px; } + /* Carousel Navigation */ + .carousel-nav { + display: flex; + justify-content: center; + align-items: center; + gap: 1rem; + margin-top: 1.5rem; + } + + .carousel-btn { + background: rgba(255, 255, 255, 0.2); + border: 2px solid rgba(255, 255, 255, 0.3); + border-radius: 50%; + width: 44px; + height: 44px; + cursor: pointer; + font-size: 1.2rem; + color: white; + transition: all 0.3s ease; + backdrop-filter: blur(10px); + display: flex; + align-items: center; + justify-content: center; + } + + .carousel-btn:hover { + background: rgba(255, 255, 255, 0.3); + transform: scale(1.1); + } + + .carousel-indicators { + display: flex; + gap: 0.5rem; + } + + .carousel-indicator { + width: 10px; + height: 10px; + border-radius: 50%; + background: rgba(255, 255, 255, 0.3); + border: none; + cursor: pointer; + transition: all 0.3s ease; + } + + .carousel-indicator.active { + background: white; + transform: scale(1.2); + } + + .carousel-indicator:hover { + background: rgba(255, 255, 255, 0.6); + } + footer { text-align: center; padding: 3rem 0; @@ -475,6 +624,27 @@ width: 10px; height: 10px; } + + .screenshot-title { + font-size: 0.75rem; + } + + .carousel-btn { + width: 36px; + height: 36px; + font-size: 1rem; + } + + .cta-buttons { + flex-direction: column; + align-items: center; + } + + .cta-button { + width: 100%; + max-width: 280px; + text-align: center; + } } @@ -506,112 +676,176 @@
Your Self-Hosted Knowledge Base
-A lightweight, privacy-focused note-taking application with powerful features: LaTeX math equations, Mermaid diagrams, smart tags, custom templates, code highlighting, and more. Write, organize, and discover your notes with a beautiful, modern interface—all running on your own server.
- Get Started on GitHub → +A clean, intuitive interface designed for productivity and focus
Your notes never leave your server. Complete data ownership and privacy.
No subscriptions, no hidden fees. Free and open source forever.
Instant search and navigation. Works offline, always responsive.
Beautiful equation rendering with MathJax. Perfect for scientific notes.
Create flowcharts, mind maps, and diagrams with Mermaid syntax.
Syntax highlighting for popular coding languages. Developer-friendly notes.
Organize with YAML frontmatter tags. Collapsible properties panel shows metadata at a glance.
Create from custom templates with dynamic placeholders. Meeting notes, journals, and more.
Link notes with [[double brackets]] Obsidian-style. Broken links shown dimmed.
Interactive visualization of connected notes. Drag to explore relationships.
Plain markdown files in folders. No vendor lock-in, easy backups.
8 built-in themes with dark/light modes and full customization.
Plugin system lets you add custom features and integrations.
Join the self-hosting community and take back control of your notes today.
- View on GitHub → +