# ๐Ÿ—‚๏ธ Yet Another Memos Sync An enhanced Obsidian plugin for synchronizing Memos with daily notes, featuring emoji timeline and intelligent formatting. ๐Ÿ“ **English** ยท [็ฎ€ไฝ“ไธญๆ–‡](./README.zh-CN.md) ยท [GitHub Repository][github-repo-link] ยท [Community Plugin][community-plugin-link] [github-repo-link]: https://github.com/exusiaiwei/yet-another-memos-sync [community-plugin-link]: https://obsidian.md/plugins?search=yet%20another%20memos%20sync
## Table of Contents - [๐Ÿ—‚๏ธ Yet Another Memos Sync](#๏ธ-yet-another-memos-sync) - [Table of Contents](#table-of-contents) - [Background](#background) - [Features](#features) - [Installation](#installation) - [Configuration](#configuration) - [Usage](#usage) - [Visual Formats](#visual-formats) - [Development](#development) - [Contributing](#contributing) - [License](#license) ## Background **Yet Another Memos Sync** is an enhanced Obsidian plugin that seamlessly synchronizes your [Memos](https://usememos.com/) with daily notes. Inspired by the original [obsidian-memos-sync](https://github.com/RyoJerryYu/obsidian-memos-sync) plugin, this version offers advanced features including emoji timeline, intelligent formatting, and robust synchronization strategies. Unlike basic sync tools, it provides visual enhancements, smart synchronization, and supports both modern and legacy Memos API versions. ## Features ### ๐Ÿ”„ **Smart Synchronization** - **Incremental sync** - Only updates changed content for better performance - **Time-limited sync** - Configurable day limits (default: 30 days) to control sync scope - **Deletion detection** - Automatically removes deleted memos from your notes - **Auto-sync options** - Startup and periodic synchronization capabilities ### ๐ŸŽจ **Visual Enhancements** - **List Callout Style** - Enhanced Markdown lists with emoji timeline (recommended) - **Callout Format** - Rich card-style presentation for detailed viewing - **Standard Format** - Clean Markdown lists with emoji enhancements - **Multi-line support** - Proper indentation handling for complex memo structures ### ๐ŸŒ **Internationalization** - **Full i18n support** - English, Chinese, and extensible language system - **Auto-detection** - Automatically detects your Obsidian language preference - **Consistent UI** - Translated settings interface and user messages ### โš™๏ธ **Flexible Configuration** - **API version support** - Compatible with Memos v0.25.1 and legacy versions - **Custom headers** - Configurable memo section headers for organization - **Attachment handling** - Download and organize memo attachments automatically - **Daily note integration** - Seamless integration with Daily Notes plugin ## Installation ### Community Plugins (Recommended) 1. Open Obsidian Settings โ†’ Community plugins 2. Disable Safe mode if not already disabled 3. Click "Browse" and search for "Yet Another Memos Sync" 4. Install and enable the plugin ### Manual Installation 1. Download the latest release from [GitHub Releases](https://github.com/exusiaiwei/yet-another-memos-sync/releases) 2. Extract the files to `/.obsidian/plugins/yet-another-memos-sync/` 3. Reload Obsidian and enable the plugin in Settings โ†’ Community Plugins ### Build from Source ```bash # Clone the repository git clone https://github.com/exusiaiwei/yet-another-memos-sync.git cd yet-another-memos-sync # Install dependencies npm install # Build the plugin npm run build ``` ## Configuration ### Basic Setup 1. Open **Settings** โ†’ **Yet Another Memos Sync** 2. Configure your Memos server: - **API URL**: Your Memos server address (e.g., `https://your-memos.com`) - **API Token**: Generate from your Memos settings page - **API Version**: Select your server version (v0.25.1 recommended) ### Visual Style Selection Choose one format that best suits your workflow: - **๐ŸŽจ List Callout Style**: Enhanced lists with emoji timeline (recommended with [List Callouts plugin](https://github.com/mgmeyers/obsidian-list-callouts)) - **๐Ÿ“‹ Callout Format**: Rich card-style presentation for detailed viewing - **๐Ÿ“ Standard Format**: Simple emoji-enhanced Markdown lists ### Advanced Configuration
๐Ÿ“ Sync Settings - **Sync Days Limit**: Control sync scope (0 = unlimited, default: 30 days) - **Daily Note Headers**: Customize memo section titles - **Auto-create Notes**: Automatically create missing daily note files - **Attachment Folder**: Configure memo attachment storage location
๐Ÿ”„ Auto-Sync Options - **Startup Sync**: Automatically sync when Obsidian starts - **Startup Delay**: Wait time before initial sync (default: 5 seconds) - **Skip if Synced Today**: Avoid duplicate syncs on the same day - **Periodic Sync**: Regular interval syncing (0 = disabled)
## Usage ### Basic Operations - **๐Ÿ”„ Manual Sync**: Click the sync button in the ribbon or use Command Palette (`Ctrl/Cmd + P` โ†’ "Sync Memos") - **โšก Force Sync**: Re-sync all memos, ignoring incremental sync cache - **๐Ÿค– Auto Sync**: Automatically syncs on Obsidian startup and at periodic intervals (if enabled) ### Command Palette Commands - `Yet Another Memos Sync: Sync Memos` - Standard incremental sync - `Yet Another Memos Sync: Force Sync All Memos` - Complete re-sync - `Yet Another Memos Sync: Open Settings` - Quick access to plugin settings ## Visual Formats ### ๐ŸŽจ List Callout Style (Recommended) The List Callout style creates beautiful, themed memo lists that integrate seamlessly with the [List Callouts plugin](https://github.com/mgmeyers/obsidian-list-callouts): ```markdown - ๐ŸŒ… 07:30 Morning coffee and planning the day - Reviewed project timeline - Prepared meeting agenda - โ˜€๏ธ 14:20 Productive afternoon work session - ๐ŸŒ† 18:30 Evening wrap-up and notes review - ๐ŸŒ™ 22:15 Late night reading session ``` *When paired with List Callouts plugin, each time period gets beautiful colored themes* ### ๐Ÿ“‹ Time Period Mapping The plugin uses a simplified 4-period emoji system for intuitive time organization: | **Period** | **Emoji** | **Time Range** | **List Callout Theme** | **Description** | |------------|-----------|----------------|------------------------|-----------------| | Early Morning | ๐ŸŒ… | 05:00-12:00 | `[!info]` Blue | Peaceful dawn hours | | Noon | โ˜€๏ธ | 12:00-17:00 | `[!tip]` Green | Energetic daytime | | Evening | ๐ŸŒ† | 17:00-21:00 | `[!warning]` Orange | Warm sunset | | Night | ๐ŸŒ™ | 21:00-05:00 | `[!note]` Purple | Quiet nighttime | ### ๐Ÿ”„ Other Format Examples #### Callout Format ```markdown > [!memo] ๐ŸŒ… 07:30 Morning Memo > Planning the day with coffee โ˜• > - Review project timeline > - Prepare meeting agenda ``` #### Standard Format ```markdown - ๐ŸŒ… 07:30 Morning coffee and planning - โ˜€๏ธ 14:20 Productive work session - ๐ŸŒ† 18:30 Evening wrap-up ``` ## Development ### Prerequisites - Node.js (v16 or higher) - npm or yarn ### Development Setup ```bash # Clone the repository git clone https://github.com/exusiaiwei/yet-another-memos-sync.git cd yet-another-memos-sync # Install dependencies npm install # Development mode with auto-rebuild npm run dev # Build for production npm run build # Run tests npm test ``` ### Supported Memos Versions - โœ… **v0.25.1** (Latest, recommended) - โœ… **v0.24.x** (Fully supported) - โœ… **v0.23.x** (Fully supported) - โœ… **v0.22.x** (Fully supported) - โœ… **v0.21.x** (Fully supported) - โœ… **Legacy versions** (v0.20 and below) ## Contributing We welcome contributions from the community! Here's how you can help: ### Ways to Contribute - ๐Ÿ› **Report bugs** via [GitHub Issues](https://github.com/exusiaiwei/yet-another-memos-sync/issues) - ๐Ÿ’ก **Suggest features** through [GitHub Discussions](https://github.com/exusiaiwei/yet-another-memos-sync/discussions) - ๐Ÿ”€ **Submit pull requests** for improvements - ๐Ÿ“– **Improve documentation** and translations - ๐ŸŒŸ **Star the repository** to show your support ### Development Guidelines 1. Fork the repository 2. Create a feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'Add some amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ### Acknowledgments - Thanks to the original [obsidian-memos-sync](https://github.com/RyoJerryYu/obsidian-memos-sync) plugin for inspiration - [Memos](https://usememos.com/) for the excellent memo platform - [Obsidian](https://obsidian.md/) for the powerful note-taking platform - [List Callouts plugin](https://github.com/mgmeyers/obsidian-list-callouts) for beautiful visual themes ---
### ๐Ÿ’ Support If this plugin helps you, consider: - โญ **Star this repository** - ๐Ÿ› **Report issues** to help improve - ๐Ÿ”€ **Contribute code** or documentation - ๐Ÿ’ฌ **Share feedback** and suggestions *Made with โค๏ธ for the Obsidian community*