aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md73
1 files changed, 71 insertions, 2 deletions
diff --git a/README.md b/README.md
index ff4283d..5c9598f 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,71 @@
-# twtxtc
-C99 client for twtxt
+# twtxtc: A twtxt client in C.
+
+## What is `twtxt`?
+
+`twtxt` is a decentralised, minimalist approach to micro-blogging, similar to Twitter but with self-hosted plaintext files. See the [original `twtxt` documentation](http://twtxt.readthedocs.io/en/latest/) for details. `twtxtc` is a `twtxt` client written in the C language.
+
+## Requirements
+
+Build or download an appropriate [`curl` binary](https://curl.haxx.se/download.html) for your system and place it into your `$PATH` or the `twtxtc` folder. If you don't, you won't be able to retrieve your timeline. Sorry.
+
+## Usage
+
+ ./twtxtc [COMMAND]
+
+### Commands
+
+ tweet <text> Adds <text> to your twtxt timeline.
+ timeline Displays your twtxt timeline.
+ following Gives you a list of all people you follow.
+ follow <user> <URL> Adds the twtxt file from <URL> to your timeline.
+ <user> defines the user name to display.
+ unfollow <user> Removes the user with the display name <user> from your timeline.
+ help Displays a help screen.
+
+## Building
+
+Use `cmake` to build `twtxtc`:
+
+ cd path/to/source
+ cmake .
+ cmake --build .
+
+This should be all.
+
+### Compiler flags
+
+For lazyness reasons, `twtxtc` only uses colors in the most prominent place, namely in the timeline: By default you will get an adequate combination of yellow and white in the list. If you don't want to have such nice colors because you prefer boring plain text (and/or you want to process the output automatically), you can use the `NO_COLORS` compiler flag to disable them.
+
+## Configuration
+
+If found, `twtxtc` will use the `.twtxtconfig` file inside your `HOME` directory. (See `twtxtc help` for information on where it should be found.) The `.twtxtconfig` file is meant to be a valid JSON file like this:
+
+ {
+ "nickname": "your nickname",
+ "twtxtfile": "twtxt.txt",
+ "maxlog": 100,
+ "spacing": " ",
+ "following": {
+ "user_1": "https://example.com/twtxt.txt",
+ "user_2": "https://elsewhere.com/tweets.txt"
+ }
+ }
+
+Possible entries are:
+
+* `nickname`: Your preferred nickname. Only used to filter mentions to other people.
+* `twtxtfile`: The location of your `twtxt.txt` file. Defaults to `./twtxt.txt`.
+* `maxlog`: The maximum number of entries shown when you view your timeline. Defaults to 100.
+* `spacing`: A string value that contains the spacing between the user name and the text when viewing your timeline. Defaults to three spaces.
+* `following`: A list of users you follow. Can be managed with the `follow` and `unfollow` commands.
+
+The current limit of the list of users you are following is at 4 KiB. You probably won't reach that limit any time soon.
+
+## TODO
+
+* I'd really like to have Unicode support in `twtxtc`.
+* Mentions *could* be made more obvious, e.g. bold formatting or so.
+
+## Licenses
+
+`twtxtc` is licensed under the terms of the [WTFPL](http://wtfpl.net/txt/copying). It uses the lovely [`cJSON`](https://github.com/DaveGamble/cJSON/) library for certain functionalities, basically following the terms of the MIT license. Please read the particular `LICENSE` documents and/or the header files in case you are interested.