Description
An assortment of handy logseq CLIs using nbb-logseq.
Prerequisites
- nodejs >= 16.3.1 and yarn or npm
Setup
To use these clis/commands/executables on $PATH:
$ git clone https://github.com/cldwalker/logseq-clis # Use yarn (what I use) $ yarn install $ yarn global add $PWD # OR use npm $ npm i $ npm i -g
Usage
The following CLIs are now installed.
logseq-file-ast
Prints the logseq ast of a given markdown file:
$ logseq-file-ast example.md [[["Heading" {:anchor "apple", :level 1, :meta {:properties [], :timestamps []}, :size nil, :tags [], :title [["Plain" "apple "] ["Tag" [["Plain" "some-tag"]]]], :unordered true}] {:end_pos 18, :start_pos 0}] [["Heading" {:anchor "banana", :level 2, :meta {:properties [], :timestamps []}, :size nil, :tags [], :title [["Plain" "banana "] ["Tag" [["Plain" "work"]]] ["Plain" " "] ["Tag" [["Plain" "blarg"]]]], :unordered true}] {:end_pos 41, :start_pos 18}] ...
logseq-block-move
Moves blocks with specified tag to another file or directory. Useful for finely splitting a logseq graph directory.
$ logseq-block-move pages new-pages unused-tag
pages/example.md -> new-pages/example.md - 6 of 8 nodes movedNote: There are minor whitespace changes and this bug that occur during the move. It's recommended to use logseq-roundtrip on the intended move target beforehand to see what the mldoc exporter will do.
logseq-roundtrip
Parses and then exports a markdown file. Useful for testing mldoc's export.
logseq-class-hierarchy
Prints a graph's class hierarchy to a logseq-compatible markdown file. Useful for generating a navigable tree for a graph's ontology a.k.a. "table of contents".
Development
Code is organized under the following directories:
bin/- Node scripts to install on$PATHsrc/- All cljs code used across scripts. Can be used as a gitlib.src/cldwalker/logseq_clis/cli- Main namespaces for clis
License
See LICENSE.md