1
0

Documentation on mounts

This commit is contained in:
Zef Hemel 2022-07-06 12:17:04 +02:00
parent fa87012957
commit 0b46d5c7d9
3 changed files with 44 additions and 19 deletions

28
docs/Mounts.md Normal file
View File

@ -0,0 +1,28 @@
Space mounting in `MOUNTS`
```yaml
- path: file:/Users/zef/git/blog
prefix: 📖
perm: ro,rw #default rw
```
Features
* Auto translates internal wiki links (prefixes with prefix) and removes prefix upon save
To do:
* [ ] Handle queries
* `page` and `link` query needs to dynamically add/remove a `and name =~ /^🚪 PREFIX/` clause)
* `task` same but with `page` check
* Due to namespacing, the mounted space needs to be namespaced somehow
* Could be an emoji, could be a page prefix (now using `name`)
* On the fly link rewriting on read and write with prefix
* Will require an actual set of `fs` syscalls:
* readFile(path)
* writeFile(path, text)
* listFiles(path) with stat-like results (at least enough for `PageMeta` responses)
* If this exists, should not all disk file access work through plugs as well and have that abstraction happen at this level?
protocols:
* file:
* http/https with “password” field for authentication

View File

@ -24,6 +24,7 @@ I know, right?
[[💡 Inspiration]]
[[🔌 Plugs]]
[[🔨 Development]]
[[🗺 Roadmap]]
## Installing and running Silver Bullet
To run a release version, you need to have a recent version of npm (8+) and node.js (16+) installed as well as some basic build infrastructure (make, cpp). Silver Bullet has only been tested on MacOS and Linux thus far.
@ -34,22 +35,3 @@ To install and run, create a folder for your pages (can be empty or an existing
Optionally you can use the `--port` argument to specify a HTTP port (defaults to `3000`) and you can pass a `--password` flag to require a password to access. Note this is a rather weak security mechanism, so its recommended to add additional layers of security on top of this if you run this on a public server somewhere (at least add TLS). Personally I run it on a tiny Linux VM on my server at home, and use a VPN (Tailscale) to access it from outside my home.
## Roadmap
More details on the [[🗺️ Roadmap]] page.
<!-- #query task render "template/tasks" -->
* [ ] [[🗺️ Roadmap@34]] Persistent recent commands (saved between sessions)
* [ ] [[🗺️ Roadmap@92]] Add ==marker== syntax
* [ ] [[🗺️ Roadmap@120]] Two finger tap gesture to bring up command palette
* [ ] [[🗺️ Roadmap@177]] Change indent level command
* [ ] [[🗺️ Roadmap@212]] Keyboard shortcuts for specific notes (e.g. `index` note)
* [ ] [[🗺️ Roadmap@276]] RevealJS slides plug
* [ ] [[🗺️ Roadmap@303]] Pinned notes and actions?
* [ ] [[🗺️ Roadmap@335]] Template for deadline, with 📅 emoji and perhaps defaulting to today?
* [ ] [[🗺️ Roadmap@411]] Use webauthn https://www.npmjs.com/package/webauthn
* [ ] [[🗺️ Roadmap@469]] Proper sign up and login
* [ ] [[🗺️ Roadmap@500]] Data store pagination API
* [ ] [[🗺️ Roadmap@532]] Hashtag plug:
* [ ] [[🗺️ Roadmap@656]] Extract `MarkdownEditor` component.
* [ ] [[🗺️ Roadmap@725]] PUT page with `If-Last-Modified-Before` type header. Rejects if not matching. Client creates a revision, navigates to it.
* [ ] [[🗺️ Roadmap@858]] Put retries exponential back off
<!-- /query -->

15
docs/🗺 Roadmap.md Normal file
View File

@ -0,0 +1,15 @@
Some things I want to work on:
* [ ] Persistent recent commands (saved between sessions)
* [x] Add ==marker== syntax
* [x] Two finger tap gesture to bring up command palette
* [ ] Change indent level command
* [ ] Keyboard shortcuts for specific notes (e.g. `index` note)
* [ ] RevealJS slides plug
* [ ] Pinned notes and actions?
* [x] Template for deadline, with 📅 emoji and perhaps defaulting to today?
* [ ] Data store pagination API
* [ ] Extract `MarkdownEditor` component.
* REST API safeguards:
* [ ] PUT page with `If-Last-Modified-Before` type header. Rejects if not matching. Client creates a revision, navigates to it.
* [ ] Put retries exponential back off