Tienson Qin 777cfddd44 add cljs-sdk 19 小时之前
..
cljs-sdk 777cfddd44 add cljs-sdk 19 小时之前
scripts 1d2bdfca21 expose fn args 3 天之前
src 3cc530a16f refactor(plugins): separate file graph apis 1 周之前
.gitignore 01d879c18e feat!: File Sync (#5355) 3 年之前
.npmignore dda1f9bd9f Enhance / Plugin APIs (#6945) 2 年之前
.prettierrc.js 79bc33e1e3 Enhance/more ns plugin api (#4828) 3 年之前
CHANGELOG.md 036df25a17 Enhance: plugin APIs (#10399) 1 年之前
README.md 1d2bdfca21 expose fn args 3 天之前
babel.config.json dda1f9bd9f Enhance / Plugin APIs (#6945) 2 年之前
index.d.ts f3edb9b77f feat(plugin): merge implementation 4 年之前
package.json b5f7dba149 init cljs sdk 4 天之前
tsconfig.json 94c3857da4 improve(plugin): simplify caller 4 年之前
webpack.config.core.js 9029c632ef Enhance/plugin apis (#3355) 3 年之前
webpack.config.js 488d376262 fix(plugin): correct parameters of datascript query api 2 年之前
yarn.lock b5f7dba149 init cljs sdk 4 天之前

README.md

@logseq/libs

🚀 Logseq SDK libraries.

Installation

yarn add @logseq/libs

Usage

Load logseq plugin sdk as global namespace

import "@logseq/libs"

APIs & Samples

Community templates

  1. https://github.com/pengx17/logseq-plugin-template-react
  2. https://github.com/pengx17/logseq-plugin-template-svelte
  3. https://github.com/tiensonqin/logseq-cljs-playground
  4. 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):

yarn run 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.