Brings 1,081 master commits forward. 19 file-level conflicts resolved. Major master-side changes integrated: * Migrate yarn → pnpm (package.json + pnpm-lock.yaml) * Closure compiler upgrade → requires Java 21 runtime * Recycle-bin properties + delete embedding properties (migrations 65.24/65.25) * block-renderer plugin replacement infrastructure (block.cljs ~3600-4150) * Enhanced breadcrumb display (commit51f0ce261c) * Heading icon alignment + menu active state (755840c474) * Scoped choice + sanitize-property-values-for-display in property/config * Sub-menu Set-icon context menu items * TooltipArrow / electron handler refactor Migration renumber: our 65.24-29 → 65.26-31 (after master's 65.24-25). Schema version bumped to 65.31. Post-merge fixes (build cleanliness): - hsl2hex: re-add to util.cljc (master removed; colors.cljs still uses it) - <unlink-asset: re-add to handler/assets.cljs (master removed; outliner pipeline's asset-file unlink still uses it) - en.edn: dedupe 25 identical keys that survived the conflict resolution - icon.cljs: drop the duplicate get-used-items / add-used-item! that master added (HEAD has v2-storage versions further down with type-aware dedup + renderable filtering — preferred) - block.cljs: restore the inline page-ref avatar size default for non-heading contexts (master commit755840c474forced 14px via ; revert so photo-icons keep their 20px default while headings still get heading-aware sizing) - left_sidebar.cljs: keep master's left-sidebar-resized-at as a real binding (not _-prefixed) since the page-title-content fn uses it Smoke-tested: theme toggle, icon picker, asset delete, page-title icons, sidebar refs. Outstanding visual issues from master's CSS changes (icon alignment drift in inline refs, breadcrumb [[]] raw brackets) tracked as separate follow-up commits. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Description
This is a collection of development related scripts, written as bash scripts, bb/babashka scripts and nbb scripts.
Usage
Babashka scripts
Most bb scripts live under src/ and are defined as bb tasks. See babashka tasks
Nbb scripts
Before running nbb-logseq scripts, be sure to have node >= 18.14 installed as well as a recent babashka for managing the dependencies in nbb.edn. Then pnpm install to install dependencies
Create graph scripts
These scripts generate custom database graphs written with nbb-logseq. If this is
your first time generating a DB graph, first try the
dev:create bb task in db graph
tasks as it only requires writing EDN.
Creating graphs from the commandline using scripts and a concise EDN map is
possible thanks to nbb-logseq and the namespaces
logseq.outliner.db-pipeline
and logseq.db.sqlite.build. For
example, the create_graph_with_properties.cljs script uses this ns to create a
graph with a variety of properties:
$ pnpm exec nbb-logseq src/logseq/tasks/db_graph/create_graph_with_properties.cljs woot
Generating 16 pages and 24 blocks ...
Created graph woot!
NOTE: To use this created graph, click on the three dots menu in the upper right corner and select Import. Then click on the SQLite import button and upload the generated graph.
This script creates a DB graph with blocks containing several property types for both single and many cardinality. It also includes queries for most of these properties. Read the docs in logseq.db.sqlite.build for specifics on the EDN map.
To create large graphs with varying size:
$ pnpm exec nbb-logseq src/logseq/tasks/db_graph/create_graph_with_large_sizes.cljs large
Building tx ...
Built 21000 tx, 1000 pages and 20000 blocks ...
Transacting chunk 1 of 21 starting with block: #:block{:name "page-0"}
...
Created graph large with 187810 datoms!
# To see options available
$ pnpm exec nbb-logseq src/logseq/tasks/db_graph/create_graph_with_large_sizes.cljs -h
Usage: $0 GRAPH-NAME [OPTIONS]
Options:
-h, --help Print help
-p, --pages 1000 Number of pages to create
-b, --blocks 20 Number of blocks to create
Another example is the create_graph_with_schema_org.cljs script which creates a graph
with the https://schema.org/ ontology with as many of the classes and properties as possible:
$ pnpm exec nbb-logseq src/logseq/tasks/db_graph/create_graph_with_schema_org.cljs schema
Skipping 67 superseded properties
Skipping 25 properties with unsupported data types
Renaming 1 properties due to page name conflicts
Generating 2268 pages with 900 classes and 1368 properties ...
Created graph schema!
Update graph scripts
For database graphs, it is recommended to use
logseq.outliner.db-pipeline/add-listener! when updating graphs. TODO