Brahin – personal wiki software

This is an experiment to create a web-based wiki software with the focus on speed – you shouldn't need to wait for a big application to load to access your notes. Brahin is built with the progressive enhancement principle in mind: initially the content is loaded as a simple HTML pages, while the core application modules are loaded in the background; additional modules are loaded only when needed.

Features

  • web-based WYSIWYG editor based on Slate

  • linking between pages

  • auto-saving to the server or to the browser's local storage

  • permissions: grant read/write/create/admin rights via access tokens

Getting started

There are two easy ways to try it out – no signup or setup required:

  1. Local/Temporary – go to your local area/_local – anything under this path is stored in the browser's local storage using PouchDB and will never be synced to the server. You can't share this with anyone. Warning: the Clear Offline Website Data or similar feature will remove this data.

  2. Cloud – create pages under /users/yourname – this will be auto-saved to the server, and you can share it with others by clicking Permissions at the bottom of the page.

Keyboard shortcuts

Formatting: ⌘1-6 heading, ⌘B bold, ⌘I italic, ⌘U underline, ⌘H inline code

Lists: ⌘L bullet list, ⌘⇧N numbered list, ⌘K task list

Links: ⌘⇧I insert link, ⌘E edit link URL and label

Limitations & known issues

  • a recent Firefox or Chrome browser is required

  • no conflict resolution – if you edit the same page in multiple windows, the last change will overwrite any changes made in a different window

  • /_local doesn't work in Private Browsing mode in Firefox

Self-hosting

To create your own installation:

  • Deploy to Heroku – no technical knowledge required; Heroku's free tier works well, except that there will be a slower page loading time if the app hasn't been used for a while

  • Deploy with Dokku – for techie people

Note: The first user to visit a fresh installation will automatically be given ownership rights; the token will be saved as a cookie. To ensure you don't lose this token click Permissions at the bottom of the main page, copy the link with the own right, and save it somewhere safe, like a password manager.

Source code

The source code is available under the MIT licence:

Updates

Contact

Please submit bug reports and feature requests using the GitHub issue handler on the most appropriate repository above.

For any other queries or feedback, please send an email to: levente.bagi@gmail.com.

Author: Levente Bagi