748 lines
24 KiB
HTML
748 lines
24 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" data-theme="light">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<!-- Primary Meta Tags -->
|
|
<title>NoteDiscovery - Your Self-Hosted Knowledge Base</title>
|
|
<meta name="title" content="NoteDiscovery - Your Self-Hosted Knowledge Base">
|
|
<meta name="description" content="A lightweight, privacy-focused Markdown note-taking application with LaTeX math, Mermaid diagrams, and code highlighting. Self-hosted, free, and open source.">
|
|
<meta name="keywords" content="note taking, markdown editor, self-hosted, knowledge base, open source, privacy, notes app, docker, second brain, obsidian alternative, notion, evernote, onenote, latex, mermaid, diagrams, math equations">
|
|
<meta name="author" content="Gamosoft">
|
|
<meta name="robots" content="index, follow">
|
|
<link rel="canonical" href="https://www.notediscovery.com">
|
|
|
|
<!-- Open Graph / Facebook -->
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:url" content="https://www.notediscovery.com">
|
|
<meta property="og:title" content="NoteDiscovery - Your Self-Hosted Knowledge Base">
|
|
<meta property="og:description" content="A lightweight, privacy-focused Markdown note-taking application with LaTeX math, Mermaid diagrams, and code highlighting. Self-hosted, free, and open source.">
|
|
<meta property="og:image" content="https://www.notediscovery.com/og-image.png">
|
|
<meta property="og:image:width" content="1200">
|
|
<meta property="og:image:height" content="630">
|
|
<meta property="og:site_name" content="NoteDiscovery">
|
|
|
|
<!-- Twitter Card -->
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:site" content="@gamosoft">
|
|
<meta name="twitter:creator" content="@gamosoft">
|
|
<meta name="twitter:title" content="NoteDiscovery - Your Self-Hosted Knowledge Base">
|
|
<meta name="twitter:description" content="A lightweight, privacy-focused note-taking application with LaTeX math, Mermaid diagrams, and code highlighting. Self-hosted, free, and open source.">
|
|
<meta name="twitter:image" content="https://www.notediscovery.com/og-image.png">
|
|
<meta name="twitter:image:alt" content="NoteDiscovery - Self-hosted note-taking application interface">
|
|
|
|
<!-- Favicon -->
|
|
<link rel="icon" type="image/svg+xml" href="favicon.svg">
|
|
<link rel="apple-touch-icon" href="logo.svg">
|
|
|
|
<!-- Theme Color -->
|
|
<meta name="theme-color" content="#667eea">
|
|
<style>
|
|
:root {
|
|
--bg-gradient-start: #667eea;
|
|
--bg-gradient-end: #764ba2;
|
|
--text-primary: #1e293b;
|
|
--text-secondary: #64748b;
|
|
--text-header: #334155;
|
|
--card-bg: #ffffff;
|
|
--card-secondary: #f8fafc;
|
|
--shadow: rgba(0, 0, 0, 0.3);
|
|
--shadow-light: rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
[data-theme="dark"] {
|
|
--bg-gradient-start: #1e293b;
|
|
--bg-gradient-end: #0f172a;
|
|
--text-primary: #e2e8f0;
|
|
--text-secondary: #cbd5e1;
|
|
--text-header: #f1f5f9;
|
|
--card-bg: #1e293b;
|
|
--card-secondary: #334155;
|
|
--shadow: rgba(0, 0, 0, 0.6);
|
|
--shadow-light: rgba(0, 0, 0, 0.4);
|
|
}
|
|
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
line-height: 1.6;
|
|
color: var(--text-primary);
|
|
background: linear-gradient(135deg, var(--bg-gradient-start) 0%, var(--bg-gradient-end) 100%);
|
|
min-height: 100vh;
|
|
transition: background 0.3s ease, color 0.3s ease;
|
|
}
|
|
|
|
.container {
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
padding: 2rem;
|
|
}
|
|
|
|
header {
|
|
text-align: center;
|
|
padding: 3rem 0;
|
|
color: white;
|
|
position: relative;
|
|
}
|
|
|
|
.header-buttons {
|
|
position: fixed;
|
|
top: 1rem;
|
|
right: 1rem;
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
align-items: center;
|
|
z-index: 1000;
|
|
}
|
|
|
|
.theme-toggle {
|
|
background: rgba(255, 255, 255, 0.2);
|
|
border: 2px solid rgba(255, 255, 255, 0.3);
|
|
border-radius: 50px;
|
|
padding: 0.5rem 1rem;
|
|
cursor: pointer;
|
|
font-size: 1.2rem;
|
|
transition: all 0.3s ease;
|
|
backdrop-filter: blur(10px);
|
|
}
|
|
|
|
.theme-toggle:hover {
|
|
background: rgba(255, 255, 255, 0.3);
|
|
transform: scale(1.05);
|
|
}
|
|
|
|
.kofi-mini {
|
|
background: rgba(255, 255, 255, 0.2);
|
|
border: 2px solid rgba(255, 255, 255, 0.3);
|
|
border-radius: 50px;
|
|
padding: 0.5rem 1rem;
|
|
cursor: pointer;
|
|
font-size: 0.95rem;
|
|
transition: all 0.3s ease;
|
|
backdrop-filter: blur(10px);
|
|
color: #1e293b;
|
|
text-decoration: none;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.4rem;
|
|
font-weight: 600;
|
|
text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
|
|
}
|
|
|
|
.kofi-mini:hover {
|
|
background: rgba(255, 255, 255, 0.3);
|
|
transform: scale(1.05);
|
|
}
|
|
|
|
/* Dark theme Ko-fi button */
|
|
[data-theme="dark"] .kofi-mini {
|
|
color: white;
|
|
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
.logo {
|
|
width: 120px;
|
|
height: 120px;
|
|
margin: 0 auto 1rem;
|
|
filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
|
|
}
|
|
|
|
h1 {
|
|
font-size: 3rem;
|
|
font-weight: 700;
|
|
margin-bottom: 0.5rem;
|
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.tagline {
|
|
font-size: 1.5rem;
|
|
opacity: 0.95;
|
|
font-weight: 300;
|
|
}
|
|
|
|
.hero {
|
|
background: var(--card-bg);
|
|
border-radius: 20px;
|
|
padding: 3rem;
|
|
margin: 2rem 0;
|
|
box-shadow: 0 20px 60px var(--shadow);
|
|
transition: background 0.3s ease;
|
|
}
|
|
|
|
.hero-content {
|
|
text-align: center;
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
.hero-content h2 {
|
|
font-size: 2rem;
|
|
color: var(--text-header);
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.hero-content p {
|
|
font-size: 1.2rem;
|
|
color: var(--text-secondary);
|
|
max-width: 800px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.cta-button {
|
|
display: inline-block;
|
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
color: white;
|
|
padding: 1rem 3rem;
|
|
border-radius: 50px;
|
|
text-decoration: none;
|
|
font-size: 1.2rem;
|
|
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 {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6);
|
|
}
|
|
|
|
.features {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
|
gap: 2rem;
|
|
margin: 3rem 0;
|
|
}
|
|
|
|
.feature {
|
|
background: var(--card-secondary);
|
|
padding: 2rem;
|
|
border-radius: 15px;
|
|
text-align: center;
|
|
transition: transform 0.2s, background 0.3s ease;
|
|
}
|
|
|
|
.feature:hover {
|
|
transform: translateY(-5px);
|
|
}
|
|
|
|
.feature-icon {
|
|
font-size: 3rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.feature h3 {
|
|
font-size: 1.3rem;
|
|
color: var(--text-header);
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.feature p {
|
|
color: var(--text-secondary);
|
|
font-size: 1rem;
|
|
}
|
|
|
|
.benefits {
|
|
background: var(--card-bg);
|
|
border-radius: 20px;
|
|
padding: 3rem;
|
|
margin: 2rem 0;
|
|
box-shadow: 0 10px 30px var(--shadow-light);
|
|
transition: background 0.3s ease;
|
|
}
|
|
|
|
.benefits h2 {
|
|
text-align: center;
|
|
font-size: 2rem;
|
|
color: var(--text-header);
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
.benefit-list {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
gap: 1.5rem;
|
|
}
|
|
|
|
.benefit-item {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.benefit-item .emoji {
|
|
font-size: 1.5rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.benefit-item .text {
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
.benefit-item strong {
|
|
color: var(--text-header);
|
|
display: block;
|
|
margin-bottom: 0.25rem;
|
|
}
|
|
|
|
.screenshot-section {
|
|
margin: 4rem 0 3rem 0;
|
|
text-align: center;
|
|
}
|
|
|
|
.screenshot-section h2 {
|
|
font-size: 2rem;
|
|
color: white;
|
|
margin-bottom: 1rem;
|
|
text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
.screenshot-section p {
|
|
color: rgba(255, 255, 255, 0.95);
|
|
font-size: 1.1rem;
|
|
margin-bottom: 2.5rem;
|
|
max-width: 600px;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.screenshot-container {
|
|
position: relative;
|
|
max-width: 1000px;
|
|
margin: 0 auto;
|
|
padding: 0 1rem;
|
|
}
|
|
|
|
.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;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.screenshot-frame:hover {
|
|
transform: translateY(-5px);
|
|
box-shadow: 0 25px 80px var(--shadow);
|
|
}
|
|
|
|
.screenshot-window-bar {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.6rem 0.8rem;
|
|
background: var(--card-secondary);
|
|
border-radius: 8px 8px 0 0;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.screenshot-dots {
|
|
display: flex;
|
|
gap: 0.4rem;
|
|
}
|
|
|
|
.screenshot-dot {
|
|
width: 12px;
|
|
height: 12px;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.screenshot-dot:nth-child(1) { background: #ff5f56; }
|
|
.screenshot-dot:nth-child(2) { background: #ffbd2e; }
|
|
.screenshot-dot:nth-child(3) { background: #27c93f; }
|
|
|
|
.screenshot-frame img {
|
|
width: 100%;
|
|
height: auto;
|
|
display: block;
|
|
border-radius: 0 0 8px 8px;
|
|
}
|
|
|
|
footer {
|
|
text-align: center;
|
|
padding: 3rem 0;
|
|
color: white;
|
|
}
|
|
|
|
footer p {
|
|
opacity: 0.9;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.github-link {
|
|
color: white;
|
|
text-decoration: underline;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.support-button {
|
|
display: inline-block;
|
|
background: #0070ba;
|
|
color: white;
|
|
padding: 0.6rem 1.5rem;
|
|
border-radius: 25px;
|
|
text-decoration: none;
|
|
font-weight: 600;
|
|
font-size: 0.95rem;
|
|
transition: all 0.3s ease;
|
|
margin-top: 1rem;
|
|
box-shadow: 0 2px 8px rgba(0, 112, 186, 0.3);
|
|
}
|
|
|
|
.support-button:hover {
|
|
background: #005a92;
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 4px 12px rgba(0, 112, 186, 0.4);
|
|
}
|
|
|
|
.support-button::before {
|
|
content: "☕ ";
|
|
margin-right: 0.3rem;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
h1 {
|
|
font-size: 2rem;
|
|
}
|
|
|
|
.tagline {
|
|
font-size: 1.2rem;
|
|
}
|
|
|
|
.hero, .benefits {
|
|
padding: 2rem;
|
|
}
|
|
|
|
.features {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.header-buttons {
|
|
top: 0.5rem;
|
|
right: 0.5rem;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.theme-toggle {
|
|
padding: 0.4rem 0.8rem;
|
|
font-size: 1rem;
|
|
}
|
|
|
|
.kofi-mini {
|
|
padding: 0.4rem 0.8rem;
|
|
font-size: 0.85rem;
|
|
}
|
|
|
|
.logo {
|
|
width: 80px;
|
|
height: 80px;
|
|
}
|
|
|
|
.support-button {
|
|
padding: 0.5rem 1.2rem;
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
.screenshot-section {
|
|
margin: 3rem 0 2rem 0;
|
|
}
|
|
|
|
.screenshot-section h2 {
|
|
font-size: 1.5rem;
|
|
}
|
|
|
|
.screenshot-section p {
|
|
font-size: 1rem;
|
|
padding: 0 1rem;
|
|
}
|
|
|
|
.screenshot-frame {
|
|
box-shadow: 0 10px 40px var(--shadow);
|
|
}
|
|
|
|
.screenshot-window-bar {
|
|
padding: 0.5rem 0.6rem;
|
|
}
|
|
|
|
.screenshot-dot {
|
|
width: 10px;
|
|
height: 10px;
|
|
}
|
|
}
|
|
|
|
</style>
|
|
|
|
<!-- Google Analytics -->
|
|
<script async src="https://www.googletagmanager.com/gtag/js?id=G-2TVGZ9N7LF"></script>
|
|
<script>
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
|
|
gtag('config', 'G-2TVGZ9N7LF');
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<header>
|
|
<div class="header-buttons">
|
|
<a href="https://ko-fi.com/gamosoft" class="kofi-mini" target="_blank" rel="noopener noreferrer" aria-label="Support on Ko-fi">
|
|
<span>☕</span>
|
|
<span>Support</span>
|
|
</a>
|
|
<button class="theme-toggle" onclick="toggleTheme()" aria-label="Toggle theme">
|
|
<span id="theme-icon">🌙</span>
|
|
</button>
|
|
</div>
|
|
<img src="logo.svg" alt="NoteDiscovery Logo" class="logo">
|
|
<h1>NoteDiscovery</h1>
|
|
<p class="tagline">Your Self-Hosted Knowledge Base</p>
|
|
</header>
|
|
|
|
<div class="hero">
|
|
<div class="hero-content">
|
|
<h2>Take Control of Your Notes</h2>
|
|
<p>A lightweight, privacy-focused note-taking application with powerful features: LaTeX math equations, Mermaid diagrams, code highlighting, and more. Write, organize, and discover your notes with a beautiful, modern interface—all running on your own server.</p>
|
|
<a href="https://github.com/gamosoft/NoteDiscovery" class="cta-button">Get Started on GitHub →</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="screenshot-section">
|
|
<h2>See It in Action</h2>
|
|
<p>A clean, intuitive interface designed for productivity and focus</p>
|
|
<div class="screenshot-container">
|
|
<div class="screenshot-frame">
|
|
<div class="screenshot-window-bar">
|
|
<div class="screenshot-dots">
|
|
<div class="screenshot-dot"></div>
|
|
<div class="screenshot-dot"></div>
|
|
<div class="screenshot-dot"></div>
|
|
</div>
|
|
</div>
|
|
<img src="screenshot.jpg" alt="NoteDiscovery Interface Screenshot" loading="lazy">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="features">
|
|
<div class="feature">
|
|
<div class="feature-icon">🔒</div>
|
|
<h3>100% Private</h3>
|
|
<p>Your notes never leave your server. Complete data ownership and privacy.</p>
|
|
</div>
|
|
|
|
<div class="feature">
|
|
<div class="feature-icon">💰</div>
|
|
<h3>Completely Free</h3>
|
|
<p>No subscriptions, no hidden fees. Free and open source forever.</p>
|
|
</div>
|
|
|
|
<div class="feature">
|
|
<div class="feature-icon">🚀</div>
|
|
<h3>Lightning Fast</h3>
|
|
<p>Instant search and navigation. Works offline, always responsive.</p>
|
|
</div>
|
|
|
|
<div class="feature">
|
|
<div class="feature-icon">🧮</div>
|
|
<h3>LaTeX Math</h3>
|
|
<p>Beautiful equation rendering with MathJax. Perfect for scientific notes.</p>
|
|
</div>
|
|
|
|
<div class="feature">
|
|
<div class="feature-icon">📊</div>
|
|
<h3>Diagrams</h3>
|
|
<p>Create flowcharts, mind maps, and diagrams with Mermaid syntax.</p>
|
|
</div>
|
|
|
|
<div class="feature">
|
|
<div class="feature-icon">💻</div>
|
|
<h3>Code Highlighting</h3>
|
|
<p>Syntax highlighting for popular coding languages. Developer-friendly notes.</p>
|
|
</div>
|
|
|
|
<div class="feature">
|
|
<div class="feature-icon">📂</div>
|
|
<h3>Simple Storage</h3>
|
|
<p>Plain markdown files in folders. No vendor lock-in, easy backups.</p>
|
|
</div>
|
|
|
|
<div class="feature">
|
|
<div class="feature-icon">🎨</div>
|
|
<h3>Beautiful Themes</h3>
|
|
<p>8 built-in themes with dark/light modes and full customization.</p>
|
|
</div>
|
|
|
|
<div class="feature">
|
|
<div class="feature-icon">🔌</div>
|
|
<h3>Extensible</h3>
|
|
<p>Plugin system lets you add custom features and integrations.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="benefits">
|
|
<h2>Why Choose NoteDiscovery?</h2>
|
|
<div class="benefit-list">
|
|
<div class="benefit-item">
|
|
<span class="emoji">✨</span>
|
|
<div class="text">
|
|
<strong>Easy Setup</strong>
|
|
Run with Docker in seconds
|
|
</div>
|
|
</div>
|
|
|
|
<div class="benefit-item">
|
|
<span class="emoji">📱</span>
|
|
<div class="text">
|
|
<strong>Responsive Design</strong>
|
|
Works on desktop, tablet, and mobile
|
|
</div>
|
|
</div>
|
|
|
|
<div class="benefit-item">
|
|
<span class="emoji">🔍</span>
|
|
<div class="text">
|
|
<strong>Powerful Search</strong>
|
|
Find anything instantly
|
|
</div>
|
|
</div>
|
|
|
|
<div class="benefit-item">
|
|
<span class="emoji">📝</span>
|
|
<div class="text">
|
|
<strong>Markdown Editor</strong>
|
|
Write with live preview
|
|
</div>
|
|
</div>
|
|
|
|
<div class="benefit-item">
|
|
<span class="emoji">🌙</span>
|
|
<div class="text">
|
|
<strong>Dark Mode</strong>
|
|
Easy on the eyes
|
|
</div>
|
|
</div>
|
|
|
|
<div class="benefit-item">
|
|
<span class="emoji">💻</span>
|
|
<div class="text">
|
|
<strong>Self-Hosted</strong>
|
|
You own your data
|
|
</div>
|
|
</div>
|
|
|
|
<div class="benefit-item">
|
|
<span class="emoji">🔗</span>
|
|
<div class="text">
|
|
<strong>Wiki Links</strong>
|
|
Connect notes with internal links
|
|
</div>
|
|
</div>
|
|
|
|
<div class="benefit-item">
|
|
<span class="emoji">📄</span>
|
|
<div class="text">
|
|
<strong>HTML Export</strong>
|
|
Share standalone HTML files
|
|
</div>
|
|
</div>
|
|
|
|
<div class="benefit-item">
|
|
<span class="emoji">⌨️</span>
|
|
<div class="text">
|
|
<strong>Keyboard Shortcuts</strong>
|
|
Navigate and create with speed
|
|
</div>
|
|
</div>
|
|
|
|
<div class="benefit-item">
|
|
<span class="emoji">🔐</span>
|
|
<div class="text">
|
|
<strong>Optional Auth</strong>
|
|
Password protection when needed
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hero">
|
|
<div class="hero-content">
|
|
<h2>Ready to Get Started?</h2>
|
|
<p>Join the self-hosting community and take back control of your notes today.</p>
|
|
<a href="https://github.com/gamosoft/NoteDiscovery" class="cta-button">View on GitHub →</a>
|
|
</div>
|
|
</div>
|
|
|
|
<footer>
|
|
<p>Made with ❤️ for the self-hosting community</p>
|
|
<p>
|
|
<a href="https://github.com/gamosoft/NoteDiscovery" class="github-link">Star on GitHub</a> •
|
|
<a href="https://github.com/gamosoft/NoteDiscovery/issues" class="github-link">Report Issues</a>
|
|
</p>
|
|
</footer>
|
|
</div>
|
|
|
|
<script>
|
|
// Theme management
|
|
function toggleTheme() {
|
|
const html = document.documentElement;
|
|
const currentTheme = html.getAttribute('data-theme');
|
|
const newTheme = currentTheme === 'light' ? 'dark' : 'light';
|
|
|
|
html.setAttribute('data-theme', newTheme);
|
|
localStorage.setItem('theme', newTheme);
|
|
|
|
// Update icon
|
|
const icon = document.getElementById('theme-icon');
|
|
icon.textContent = newTheme === 'light' ? '🌙' : '☀️';
|
|
}
|
|
|
|
// Load saved theme on page load
|
|
(function() {
|
|
const savedTheme = localStorage.getItem('theme') || 'light';
|
|
document.documentElement.setAttribute('data-theme', savedTheme);
|
|
|
|
// Update icon
|
|
const icon = document.getElementById('theme-icon');
|
|
icon.textContent = savedTheme === 'light' ? '🌙' : '☀️';
|
|
})();
|
|
</script>
|
|
|
|
<!-- Structured Data / JSON-LD for Rich Snippets -->
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "SoftwareApplication",
|
|
"name": "NoteDiscovery",
|
|
"description": "A lightweight, Obsidian and Evernote alternative, privacy-focused Markdown note-taking application with LaTeX math, Mermaid diagrams, and code highlighting. Self-hosted, free, and open source.",
|
|
"url": "https://www.notediscovery.com",
|
|
"applicationCategory": "ProductivityApplication",
|
|
"operatingSystem": "Linux, Windows, macOS",
|
|
"featureList": "Markdown editor, LaTeX math equations, Mermaid diagrams, Code syntax highlighting, Dark mode, Plugin system, Internal wiki links, HTML export, Full-text search, Self-hosted, Obsidian, Evernote, Notion, Onenote, Second brain",
|
|
"offers": {
|
|
"@type": "Offer",
|
|
"price": "0",
|
|
"priceCurrency": "USD"
|
|
},
|
|
"author": {
|
|
"@type": "Person",
|
|
"name": "Gamosoft"
|
|
},
|
|
"softwareVersion": "1.0",
|
|
"aggregateRating": {
|
|
"@type": "AggregateRating",
|
|
"ratingValue": "5",
|
|
"ratingCount": "1"
|
|
}
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|