* enhance: clicking the refresh button if a query is slow * fix: skip running slow queries if there's no need to refresh * fix: linked reference filtering does not work on TASK items close #1669 * fix: each block should have its own page as a reference when query page references * fix: references * fix: non consecutive blocks in query result and filtered linked references * simplify filters logic * fix: ref numbers * Save both :block/refs and :block/path-refs for different usage * fix: block refs * enhance: move scheduled and deadlines to its own ns * linked references performance tweaks * mouse hover filters icon to expand the collapsed linked refs * perf: react/refresh! once instead twice * enhance: compute flashcards every hour instead of every 5s * feat: macros as blocks * feat: flashcards list * fix: refed pages count * fix: can't select in linked references * fix: block editing on linked refs * perf: editing in linked references * enhance: update srs cards number when clicking flashcards * Add a test for the case fixed in #6100 * Address feedbacks from Gabriel * fix: Block Ref Indicator is missing from the references-blocks class close #5375 * fix: referenced pages * fix: page refs * fix: Using filters pushed the title property to the second block close #5845 Co-authored-by: Gabriel Horner <gabriel@logseq.com>
Description
This library provides a minimal API for using a datascript database from the Logseq app and the CLI. This library is compatible with ClojureScript and with nbb-logseq to respectively provide frontend and commandline functionality.
API
This library is under the parent namespace logseq.db. This library provides
two main namespaces, logseq.db and logseq.db.rules.
Usage
See usage in deps/graph-parser and in the Logseq app.
Dev
This follows the practices that the Logseq frontend follows. Most of the same linters are used, with configurations that are specific to this library. See this library's CI file for linting examples.
Setup
To run linters, you'll want to install yarn dependencies once:
yarn install
This step is not needed if you're just running the application.
Linting
Datalog linting
Our rules are linted through a script that also uses the datalog-parser. To run this linter:
bb lint:rules
Managing dependencies
The package.json dependencies are just for testing and should be updated if there is new behavior to test.
The deps.edn dependecies are used by both ClojureScript and nbb-logseq. Their versions should be backwards compatible with each other with priority given to the frontend. No new dependency should be introduced to this library without an understanding of the tradeoffs of adding this to nbb-logseq.