diff --git a/refs/design/Hierarchy.md b/refs/design/Hierarchy.md new file mode 100644 index 0000000..53540ca --- /dev/null +++ b/refs/design/Hierarchy.md @@ -0,0 +1,5 @@ +# Hierarchy + +Notes can be attached to notes creating a hierachy. + +The note id doesn't change based on attached parent. diff --git a/refs/design/Icons.md b/refs/design/Icons.md new file mode 100644 index 0000000..5f5e8ee --- /dev/null +++ b/refs/design/Icons.md @@ -0,0 +1,10 @@ +# Icons + +Assign Note some kind of Icon. + +This could be +- Emoji +- Rasterized Image +- Font Icon + +Adding custom Icons. diff --git a/refs/design/Media.md b/refs/design/Media.md new file mode 100644 index 0000000..aa3fa0c --- /dev/null +++ b/refs/design/Media.md @@ -0,0 +1,8 @@ +# Media + +## Research + +- Access to byte-Stream on Db (w/o allocating byte[]) + https://redirect.github.com/dotnet/efcore/issues/6234#issuecomment-1153855426 +- Write to stream directly? + https://learn.microsoft.com/dotnet/standard/data/sqlite/blob-io diff --git a/refs/design/Notes.md b/refs/design/Notes.md new file mode 100644 index 0000000..81f142f --- /dev/null +++ b/refs/design/Notes.md @@ -0,0 +1,15 @@ +# Notes + +Notes are plain-text content, written in MarkDown. + +Metadata is supported in FrontMatter. + +## Versions +Note content is put verbatim in the data store. + +The client is responsible for building a patch that can be +applied to the latest version of a note. + +The serving instance is able to produce a patch from any +revision to the latest revision, in order for a client to +sync up to the current state. diff --git a/refs/design/Printing.md b/refs/design/Printing.md new file mode 100644 index 0000000..60fb33e --- /dev/null +++ b/refs/design/Printing.md @@ -0,0 +1,3 @@ +# Printing + +Export to HTML/PDF. diff --git a/refs/design/Templates.md b/refs/design/Templates.md new file mode 100644 index 0000000..728b7e3 --- /dev/null +++ b/refs/design/Templates.md @@ -0,0 +1,32 @@ +# Templates + +Templates are copied to a note, making them completely editable. + +*Consideration*: Inherit a Template, this will make only `{{Variable}}`-formatted content blocks editable. <- Predefined Form + +## Metadata +```` +--- +Template: Yes +--- +# {{Title}} + +Content +```` + +## Built-In +**Book** - Form + +Editable Text Content with default-content +```` +--- +Template: Form +--- +# {{Book Name}} + +{{Content multiline}} + +:::query format=list +note.parents include this +::: +```` diff --git a/refs/design/UI-Desktop.md b/refs/design/UI-Desktop.md new file mode 100644 index 0000000..dde7534 --- /dev/null +++ b/refs/design/UI-Desktop.md @@ -0,0 +1,11 @@ +# UI Desktop + +## Local-Mode +Uses same data backend as Sync (Sqlite) + +## Online-Mode +Performs OpenAPI calls to Sync server. + +*Consideration*: Allow for syncing to local backend. + +## Research diff --git a/refs/design/Workspaces.md b/refs/design/Workspaces.md new file mode 100644 index 0000000..2588d49 --- /dev/null +++ b/refs/design/Workspaces.md @@ -0,0 +1,5 @@ +# Workspaces + +On Web/Api/Sync Users can create Workspaces. + +Workspaces separate different "notebooks".