* 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
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
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
```
* enhance(ui): polish elements of left sidebar
* enhance(ui): active state of nav item from left sidebar
* enhance(ui): active state of nav item from left sidebar
* enhance(ui): WIP quick tour tips
* enhance(ui): WIP quick tour tips
* enhance(ui): WIP quick tour tips
* enhance(ux): add quick tour palette command
* enhance(ui): add step dots for quick tour tips
* enhance(ux): title hints for sidebar link items
* fix(ui): active state for journals from left sidebar
* enhance(ux): support quick tour command when initial app
* fix(ui): position of journal page quick tour tip box
* fix: cljs lint
* fix: remove unused method
* fix(e2e): e2e test for new left sidebar
* 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
* feat: add a secret global flag to load graph from a user defined dir
* fix: use LOGSEQ_OVERWRITE_OPEN_DIR env var to overwrite the openning graph dir
* e2e: add a test for load & check saved graph data
* fix: should also pass in process.env for testing fixtures
* feat: new way to set open dir folder
* fix: e2e
* fix: remove playwright global flag check
Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
* 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>
* 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