Experimental web front-end for Logseq.
- Display Logseq data on the open web.
- Edge-side page and block embeds.
- Web form to upload Logseq JSON exports.
- REST endpoints for page and block data.
- Works with JavaScript disabled.
View pre-recorded live demo on Twitter.
- Upload triggers data extraction to Postgres database hosted on Supabase.
- Page assembled on-the-fly inside Cloudflare edge function using Web Workers.
- Functions perform server-side transclusion using recursive async reducer functions.
- API endpoints called whenever a reducer needs more data.
- Svelte components used to assemble display.
- Display logic searches content for embed tags and injects available data.
Lighthouse tests on Cloudflare have shown depth 6 page embeds with 300ms first paint.
- Supabase instance with fresh project.
- Cloudflare Pages account.
- GitHub for simple Pages deployment
- Copy source to your own GitHub repo
- Create accounts on Supabase and Cloudflare Pages
- Run
setup.sql
in Supabase SQL editor - Add Supabase environment variables
- Push commit to GitHub to deploy to Cloudflare
- Navigate to Pages site
- Upload Logseq JSON export from upload page
You must have Bun and a recent Node.js LTS. Using fnm a Node.js LTS will be installed automatically.
- Copy source code into a working directory
- Create
.env.local
by copying.env.example
(See Online use for settings.) - Run command
bun install
to install dependencies - Run
setup.sql
in the Supabase SQL editor - Start dev server with
bunx vite dev
useh
for help
Just is like make
only a little more forgiving. Installation instructions.
just
list recipesjust supabase
run supabase cli commands with bunxjust dev
start a vite dev server with bunjust test
run api tests with curljust build
build for production with vitejust preview
preview build with vitejust clean
spic and span edition- List recipes to view more