Commit Graph

44 Commits

Author SHA1 Message Date
Charlie
675811ccde Enhance/plugins (#8202)
* improve(plugins): install hooks with user options

* improve(plugin): remove todos

* improve(plugin): hook for a specific plugin

* e2e tests

* improve(ui): global search bar for the results from the custom search service
2023-01-05 19:30:41 +08:00
charlie
488d376262 fix(plugin): correct parameters of datascript query api 2022-12-22 21:14:36 +08:00
Charlie
020317911f Enhance/plugin APIs (#7555)
* feat: WIP native cli command support

* Add :shell/command-whitelist option

* Integrate cli to code block

* Add :code-block/command-whitelist option

* fix: size of icon

* improve(shell): cache user shell whitelist on application configures file

* improve(electron): promisify run cli command

* chore(libs): update version

* fix(plugin): incorrect payload of pdf highlights section hook

* improve(plugin): block renderer with specific block uuid

* improve(plugin): expose logger for user lib

* improve(plugin): block hooks type

* improve(plugin): block slot hook with specific block

* improve(plugin): auto generate key for provide UI options

* improve(plugin): style of injected ui container

* improve(plugin): types

* improve(plugin): async messaging api from host to plugin

* improve(plugin): add types

* improve(apis): get external plugin metadata

* improve(apis): invoke external plugin impls

* improve(apis): call external plugin impls for simple commands

* enhance(apis): datascript query api for predicate inputs

* enhance(apis): datascript query api for predicate inputs

* fix(apis): redundant args of datascript query api

* enhance(plugins): position of float ui container

* enhance(plugins): style of setting options

* enhance(plugins): layouts data for float ui

* chore(plugins): update CHANGELOG.md

* improve(apis): add types

* chore: fix some inclusive terms

* improve(apis): types

* chore(plugins): update CHANGELOG.md

* chore(plugins): build libs

* chore: update CHANGELOG.md

* chore: remove experiemental alda integration

* fix(lint): remove unused methods

Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
Co-authored-by: Andelf <andelf@gmail.com>
2022-12-19 20:23:25 +08:00
Charlie
dda1f9bd9f Enhance / Plugin APIs (#6945)
Added
1. All configurations of current graph.
App.getCurrentGraphConfigs: () => Promise<any>
2. All favorite pages list of current graph.
App.getCurrentGraphFavorites: () => Promise<Array<string> | null>
3. All recent pages list of current graph.
App.getCurrentGraphRecent: () => Promise<Array<string> | null>
4. Clear right sidebar blocks.
App.clearRightSidebarBlocks: (opts?: { close: boolean }) => void
5. Support register CodeMirror enhancer. #Experiment feature
Experiments.registerExtensionsEnhancer<T = any>(type: 'katex' | 'codemirror', enhancer: (v: T) => Promise<any>)
6. Support hooks for app search service. #Alpha stage
App.registerSearchService<T extends IPluginSearchServiceHooks>(s: T): void
7. Support focus option for App.insertBlock. Credit to [[tennox]] #PR

Fixed
1. Adjust build script to be compatible for shadow-cljs bundler.
How to set up a clojurescript project with shadow-cljs?
https://github.com/rlhk/logseq-url-plus/blob/main/doc/dev-notes.md
2022-11-22 22:00:29 +08:00
Charlie
d53ac94bfc Enhance/pdf improvements (#6475)
Full-text search, highlights and assets alias support 
It also exposes a plugin API for highlight context menu   
    ```ts
    /**
       * Current it's only available for pdf viewer
       * @param label - displayed name of command
       * @param action - callback for the clickable item
       * @param opts - clearSelection: clear highlight selection when callback invoked
       */
      registerHighlightContextMenuItem: (
        label: string,
        action: SimpleCommandCallback,
        opts?: {
          clearSelection: boolean
        }
      ) => unknown
    ```
2022-10-09 20:44:18 +08:00
Tienson Qin
f4262cf919 Enhance/api storages for graph assets (#6488)
* improve(api): assets storage for plugin

Co-authored-by: charlie <xyhp915@qq.com>
2022-10-04 12:30:19 +08:00
charlie
eb72f2e3c7 improve(plugin): api to create block uuid 2022-08-22 21:54:17 +08:00
charlie
7bd32fb911 improve(plugin): update types 2022-08-08 15:49:11 +08:00
charlie
3b0e1c58a3 improve(plugin): WIP api of http request 2022-06-16 01:43:49 +08:00
Yue Yang
17b91e51c3 feat: custom theme switching (#4741)
* feat: custom theme switching

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>

* chore: handle reset-custom-theme

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>

* fix: unregisterTheme

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>

* fix: format with ts-standard

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>

* chore: reset extra formats

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>

* chore: simplify array types

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>

* Update lsplugin.core.js

* fix: sync upstream

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>

* chore: add `no mode` themes into panel

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>

* fix: ci

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>

* fix: remove first <hr />

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>

* fix: lockfile

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>

* chore: update

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>

* chore: set-theme! => set-theme-mode!

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>

* fix: selectTheme

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>

* perf: reduce unnecessary logic

Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>
2022-05-19 10:18:43 +08:00
charlie
a33bb0cad1 fix(plugin): fix code style 2022-04-29 18:51:25 +08:00
Charlie
9885dc64e0 Update libs/src/LSPlugin.user.ts
Co-authored-by: Peng Xiao <pengxiao@outlook.com>
2022-04-29 18:51:25 +08:00
charlie
80bc3f0337 improve(plugin): support to get app info from api 2022-04-29 18:51:25 +08:00
charlie
f4bb7bfa9b fix(plugin): return clear handle for hooks api 2022-04-29 18:51:25 +08:00
charlie
1963a9709c fix(plugin): make the latest user sdk compatible for old plugin core 2022-04-22 15:51:40 +08:00
Charlie
79bc33e1e3 Enhance/more ns plugin api (#4828)
* improve(plugin): WIP add settings schema

* improve(plugin): add identity for settings modal

* improve(plugin): WIP add settings input

* fix(ui): scrollbar overlay of modal panel content

* improve(plugin): WIP add more render types of setting item

* improve(plugin): WIP polish settings items

* improve(plugin): WIP settings list of plugins

* improve(plugin): more settings types & polish releated ui

* fix(plugin): sometimes disable plugin not work

* improve(plugin): polish ui of plugin settings

* fix(dev): warning of lint

* improve(plugin): add api of settings changed

* chore: build libs core

* fix(ui): width of settings panel wrap

* improve(plugin): separate layouts data from settings aio file

* imporve(plugin): container size of single plugin settings

* fix: add missing state

* improve(plugin): add Git ns

* improve(plugin): git related api

* improve(api): type of git result

* chore: build libs core

* fix(dev): kondo lint

* fix(plugin): use cdn sdk when js entry

* chore: build libs core

* fix(plugin): env condition

* improve(plugin): add UI ns

* fix(api): arguments of datascript query

* enhance(api): manageable message instance of UI tools

* enhance(api): WIP add experiments api

* enhance(api): WIP add resources state of plugin

* improve(plugin): add status of loading script resources

* improve(plugin): more opts for script loader

* improve(plugin): WIP add fenced code renderer hook

* improve(plugin): fenced code renderer hook

* fix(plugin): resource root path of plugin fs location

* imporve(plugin): support local files for loading scripts

* improve(plugin): types of expirements api

* fix: typo of class

* enhance(api): add namespace related apis

* enhance(api): add linked refrences related apis

* enhance(plugin): add sample links to related api comments

* improve(plugin): add db changed hook & optimize strategy of caller for hooks

* improve(plugin): compatible commands registration for old sdk

* improve(plugin): collect user sdk version for plugin local

* improve(plugin): add internal callable apis for user sdk

* chore(plugin): missing files & bump libs version

* improve(plugin): compatiable for old sdk about hook messaging optimization

* improve(plugin): db hook optimization for old sdk

* enhance(ux): auto focus searchbar when open plugins list

* improve(plugin): api of a hook from specific block changed event

* improve(plugin): api of db block change hook

* improve(plugin): add show bracket user config of api

* improve(plugin): api of db block change hook

* fix(api): toggle collapsed of block

* improve(api): try to init grpah with git before exec git commands

* improve(plugin): attributes of sandbox container

* improve(dev): support register command with keybinding

* improve(plugin): add api of register shortcut command

* fix(plugin): reubild slash commands when new command registration

* fix(dev): lint

* improve(dev): lint script of libs codebase

* chore(dev): remove useless codes

* improve(plugin):sanitize path string of plugin repo value

* fix(plugin): rebuild commands list when unregister a plugin

* fix(ui): overflow width of query result table

* chore: rebuild libs core

* improve(plugin): add assets related apis

* chore: rebuild libs core

* improve(plugin): support replace state of into block in page api

* improve(plugin): prepend/append child block in page

* improve(plugin): polished exceptions message of plugin update/install

* fix(plugin): update settings within gui

* improve(ux): debounce change event of input for plugin settings gui

* chore: rebuild libs core

* enhance(plugin): catch exception of hook plugin
2022-04-21 18:43:16 +08:00
Charlie
24b0236b7d Enhance/Settings UI of plugins (#4035)
more settings types & polish releated ui
2022-02-17 10:00:53 +08:00
charlie
6f1c076f8d improve(plugin): typos 2021-12-21 12:38:44 +08:00
Charlie
9029c632ef Enhance/plugin apis (#3355)
* improve(plugin): support autoFocus option for main ui frame

* improve(plugin): make single selected block as current block

* improve(api): get selected blocks

* improve(plugin): support call built-in command from api

* fix(plugin): sanitize key of shortcut id

* improve(plugin): add invoke built-in command api &

* fix(editor): overwritten class of collapsed block

* improve(plugin): add `getStateFromStore` api

* chore: build libs core

Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
2021-12-08 10:43:58 +08:00
Charlie
c2b882b57d Feat/support keybinding for plugin commands (#3176)
register shortcut and shortcut for palette commands
2021-11-22 15:44:27 +08:00
Charlie
72c038e6fe Feat/moveable plugin UI container (#3045)
* improve(plugin): add container for main ui frame

* feat(plugin): support draggable & resizable UI container for main ui

* feat: support fork sub layout container

* improve(plugin): add editor selection api

* improve(plugin): click outside configure for float container

* improve(plugin): api of journal for create-page

* improve(plugin): api of open-in-right-sidebar

* improve(plugin): add full screen api

* improve(plugin): api of register-palette-command

* improve(plugin): add apis
2021-11-15 16:57:20 +08:00
charlie
d8d69c0e51 improve(plugin): run installed plugin in isolated domain 2021-08-25 16:24:56 +08:00
charlie
f2b2552a6c improve(plugin): types 2021-08-25 09:39:18 +08:00
charlie
981bcf5ec6 improve(plugin): add types and api of scrolling to block in page 2021-07-19 19:36:33 +08:00
charlie
f4b6995479 fix(plugin): typo 2021-07-14 00:37:31 +08:00
charlie
661bb064f7 improve(plugin): basic impls of file storage api for specific plugin context 2021-07-14 00:37:31 +08:00
charlie
153f8f3202 improve(plugin): rename api & bump minor version 2021-07-02 10:51:44 +08:00
charlie
af4ec42c78 improve(plugin): support register page bar menu action item 2021-06-30 17:44:51 +08:00
charlie
d4c7a8a3b0 improve(plugin): types 2021-06-29 18:01:10 +08:00
charlie
e947acf7bd feat(plugin): support configurable UI api for toolbar action items 2021-06-29 17:55:06 +08:00
charlie
80e47bf829 fix(plugin): beforeunload call error if it not exist & bump libs version 2021-06-17 10:33:17 +08:00
charlie
b3e6ba1efe improve(plugin): fit for tsdoc extractor 2021-06-09 19:07:10 +08:00
charlie
e0840067c2 improve(plugin): add more types & apis 2021-06-05 11:38:50 +08:00
charlie
ba1cc8f752 improve(plugin): add editting cursor api & types 2021-06-03 09:56:46 +08:00
charlie
c9f68296b4 improve(plguin): apis about insertion related with cursor state & more types 2021-06-01 22:33:41 +08:00
charlie
430c00f8e7 improve(plugin): user types 2021-05-28 19:51:45 +08:00
charlie
1cf08d071d improve(plugin): add beforeunload interceptor 2021-05-21 13:56:59 +08:00
charlie
c6d1754660 improve(plugin): export exceptions of api call 2021-05-19 10:34:31 +08:00
Peng Xiao
8fa6da6901 type: fix type 2021-05-18 10:33:34 +08:00
Peng Xiao
8561acb57f enhance: types for lsp 2021-05-18 10:33:34 +08:00
charlie
57079a9234 chore(plugin): bump version 2021-05-17 11:14:37 +08:00
charlie
f3edb9b77f feat(plugin): merge implementation 2021-05-08 20:32:20 +08:00
Tienson Qin
f1f9800d96 Revert "feat(plugin): merge implementation"
This reverts commit 7f867236d7.
2021-05-08 19:02:34 +08:00
charlie
7f867236d7 feat(plugin): merge implementation 2021-05-07 16:54:14 +08:00