Commit Graph
48 Commits
Author SHA1 Message Date
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 450ef50df7 Cleanup: more cleanup and moving stuff around 2025-06-17 16:12:18 +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
Zef Hemel bf2e0cdb87 Refactor: Merging common/ into web/ 2025-06-04 14:01:59 +02:00
Zef Hemel e003e926d2 Progress 2025-03-23 15:56:02 +01:00
Zef Hemel c157e979f0 WIP 2025-03-23 12:48:25 +01:00
Zef Hemel 672bd97b6e More cleaning 2025-03-21 17:38:43 +01:00
Zef Hemel 196c593d34 Fix new page creation 2025-03-20 15:00:55 +01:00
MrMugameandGitHub f3b0c358fd Don't spread page meta in navigator (#1301)
This fixes a bug where page attributes could overwrite internal
variables leading to unwanted behaviour
2025-03-20 09:11:23 +01:00
Zef Hemel fe7dcb65c4 All tags starting with #meta are now considered meta pages 2025-03-07 11:47:40 +01:00
Zef Hemel 1975b867ee deno task fmt 2025-03-06 15:14:53 +01:00
MrMugameandGitHub e61a447d98 Implementing #913 (#1230)
Implemented custom editors
2025-03-06 15:11:17 +01:00
Marek S. ŁukasiewiczandGitHub 1508f6bcbf Correctly extract hashtag content in links and Page Picker filter (fix #1196) (#1199) 2025-01-07 19:57:46 +01:00
Zef Hemel 2ef43bd56d Fixes #1100 2024-09-29 13:39:08 +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 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 830ae9c83d Fix meta picker breaking with broken links 2024-07-27 11:01:28 +02:00
Zef Hemel ec88543a14 Fix meta picker breaking with broken links 2024-07-27 10:55:45 +02:00
Zef Hemel 3ca132e16a Fixes #154 2024-07-25 15:19:06 +02:00
Marek S. ŁukasiewiczandGitHub 75cd4b1383 Hide pages from auto complete with Page Decorations (#962) 2024-07-19 17:06:40 +02:00
Zef HemelandGitHub 11967b82a6 Meta links (#954)
Add carret page link support (for meta pages)
2024-07-17 17:03:25 +02:00
Zef Hemel e4da0b7849 Refined implementation of #560 2024-07-14 11:29:43 +02:00
Deepak NarayanandGitHub 850c06fd70 Fixes #560 and provides an initial implementation for assigning (#940)
decorators to tags.

This patch enables decorations for user specified tags - starting
with handling only a single decoration - a 'prefix' to be added
to the page name. Prefix is handled in the top bar title,
page navigator, wiki-links appearing within a page as well as
page autocomplete suggestions.
2024-07-13 13:56:00 +02:00
Zef Hemel d6f0f61d30 Rebrand Template Picker to Meta Picker
As well as associated documentation changes
2024-07-07 12:12:05 +02:00
MaksandGitHub 8a3782e946 improve dependency management (#770)
* use import_map.json instead of per-file import

* remove test_deps.ts in favor of import_map

* remove common/deps.ts in favor of import_map

* use import_map instead of server/deps.ts

* make all plug-api files usable without an import_map

* make all lib files usable without an import_map

* remove web/deps.ts in favor of import_map

* fix plug build

* remove plug-api/deps.ts in favor of lib/deps.ts

* fix server deps bundled in client deps
2024-03-16 15:29:24 +01:00
Zef Hemel e919aa82e9 0.7.4 2024-02-29 15:23:05 +01:00
Matthew PietzandGitHub e290245621 Relax hashtag pattern matching (Support Emoji) (#752)
Adjust the RegExp for matching tags in order to better support compatibility
with other PKM systems. Though not the exact matcher used in Obsidian (since
its source is closed), this matcher is modeled mostly after it and allows most
non-whitespace characters, including Emoji.

I use a task line like `- [ ] Gift Idea #🎁 #Person-Name` to denote gift ideas
for friends and family. This patch allows SilverBullet to recognize the emoji.
2024-02-26 18:03:55 +01:00
Zef Hemel bb1e49a11e More moving stuff around 2024-02-08 21:12:23 +01:00
Zef HemelandGitHub 60d3199d64 Giant code reorganization (#690)
Code restructure
2024-02-08 21:00:45 +01:00
Zef Hemel 2893fe11a3 Fix Shift-Enter regressions 2024-01-24 14:56:02 +01:00
Zef Hemel 308b1232bc Fixes #642 2024-01-24 14:52:07 +01:00
Zef Hemel ad4a795e7f Remove "syntax" support from plugs 2024-01-24 13:34:12 +01:00
Zef HemelandGitHub f30b1d3418 Templates 2.0 (#636)
Templates 2.0 and a whole bunch of other refactoring
2024-01-20 19:16:07 +01:00
Zef HemelandGitHub 848211120c Tags redo (#624)
Introduction of `tag` and `itags`
2024-01-11 13:20:50 +01:00
Zef Hemel 82391682f6 Avoid builtin page attributes to be overridden 2023-12-22 11:27:07 +01:00
Zef Hemel 8577fb95db Filter pages on tags 2023-12-21 19:49:25 +01:00
Zef Hemel 70ef6ed9da Work on #587: revamped templates 2023-12-21 18:38:02 +01:00
Zef Hemel 663a15fe33 Template sets 2023-11-15 14:56:34 +01:00
Zef Hemel 35e2afc18b Fixes #566 2023-11-15 10:27:37 +01:00
Zef Hemel da88c9c6ed Fix page navigator ordering regressions 2023-11-12 10:43:08 +01:00
Zef Hemel 69ef37a170 Added ngrok deployment option 2023-11-10 10:57:57 +01:00
Zef HemelandGitHub 0313565610 Complete redo of content indexing and querying (#517)
Complete redo of data store
Introduces live queries and live templates
2023-10-03 14:16:33 +02:00
Zef HemelandGitHub 5f484bed57 SilverBullet pivot to become an offline-first PWA (#403) 2023-05-23 20:53:53 +02: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 HemelandGitHub 561aa6891f Migrate to Deno (#86)
Big bang migration to Deno 🤯
2022-10-10 14:50:21 +02:00