Commit Graph
62 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 309e1f8d85 Fix minor bugs in MD syntax rendering mode (#1537)
* fix: restore tag styles when syntax rendering on

`hashtagPlugin` was missed in previous commits. It's now included
whether markdown syntax rendering is on or off.

* fix: remove stray margins from md syntax rendering

Some elements were accidentally given margins while MD syntax rendering
is on, so this commit excludes them from that style rule.
2025-09-12 14:30:39 +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
Zef HemelandGitHub fe5dc80a14 Expose file system API on /.fs instead of root (#1507)
Fixes #1506
2025-08-27 09:58:11 +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 95ee876986 deno fmt 2025-08-02 14:27:22 +02:00
MrMugameandGitHub 0e2906e8f7 Increase contrast for Filterlist descriptions (#1457) 2025-07-22 22:08:45 +02:00
Zef Hemel b942ebabad Visual indication of initial indexing progress (red circle) 2025-06-12 14:35:16 +02:00
Matthias BenaetsandGitHub 9e7e201b92 fix: case insensitive admonitions by default (#1409) 2025-05-26 20:02:21 +02: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
Stan Ionitoiu-JanssenandGitHub 79b57b8d9b fix(quote): prevent extra indent when first word is not an admonition (#1295)
Fixes #792
2025-03-17 18:54:20 +01:00
MrMugameandGitHub e61a447d98 Implementing #913 (#1230)
Implemented custom editors
2025-03-06 15:11:17 +01:00
Zef Hemel 6f4b02298c deno task fmt 2025-02-23 20:46:41 +01:00
Mufeed AliandGitHub c27c83bc44 poc: Add indentMultiplier configuration for customizable indentation in editor (#1212) 2025-02-01 14:35:22 +01:00
Zef Hemel 64e398fd90 deno fmt 2024-10-11 15:34:27 +02:00
onespacemanandGitHub 5fe77083ae Fix #850 (#964) 2024-07-19 17:00:13 +02:00
MrMugameandGitHub 8524c0f96f Fix for flashing markdown preview (#880) 2024-06-07 08:19:26 +02:00
MrMugameandGitHub f683a4570a Fixed panel border (#863) 2024-05-14 09:22:52 +02:00
Daniel MichelandGitHub cb6ee137f2 Improve modals (#840)
* Adjust picker input to take up all remaining space

* Improve modals and buttons

* Remove confusing focus of scrollable result list in Firefox

* Adjust css for dark themes, add background for text field in prompt

Seperate accent color for text to increase contrast in dark theme
Set css color-scheme to dark for dark theme

* Fix buggy when entering very long text in picker

* Prevent key events from propagating outside of modals

* Always show focus on button

* Add the keydown event listener directly to the mini editor

* Do not refocus the mini editor when it loses focus and refactoring of the AlwaysShownModal.

* Fix reference to button and mini editor focus in chrome

* Fix selected option index capping in filter when using page down
2024-04-20 16:22:02 +02:00
Zef Hemel 82e431d358 Revert font part of #831 back to iA Mono 2024-04-09 09:28:12 +02:00
onespacemanandGitHub b292b5f336 fix completion colors (#843) 2024-04-08 21:06:39 +02:00
onespacemanandGitHub f193a73e39 New font and css fixes (#831) 2024-04-03 22:09:47 +02:00
onespacemanandGitHub 6230c8ab83 Custom admonitions (#786) 2024-03-04 18:35:02 +01:00
Ashish DhamaandGitHub a9b31bde30 GH-683: Fix template dark mode (#698) 2024-02-13 18:32:55 +01:00
Zef HemelandGitHub 341c07049f Custom template parser (#672)
New template engine 🤯
2024-02-02 19:19:07 +01:00
Zef HemelandGitHub 91027af5fe Awesome frontmatter (#617)
Live Frontmatter Templates
2024-01-04 20:08:12 +01:00
Zef HemelandGitHub 8a2e081672 Fixes #529 by removing directives (#613)
* Fixes #529 by removing directives
* Load builtin tags on space reindex
2024-01-02 14:47:02 +01:00
Zef Hemel 8ab5edeccc Tweaks in rendering and buttons 2024-01-02 11:01:34 +01:00
Zef Hemel 70ef6ed9da Work on #587: revamped templates 2023-12-21 18:38:02 +01:00
Zef Hemel 1335820abd Fixes #583 by making YAML keys slightly darker 2023-11-27 16:04:14 +01:00
Zef Hemel ed0c0d9616 Give docked Safari PWA the proper title bar color 2023-11-07 15:21:53 +01:00
Zef Hemel af3e4737ba More tweak to widget rendering 2023-10-29 12:26:57 +01:00
Zef Hemel 2ee20af5c8 Custom task statuses plus various fixes 2023-09-01 16:57:29 +02:00
Zef Hemel 9a005f26b5 Work on client modes 2023-08-29 21:17:29 +02:00
Zef Hemel f7edfec6e0 Manual merge of #452 2023-07-10 13:16:22 +02:00
3be4c9fc34 Refactor SCSS to use CSS variables (#455)
* refactor: start using css variables for theming

* refactor: finish defining all currently used css vars

* refactor: create dark mode with css vars

* refactor: move color vars to own file

* fix: switch order of style tags to priorize custom styles over main.css

---------

Co-authored-by: TheLD <lars@adornis.de>
2023-07-10 08:44:37 +02:00
Zef Hemel ec1c4ac26f Fixes #424 2023-07-02 11:47:41 +02:00
Zef Hemel 4a88b5636e Fixes #426 2023-07-02 11:46:23 +02:00
Zef HemelandGitHub 5f484bed57 SilverBullet pivot to become an offline-first PWA (#403) 2023-05-23 20:53:53 +02:00
Max RichterandGitHub 0195001e93 feat: make darkmode more readable (#396) 2023-05-06 15:59:19 +02:00
Zef Hemel 288e67e380 Added support for overriding CSS styles with STYLES page 2023-02-28 10:07:20 +01:00
Zef Hemel ef7830662e Support syscalls in sandboxed iframes 2023-01-16 10:40:16 +01:00
Zef Hemel 52f0c14c78 Fixes #207 2022-12-21 16:08:51 +01:00
Zef HemelandGitHub 3545d00d46 Major mini editor refactoring (#225)
Replaces most editing components with CM components, enabling vim mode and completions everywhere

Fixes #205 
Fixes #221 
Fixes #222 
Fixes #223
2022-12-21 14:55:24 +01:00
Zef Hemel 6444824f5c Fixes #213 Fixes #215 2022-12-19 13:16:22 +01:00
Zef Hemel bb04f30470 Reduce vertical jump for other blocks 2022-12-19 12:35:58 +01:00
Zef Hemel d032672076 Eliminiate vertical jump with directives 2022-12-19 11:50:48 +01:00
Zef HemelandGitHub aaebea5e54 Major directive refactor (#195)
Fixes #188 #144 #76: major refactor of directive parsing, rendering, styling
2022-12-14 20:04:20 +01:00
Christian SchulzeandGitHub fd16629a01 Initial Admonition support (github format) (#186)
Initial admonition support (github format)
2022-12-12 09:16:14 +01:00