mirror of
https://github.com/logseq/logseq.git
synced 2026-05-14 16:02:31 +00:00
* enhance(libs): add Commands proxy and unified command APIs * enhance(plugin): improve unregistering of simple and palette commands * enhance(plugin): add unregister functionality for plugin commands * chore(libs): add logseq.Commands API guide and implementation * enhance(libs): introduce LSPluginNet for HTTP client functionality * fix(ipc): ensure proper handling of IPC messages and improve plugin call structure * enhance(libs): add HTTP methods (GET, HEAD, POST, PUT, PATCH, DELETE) and error handling * enhance(api): support additional identifier types for opening blocks in sidebar * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Tienson Qin <tiensonqin@gmail.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@logseq/libs
🚀 Logseq SDK libraries.
Installation
pnpm add @logseq/libs
Usage
Load logseq plugin sdk as global namespace
import "@logseq/libs"
APIs & Samples & References
- https://logseq.github.io/plugins/
- https://github.com/logseq/logseq-plugin-samples
- The New DB properties developer guide - A
- The New DB properties developer guide - B
- Logseq Plugin Development Agents Guide
Community templates
- https://github.com/logseq/cljs-plugin-example
- https://github.com/YU000jp/logseq-plugin-sample-kit-typescript
Feedback
If you have any feedback or encounter any issues, feel free to join Logseq's discord group. https://discord.gg/KpN4eHY
Generate CLJS SDK wrappers
To regenerate the ClojureScript facade from the JS SDK declarations (keeping the same argument shapes as the JS APIs while auto-converting to/from CLJS data):
pnpm generate:schema # emits dist/logseq-sdk-schema.json
bb libs:generate-cljs-sdk # emits logseq/core.cljs and per-proxy files under target/generated-cljs
Non-proxy methods (those defined on ILSPluginUser, e.g. ready, provide-ui) land in logseq.core. Each proxy (IAppProxy, IEditorProxy, ...) is emitted to its own namespace such as logseq.app or logseq.editor, preserving the original JS argument ordering while automatically bean-converting CLJS data.
Pass --out-dir to change the output location or --ns-prefix to pick a different namespace root.