Welcome to Edna

Edna is a scratchpad and note taker for developers and power users.

Keyboard shortcuts

Ctrl + K               Open, create or delete a note
Alt + N                Create a new scratch note
Ctrl + Enter           Add new block below the current block
Alt + Enter            Add new block before the current block
Ctrl + Shift + Enter   Add new block at the end of the buffer
Alt + Shift + Enter    Add new block at the start of the buffer
Ctrl + Alt + Enter     Split the current block at cursor position
Ctrl + L               Change block language
Ctrl + Down            Goto next block
Ctrl + Up              Goto previous block
Ctrl + A               Select all text in a note block
                       Press again to select the whole buffer
Ctrl + Alt + Up/Down   Add additional cursor above/below
Alt + Shift + F        Format block content
                       Supports Go, JSON, JavaScript, HTML, CSS and Markdown
Alt + Shift + R        Execute block code
                       Supports Go
Ctrl + F               Search / replace within a note

Why Edna?

Speed

Edna is optimized for speed of note taking.

Use Ctrl + K to show note selector and:

Quick access shortcut

You can assign Alt + 0 to Alt + 9 for quickly accessing notes:

Default shortcuts are:

Notes with quick access shortcut are shown at the top of note selector (Ctrl + K).

Blocks and notes

Notes consists of blocks.

Each block has a type: plain text, markdown, JavaScript code, Go code etc.

Use Ctrl + L to assign a type for current block.

Features for developers

Syntax highlighting of blocks

Blocks are syntax highlighted based on their type.

Formatting of blocks

You can format current block using:

We support formatting of Go, JSON, JavaScript, HTML, CSS and Markdown blocks.

Executing of code blocks

We support execution of Go blocks:

The output of execution will be shown in a new block created below the executed block.

We have the same capabilities as https://tools.arslexis.io/goplayground/

The code block must be a valid Go program.

Multiple notes

Create a new note

Create a new scratch note

Alt + N if you just want a temporary scratch note.

We'll auto-create a unique name scratch-N

Delete a note

Right-click for context menu, Note / Delete current note, or:

A scratch note is always available. If you delete it, we'll re-create an empty note.

Rename a note

Right-click for context menu, Note / Rename current note

Each note consists of multiple blocks. They are like sub-notes so that you can divide your scratchpad into logical parts.

Each block has its own type for syntax highlighting.

You can efficiently move between blocks, create new blocks and delete them with keyboard shortcuts.

Open a different note

Quick access shortcut

You can assign Alt + 0 to Alt + 9 keyboard shortcuts for quickly opening up to 10 notes.

Notes with assigned shortcut show up at the top of note selector (Ctrl + K).

Default notes

We create 3 default notes for you:

Storing notes on disk

By default notes are stored in the browser (localStorage).

If your browser supports file system access (currently Chrome) you can store notes on disk.

You can do one time export from localStorage to a directory on disk:

You can have multiple directories with notes. Use context menu Notes storage / Open notes in directory to open notes in a different directory. If it's a new directory, without existing notes, we'll create default scratch note.

You can go back to storing in browser with context menu Notes storage / Open notes in browser (localStorage). Note that unlike going from browser => directory, it doesn't import the notes from directory. If you moved notes from localStorage to directory, we deleted them from localStorage.

Accessing notes on multiple computers

If you pick a directory managed by Dropbox or One Drive or Google Drive etc. then you'll be able to access notes on multiple computers.

On the first computer export notes from browser to disk:

On other computers:

Please note that that the last written version wins. If you switch really quickly between computers, before the directory with notes has been replicated, you might over-write previous content.

Exporting notes to a .zip file

There's no lock in with Edna.

You can export all the notes to a .zip file.

Use right-click context menu and Export notes to zip file menu.

We pack all the notes into a .zip file and initiate auto-download as edna.notes.export-YYYY-MM-DD.zip file.

Look in the browser downloads directory.

Context menu

Right-click for context menu.

For native context menu do Ctrl + right-click. This is especially useful when spell checking to correct mis-spellings.

Lists with TODO items

In Markdown blocks, lists with [x] and [ ] are rendered as checkboxes:

Privacy and security

Your notes are private and secure.

Your notes are stored in the browser or on your computer.

The code is open source so you can audit it.

No lock in

The notes are stored in plain text files on disk (or in localStorage under note:${name} key)

Blocks are marked with \n∞∞∞${type}\n e.g. \n∞∞∞markdown\n marks the beginning of markdown block.

You can edit the notes in any text editor (just be mindful of the above block markers).

You can back them up, store in git repositories, write scripts to process them.

They are not locked in a proprietary Edna format.

How I use Edna

Edna is flexible and you should find your own way of using it.

I use Edna daily::

Open source

Edna is open source: https://github.com/kjk/edna

To report a bug or request a feature: https://github.com/kjk/edna/issues

Contact

You can contact me via https://blog.kowalczyk.info/contactme

You can find more software by me on https://arslexis.io

Credits

Edna is a fork of Heynote with the following differences:

There's a spirit of Notational Velocity and Simplenote in Edna in how it allows quickly creating notes and switching between them.

Edna is built on CodeMirror, Vue, Math.js, Prettier.