* enhance(plugin): call apis with the sdk ns
* enhance(plugin): types
* enhance(api): get value from the computed style
* enhance(api): types
* enhance(plugin): types
* enhance(plugin): types
* fix: lint
* fix(apis): incorrect shortcut command registion for block editing mode #10392
* fix(api): types
* enhance(apis): support register shortcuts with multi binding vals
* fix(plugins): normalize command key to make the internal keyword legal
* chore(plugin): build libs core
* chore(plugin): bump version
* enhance(apis): normalize apis cljs data
* chore(plugin): update libs user sdk
* chore(plugin): CHANGELOG.md
* fix: typo
* feat(ui): add package
* Update .gitignore
* feat(ui): set up shui infrastructure
* feat(ui): add storybook macro
* enhance(ui): storybook themes
* feat(ui): adapt ui button to classic
* enhance(ui): shui story
* feat(ui): shui toaster
* enhance(ui): shui toaster
* feat(ui): imperative API for shui toaster
* enhance(shui): update API for shui toaster
* enhance(shui): update hooks for shui toaster
* enhance(shui): remove debug
* feat(ui): story for the shui toaster
* feat(ui): story
* feat(ui): story docs
* feat(ui): more variants for the shui toaster
* feat(ui): story
* fix(ux): support querying plugins with right space chars
* feat(ui): add shui `Alert` component
* enhance(ui): shui demo
* feat(ui): add logseq UI readme
* enhance(ui): default shui theme
* feat(ui): add shui `Badge` component & demo
* fix(ui): outline theme for shui button
* feat(ui): custom icon for the toaster item
* feat(ui): add shui dropdown & demo
* feat(ui): WIP shui form related components
* feat(ui): WIP shui form-related components
* feat(ui): WIP shui form
* feat(ui): WIP shui form state for validation
* fix(ui): missing rounded for ui button
* feat(ui): add yup for shui form as default validation resolver
* enhance(ui): simplify validation schema input for the shui form
* fix(ui): accent ring color for input
* feat(ui): add shui switch
* feat(ui): add shui checkbox & switch
* feat(ui): add shui radio group
* fix(ui): missing file
* feat(ui): add Textarea component
* feat(ui): add shui card & skeleton
* feat(ui): add shui context menu component & demo
* fix(ui): accent color for the context menu item
* feat(ui): add shui select component & demo
* enhance(ui): ui css priority
* feat(ui): add shui calendar & ui details
* feat(ui): add shui popover
* feat(ui): add date picker & demo
* feat(ui): add shui dialog
* feat(ui): WIP add shui dialog
* feat(ui): WIP shui dialog as modal
* feat(ui): WIP imperative APIs for the shui modal
* feat(ui): imperative APIs for the shui modal/alert
* feat(ui): support imperative API alert!/confirm! return promise
* feat(ui): simplify shui components resources
* feat(ui): response layout for the demo ui page
* feat(ui): simplify colors
* feat(ui): simplify colors
* feat(ui): simplify colors
* refactor(ui): WIP Adapt to the new button component
* refactor(ui): polish new button & colors
* fix(ui): the new theme color for the plugin settings nav item link
* fix(ui): blockquote colors
* enhance(ui): more custom colors for shui button
* feat(ui): WIP make logseq green as a theme color
* enhance(ui): polish logseq classical theme color
* fix(ui): theme details of all pages
* enhance(ui): polish logseq theme color for dark mode
* fix(ui): missing table style
* refactor(ui): simplify the all shui buttons & shortcuts for the cmdk component
* fix(ui): missing file
* refactor(ui): clear up stuff
* fix(ui): theme color related issues
* enhance(ui): polish button style
* enhance(ui): polish the keymap setting pane
* fix(ui): hint button from the cmdk pane footer
* fix(ui): logseq colors for the storybook
* enhance(ui): stories for the shui components
* fix(ui): active color for the old toggle component
* enhance(ui): keep the constant size of the settings pane
* fix(ui): polish search input for the plugins pane
* enhance(ui): polish number list bullet colors
* feat(ui): add shui tooltip component
* chore: build ui
* chore(ui): clean up resources
* fix: lint
* fix: lint
* fix: lint
* fix(ui): alignment of the keymap title from the settings pane
* fix: tests
* fix(ui): close button for the classic notification tip
* fix(ui): polish toaster viewport
* enhance(ui): polish the ghost button colors
* enhance(ui): demos for tips
* fix(ui): accent colors for the rc-datepicker
* fix(ui): accent color for the menu item
* refactor(ui): remove unless code for the accent colors
* enhance(ui): polish pdf viewer background color for the accent color mode
* fix: lint
* fix: lint
* fix: lint
* enhance(ui): support button with the custom href link
* enhance(ui): polish aside setting items
* enhance(ui): polish accent color for buttons
* enhance(ui): polish all pages
---------
Co-authored-by: Gabriel Horner <97210743+logseq-cldwalker@users.noreply.github.com>
* enhance(ui): polish accent color details
* fix(ui): inline code bg color for accent mode
* fix: set page properties bg color the same as block properties
* fix: plugins background color
* fix: set the same width for keymap
* fix: set limited height for settings modal
* fix: page title color
* fix: accent colors for bullets and guideline
* fix: bullet hover background
* fix: remove unnecessary background colors for onboarding
* fix: clear notification since the beginning of e2e tests
* chore: remove unstable page-rename test
* fix: e2e tests
* fix: reset whiteboard title to untitled if a page exists
* fix: linked whiteboard
---------
Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
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
```
* feat: new file name escaping for namespace
feat: new file name decoding back to page name
* test: file name sanitization
feat: use _0x to encode %
feat: don't create title property
test: extra URL encoding for escaped file names
fix: fit pdf prefix into new file name rules
fix: encoding rules on some characters
fix: handle the buggy file names imported by users
fix: pdf block ref failed to jump
fix: #6167
* fix: enhance backward compatibility
chore: title validation
test: fix namespace queries test
chore: use index version stored in config.edn instead of search.versions
* feat: convert old version graph mechanism
ui: file conversion UI
feat: rename files for conversion
feat: don't trigger conversion when title property is manually edited
fix: file conflict notification while renaming files on some OS
feat: re-index on update version
feat: clicking NO in the re-index dialog would update the index-ver flag to suppress the dialog
feat: use html entities for reserved char escaping
dev: remove unresolved vars & minor refactor
chore: move file name sanity from gp-util to fs-util, as it's for encoding only but not parsing
test: update file name tests to html entities rule
test: convert files from dir ver 3 for repo_tests
feat: convert Windows reserved file names
fix: save index version into idb instead of file
fix: decode uri of path while parsing files on mobile
fix: couple dir version and index version to ensure only re-index on converted dirs
feat: go back to url-encode for special chars
* chore: fix lint
chore: improve codebase to address Gabriel's comments
fix: remove file remnants on add conflict
fix: remove file remnants on rename conflict
chore: add test ns to nbb runner
Also fix typoed fn and remove unused code
* fix: issues of rebase PR6134 to master after file-sync merged
* feat: switchable filename format
* fix: use go block to replace promesa for rename all with blocking
* feat: re-index after apply rename all
* ui: file conversion enhancement
* fix: merging filename format PR with master
* fix: filename format lint & CI
* ui: filename format flow
* fix: error handling on the rare internal file path confliction case
* chore: shorten component code for files-breaking-changed
* chore: fix CI
* Minor fixes per latest code review
- Remove unused page-name-order
- Update catch usage to be consistent with what's on master
- Place state fn in right place
- Wording fixes:
- select and apply -> manual. There are no checkboxes for the user
- Update -> Edit. We use edit for all other settings button
- Alternatives to starting sentences with May. Not a common way to
start a sentence
- update outdated template comment
* ux: rename instruction update
* ux: rename instruction update (2)
* Tweak wording of conversion modal
Simplifed first paragraph and explained the page to the user in first
sentence, may isn't a common way to start sentences and updated outdated
wording
* Fix large-var warning by splitting out a piece of component
* fix: right slash on Windows; legacy format file sanitization
* fix: triple lowbar renaming fns
Co-authored-by: Gabriel Horner <gabriel@logseq.com>
* 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
This PR looks more substantial than it really is. The key changes in UX are:
Add buttons for Edit custom.css and Customize config.edn to the Settings modal.
Consolidate the Customize Shortcuts settings tab with the General tab.
(Reasoning: Since the former only had one item, it didn't warrant a whole separate tab.)
Beyond that, all of the other changes are small refactors (e.g. extracting repetitive code into reusable functions, fixing inconsistent whitespace) or tiny tweaks to copy (i.e. making text more concise / easier to read on the page).