rocket-pinboard/README.md

58 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

# Rocket Pinboard
A [Rocket](https://rocket.rs) 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](https://rocket.rs/guide/configuration/) 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](LICENSE-MIT) or http://opensource.org/licenses/MIT).