Commit Graph
119 Commits
Author SHA1 Message Date
Zef HemelandGitHub dc2987a3f9 Sync engine rearchitecture (#1516)
* Don't require auth for .ping
* Finally introducing loggers
* Remove file list caching from disk_space_primitives
I don't think this is required anymore with the sync model
* Simplification of space primitives and more tests
* More reliable online status
* Add .zed settings
* Remove selfUpdate argument from `writeFile` no longer used
- Add `sync` config schema and document sync options
- Move sync config handling to client boot logic
- Move BootConfig type to ui_types.ts
- Remove sync env vars from server
- Update documentation for sync and architecture
* Improve sync logic and proxy routing for full sync state
* Add BoxProxy for late-bound client and improve Lua boot
- Add isMobile syscall for editor
* Add concurrency to sync process and log indexing duration
* Better service worker lifecycle management
2025-09-12 14:43:57 +02:00
aphymiandGitHub 6914d4bc31 Add command to toggle markdown syntax rendering (#1502)
* feat: add command to toggle clean mode

* refactor: simplify wiki_link no-clean-mode logic

* refactor: use more sensible clean-mode toggling logic

* fix: fix clean-mode-off not lasting across reloads

* refactor: move var declaration to where it's used

* feat: add root data attribute for clean mode state

This allows writing styles based on whether clean mode is currently
enabled or disabled.

* feat: reset clean-mode-off syntax color

* feat: un-hide lua directives in clean-mode-off

* style: format changes from 60379b1

* feat: rename 'Toggle Clean Mode' command

'Toggle Clean Mode' is now 'Toggle Markdown Syntax Rendering', and along
with the change in semantics, now defaults to false. The associated
variables have also been renamed.

* docs: add MD syntax rendering command to docs
2025-09-10 08:28:21 +02:00
aa0b95b31d The one about refs (#1496)
* [Major] Introduce a new `Ref` and `Path` type

This introduces a new `Ref` and `Path` type, which try to be as lightweight and rigorous as possible. More description in the PR

* [Minor] Updated Syntax

* [Minor] Updated Type

* [Minor] Renamed file

* [Minor] Updated type

* [Minor] Updated Syntax

* [Major] Rename css classes for wiki links

Previously all the parts of a wiki link were tagged with `sb-wiki-link-page`. This didn't make a whole lot of sense. Also the tag `sb-wiki-link` was could never render, because of the way `HighlightStyle` works. Now every part of a wiki link will be tagged with `sb-wiki-link` (i.e. the link, the alias, the dimensions). Invalid and missing links will be styled separately in a later commit.

* [Minor] Adjust to new API

* [Minor] Small changes

* [Minor] Function and file renames

* [Major] Syscall adjusments

Change behavior of `getCurrentPath` to actually return what's now considered a `Path`. `getCurrentPage(Meta)` now also correctly returns for documents. We could consider a rename to get rid of the `page` association

* [Major] Rework `Client`

Mostly minor adjustments for the new API. Some major changes in `navigateWithinPage` and some unecessary checks removed now

* [Major] Errors on navigate

This now throws an error when the user tries to navigate to a link that is invalid

* [Major] Minor adjustments and remove some old bulk

This does the typicall adjustments to the new API. A thing to consider is that invalid links aren't indexed. Also removed old code about template and query stuff. And reused a regex instead of copy pasting it.

* [Minor] Cleanup editor ui

* [Minor] Adjust to new API

* [Minor] Adjust to new API and reduce ugly regex

* [Minor] New API

* [Minor] Rework link cm plugin

* [Major] Rework wiki links

A lot of code cleanup, reworked for new APIs and also introduces "invalid links"

* [Minor] Part of the editor ui rework

* [Major] Adjust to new API

This also removes the `looksLikePathWithExtension` check. I don't think it was necessary.

* [Minor] PArt of editor ui rewrite

* [Minor] Adjust to new API

* [Major] Adjust renderer to new API

Invalid links now link to `#`

* [Major] Rewrite navigator

This still needs major rework, currently in a "got it working" state

* [Minor] Adjust file name

* [Minor] Mistake during rebase

* [Minor] Navigate to end of header

* [Minor] Remove `tweakEditorDOM` and use proper CM extensions

* [Major] Heavily clean up the navigation code

* [Minor] Make `PageNavigator` closable again

* [Minor] Small fixes to reduce errors bubbling up

* [Minor] Show error message if navigate fails

* [Major] Remove legacy `navigate({ kind = ` syntax

This removes the old navigation syntax. It's still supported but the user will be warned then using it. I also added some validation to editor.navigate for user provided refs.

* [Minor] Make notifications errors

* [Minor] Don't fail if header isn't found

* [Minor] Typo

* [Major] Remove cleanPageRef

* [Minor] Small bug

* [Minor] Align behavior between render and editor

* [Major] Remove `PageRef`. Pretty sure it's obsolete

* [Major] Remove pos from header as it's an invalid ref

* [Minor] Align with original behavior

* [Minor] Get tests working again

* [Minor] check that indexPage is valid

* [Major] Rewrite `resolve.ts` file

* [Minor] More tests, more fixes

* [Minor] Don't just append .md this is weird

* [Minor] More edge cases

* [Minor] Version bumping hono somehow fixes the `/` case

* [Minor] Smaller TODOs

* [Major] We can be a littler looser on the restrictions

* [Major] Change header indexing, to index with pos

* [Minor] More fixes for headers

* [Minor] Rename for clarity

* [Minor] Change more regexes to named groups

* [Major] Inline content rewrite

* [Minor] Fix TODO

* [Minor] Bump index version

* [Major] New Space Primitive to check paths

* [Minor] Fix #1214

* [Minor] Fix #1169

* [Minor] Remove TODO

This check is probably not needed anymore. Unsure. May look into it later

* [Minor] small bug

* [Minor] Not a good rebase without me needing to fix it afterwards

* [Minor] Improve fallback for file upload

* [Minor] Some fixes on the for resolving

* [Minor] Removed doubled test case

* [Minor] Resolve #860

* [Minor] Turn flash notification into an error

* [Minor] Change handling of `.` paths

* [Minor] Show empty URL for index page

* [Minor] Push correct ref to history

* [Major] Capture mini editor events in capture phase

This fixes the issue were when pressing arrowup or arrowdown changed the cursor position inside the editor

* [Major] Add prefix to `FilterList`

This now fixes issues were if you had a prefixed page you  con't properly search for it, because the search considered the prefix as part of the name

* [Minor] A little rigor for empty headers

* [Major] Fix #1404

* [Minor] `parseInt` returns `NaN` handle that

* [Minor] Use `fileName`

* [Minor] Fix comment

* [Minor] Fixes

* [Major] disallow `foo.png.md` and `/../`, etc. cases

* [Major] Change name of conflicted pages

* [Minor] Remove unecessary check

* [Minor] Remove some split code

* [Minor] Allow deletion of invalid files

* [Minor] Bug in the regex

* [Minor] Give some possibility of fixing incorrect names

* [Minor] Tiny bug with header completion

* [Major] Docs

* [Minor] Ignore errors for navigation inside of a page

This could be a problem when SB e.g. cached a scrollTop for a page, which, because e.g. the file is now deleted, doesn't exist anymore and thus CM throws an error, when trying to navigate

* Update conflicted copy regex in Maintenance.md

---------

Co-authored-by: Zef Hemel <zef@zef.me>
2025-08-24 16:16:19 +02:00
Zef Hemel d92eeb85c2 2.0.0-pre4 2025-06-18 10:11:42 +02:00
Zef Hemel 42bd980419 2.0.0-pre3 2025-06-18 10:01:24 +02:00
Zef Hemel 450ef50df7 Cleanup: more cleanup and moving stuff around 2025-06-17 16:12:18 +02:00
Zef Hemel 2d8e16c4e6 Trigger "Anything Picker" by tapping the left shift twice 2025-06-16 20:34:36 +02:00
Zef Hemel 10f6efe0ad Significant refactor of command, slashcommand and config handling, removal of "shortcuts" 2025-06-16 17:08:04 +02:00
Zef Hemel 931b0bd16c Refactor vim mode naming
Rebind "o" to follow markdown editor's newline and continue behavior
2025-06-13 10:27:37 +02:00
Zef Hemel 839f639913 Rename a few System commands to Client commands 2025-06-12 13:50:21 +02:00
Zef Hemel a8d7cd122a More robust handling of client data wiping
Renamed logout command to "System: Logout"
2025-06-12 10:17:53 +02:00
Niels GanserandZef Hemel e0fff9d07c [#481] If user hasn't explicitly set a dark mode pref in Silverbullet, fall back to browser pref 2025-06-10 09:17:19 +02:00
Matthias BenaetsandGitHub ea3d6928cf feat: configure vim in CONFIG (#1369) 2025-05-04 20:42:00 +02:00
Zef Hemel 63db06a8c6 Fixed recently opened page tracking, fixed deletion of page when using dynamic index page 2025-04-17 14:44:38 +02:00
Zef Hemel 2ac30edb2f Update configuration documentation and remove deprecated templates
- Enhanced the `Config.md` documentation to clarify built-in configuration options and the use of the `config.set` API.
- Removed outdated `Page Template.md` and `Slash Template.md` files to streamline documentation and avoid confusion.
- Updated references in various documentation files to reflect the removal of deprecated templates and ensure consistency across the site.
2025-04-17 11:55:09 +02:00
Zef Hemel 1703020a8a feat: Add logout option to client wipe functionality
- Add optional logout parameter to system.wipeClient

- Add new 'Clear Local Storage & Logout' command

- Update API to support logout parameter

- Clean up server code comments
2025-03-28 13:45:39 +01:00
Zef Hemel 64e537732b Debug: Reset Client is now called System: Wipe Client
Merged two datastores into one (for both state and files), this will trigger a resync on upgrade
2025-03-28 12:17:17 +01:00
Zef Hemel 4616cb19e2 Fix logout & clean command 2025-03-24 19:50:48 +01:00
Zef Hemel e003e926d2 Progress 2025-03-23 15:56:02 +01:00
Zef Hemel 672bd97b6e More cleaning 2025-03-21 17:38:43 +01:00
Zef Hemel dbfc5995f3 More thorough removal of federation 2025-03-21 16:12:10 +01:00
Zef Hemel 6e368619c5 Remove embeds 2025-03-21 16:12:10 +01:00
Zef Hemel 1284d15a8b Remove command buttons 2025-03-21 16:12:10 +01:00
Zef Hemel e7dc879722 More progress 2025-03-21 16:12:10 +01:00
Zef Hemel fa8f07a123 Kinda working 2025-03-21 16:12:10 +01:00
Zef Hemel d50ddc2357 First very rough pass of cleanup 2025-03-21 16:12:07 +01:00
Zef Hemel a773d320f6 Lua: support distinct queries 2025-03-21 16:11:00 +01:00
Stan Ionitoiu-JanssenandGitHub 67b612149b feat(menu): Make menu responsive (#1298)
* feat(menu): Make menu responsive
* feat(menu): make vertical menu opt-out by specifying custom CSS classes
* feat(menu): Add option to style the menu as a bottom-bar on mobile
* fix(settings): rename values for mobileMenuStyle
2025-03-18 18:04:30 +01:00
Zef Hemel d33db399c8 Auto complete and lint fixes 2025-03-07 15:13:47 +01:00
Zef Hemel 0a80c5c537 Collapse PageRef, DocumentRef and LocationRef into a single Ref type 2025-03-07 13:49:20 +01:00
Zef Hemel b29d8245b2 Completion fixes 2025-03-07 13:13:45 +01:00
Zef Hemel e96a220e1a Meta page completion fix 2025-03-07 11:54:22 +01:00
MrMugameandGitHub e61a447d98 Implementing #913 (#1230)
Implemented custom editors
2025-03-06 15:11:17 +01:00
Simon CambierandGitHub 411416fe65 Feature/move lines up down (#1232)
* Move lines up/down
2025-02-23 20:49:52 +01:00
Mufeed AliandGitHub c27c83bc44 poc: Add indentMultiplier configuration for customizable indentation in editor (#1212) 2025-02-01 14:35:22 +01:00
Marek S. ŁukasiewiczandGitHub 6e4742de11 Plug Manager rework (#1042) (#1122) 2024-12-14 09:39:37 +01:00
Marek S. ŁukasiewiczandGitHub 010e2b23f4 Allow tags to start with a number and be escaped with angle brackets (#1116)
Includes tests and Markdown/Hashtags page for website. Closes #1072
2024-10-20 12:39:58 +02:00
Zef Hemel f74bab0aca Lua: inline directives improvements 2024-10-07 19:17:12 +02:00
Zef Hemel 1299d85e9a First simple Lua directive Live Preview 2024-10-05 15:37:36 +02:00
Zef Hemel 2ef43bd56d Fixes #1100 2024-09-29 13:39:08 +02:00
Zef Hemel d9aa6ef1c4 New window command 2024-09-10 14:38:41 +02:00
Zef HemelandGitHub 80f9c14b96 Change how attribute indexing and completion works (#1061)
* Creation of separate aspring-page objects for pages linked to, but not created
* Show "No results" instead of broken markdown table for no query results
* Show schema validation errors
* Deno upgrade
* Adds config support to plugs (see examples)
* Moves all builtin schemas to plug config
* Adds core plug just for builtin schemas
* Changes how attributes are indexed and completed, now attempts to derive a JSON schema for ad hoc attributes
2024-08-24 12:35:09 +02:00
Zef Hemel b8081d970c Fixes #1049 centralizes page URL encoding and decoding 2024-08-20 09:38:56 +02:00
Zef Hemel 3ac21498f3 Fixes #680 all times and dates are now local (to the environment) 2024-08-18 13:04:51 +02:00
Zef HemelandGitHub 6b69449d05 More JSR (#1027)
* Move all syscalls to JSR-style package naming
* Eliminating some prefixes in import maps
2024-08-06 20:11:38 +02:00
Zef HemelandGitHub 64b6d9e2df Space config (#1011)
Space config + a whole bunch of other tweaks
2024-08-02 16:47:36 +02:00
70cb0fc226 Per-tag page styling (#945)
PageDecorator add cssClasses

---------

Co-authored-by: Zef Hemel <zef@zef.me>
2024-07-31 11:28:31 +02:00
Zef Hemel c111f72e09 Lint error removal 2024-07-30 17:33:33 +02:00
Zef Hemel 64e116f75e lint cleanup 2024-07-30 15:17:34 +02:00
Zef HemelandGitHub 75471fa86b Object decorators (#995)
Implemented objectDecorators to replace pageDecorations in SETTINGS
2024-07-29 21:21:16 +02:00