From 39bd5394bf91411721bb5e06fdfc04aa20c63542 Mon Sep 17 00:00:00 2001 From: "Christopher R. Nelson" Date: Mon, 22 Jan 2024 21:19:37 -0500 Subject: doc: README.org->README.rst cgit and friends (as well as my poor slow-to-reprogram brain) like ReStructuredText better than they like org-mode files. Let's give it to them because the org-mode file was only used as hall auto-generated it. --- README.rst | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 README.rst (limited to 'README.rst') diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..f09a862 --- /dev/null +++ b/README.rst @@ -0,0 +1,116 @@ +README for Reading-Heap +*********************** + +Reading-Heap +============ + +Reading-Heap: a service and clients for managing your media consumption +order. + +Description +=========== + +What is a Reading Heap? +----------------------- + +It's a *heap* of things you want to *read*. Shocking, I know. But what +does that mean? Simply, it means you add a priority when you put an item +on the heap, and when you ask the heap what to read it will take your +priorities into account (another name for a heap is a priority queue, +after all). + +What sets Reading Heap apart? +----------------------------- + +Reading-Heap is implemented as a service, so any zmq-enabled language +can write a client for it. You could possibly write a client to add an +article from your phone via a web service, grab the details into your +wayland clipboard from the command line, and maybe one day file it into +your org-mode agenda buffer. + +Installation +============ + +Dependencies +------------ + +* `Guile 3`_ (or later) +* `guile-config`_ +* `guile-json`_ +* `Guile-Simple-ZMQ`_ +* `ZeroMQ`_ + +Build Dependencies +------------------ + +* `GNU AutoMake`_ +* `GNU AutoConf`_ +* `Guile Hall`_ (optionally) + +Procedure +--------- + +.. role:: bash(code) + :language: bash + +The usual autotools make process applies here. We've put the call to +:bash:`hall build -x` in the autogen.sh script, and only run it if we +find `Guile Hall`_. + +.. code-block:: bash + + ./autogen.sh + ./configure + make + sudo make install + +Usage +===== + +Server +------ + +To start this whole thing, put the following in your favorite autostart +mechanism, or just run it from the command line. + +.. code-block:: bash + + rh-server + +If you need to shut it down, you can use the command-line client. + +.. code-block:: bash + + rh-client shutdown + +Command-line Client +------------------- + +Let's say you're a refined sort with good taste, and you want to read +that collection of Emily Dickinson poems you've had next to your bed for +the last year. You might do this: + +.. code-block:: bash + + rh-client new --priority 1 --title "The Poems of Emily Dickinson: Reading Edition" --author "Emily Dickinson (Author) RW Franklin (Editor)" --location "Nightstand" + +To get something back out, you would issue a 'next' command: + +.. code-block:: bash + + rh-client next + +To let the system know you've been edified by the verse: + +.. code-block:: bash + + rh-client consume + +.. _`Guile 3`: https://www.gnu.org/software/guile/ +.. _`guile-config`: https://gitlab.com/a-sassmannshausen/guile-config +.. _`guile-json`: https://github.com/aconchillo/guile-json +.. _`Guile-Simple-ZMQ`: https://github.com/jerry40/guile-simple-zmq +.. _`ZeroMQ`: https://zeromq.org/ +.. _`GNU AutoMake`: https://www.gnu.org/software/automake/ +.. _`GNU AutoConf`: https://www.gnu.org/software/autoconf/ +.. _`Guile Hall`: https://gitlab.com/a-sassmannshausen/guile-hall -- cgit v1.2.3