logseq/scripts
Gabriel Horner e24b386079 Bump nbb with latest datascript
Test fixes are reasonable as datascript catches more invalid uses of
query
2024-06-27 18:07:44 -04:00
..
resources First pass at a script that creates a db graph with schema.org ontology 2023-08-30 16:15:46 -04:00
src/logseq/tasks fix: lint 2024-06-27 17:01:17 +08:00
.gitignore Finish migration of publishing to deps 2023-04-09 23:13:33 +08:00
README.md enhance: bb task for creating graphs from EDN file 2024-06-11 10:09:37 -04:00
build-ios.sh chore: bump to 0.8.12 2022-11-23 21:09:29 +08:00
bump-version.sh Added a configuration to specify a build version different than the release version 2023-07-02 23:41:03 +08:00
deps.edn fix: create graph script not working 2023-09-05 16:10:31 -04:00
get-pkg-version.js chore(scripts): use prerelease style alpha version num 2023-09-07 11:37:19 +08:00
nbb.edn Move db malli schema into db dep since it's stable 2023-10-11 08:40:26 -04:00
package.json Bump nbb with latest datascript 2024-06-27 18:07:44 -04:00
patch-xcode-project.sh ci(ios): testflight build workflow 2022-11-25 10:17:05 +08:00
publishing.sh chore: add publishing.sh 2021-03-01 21:08:01 +08:00
yarn.lock Bump nbb with latest datascript 2024-06-27 18:07:44 -04:00

README.md

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 yarn install to install dependencies

Create graph scripts

For database graphs, it is possible to create graphs with the logseq.outliner.db-pipeline and logseq.db.sqlite.build. These namespaces makes it easy to write scripts to create graphs with a concise EDN map. For example, the create_graph_with_properties.cljs script uses this ns to create a graph with a variety of properties:

$ yarn nbb-logseq src/logseq/tasks/db_graph/create_graph_with_properties.cljs woot
Generating 16 pages and 24 blocks ...
Created graph woot!

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:

$ yarn -s 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
$ yarn -s 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:

$ yarn -s 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 44 classes 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