Obsidian Plugin for syncing to Lichen Wiki #
Sync your Obsidian vault on a per-folder basis to https://lichen.wiki
Lichen Wiki notes are ATProto records (wiki.lichen.note + wiki.lichen.noteRevision
diffs) stored on your PDS. This plugin keeps local markdown files in two-way sync with
those records over time. See docs/ for the design and planning notes.
Status: early scaffolding. Currently a minimal plugin that loads and shows a settings tab; sync and OAuth login are not implemented yet.
Requirements #
Development #
npm install
npm run dev # watch mode, rebuilds main.js on change
npm run build # one-off production build -> main.js
Testing in Obsidian #
Because the plugin is built locally (and not yet published), you test it by pointing Obsidian at this repo's source as a "local plugin" folder.
-
Build the plugin: run
npm install(once) andnpm run buildto producemain.js. (Usenpm run devif you want the build to auto-recompile while you edit.) -
Find your vault's plugin folder. Obsidian stores community plugins in:
<YourVault>/.obsidian/plugins/. Create a folder for this plugin:<YourVault>/.obsidian/plugins/obsidian-lichenwiki/ -
Copy the plugin files into that folder. The three files Obsidian needs are:
manifest.json main.js styles.cssYou can copy them manually, or symlink the whole repo folder in so you don't have to re-copy on every rebuild:
ln -s /path/to/obsidian-lichenwiki <YourVault>/.obsidian/plugins/obsidian-lichenwiki(Symlinking means
npm run buildupdates the plugin in place; reload Obsidian to pick it up.) -
Enable the plugin in Obsidian:
- Open Settings → Community plugins.
- If "Restricted mode" is on, toggle it off (turn on Community plugins).
- Click Turn on for Lichen Wiki Sync (if you symlinked, you may need to click the refresh / reload plugins button or restart Obsidian for it to appear).
-
Verify it loaded. You should see:
- The Lichen Wiki Sync entry under Settings → Community plugins → Installed plugins.
- A Settings → Lichen Wiki Sync tab (currently just the "Sync interval" option).
Keeping this section up to date #
Update this "Testing in Obsidian" section whenever the install/run steps change — e.g. when new files are required to run the plugin (like OAuth client metadata), or when testing gets simpler (e.g. publishing to the community plugin store). Also bump the "Status" note at the top as features land.
Contributing / docs #
docs/— planning and design notes (sync model, OAuth, plugin structure).- Reference implementation: the
lichen.wikiapp (seedocs/plan.md).
- TypeScript 99%
- CSS 1%