aboutsummaryrefslogtreecommitdiff
path: root/README.template.org
blob: 9e71aca164afa45a8a576de90b7044b8295b155a (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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
* Stitch - Note Composer


#+BEGIN_QUOTE
"...Differing from 
Newton and Schopenhauer, your ancestor did not think of time as absolute and 
uniform. He believed in an infinite series of times, in a dizzily growing, ever spreading 
network of diverging, converging and parallel times. This web of time - the strands of 
which approach one another, bifurcate, intersect or ignore each other through the 
centuries - embraces every possibility. We do not exist in most of them. In some 
you exist and not I, while in others I do, and you do not, and in yet others both of us 
exist." 
- Garden of Forking Paths, Borges
#+END_QUOTE

Stitch is a minimal grep-based CLI tool for composing and viewing notes and 
TODO notes.  It is built around the idea of writing notes separately and 
then using tags to compose these notes together. In that way building your 
own garden of forking paths.

Stitch does not have any opinion about which file format you use for
file capturing, use org, markdown, whatever you want. You can also
customize the grep command to speed up performance.

Stitch does not come with any note capturing system built in, but instead
makes it easy for you to set up your own system in with your preferred editor.
There is a basic example included in the manpages.

** FEATURES

- Single binary
- No need for any DB, just files
- UNIXy & fast
- Work with any file format, markdown, ruby markup, org etc.
- Work in any editor: vim, vi, ed, kakoune 
- Write your thoughs first, and organize later and read in multiple different 
  ways
  
** CREDIT

Stitch is based on the note composing system Howm for Emacs.

** USAGE

Run ~stitch --help~ or ~man stitch~ for explanation and how to get started

** INSTALLATION

Chmod +x the binary and put in PATH.

** DEVELOPMENT

To set up the project, easiest way is to just install Nix, direnv and
enable nix flakes. Then to compile:

dune build

And to run:

dune exec -- stitch

To generate man pages, run 

dune exec -- stitch --help=groff

** ROADMAP

- Support sort
- Support easy tagging

* KNOWN ISSUES

- ugrep doesn't correctly handle ordering, meaning that if you sort by
  modified date, it doesn't behave correctly. I've waited with implementing it until I've resolved that issue

- File names can not contain :[0-9]:, since it's used to determine where the file starts and ends.
  One solution is to force one uniform file name that we can regexp (and also tweak). I am not sure yet what's
  best.
  
* Author

Marc Coquand (https://mccd.space)