mirror of
https://github.com/streetwriters/notesnook.git
synced 2025-12-16 11:47:54 +01:00
docs: init and add first articles
This commit is contained in:
committed by
Abdullah Atta
parent
1c43da0eb0
commit
641d78fdb2
@@ -29,7 +29,8 @@ const SCOPES = [
|
|||||||
"refactor",
|
"refactor",
|
||||||
"misc",
|
"misc",
|
||||||
"common",
|
"common",
|
||||||
"global"
|
"global",
|
||||||
|
"docs"
|
||||||
];
|
];
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|||||||
9
docs/help/contents/README.md
Normal file
9
docs/help/contents/README.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Notesnook
|
||||||
|
|
||||||
|
Notesnook is a free (as in speech) and open source note taking app focused on user privacy & ease of use. To ensure zero knowledge principles, Notesnook encrypts everything on your device using `XChaCha20-Poly1305` & `Argon2`.
|
||||||
|
|
||||||
|
Notesnook is our **proof** that privacy does _not_ (always) have to come at the cost of convenience. Our goal is to provide users peace of mind & 100% confidence that their notes are safe and secure. The decision to go fully open source is one of the most crucial steps towards that.
|
||||||
|
|
||||||
|
And with that convenience in mind, we believe that it is equally important to put together a simple & useful help website about everything Notesnook. Our help is a complete walkthrough of the Notesnook app and it's features.
|
||||||
|
|
||||||
|
So let's get started with [installing Notesnook](/download-install) on all your devices.
|
||||||
BIN
docs/help/contents/_include/install-macos.png
Normal file
BIN
docs/help/contents/_include/install-macos.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 81 KiB |
BIN
docs/help/contents/_include/logo.png
Normal file
BIN
docs/help/contents/_include/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
24
docs/help/contents/creating-note.md
Normal file
24
docs/help/contents/creating-note.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
title: Creating a note
|
||||||
|
---
|
||||||
|
|
||||||
|
# Creating a note
|
||||||
|
|
||||||
|
You are in a notes app, the first thing you want to do is make a note.
|
||||||
|
|
||||||
|
# [Desktop/Web](#/tab/web)
|
||||||
|
|
||||||
|
1. Click on the `+` button on top right corner or click anywhere inside the editor to focus it.
|
||||||
|
2. Start typing in the editor and your note will be saved.
|
||||||
|
3. As you type, your note is saved automatically whenever you stop for a few seconds.
|
||||||
|
|
||||||
|
# [Mobile](#/tab/mobile)
|
||||||
|
|
||||||
|
1. On mobile, just like desktop, regardless of what screen you have opened, you can always swipe from right to left and open the editor.
|
||||||
|
2. You can also press the `+` button on bottom right corner to open the editor when you are in notes, a topic or tag.
|
||||||
|
3. Start writing in editor and your note will be created.
|
||||||
|
3. As you type, your note is saved automatically whenever you stop for a few seconds.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
And that is how you create your first private note in Notesnook!
|
||||||
112
docs/help/contents/download-install.md
Normal file
112
docs/help/contents/download-install.md
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
---
|
||||||
|
title: Installation
|
||||||
|
---
|
||||||
|
|
||||||
|
# Installation
|
||||||
|
|
||||||
|
Notesnook is fully cross platform & downloadable on all your devices.
|
||||||
|
|
||||||
|
## Mac OS
|
||||||
|
|
||||||
|
# [Installing via dmg](#/tab/dmg)
|
||||||
|
|
||||||
|
Download the latest `.dmg` file from the links below.
|
||||||
|
|
||||||
|
- [For Intel Mac users](https://notesnook.com/releases/macos/notesnook_mac_x64.dmg)
|
||||||
|
- [For M1 Macs users](https://notesnook.com/releases/macos/notesnook_mac_arm64.dmg)
|
||||||
|
|
||||||
|
Once you have the dmg downloaded,
|
||||||
|
|
||||||
|
1. Double click to open the .dmg file
|
||||||
|
2. Move the Notesnook.app to `Applications` folder.
|
||||||
|

|
||||||
|
|
||||||
|
Notesnook is now installed on your Mac. Start notesnook from the Launchpad.
|
||||||
|
|
||||||
|
# [Installing via terminal](#/tab/terminal)
|
||||||
|
|
||||||
|
If you have [homebrew](https://brew.sh/) installed, you can quickly install Notesnook via terminal:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
brew install notesnook
|
||||||
|
```
|
||||||
|
|
||||||
|
Once installation completes, you can start Notesnook app from the Launchpad.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Windows
|
||||||
|
|
||||||
|
# [Download .exe](#/tab/exe)
|
||||||
|
|
||||||
|
Download the latest `.exe` file from the link below.
|
||||||
|
|
||||||
|
- [Notesnook](https://notesnook.com/releases/windows/notesnook_win_x64.exe)
|
||||||
|
- [Notesnook portable](https://notesnook.com/releases/windows/notesnook_win_x64_portable.exe)
|
||||||
|
|
||||||
|
Once you have the .exe downloaded,
|
||||||
|
|
||||||
|
1. Double click to open the .exe file
|
||||||
|
2.
|
||||||
|
|
||||||
|
# [Install via Chocolatey](#/tab/choco)
|
||||||
|
|
||||||
|
If you have [Chocolatey](https://chocolatey.org/) installed on windows you can quickly install Notesnook via powershell:
|
||||||
|
|
||||||
|
```
|
||||||
|
choco install notesnook
|
||||||
|
```
|
||||||
|
|
||||||
|
Start Notesnook from Windows Search.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Linux
|
||||||
|
|
||||||
|
# [AppImage (Recommended)](#/tab/appimage)
|
||||||
|
|
||||||
|
You can install Notesnook on any linux distro with AppImage.
|
||||||
|
|
||||||
|
[Download AppImage](https://notesnook.com/releases/linux/notesnook_linux_x86_64.AppImage)
|
||||||
|
|
||||||
|
# [.deb](#/tab/deb)
|
||||||
|
|
||||||
|
If you are on Ubuntu or debian based distro, you can install Notesnook via .deb package.
|
||||||
|
|
||||||
|
[Download .deb package](https://notesnook.com/releases/linux/notesnook_linux_amd64.deb)
|
||||||
|
|
||||||
|
# [.rpm](#/tab/rpm)
|
||||||
|
|
||||||
|
If you are on Fedora based distro, you can install Notesnook via .rpm package.
|
||||||
|
|
||||||
|
[Download .rpm package](https://notesnook.com/releases/linux/notesnook_linux_x86_64.rpm)
|
||||||
|
|
||||||
|
# [Snapcraft](#/tab/snap)
|
||||||
|
|
||||||
|
Notesnook can be downloaded on any linux distro via Snapcraft.
|
||||||
|
|
||||||
|
[Go to Snapcraft](https://snapcraft.io/notesnook)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Android
|
||||||
|
|
||||||
|
# [Google Playstore](#/tab/android)
|
||||||
|
|
||||||
|
If you have Google play services installed on your android phone, you can get Notesnook from Google Play store
|
||||||
|
|
||||||
|
[Download from playstore](https://play.google.com/store/apps/details?id=com.streetwriters.notesnook)
|
||||||
|
|
||||||
|
# [Github](#/tab/android-github)
|
||||||
|
|
||||||
|
You you want to download Notesnook app that is free of any google play services bloat or if you use a custom android rom, you can download Notesnook via Github.
|
||||||
|
|
||||||
|
- [Arm64-v8a.apk](https://notesnook.com/releases/android/notesnook-arm64-v8a.apk)
|
||||||
|
- [Armeabi v7a.apk](https://notesnook.com/releases/android/notesnook-armeabi-v7a.apk)
|
||||||
|
- [x86.apk](https://notesnook.com/releases/android/notesnook-x86.apk)
|
||||||
|
- [x86_64.apk](https://notesnook.com/releases/android/notesnook-x86_64.apk)
|
||||||
|
|
||||||
|
# iOS
|
||||||
|
iOS users can get Notesnook from the AppStore.
|
||||||
|
|
||||||
|
[AppStore](https://apps.apple.com/us/app/notesnook-take-private-notes/id1544027013)
|
||||||
95
docs/help/contents/encryption.md
Normal file
95
docs/help/contents/encryption.md
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
---
|
||||||
|
title: How is my data encrypted
|
||||||
|
---
|
||||||
|
|
||||||
|
{% warn %}
|
||||||
|
|
||||||
|
Note: This document is not a spec, only an explanation of the encryption process.
|
||||||
|
|
||||||
|
{% end %}
|
||||||
|
|
||||||
|
|
||||||
|
## Algorithms & cryptographic library
|
||||||
|
|
||||||
|
1. XChaCha-Poly1305-IETF (for encryption/decryption)
|
||||||
|
2. Argon2 (for password hashing & PKDF)
|
||||||
|
1. `argon2i` for PKDF
|
||||||
|
2. `argon2id` for password hashing
|
||||||
|
3. [**libsodium**](https://libsodium.org)
|
||||||
|
|
||||||
|
On all three platforms we use the same exact library for all cryptographic functions. This ensures data integrity across platforms.
|
||||||
|
|
||||||
|
!!!info Fun story
|
||||||
|
When we first added encryption, we used AES-GCM-256 across platforms but the cross-platform compatbility was abyssmal. That is when I found out about the great libsodium. Written in C, wrappers available for all platforms...what more could I want?
|
||||||
|
!!!
|
||||||
|
|
||||||
|
## Process
|
||||||
|
|
||||||
|
### 1. Sign up & sign in
|
||||||
|
|
||||||
|
When you sign up for an account, the app takes your password and hashes it using Argon2 with a `predictable per user salt`.
|
||||||
|
|
||||||
|
This predictable salt is generated using a `fixed client salt` + `your email`.
|
||||||
|
|
||||||
|
|
||||||
|
{% info Your password never leaves your device %}
|
||||||
|
|
||||||
|
Sending the hash over sending your plain text password ensures that there is no way for us (or anyone else) to get your password.
|
||||||
|
|
||||||
|
{% end %}
|
||||||
|
|
||||||
|
After the hash is generated, it is sent to the server. This hash is used as a `password` and is hashed again to mitigate password passthrough attacks.
|
||||||
|
|
||||||
|
This process is repeated every time you sign in.
|
||||||
|
|
||||||
|
### 2. Key generation
|
||||||
|
|
||||||
|
After you are signed in, the app requests your user data which includes, among other things, your salt.
|
||||||
|
|
||||||
|
{% info Salt generation %}
|
||||||
|
|
||||||
|
When you create an account, the server generates a cryptographically secure random salt for you. This salt is used for key generation.
|
||||||
|
|
||||||
|
{% end %}
|
||||||
|
|
||||||
|
You password & salt is then used to derive a strong irreversible key using Argon2 as the password key derivation function (PKDF).
|
||||||
|
|
||||||
|
### 3. Encryption key storage
|
||||||
|
|
||||||
|
# [Desktop/Web](#/tab/web)
|
||||||
|
|
||||||
|
Instead of storing the key as plain text (and allowing anyone to copy/move it), we use browser's `IndexedDB` to store the key as a `CryptoKey`.
|
||||||
|
|
||||||
|
`CryptoKey` is stored securely by the browser and cannot be exported, viewed, copied except by the app & browser.
|
||||||
|
|
||||||
|
# [Mobile](#/tab/mobile)
|
||||||
|
|
||||||
|
On iOS and Android, the encryption key is stored in the phone's keychain.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 4. Data encryption
|
||||||
|
|
||||||
|
Encryption only takes place when you sync. Each item in the database is encrypted seperately using XChaCha-Poly1305-IETF.
|
||||||
|
|
||||||
|
#### How it works
|
||||||
|
|
||||||
|
1. The item is read from the database as JSON object and stringified (i.e. converted to a string).
|
||||||
|
2. The string is encrypted using the encryption key generated earlier.
|
||||||
|
3. The result is a JSON object which contains:
|
||||||
|
1. A base64 encoded `cipher`
|
||||||
|
2. A 192-bit nonce (`iv`)
|
||||||
|
3. A random `salt`
|
||||||
|
4. Algorithm id `alg`
|
||||||
|
5. ItemId `id`
|
||||||
|
|
||||||
|
|
||||||
|
{% info %}
|
||||||
|
|
||||||
|
See the whole process in action [here.](https://notesnook.com/#whynotesnook)
|
||||||
|
|
||||||
|
{% end %}
|
||||||
|
|
||||||
|
This object is then sent to the server for storage. The server performs no further operation on this data (because it can't).
|
||||||
|
|
||||||
|
|
||||||
5
docs/help/contents/organization/README.md
Normal file
5
docs/help/contents/organization/README.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: Organization
|
||||||
|
---
|
||||||
|
|
||||||
|
# Organization
|
||||||
159
docs/help/contents/organization/notebooks.md
Normal file
159
docs/help/contents/organization/notebooks.md
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
---
|
||||||
|
title: Notebooks
|
||||||
|
---
|
||||||
|
|
||||||
|
# Organizing notes with notebooks
|
||||||
|
|
||||||
|
Even with thousands of notes, using notebooks will always help you keep your notes organized and tidy with easy access. Every notebook consists of different topics where you can add and create your notes.
|
||||||
|
|
||||||
|
### Creating a notebook
|
||||||
|
# [Desktop/Web](#/tab/web)
|
||||||
|
1. Go to `Notebooks` from side menu.
|
||||||
|
2. Click on the `+` button on top right corner to open `Create notebook` dialog
|
||||||
|
3. Add title and description(Optional) to for your notebook.
|
||||||
|
4. Add topics to your notebook.
|
||||||
|
5. Click on `Add` button.
|
||||||
|
6. You have created your notebook!
|
||||||
|
# [Mobile](#/tab/mobile)
|
||||||
|
1. Go to `Notebooks` from side menu.
|
||||||
|
2. Press the `+` button on bottom right corner to open `Create notebook` dialog
|
||||||
|
3. Add title and description(Optional) to for your notebook.
|
||||||
|
4. Add topics to your notebook.
|
||||||
|
5. Press the `Add` button.
|
||||||
|
6. You have created your notebook!
|
||||||
|
---
|
||||||
|
|
||||||
|
### Editing an existing notebook
|
||||||
|
# [Desktop/Web](#/tab/web)
|
||||||
|
1. Go to `Notebooks` from side menu.
|
||||||
|
2. Right click on the Notebook or click on the `three-dot more` button to open `Notebook properties`
|
||||||
|
3. Select `Edit Notebook`
|
||||||
|
4. Edit the title or description
|
||||||
|
5. Add/Remove/Rename any topics
|
||||||
|
6. Click on `Edit notebook` button to save the changes
|
||||||
|
# [Mobile](#/tab/mobile)
|
||||||
|
1. Go to `Notebooks` from side menu
|
||||||
|
2. Press the `three-dot more` button on the notebook to open `Notebook properties` sheet
|
||||||
|
3. Press on `Edit Notebook`
|
||||||
|
4. Add title and description(Optional) to for your notebook
|
||||||
|
5. Add topics to your notebook.
|
||||||
|
6. Press `Save` button to save changes
|
||||||
|
---
|
||||||
|
|
||||||
|
### Adding a new topic
|
||||||
|
# [Desktop/Web](#/tab/web)
|
||||||
|
1. Go to `Notebooks` and open a notebook
|
||||||
|
2. Click on the `+` button on top right corner to open `Add topic` dialog
|
||||||
|
3. Enter title of the topic
|
||||||
|
4. Click on `Add` button to add topic.
|
||||||
|
5. You have added a new topic to notebook
|
||||||
|
# [Mobile](#/tab/mobile)
|
||||||
|
1. Go to `Notebooks` and open a notebook
|
||||||
|
2. Press the `+` button on bottom right corner to open `Add topic` dialog
|
||||||
|
3. Enter title of the topic
|
||||||
|
4. Press the `Add` button.
|
||||||
|
5. You have added a new topic to notebook
|
||||||
|
---
|
||||||
|
|
||||||
|
### Editing an existing topic
|
||||||
|
# [Desktop/Web](#/tab/web)
|
||||||
|
1. Go to `Notebooks` and open a notebook
|
||||||
|
2. Right click on a topic or click on `three-dot more` button to open `Edit topic` dialog
|
||||||
|
3. Enter the new title for the topic
|
||||||
|
4. Click on `Edit topic` button to save changes
|
||||||
|
# [Mobile](#/tab/mobile)
|
||||||
|
1. Go to `Notebooks` and open a notebook
|
||||||
|
2. Press the `three-dot more` button to open `Topic properties`
|
||||||
|
3. Press on `Edit topic` to open `Edit topic` dialog
|
||||||
|
4. Enter the new title for the topic
|
||||||
|
5. Press `Save` button to save changes
|
||||||
|
---
|
||||||
|
### Creating a new note in topic
|
||||||
|
# [Desktop/Web](#/tab/web)
|
||||||
|
1. Go to `Notebooks` and open a notebook
|
||||||
|
2. Open the topic in which you want to add a note
|
||||||
|
3. Click on the `+` button on top right corner and start writing note in the editor
|
||||||
|
4. Note will be added to the topic
|
||||||
|
# [Mobile](#/tab/mobile)
|
||||||
|
1. Go to `Notebooks` and open a notebook
|
||||||
|
2. Open the topic in which you want to add a note.
|
||||||
|
3. Click on the `+` button on bottom right corner to open the editor or just **swipe from right to left** to open editor
|
||||||
|
4. Start writing in editor to create a note in the topic
|
||||||
|
---
|
||||||
|
### Adding an existing note to a topic
|
||||||
|
# [Desktop/Web](#/tab/web)
|
||||||
|
1. Right click on a note or click on the `three-dot more` button to open `Note properties` sheet
|
||||||
|
2. Select `Add to Notebook(s)`
|
||||||
|
3. Click on a notebook to expand topics
|
||||||
|
4. Select the topic(s) in which you want to add your note. **A single note can exist in multiple topics and notebooks.**
|
||||||
|
5. You can also create new topics/notebooks from the dialog quickly
|
||||||
|
6. Click done to close the dialog.
|
||||||
|
# [Mobile](#/tab/mobile)
|
||||||
|
1. Press the `three-dot more` button to open `Note properties` sheet
|
||||||
|
2. Press on `Add to`
|
||||||
|
3. Press on a notebook to expand topics
|
||||||
|
4. Select the topic(s) where you want to add your note. **A single note can exist in multiple topics and notebooks.**
|
||||||
|
5. You can also create new topics/notebooks from the dialog quickly
|
||||||
|
6. Once done, swipe down to close `Add to notebook(s)` sheet.
|
||||||
|
---
|
||||||
|
|
||||||
|
### Adding multiple notes to a topic
|
||||||
|
# [Desktop/Web](#/tab/web)
|
||||||
|
1. Right click on a note or click on the `three-dot more` button to `Note properties` menu
|
||||||
|
2. Click on `Select` to enter multi-select mode
|
||||||
|
3. Click on the notes you want to select.
|
||||||
|
4. Click on the `notebook-plus` button to the header to open `Add to notebook(s)` dialog
|
||||||
|
3. Click on a notebook to expand topics
|
||||||
|
4. Select the topic(s) in which you want to add your notes. **Notes can exist in multiple topics and notebooks.**
|
||||||
|
5. You can also create new topics/notebooks from the dialog quickly
|
||||||
|
6. Click done to close `Add to notebook(s)` dialog.
|
||||||
|
# [Mobile](#/tab/mobile)
|
||||||
|
1. Long press on a note.
|
||||||
|
2. Click on `Select` from the `Action bar`.
|
||||||
|
3. Press on the notes you want to select
|
||||||
|
4. Press the `+` button in top header to open `Add to notebook` sheet
|
||||||
|
3. Click on a notebook to expand topics
|
||||||
|
4. Select the topic(s) where you want to add your note. **Notes can exist in multiple topics and notebooks.**
|
||||||
|
5. You can also create new topics/notebooks from the dialog quickly
|
||||||
|
5. Once done, swipe down to close the sheet.
|
||||||
|
---
|
||||||
|
|
||||||
|
### Remove note from a topic
|
||||||
|
# [Desktop/Web](#/tab/web)
|
||||||
|
1. Right click on a note or click on the `three-dot more` button to open `Note properties` menu
|
||||||
|
2. Select `Add to Notebook(s)`
|
||||||
|
3. The notebooks in which the note exists will appear green. Click on the notebook to expand topics
|
||||||
|
4. Click on the topics in notebook from which you want to remove th note. **A single note can exist in multiple topics and notebooks.**
|
||||||
|
5. Click done to close the dialog.
|
||||||
|
# [Mobile](#/tab/mobile)
|
||||||
|
1. Press the `three-dot more` button on the note to open `Note properties` sheet
|
||||||
|
2. Press on `Add to`
|
||||||
|
3. The notebook(s) in which the note exists will appear green. Press on a notebook to expand topics
|
||||||
|
3. Press on `remove note` button on a topic to remove the note.
|
||||||
|
5. Once done, swipe down to close `Add to notebook(s)` sheet.
|
||||||
|
---
|
||||||
|
|
||||||
|
### Delete a topic
|
||||||
|
# [Desktop/Web](#/tab/web)
|
||||||
|
1. Go to `Notebooks` and open the notebook from which you want to delete a topic.
|
||||||
|
2. Right click on the topic or click on the `three-dot more` button to open `Topic properties` menu
|
||||||
|
3. Click on `Delete` to delete the topic.
|
||||||
|
# [Mobile](#/tab/mobile)
|
||||||
|
1. Go to `Notebooks` from side menu and open the notebook from which you want to delete a topic.
|
||||||
|
2. Press the `three-dot more` button to open `Topic properties` sheet
|
||||||
|
3. Press `Delete` to delete the topic.
|
||||||
|
---
|
||||||
|
|
||||||
|
### Move a notebook to trash
|
||||||
|
# [Desktop/Web](#/tab/web)
|
||||||
|
1. Go to `Notebooks`
|
||||||
|
2. Right click on the topic or click on the `three-dot more` button to open `Notebook properties` menu
|
||||||
|
3. Click on `Move to trash`.
|
||||||
|
4. Notebook will be kept in trash for 7 days after which it will be permanently removed.
|
||||||
|
# [Mobile](#/tab/mobile)
|
||||||
|
1. Go to `Notebooks`
|
||||||
|
2. Press the `three-dot more` button to open `Notebook properties` sheet
|
||||||
|
3. Press `Move to trash` to delete the topic.
|
||||||
|
4. Notebook will be kept in trash for 7 days after which it will be permanently removed.
|
||||||
|
---
|
||||||
|
|
||||||
12
docs/help/docgen.yaml
Normal file
12
docs/help/docgen.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
title: "Notesnook"
|
||||||
|
docs_dir: "./contents"
|
||||||
|
logo: logo.png
|
||||||
|
colors:
|
||||||
|
main: "#008837"
|
||||||
|
navigation:
|
||||||
|
- path: contents/download-install.md
|
||||||
|
- path: contents/creating-note.md
|
||||||
|
- path: contents/encryption.md
|
||||||
|
- path: contents/organization
|
||||||
|
children: "*"
|
||||||
Reference in New Issue
Block a user