Notes Publishing Flow

Current flow

→

Write notes in Logseq, indicating pages I want to publish with page property public:: true

→

if a page is private, I can still publish a block on the page by adding public:: true as a block property

→

Periodically export json using logseq-query and jet’s edn -> json conversion

→

logseq’s own json export doesn’t have enough information, so I have to essentially copy the whole edn database and convert that to json

→

put exported json in notes repo

→

extract the public pages and blocks from the json file

→

convert the public blocks and the associated assets into a set of files and folders that work with hugo sections formatting

→

this gets put in the notes interface repo

→

interface repo runs hugo on push

→

published with Github Pages on https://denizay.org

→

Current full command

→
cp -R ~/Local/notes/life/assets ~/Downloads/export/ | lq sq --graph life '[:find (pull ?p [*]) :where (?p :block/uuid ?id)]' | jet --to json > ~/Downloads/export/graph.json && swift run logseq-compiler ~/Downloads/export/graph.json ~/Downloads/export/assets ~/Local/notes/interface/content/ -a false
→

Issues

→

LATER make logseq export a separate github action that opens logseq headlessly

→

this could be done by finishing my logseq export github action tool

→

this tool uses the logseq publish github action base, and instead of exporting public pages, exports json

→

it also requires using my fork of logseq

→

needed some customization to properly export json

→

what’s left to get this working is I need to get mocked-open-dir-path working on json export function like it does on the export html pages function so the headless tool can give logseq the folder to export to

→

LATER fix current need to wait for logseq to reindex before logseq export works

→

LATER make the hugo template and theme in notes interface usable by others

→

LATER make logseq compiler usable by others

→