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.
#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
We can run it in
# binds to localhost:8888 yarn serve_dev
We can also run it in
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
Logo by Zagg Studios
Your support is appreciated. ♥️
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!
Donations help support the development of octo (this open source project) and the hosting of octo.app.
Accounts on octo.app include syncing and persistence through Firebase. Accounts are currently free, and your financial support directly impacts how long we can keep it that way.