Syncable Dictionary
pendingby masoniis
Maintains a global list of dictionary words and automatically updates the official spellcheck dictionary to match. This enables syncing of the official dictionary across desktop devices.
obsidian-syncable-dictionary
This plugin maintains a global list of custom words inside the .obsidian folder so that they can be synced across desktop (and only desktop) devices without the user having to worry about it. If you use something like Obsidian Sync then your dictionary should be synced automatically through the plugin's settings assuming you have the right sync options enabled!
[!important]
This plugin only makes the native custom dictionary possible to sync, it does not sync on its own
That is to say, you still need to have a syncing system such as Obsidian Sync set up. This plugin just moves the information of the dictionary to a syncable location (namely the plugin's config inside
.obsidianfolder).
⚠️ Warnings ⚠️
[!WARNING]
Electron Session API Usage
The plugin relies on calls to the "internal" electron session and its dictionary API to control the "official" obsidian dictionary which relies on the same API. If Obsidian decides to change the way they handle their dictionary or revoke plugins from having access to said API, this plugin may suddenly break.
[!WARNING]
Dictionary Backup Recommended
In the case where you have a large dictionary with many important entries, I recommend you create a backup of your dictionary. While this plugin has safety features in place to prevent a large amount of words from ever being removed from your dictionary without user approval, it is still safest to err on the side of caution.
No mobile support?
Why no mobile support? iOS doesn't abide by the obsidian editor dictionary so there isn't a point in using it on iOS. I am not sure about android, but I assumed something similar may be going on, but let me know if that is otherwise.
How the syncing works
There are two different ways this plugin syncs words
- MERGE: Merge a local device dictionary into the plugin's global list. This always results in a equal-size or larger global dictionary that will be synced across future devices.
- REPLACE: Replace the local dictionary with the global list word-for-word. This may delete local entries. As a failsafe, if more than 5 local entries are to be deleted, you will get a popup offering a merge.
Every 15 seconds (todo: configurable period) the plugin checks for internal changes to the local dictionary (you added/removed words on your local device) and external changes to the global dictionary (you added/removed entries on another device).
- If there were external changes, we REPLACE the local dictionary with the global dictionary. If only external changes occurred, we can trust them as it must mean it is the most recent copy of the global dictionary.
- If there were local changes, we MERGE the local dictionary with the global dictionary.
- If there were external AND local changes, we REPLACE the local dictionary with the global dictionary BUT if more than 5 local words are going to be deleted by this, the user gets a popup allowing them to choose merge or replacement.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.