src | ||
static | ||
templates | ||
test/notes | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
config.toml | ||
deny.toml | ||
LICENSE | ||
README.md | ||
Rocket.toml |
Rocket Pinboard
A Rocket based web application written in Rust for maintaining a pinboard of notes for a family or group of friends. Similarly to a Wiki, all notes can be edited by everyone, as a board with physical notes would also allow.
Building
Because Rocket still requires a nightly version of Rust, Rocket Pinboard
also requires it. The application has been tested with
nightly-2018-01-13
.
Rocket Pinboard uses a customized Bootstrap-style, to compile this, use the Ruby implementation of Sass:
$ gem install sass
...
$ scss static/scss/pinboard.scss:static/csss/pinboard.css
Usage
The notes are stored as plain text files (in Markdown format) under the
notes
subdirectory. As an administrator of the application, you should
touch a file with the extension .note
in this subdirectory to create
notes. The resulting note names are the title cased version of the snake
cased filenames. For example to create a note for "John Doe":
$ touch notes/john_doe.note
After creating new notes, start (or restart) the application and then visit: http://localhost:8000/.
For setting up production or staging environments, see the Rocket documentation about configuring different environments.
To Do
There are still quite some things left to do. Here are some points of improvement for the future:
- Use a Rust-implementation for Sass
- Support different sets of notes (for different environments)
- Get rid of hardcoded strings in the UI (for example the name of my family)
- Add i18n to support several languages
- Support locking a note while editing it in the client so other clients cannot edit it
License
Pinboard is licensed under the MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT).