Skip to content
This repository has been archived by the owner on Mar 19, 2021. It is now read-only.

keybits/permanote

Repository files navigation

ARCHIVED

The code in this project is no longer maintained. Leaving it here in case it is of interest to anyone making something similar.

Permanote

Permanote dolphin logo

A personal note-taking application designed for Sandstorm.

It has the features I want. I use it for keeping a journal and recording technical tips and documentation when I need longer form notes. For me it has replaced Evernote and Google Keep - although it clearly doesn't have many of Evernote's features. I still use Google Keep for small quick notes that I need to be synced with mobile devices.

Installation

If you have a Sandstorm account on Oasis or a self-hosted Sandstorm instance, it's simple to install Permanote from the Sandstorm app market.

If you want to run it locally for development, you can clone this repo into a Python 2 virtualenv. Then just pip install -r requirements.txt and python main.py

Warning and help appreciated

This was hacked together over a weekend - please consider it Beta software and don't trust important data just yet. The code is horrible in many places! Pull requests gratefully received if you'd like to clean anything up before I get there.

Features

  • Markdown editing for notes
  • Copy and paste or drag and drop image uploading
  • Full text search
  • Tags
  • Syntax highlighting
  • Rich media embeds (e.g. YouTube videos) removed for now
  • Archive old notes
  • Keyboard shortcuts to create new note and submit note when done editing

Non-features

  • No notebooks - create a new Sandstorm grain
  • No user accounts or access control (because it's a Sandstorm app)
  • No WYSIWIG editing - you need to write your own Markdown
  • No syncing or offline capability

Technology

Credits

Charles Leifer

A lot of the code for this application was lifted directly from this blog post by Charles Leifer.

Many thanks to Charles for his helpful blog posts and for creating excellent support for SQLite from his Peewee ORM. This makes a great choice for developing lightweight Sandstorm apps that are easy to develop and fast to load.

Logo

The dolphin logo is from the Twitter twemoji collection (Creative Commons Attribution License)

And because this gif exists!

Spinning dolphin

Why a dolphin for the logo? Evernote use an elephant for their logo because elephants are known to have good memory.

Apparently dolphins have even better memory than elephants. I like how the twemoji dolphin icon has a big head - lots of room to remember stuff in there.