Files
Dasemu b339cbb3b7 Rename product to Synapse; add Gitea CI, VPS deploy templates, RPM build fixes
Rebrands user-facing product identity from Logseq to Synapse (package
metadata, Electron appId/protocol scheme, Android/iOS display names, HTML
titles, and the English UI dictionary), authored by Darío Sevilla
<dario@dariosevilla.es>. Internal Clojure namespaces, :logseq.class/*
and :logseq.property/* DB schema idents, and deps.edn's upstream git
dependency coordinates are intentionally left untouched -- those are
either persisted data in existing graphs or point at real upstream repos,
and renaming them has no user-visible benefit.

Also:
- .gitea/workflows/build.yml: Linux (AppImage/deb/rpm), Windows (nsis),
  and Android (debug APK) build jobs.
- deploy/: systemd unit + Caddyfile templates for a self-hosted VPS
  (daemon on loopback, Caddy reverse-proxies /v1/*, /mcp, /healthz and
  serves the static web client with TLS).
- gulpfile.js / prepare-desktop-runtime-js.mjs: LOGSEQ_SKIP_CLI_BUNDLE
  skips the cli/ OCaml package (no toolchain in this environment) instead
  of failing the build; LOGSEQ_ELECTRON_BUILDER_ARGS lets CI override the
  packaged Linux targets independently of the local default.
- resources/electron-builder.yml: drop the extraResources entry for a
  SKILL.md that doesn't exist in this fork, and the author.email fix
  needed for the rpm/deb targets' Packager/Maintainer metadata.
2026-08-27 12:03:03 +02:00
..
2026-08-25 15:32:15 +02:00

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