This commit also adds a new :self-ref rule.
`[[page]]` will uses :self-ref,
`(or [[page1]] [[page2]])` will be `(or [:self-ref page1] [:self-ref
page2]`.
`(and [[page1]] [[page2]])` will be `(and [:page-ref page1] [:page-ref
page2] (or [:self-ref page1] [:self-ref page2]))` to ensure the query
result nodes to have at least one page reference.
* enhance(ux): add/remove #Page to toggle page/block
* enhance(ux): "p t" to set tags for selected blocks
Updated "p a" to toggle displaying all properties including hidden ones.
* feat: cmd+k move blocks
* fix: block could be converted to page and create invalid nodes
Pages with block namespace parents is nonsensical and pages in
property values led to multiple validation errors. Also guard
against class and property pages as namespace parents
* fix: warn on failed cut+paste or indent/outdent of page blocks. Better to warn than silent failure which leaves user confused on
what happened.
---------
Co-authored-by: Gabriel Horner <gabriel@logseq.com>
* fix: page references with the same name in one block
* fix: empty :block/name for Library pages
* fix: invalid call to uuid-string?
trace suddenly showing up in multiple CLI calls
---------
Co-authored-by: Gabriel Horner <gabriel@logseq.com>
1. don't use recursive rule `block-parent`
2. using `:block/path-ref` to get both parent and children
3. run `hidden-ref?` check for refs only (not path-refs)
* fix: linked references
* Using datascript query for linked references
* don't render blocks children that have excluded refs
* fix: set persistent width for reference filter
* fix: duplicated refs
* fix: separate queries for children refs and non-children refs
* refactor: move reference fns to logseq.db.common.reference
* fix: set matched children ids even if it's empty
* add tests
* add unlinked reference test
* add transit files to typos ignore
* don't memoize on node
* add comment
* fix: rtc creates duplicated first blocks for new journal pages
The root cause is that those blocks from different clients have
different ids. Instead of using persistent block id, this fix avoids
generating the first block until users really start editing it.
* fix: add button not displayed when the last block is not empty
* fix: e2e tests
* enhance: remove dummy block
* fix: open-last-block
In https://github.com/logseq/db-test/issues/278, user has graph that
contains invalid edn keyword caused by name part of keyword starting
with a number e.g. :user.property/2ndsomething. Added thorough tests
based on reference doc for both nbb and cljs versions of buggy fn. For
cljs version, allowed a few more special characters in as they've
all been confirmed to be valid edn