check if $EDITOR contains flags before calling
If it contains flags, split by whitespace and pass them in as arguments
to std::process::Command. Otherwise, just pass it in as normal. This was
causing a panic/abort.
updated repo location to sr.ht
moved hashing to shellscript to check for posts
removes dependency on sha2 crate and allows users
to choose their own hashing algorithm easily.
now copies clinte.json to $HOME/.clinte.json once
the posts are viewed. a shellscript can be used to
compare the hash of the global clinte.json to the
hash of the copy. an example script is supplied.
on `make install` the example script is installed
to /etc/profile.d/, where it will be run for users
recording hash of posts file in homedir
This will facilitate checking for new posts on login.
bumped version in Cargo.toml
extensive rewrite to use json for storage:
sqlite3 requires the directory where the database resides to be
writeable by the user. This presents a problem on multiuser UNIX systems
where they may want to limit areas where users have write access.
This rewrite totally scraps the sqlite3 database in favor of a pretty
simple json file consisting of an array of posts. flock(2) locking is
used to synchronize access to the file and make sure two clients aren't
trying to write to it at once. The locking is fairly granular right now,
but later I may change it to using a single lock for the duration of
execution since race conditions are *possible*, if unlikely for the
purposes of clinte's intended use.
updated travis cfg; setup Cargo.toml for crates.io
Added pertinent fields to Cargo.toml to publish on crates.io and
Updated .travis.yml - using bionic for build, tarpaulin binary can
now be pulled rather than built in-place.
updated deps + added release profile to Cargo.toml
now opens $EDITOR to write post body
logging reflects executing username
moved some functionality to module, added tests
moved display to 15 posts
ensure submitted posts are utf8