aboutsummaryrefslogtreecommitdiff
path: root/README.org
blob: df50fa6f0010d16d33a7100b124ecbae8a3ed0bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# -*- mode: org; coding: utf-8; -*-

#+TITLE: README for Reading-Heap

* Reading-Heap

Reading-Heap: a service and clients for managing your media consumption order.

* Description

** What is 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 can 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 via a (upcoming) emacs client.

* Installation

** Dependencies

- [[https://www.gnu.org/software/guile/][Guile 3.0]] (or later)
- [[https://gitlab.com/a-sassmannshausen/guile-config][guile-config]]
- [[https://github.com/aconchillo/guile-json][guile-json]]
- [[https://github.com/jerry40/guile-simple-zmq][Guile-Simple-ZMQ]]
- [[https://zeromq.org/][ZeroMQ]]

** Build Dependencies

- [[https://www.gnu.org/software/automake/][GNU AutoMake]]
- [[https://www.gnu.org/software/autoconf/][GNU AutoConf]]
- (optionally) [[https://gitlab.com/a-sassmannshausen/guile-hall][Guile Hall]] 0.4.1+

** Procedure

The usual autotools make process applies here.

#+BEGIN_SRC bash
  ./autogen.sh
  ./configure
  make
  sudo make install
#+END_SRC

* Usage

** Command-line client

#+BEGIN_SRC bash
  reading-heap-client new --priority -1 --title "Foundation Trilogy" --author "Issac Asimov" --location "SF Bookshelf" --unique_id "0739444050"
  reading-heap-client next
#+END_SRC

** TODO Web client

Details Forthcoming