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).
- Visual polish for the settings page, keyboard shortcuts page, and outdenting tooltip
- Tweak copy throughout the app to make it a little simpler
- Add the ability to fetch the name of the meta key (i.e. Cmd or Ctrl) so it can be displayed to the user
- Make it possible to Cancel out of editing a keyboard shortcut, rather than the only option being to Save