# clinte   [![Build Status](https://travis-ci.com/gbmor/clinte.svg?branch=master)](https://travis-ci.com/gbmor/clinte) [![codecov](https://codecov.io/gh/gbmor/clinte/branch/master/graph/badge.svg)](https://codecov.io/gh/gbmor/clinte) Command-line community notice board. Post simple notes for other users to see. ## Features * Username is tagged based on the executing user * Shows the 15 most recent posts in descending order * Able to go back and edit your own posts * Title <= 30 chars * Body <= 500 chars [![Screenshot](https://github.com/gbmor/clinte/blob/master/assets/clinte.png)](https://github.com/gbmor/clinte/blob/master/assets/clinte.png) ## Installation Current build dependencies are as follows: * `rustc/cargo >= 1.36` * `libsqlite3-dev` The installation for the build deps will vary based on your OS (`Linux, BSD`) Clone the repository and jump into the directory: ``` $ git clone git://github.com/gbmor/clinte.git ... $ cd clinte ``` Run the makefile and install: ``` $ make ... ...Done! $ sudo make install ``` ## Usage Issuing the program name itself will list the currently available posts, like in the screenshot above. To display the 15 most recent posts: ``` $ clinte ``` To make a new post: ``` $ clinte post ``` `clinte` will then ask for the title of the post, and the body. The username will be tagged automatically by your logged-in username, reflecting its intended use on multi-user UNIX-like systems. To edit a post: ``` $ clinte update ``` `clinte` will ask for the ID number of the post. If it's been authored by you, then you will be asked for the new title and body after being shown the previous title and body. To delete a post: ``` $ clinte delete ``` Then `clinte` asks for the numeric ID of the post to delete. ## Contributing This is very new, so feel free to hack on it in any way you please and submit a PR! I'll be working on it myself over the next several days to flesh it out. ## Notes `clinte` has roughly 60 library dependencies from the `rust` ecosystem. Nevertheless, the binary remains only `3.5MB` in size as of `v0.4.1`. For your information, the direct library dependencies of `clinte` are: * `chrono >= 0.4` * `clap >= 2.33` * `lazy_static >= 1.4` * `log >= 0.4` * `rusqlite >= 0.20` * `simplelog >= 0.7` * `users >= 0.9` The indirect dependencies (dependencies of dependencies) are: `ansi_term, arrayref, arrayvec, atty, autocfg, backtrace, backtrace-sys, base64, bitflags, blake2b_simd, byteorder, cc, cfg-if, cloudabi, constant_time_eq, crossbeam-utils, dirs, dirs-sys, failure, failure_derive, fallible-iterator, fallible-streaming-iterator, fuchsia-cprng, libc, libsqlite3-sys, linked-hash-map, lru-cache, memchr, nodrop, num-integer, num-traits, pkg-config, proc-macro2, quote, rand_core, rand_os, rdrand, redox_syscall, redox_users, rust-argon2, rustc-demangle, strsim, syn, synstructure, term, textwrap, time, unicode-width, unicode-xid, vcpkg, winapi, winapi-i686-pc-windows-gnu, winapi-x86_64-pc-windows-gnu`