🌐 Blog & Cloud Synchronization
FlashNote is natively engineered to serve as a modern publishing center for static technical blogs, such as the open-source theme MagicNote.
1. Why Blog Direct Sync?
- Eliminate Manual Friction: No need to fiddle with terminal commands, manual YAML headers, or image copying;
- Write Anywhere from Sidebar: Draft posts while browsing, take full advantage of Mermaid and KaTeX, and build your site with one click;
- Strict Privacy Boundaries: Only directories explicitly whitelisted for Blog Sync will be published. Private journals remain safely quarantined.
2. Directory Toggles & Three-Tier Readiness Gate
- Go to “Settings” -> “Folders & Category Management” in FlashNote;
- Toggle on [Blog Sync] for target folders (such as
techornotes); - Folders without this toggle remain strictly local and private;
- Build Readiness Gate (
readiness):- 🟢
ready: Complete FrontMatter metadata and valid syntax, ready for static deployment; - 🟡
draft: Ongoing draft state, kept in your local sidebar workspace and safely omitted from static builds; - 🔴
blocked: Hard stops compilation if sibling slug collisions, missing required titles, or path escapes are detected.
- 🟢
3. Sibling Slug Collision Defense
- Unique URL Slugs: Automatically audits sibling note filenames within each folder to prevent identical slugs from overwriting output HTML pages;
- Path Traversal Guards: Strictly enforces all static output destinations to remain inside designated distribution roots.
4. Differential Cloud Sync & Atomic State Machine
- Four-State Atomic Engine: Enforces strict transitions across
idle -> syncing -> success / error, preventing concurrent writes and data corruption; - Chunked Feature Hashes: Employs MD5 block fingerprinting to re-transmit only changed chunks with automatic retries on unstable networks;
- RFC 9562 UUID v7 Monotonic Keys: Millisecond timestamp-based IDs ensure consistent chronological ordering even when notes are created offline across multiple machines.
[!TIP] Need answers to common configuration questions?
