#notes #extensible #style #file #hackable #rename #delete

app hackable_notes

Hackable, lightweight & extensible note-taking app

3 releases

0.1.2 Dec 1, 2024
0.1.1 Dec 1, 2024
0.1.0 Dec 1, 2024

#88 in HTTP server

Download history 318/week @ 2024-12-01

318 downloads per month

Custom license

31KB
356 lines

Hackable Notes

Hackable Notes is a lightweight, open source, and extensible note taking app written in Rust and extensible with JavaScript and CSS.

How it works

  • HTML (with jinja2) and Markdown are natively supported.
  • You hack your own features by adding JavaSripts and CSS styles.
  • Routes are exposed to ceate, edit, rename & delete files and to get the raw content of a file.

Installation & Distribution

From Crates.io

cargo install hackable-notes

From source

  1. Clone
  2. cargo install --path .

Usage

  1. Go into your notes directory
  2. hackable_notes
  3. Open http://localhost:13376/ in your browser

Change the app shell

You might want to create your own app shell. For example, if you want to create a completely different layout or even want to transform the UI into a SPA.

To do this, just place a file named app.html in the root of your notes directory. This file will be used as the shell for your notes. You might want to use the app.html file in the src directory as a starting point. It already contains a basic layout and core functionality.

Extend the app with plugins

Plugins are JavaScript files or CSS files that are loaded into the app. Just place them somewhere in your notes directory and add the path to the either the scripts or styles array in the config.toml file. You should start the path with a / to make it absolute to the root of your notes directory.

There is no plugin manager, but you can create one using the exposed api routes for creating, editing & deleting files.

License

All code in this repository, except for the plugins directory, is licensed under AGPL-3.0. See the LICENSE file for more information.

All plugins that are do not have a LICENSE file are licensed under CC-0 and thus can be used in any way you want.

Dependencies

~23–35MB
~599K SLoC