Commit Graph
111 Commits
Author SHA1 Message Date
Zef Hemel 64c4581b0e Initial implementation of experimental Comment support (parsed and custom rendered HTML comments) 2026-08-06 10:15:57 +02:00
Zef Hemel 3feb262670 E2E tests for live external editing 2026-08-05 11:02:51 +02:00
Zef Hemel d70e7ff0c8 Presence decorations for externally applied edits 2026-08-05 10:55:55 +02:00
9676ca8563 Fix transclusions of custom syntaxes not closing html tags (#2057)
Co-authored-by: thepaperpilot <thepaperpilot@incremental.social>
2026-07-21 10:04:55 +02:00
704c2b5f67 Fix custom code widgets not being able to effect data objects (#2059)
Co-authored-by: thepaperpilot <thepaperpilot@incremental.social>
2026-07-21 09:26:45 +02:00
Zef Hemel 75ca3b9c39 Migrate Lua code complete and code navigation to typescript 2026-07-16 12:06:59 +02:00
Zef Hemel 28f1f8af16 Long overdue "make fmt" sorry about this one 2026-07-14 15:58:15 +02:00
Zef Hemel 0755f0deb7 Fix: major typing/navigation slowdown on pages with many internal links in large spaces 2026-07-01 11:08:36 +02:00
Zef Hemel 8c8edab517 Frontmatter folding styling tweaks 2026-06-30 10:46:30 +02:00
Zef Hemel ba961db8d2 Fix: make frontmatter live preview more consistent with rest of editor 2026-06-29 17:07:08 +02:00
Zef Hemel 0fb5d7d5fe Lint fixes 2026-06-29 16:55:44 +02:00
Zef Hemel 6c9c2f7d17 Feature: frontmatter folding 2026-06-29 16:45:16 +02:00
Zef Hemel 769927f1f8 Hide RW commands in RO mode 2026-06-25 13:47:23 +02:00
Zef Hemel 10bf48dd8c Fix: Disable "Bake" button on fenced code blocks 2026-06-24 15:52:55 +02:00
Zef Hemel 50d8f1f09f Feature: baked sections 2026-06-23 17:14:41 +02:00
Zef Hemel e0e6553b1a Lua widget sandbox: put behind 'sandbox = true' gate 2026-06-22 11:37:23 +02:00
Zef Hemel d1c4ecb1ea Lua widget copy content tweaks 2026-06-22 09:43:21 +02:00
Zef Hemel 2aa89202b3 Support Lua-based codeWidget support 2026-06-21 19:11:59 +02:00
Zef Hemel 13de05c862 Improve cursor behavior in read-only mode 2026-06-19 17:17:24 +02:00
Zef HemelandGitHub 91e76d0c78 Rust backend/CLI replacement (previously Go) (#2010)
* Rust backend: initial setup and space primitives implementation + tests

* Rust: initial basic server setup

* Rust server: auth layer

* Rust: added specific auth layers

* Rust: shell and proxy endpoints

* Rust: SSR and Prometheus metrics

* Rust: runtime API

* Rust: basic working silverbullet binary server

* Rust: fix client file caching

* Rust: in dev mode, update version number dynamically

* Rust: build-rs Makefile target

* Rust: auth and start of 'sb' CLI

* Rust: headless Chrome runtime runner

* Rust: basic e2e tests for Rust build

* Rust: docker builds

* Rust: forgot to commit silverbullet-bin code

* Rust: cross compile and chrome driver fixes

* Rust: waiting for ready status fixes

* Rust: sb-CLI port

* Rust: use native build toolchain

* Rust: fix build chain

* Rust: edge release builds

* Rust: FreeBSD and armv7 builds

* Rust: edge-upgrade from edge-rust release

* Rust: fix FreeBSD build

* Rust: fix FreeBSD build

* Rust: get rid of Go code

* refactor: rename library crates to server- prefix convention

* Rust: refactoring, moving crypto around

* Rust: more refactoring

* Runtime: internal renaming

* Fix: cursor placement after paste on Webkit browsers

* Tweak how version numbers are generated and consumed

* Cleanup CI situation

* Fix CI

* Fix e2e

* ci: website image uses :edge channel (was :v2) post-merge

* Rust: restore manifest.json endpoint

* Rust: ready to merge
2026-06-16 08:40:41 +02:00
Zef Hemel 3ee2d4ef73 refactor (simplification): eliminate (CM-based)MiniEditor replaced with standard browser input 2026-06-02 09:00:43 +02:00
Zef Hemel e87c4e2e26 refactor(space-lua): reuse parseExpressionString in LuaDirective 2026-05-31 13:49:53 +02:00
Zef Hemel a3feeb9a71 Alternative approach to properly aligning lists and tasks with indentation 2026-05-28 13:26:09 +02:00
Zef Hemel 89a9b5ce99 Fix: Cmd-clicking page linking 2026-05-27 15:00:12 +02:00
Zef Hemel fc16a75bc5 Fix: more cursor movements around widgets fixes
With e2e tests to avoid regressions...
2026-05-19 17:13:22 +02:00
Zef Hemel 19a44319c3 Fix: spacing around tables 2026-05-19 14:09:28 +02:00
Zef Hemel ce97cf2450 Fix: remove vertical gap above block widgets 2026-05-19 10:32:11 +02:00
Zef Hemel 3d6c297feb Fixes #1985
Cursor movements around widgets were kind of broken, this should fix it
2026-05-18 10:03:12 +02:00
Zef Hemel 2cabdb5f59 Fix: prefix rendering in queries on page load
Bonus: show a spinner while wigets are not ready to render yet.
2026-05-13 16:41:12 +02:00
Zef Hemel 4e23e7a4c6 fix: more caching fixes 2026-05-12 13:45:34 +02:00
Zef Hemel 772757ad27 Fix: widget cache invalidation again
Two hard problems in CS...
2026-05-12 11:51:26 +02:00
Zef Hemel a96a86c0b5 Slightly optimize vertical jiggering by pre-computing all widgets on page load 2026-05-12 09:38:17 +02:00
Zef Hemel 09059aa18a Lint: support rich HTML tooltips
LintDiagnostic adds `messageHtml` (rendered into the hover
  tooltip) and `markClass` (added to the inline range mark)
2026-05-09 12:29:19 +02:00
Zef Hemel a626453262 Offer API to external apps (e.g. Tauri) to properly support drag & dropping of files 2026-05-06 15:06:18 +02:00
Zef Hemel 81dbdae857 Fixes #1955 2026-04-30 10:59:53 +02:00
Zef Hemel 795c248a0c Set some sensible default (fallback) config options when defaults are not yet available (initial index) 2026-04-21 13:06:36 +02:00
Zef Hemel 0c9c07b3e6 Config: schema defaults, UI categories and annotations
`config.define` now propagates schema `default` values, so features like smart quotes no longer need their own fallback constants.

Adds `defineCategory` / `getCategories` for the upcoming configuration  manager UI.
2026-04-21 10:03:40 +02:00
Zef Hemel efd827b721 Implements #510
Extracts almost all codemirror keyboard shortcuts into proper SB
commands so they can be rebound

Bonus: renders prettier versions of keyboard shortcuts on Mac
2026-04-17 16:45:11 +02:00
Zef Hemel c9f93dccde Fixes #1929 2026-04-12 10:33:44 +02:00
Zef Hemel 64898923e1 Restore separate copy path for Lua widgets with cleaner markdown
Specifically for tables using (less rich) markdown syntax when possible
2026-04-09 14:38:10 +02:00
Zef Hemel fbaad6cffb Fix widget glitching
No longer cache widget HTML content just widget heights, either way the
widgets will briefly flash as the widget is recalculated and this saves
storage space and reduces issues in Webkit
2026-04-07 15:42:59 +02:00
Zef Hemel 97e84607e7 Minor layout regression fix 2026-04-07 15:42:59 +02:00
Zef Hemel 5751d5b64f HTML tag Live Preview (second attempt) 2026-04-07 11:30:38 +02:00
Zef Hemel 15317ce821 Refactored Lua expression result rendering
Now produce "markdown" (or <table> tags for tables) instead of pure
HTML. Hopefully doesn't introduce regressions. Added a test suite for
future iterations.
2026-04-06 20:13:25 +02:00
Zef Hemel 8da76f230a Customized implementation of Enter handling for lists
* Fine tunes a few behaviors (like not adding extra newlines, ever
  (should fix #1629))
* When a list item ends with :, it automaticaly indents the next item
* Adds an extensive test suite with various cases

This needs some more testing, but should be a good starting point for
adding more tweaks later.
2026-04-06 15:17:48 +02:00
Zef Hemel 2ad3172568 Revert HTML tags live preview, too many edge cases 2026-04-02 14:36:54 +02:00
Zef Hemel e5f188e59e Tag enhancements
* tag.define now supports a `tagPage` attribute, allowing what page to
  send the user to when clicking on a hash tag in the editor
* index.contentPages() and index.metaPages() are convenience wrappers
  around the index.tag("page") collection that filter on content and
  meta pages respectively.
2026-04-01 08:44:50 +02:00
Zef Hemel dc4e701ddf syntax.define refinements 2026-03-31 15:01:16 +02:00
Zef Hemel dbc95239f6 Fixes #702 implementing Live Preview for HTML tags
This may still have edge cases, but basics should be working.
2026-03-31 11:11:17 +02:00
Zef Hemel 431bf787ac Optimization: chunk up all coding languages
Even though the service worker will proactively cache them in the
browser, the browser will not have to load them, parse them, interpret
them unless these languages are actually used. Less JS to load, less
waiting.
2026-03-28 16:49:24 +01:00