aboutsummaryrefslogtreecommitdiff
path: root/README
blob: f4b56e57b64a334352237d59e7465a16f36e8594 (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
			CALP
		    Hugo Hörnquist
		     2020-03-10

Calp is primarily a program for loading  calendar files  (.ics's) from
drendering  them in  different formats.  The goal  is however  to also
support  fancy  filtering,  an  edit server,  and more.  The currently
working  frontends  is  the  HTML-frontend,  which  have the  two main
modes  of a  month-by-month in  "week" view,  or a  table of  a single
month,  and  the  terminal  frontend.  The  terminatend is  mostly for
debugging purposes, but it's quite usable still.

For  basic usage,  create a  file ~/.config/calp/config.scm  which (at
leasts)  calls  the  f`calendar-files'  with  a  list   of  files   or
directories  containing  ics  file. (Both  single calendar  files, and
vdir's are supported, see vdirsyncer and ikhal). Then run:
	./main html --chunked --count 1
Which should generate a single HTML-page for the current month.

Contributing
------------
Contributions are more  than welcome.  Patches, feature  requests, bug
repports,  and other  stuff should  be sent  to <hugo@lysator.liu.se>.
If you want to contribute  something yourself,  either see  TODO.* for
things to do, or run `grep -RE 'TODO|NOTE'.

Requirements & Dependencies
---------------------------
For  basic  functionallity  guile-2.2  or  greater  should  be  enough
(tested to work with guile-3.0). You  do however  need to  supply your
own calendar files. I recommend vdirsyncer  for fetching  local copies
from all over the internet.

For  popups  to  work  the  JS  library Tipped  is also  needed, which
brings a transitive dependency on JQuery.
- https://tippedjs.com
- JQuery

Building
--------
Since   guile   is  primarily   a  scripting   language  no   explicit
compilation  step  is  required.  Just  run  module/main.scm  and  the
appropriate modules will be compiled  (guile will  tell you  what it's
doing). For building this README, run
	module/main.scm text < README.in > README

Techical Details
----------------
- Internally all weeks start on sunday, which is repsenented as `0'.