A hackable, offline-first markdown editor for notes, code snippets, and writing that runs entirely in-browser.
Dark theme by default. Light theme if you want it. ๐
All Markdown formatting is rendered in place. This eliminates the need for a preview pane while keeping your document in plain text. Feel free to copy and paste your Markdown into or out of this editor! Code blocks are automatically highlighted based on the tagged language.
Uses a hybrid cryptosystem approach to reap the benefits of both public-key and symmetric encryption.
Keyboard shortcuts are available for many actions. Search documents with plain text or regex.
Focusing on #work
or #play
? Apply a global filter to only see the documents that are relevant in a given moment.
No account, server, or internet connectivity necessary (after first load). The entire app is cached in the browser using Service Workers. Documents are stored in IndexedDB. All features of the app are built for mobile and desktop. The design changes responsively based on available screen real estate.
Built with Vue, Vuex, and VueRouter. Progressive Web Apps are accessible on all platforms and installable on many.
Add as many hashtags to your documents as you like. Build a network of information and explore your knowledgebase just as you would explore your own memories.
Watch a quick intro on YouTube (1m 39s)
To try out the sandboxed app (no accounts or syncing), check out try.octo.app.
As simple as it gets.
# install dependencies
yarn install
Copy .env.example
to .env
.
cp .env.example .env
For more information about retrieving a Firebase access token, see the docker-firebase-cli project.
docker-compose up -d
The Firebase Emulator dashboard is available at localhost:32777.
Run the app in development
mode.
# binds to localhost:8888
yarn serve_dev
Run the app in production
mode (to test the PWA).
Note: Offline functionality is only available in production
mode due to lack of support in the Vue PWA plugin.
# binds to localhost:8889
yarn serve_prod
Create the production build.
# compiles at ./dist
yarn build_prod
The static assets will be available in the dist
directory.
Logo by Zagg Studios
Your support is appreciated. Here are some ways you can help.
Your feedback is immensely important for building octo into an app that we all love. Consider starting a discussion if you have a question or just want to chat about ideas!
If you feel comfortable tackling an existing issue, please consider opening a Pull Request! I am happy to introduce you to the codebase and work with you to get it merged!
Octo Pro is the official paid subscription plan on octo.app.