2018-01-26 20:30:56 +01:00
|
|
|
# Pinboard
|
2018-01-02 13:18:58 +01:00
|
|
|
|
|
|
|
A [Rocket](https://rocket.rs) based web application written in Rust for
|
2018-01-26 20:30:56 +01:00
|
|
|
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
|
2018-01-02 13:18:58 +01:00
|
|
|
physical lists would also allow.
|
|
|
|
|
|
|
|
## Building
|
|
|
|
|
2018-01-26 20:30:56 +01:00
|
|
|
Because Rocket still requires a nightly version of Rust, Pinboard also
|
2018-01-02 13:18:58 +01:00
|
|
|
requires it. The application has been tested with `nightly-2017-12-21`.
|
|
|
|
|
2018-01-26 20:30:56 +01:00
|
|
|
Pinboard uses a customized Bootstrap-style, to compile this, the
|
2018-01-02 13:18:58 +01:00
|
|
|
Ruby implementation of Sass
|
|
|
|
|
|
|
|
```
|
|
|
|
$ gem install sass
|
|
|
|
...
|
2018-01-26 20:30:56 +01:00
|
|
|
$ scss static/scss/pinboard.scss:static/csss/pinboard.css
|
2018-01-02 13:18:58 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
The lists are stored as plain text files (in Markdown format) under the
|
|
|
|
`lists` subdirectory. As an administrator of the application, you should
|
|
|
|
touch a file with the extension `.list` in this subdirectory to create
|
|
|
|
lists. The resulting list names are the title cased version of the snake
|
|
|
|
cased filenames. For example to create a list for "John Doe":
|
|
|
|
|
|
|
|
```
|
|
|
|
$ touch lists/john_doe.list
|
|
|
|
```
|
|
|
|
|
|
|
|
After creating new lists, 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 lists (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 list while editing it in the client so other clients
|
|
|
|
cannot edit it
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
2018-01-26 20:30:56 +01:00
|
|
|
Pinboard is licensed under the MIT license
|
2018-01-02 13:18:58 +01:00
|
|
|
([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT).
|