🐛 v1.2.1: Markdown Initial Export Bugfix + URL Normalization + GitHub Workflow Fix
## 🐛 Fixed - Initial Markdown export: Existing notes now exported when Desktop Integration activated - Markdown directory structure: Files now land correctly in /notes-md/ - JSON URL normalization: Smart detection for both Root-URL and /notes-URL - GitHub release notes: Fixed language order (DE primary, EN collapsible) and emoji ## ✨ Improved - Settings UI: Example URL shows /notes instead of /webdav - Server config: Enter only base URL (app adds /notes/ and /notes-md/ automatically) - Flexible URL input: Both http://server/ and http://server/notes/ work - Changelogs: Shortened for F-Droid 500 char limit ## 🔧 Technical - getNotesUrl() helper with smart /notes/ detection - getMarkdownUrl() simplified to use getNotesUrl() - All JSON operations updated to use normalized URLs - exportAllNotesToMarkdown() with progress callback - Workflow: Swapped CHANGELOG_DE/EN, replaced broken emoji with 🌍 versionCode: 6 versionName: 1.2.1
This commit is contained in:
183
README.en.md
183
README.en.md
@@ -22,53 +22,27 @@
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
## ✨ Highlights
|
||||
|
||||
### 📝 Notes
|
||||
* Simple text notes with auto-save
|
||||
* Swipe-to-delete with confirmation
|
||||
* Material Design 3 editor
|
||||
- 📝 **Offline-first** - Works without internet
|
||||
- 🔄 **Auto-sync** - Home WiFi only (15/30/60 min)
|
||||
- 🔒 **Self-hosted** - Your data stays with you (WebDAV)
|
||||
- 💾 **Local backup** - Export/Import as JSON file
|
||||
- 🖥️ **Desktop integration** - Markdown export for VS Code, Typora, etc.
|
||||
- 🔋 **Battery-friendly** - ~0.2-0.8% per day
|
||||
- 🎨 **Material Design 3** - Dark mode & dynamic colors
|
||||
|
||||
### 💾 Backup & Restore **NEW in v1.2.0**
|
||||
* **Local backup** - Export all notes as JSON file
|
||||
* **Flexible restore** - 3 modes (Merge, Replace, Overwrite)
|
||||
* **Automatic safety net** - Auto-backup before every restore
|
||||
* **Independent from server** - Works completely offline
|
||||
|
||||
### 🖥️ Desktop Integration **NEW in v1.2.0**
|
||||
* **Markdown export** - Notes are automatically exported as `.md` files
|
||||
* **WebDAV access** - Mount WebDAV as network drive for direct access
|
||||
* **Editor compatibility** - VS Code, Typora, Notepad++, or any Markdown editor
|
||||
* **Last-Write-Wins** - Intelligent conflict resolution via timestamps
|
||||
* **Dual-format** - JSON sync remains master, Markdown is optional mirror
|
||||
|
||||
### 🔄 Synchronization
|
||||
* **Pull-to-refresh** for manual sync
|
||||
* **Auto-sync** (15/30/60 min) only on home WiFi
|
||||
* **Smart server check** - No errors on foreign networks
|
||||
* **Conflict-free merging** - Your changes are never lost
|
||||
* **6 sync triggers** - Periodic, app-start, WiFi, manual, pull-to-refresh, settings
|
||||
|
||||
### 🔒 Privacy & Self-Hosted
|
||||
* **WebDAV server** (Nextcloud, ownCloud, etc.)
|
||||
* **Docker setup guide** included in docs
|
||||
* **Your data stays with you** - No tracking, no cloud
|
||||
* **HTTP only local** - HTTPS for external servers
|
||||
* **100% open source** (MIT License)
|
||||
|
||||
### 🔋 Performance
|
||||
* **Battery-friendly** (~0.2-0.8% per day)
|
||||
* **Offline-first** - Works without internet
|
||||
* **Dark mode** & dynamic colors
|
||||
➡️ **Complete feature list:** [FEATURES.en.md](FEATURES.en.md)
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
### 1. Server Setup
|
||||
### 1. Server Setup (5 minutes)
|
||||
|
||||
```bash
|
||||
cd server
|
||||
git clone https://github.com/inventory69/simple-notes-sync.git
|
||||
cd simple-notes-sync/server
|
||||
cp .env.example .env
|
||||
# Set password in .env
|
||||
docker compose up -d
|
||||
@@ -76,113 +50,32 @@ docker compose up -d
|
||||
|
||||
➡️ **Details:** [Server Setup Guide](server/README.en.md)
|
||||
|
||||
### 2. App Installation
|
||||
### 2. App Installation (2 minutes)
|
||||
|
||||
1. [Download APK](https://github.com/inventory69/simple-notes-sync/releases/latest)
|
||||
2. Install & open
|
||||
3. ⚙️ Settings → Configure server
|
||||
4. Enable auto-sync
|
||||
3. ⚙️ Settings → Configure server:
|
||||
- **URL:** `http://YOUR-SERVER-IP:8080/` _(base URL only!)_
|
||||
- **User:** `noteuser`
|
||||
- **Password:** _(from .env)_
|
||||
- **WiFi:** _(your network name)_
|
||||
4. **Test connection** → Enable auto-sync
|
||||
5. Done! 🎉
|
||||
|
||||
➡️ **Details:** [Complete guide](QUICKSTART.en.md)
|
||||
➡️ **Detailed guide:** [QUICKSTART.en.md](QUICKSTART.en.md)
|
||||
|
||||
---
|
||||
|
||||
## <EFBFBD> Local Backup & Restore
|
||||
## 📚 Documentation
|
||||
|
||||
### Create Backup
|
||||
|
||||
1. **Settings** → **Backup & Restore**
|
||||
2. Tap **"📥 Create backup"**
|
||||
3. Choose location (Downloads, SD card, cloud folder)
|
||||
4. Done! All notes are saved in a `.json` file
|
||||
|
||||
**Filename:** `simplenotes_backup_YYYY-MM-DD_HHmmss.json`
|
||||
|
||||
### Restore
|
||||
|
||||
1. **Settings** → **"📤 Restore from file"**
|
||||
2. Select backup file
|
||||
3. **Choose restore mode:**
|
||||
- **Merge** _(Default)_ - Add new notes, keep existing ones
|
||||
- **Replace** - Delete all and import backup
|
||||
- **Overwrite duplicates** - Backup wins on ID conflicts
|
||||
4. Confirm - _Automatic safety backup is created!_
|
||||
|
||||
**💡 Tip:** Before every restore, an automatic safety backup is created - your data is safe!
|
||||
|
||||
---
|
||||
|
||||
## 🖥️ Desktop Integration (WebDAV + Markdown)
|
||||
|
||||
### Why Markdown?
|
||||
|
||||
The app automatically exports your notes as `.md` files so you can edit them on desktop:
|
||||
|
||||
- **JSON remains master** - Primary sync mechanism (reliable, fast)
|
||||
- **Markdown is mirror** - Additional export for desktop access
|
||||
- **Dual-format** - Both formats are always in sync
|
||||
|
||||
### Setup: WebDAV as Network Drive
|
||||
|
||||
**With WebDAV mount ANY Markdown editor works!**
|
||||
|
||||
#### Windows:
|
||||
|
||||
1. **Open Explorer** → Right-click on "This PC"
|
||||
2. **"Map network drive"**
|
||||
3. **Enter WebDAV URL:** `http://YOUR-SERVER:8080/notes-md/`
|
||||
4. Enter username/password
|
||||
5. **Done!** - Folder appears as drive (e.g. Z:\)
|
||||
|
||||
#### macOS:
|
||||
|
||||
1. **Finder** → Menu "Go" → "Connect to Server" (⌘K)
|
||||
2. **Server Address:** `http://YOUR-SERVER:8080/notes-md/`
|
||||
3. Enter username/password
|
||||
4. **Done!** - Folder appears under "Network"
|
||||
|
||||
#### Linux:
|
||||
|
||||
```bash
|
||||
# Option 1: GNOME Files / Nautilus
|
||||
Files → Other Locations → Connect to Server
|
||||
Server Address: dav://YOUR-SERVER:8080/notes-md/
|
||||
|
||||
# Option 2: davfs2 (permanent mount)
|
||||
sudo apt install davfs2
|
||||
sudo mount -t davfs http://YOUR-SERVER:8080/notes-md/ /mnt/notes
|
||||
```
|
||||
|
||||
### Workflow:
|
||||
|
||||
1. **Enable Markdown export** (App → Settings)
|
||||
2. **Mount WebDAV** (see above)
|
||||
3. **Open editor** (VS Code, Typora, Notepad++, etc.)
|
||||
4. **Edit notes** - Changes are saved directly
|
||||
5. **"Import Markdown Changes" in app** - Import desktop changes
|
||||
|
||||
**Recommended Editors:**
|
||||
- **VS Code** - Free, powerful, with Markdown preview
|
||||
- **Typora** - Minimalist, WYSIWYG Markdown
|
||||
- **Notepad++** - Lightweight, fast
|
||||
- **iA Writer** - Focused writing
|
||||
|
||||
- **VS Code** with WebDAV extension
|
||||
- **Typora** (local copy)
|
||||
- **iA Writer** (read/edit only, no auto-sync)
|
||||
|
||||
**⚠️ Important:**
|
||||
- Markdown export is **optional** (toggle in settings)
|
||||
- JSON sync **always** works - Markdown is additional
|
||||
- All 6 sync triggers remain unchanged
|
||||
|
||||
---
|
||||
|
||||
## <20>📚 Documentation
|
||||
|
||||
- **[Quick Start Guide](QUICKSTART.en.md)** - Step-by-step guide for end users
|
||||
- **[Server Setup](server/README.en.md)** - Configure WebDAV server
|
||||
- **[Complete Docs](DOCS.en.md)** - Features, troubleshooting, build instructions
|
||||
| Document | Content |
|
||||
|----------|---------|
|
||||
| **[QUICKSTART.en.md](QUICKSTART.en.md)** | Step-by-step installation |
|
||||
| **[FEATURES.en.md](FEATURES.en.md)** | Complete feature list |
|
||||
| **[BACKUP.en.md](BACKUP.en.md)** | Backup & restore guide |
|
||||
| **[DESKTOP.en.md](DESKTOP.en.md)** | Desktop integration (Markdown) |
|
||||
| **[DOCS.en.md](DOCS.en.md)** | Technical details & troubleshooting |
|
||||
| **[CHANGELOG.md](CHANGELOG.md)** | Version history |
|
||||
|
||||
---
|
||||
|
||||
@@ -193,24 +86,20 @@ cd android
|
||||
./gradlew assembleStandardRelease
|
||||
```
|
||||
|
||||
➡️ **Details:** [Build instructions in DOCS.en.md](DOCS.en.md)
|
||||
➡️ **Build guide:** [DOCS.en.md](DOCS.en.md)
|
||||
|
||||
---
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
|
||||
Contributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md)
|
||||
|
||||
---
|
||||
|
||||
## <EFBFBD> Changelog
|
||||
|
||||
All changes are documented in [CHANGELOG.md](CHANGELOG.md).
|
||||
|
||||
---
|
||||
|
||||
## <20>📄 License
|
||||
## 📄 License
|
||||
|
||||
MIT License - see [LICENSE](LICENSE)
|
||||
|
||||
**v1.2.0** · Built with Kotlin + Material Design 3
|
||||
---
|
||||
|
||||
**v1.2.1** · Built with ❤️ using Kotlin + Material Design 3
|
||||
|
||||
Reference in New Issue
Block a user