stitch

Note taking for messy minimalists

git clone git://mccd.space/stitch

README (4941B)

      1 Table of Contents
      2 _________________
      3 
      4 1. Stitch - Note Managing for Messy Minimalists
      5 .. 1. FEATURES
      6 .. 2. SCREENSHOTS
      7 .. 3. CREDIT
      8 .. 4. USAGE
      9 .. 5. INSTALLATION
     10 .. 6. DEVELOPMENT & BUILDING
     11 .. 7. ROADMAP
     12 2. COMMUNITY & CONTRIBUTING
     13 3. KNOWN ISSUES
     14 4. AUTHOR
     15 
     16 
     17 1 Stitch - Note Managing for Messy Minimalists
     18 ==============================================
     19 
     20         "...Differing from Newton and Schopenhauer, your ancestor did not
     21         think of time as absolute and uniform. He believed in an infinite
     22         series of times, in a dizzily growing, ever spreading network of
     23         diverging, converging and parallel times. This web of time - the
     24         strands of which approach one another, bifurcate, intersect or ignore
     25         each other through the centuries - embraces every possibility. We
     26         do not exist in most of them. In some you exist and not I, while in
     27         others I do, and you do not, and in yet others both of us exist."
     28         - Garden of Forking Paths, Borges
     29 
     30   Stitch is a minimal grep-based CLI note-managing system targeting those that
     31   want to easily capture notes and not spend time organizing them. Use tags
     32   to capture notes and then stitch them together. Build your own knowledge
     33   base, journal, todo manager and more.
     34 
     35   Stitch is unopiniated; use whatever editor and file format you want. It
     36   only requires that each file contains only one heading.
     37 
     38   Stitch is a note-manager that tag teams seamlessly with your preferred
     39   text editor. The manpages provide examples to get you started.
     40 
     41 1.1 FEATURES
     42 ~~~~~~~~~~~~
     43 
     44   - Read your notes in multiple different ways
     45   - Comes with four views: full, headlines, todo, done
     46   - Compatible with any file format: markdown, ruby markup, org etc.
     47   - Run shell commands on notes using sed, grep etc.
     48   - Write notes in any editor: vim, kakoune... or even ed!
     49   - Available as a single static binary   
     50   - No need for an external DB, it only uses files
     51   - Unix-y & fast
     52 
     53 
     54 1.2 SCREENSHOTS
     55 ~~~~~~~~~~~~~~~
     56 
     57   - Notes Overview + Search
     58     https://blobs.mccd.space/stitch/notes-view.png
     59   - TODO View
     60     https://blobs.mccd.space/stitch/todo-view.png 
     61   - Done View (+ Example of a command)
     62     https://blobs.mccd.space/stitch/done-view-commands.png 
     63   - Full-Notes View 
     64     https://blobs.mccd.space/stitch/full-notes-view.png
     65 
     66 
     67 1.3 CREDIT
     68 ~~~~~~~~~~
     69 
     70   Stitch is based on the note composing system Howm for Emacs.
     71 
     72 
     73 1.4 USAGE
     74 ~~~~~~~~~
     75 
     76   Run `stitch --help' or `man stitch' to get started
     77 
     78 
     79 1.5 INSTALLATION
     80 ~~~~~~~~~~~~~~~~
     81 
     82   You can find all static releases tagged under
     83   https://git.mccd.space/pub/stitch/refs/
     84  
     85   Download the binary, chmod +x the binary and put in PATH.
     86 
     87   Obs, the download link next to the tag is for the snapshot, you will have
     88   to open the link of the tag to find the download to the binary.
     89 
     90   For stitch to work, you will need to set the environment variable
     91   STITCH_DIRECTORY, which should be an absolute path to where you want to
     92   store your notes, for stitch to work.
     93 
     94   Stitch depends on GNU Grep or Ugrep. 
     95 
     96 
     97 1.6 DEVELOPMENT & BUILDING
     98 ~~~~~~~~~~~~~~~~~~~~~~~~~~
     99 
    100   To set up the project for local development, the easiest way is to  
    101   install Nix, direnv and enable nix flakes. Then to compile:
    102 
    103   dune build
    104 
    105   Optimized build with
    106   
    107   dune build --profile release
    108 
    109   And to run
    110 
    111   dune exec -- stitch
    112 
    113   To generate man pages, run
    114 
    115   dune exec -- stitch --help=groff
    116 
    117   You can find the generated binary under 
    118   _build/default/bin/main.exe. Ignore the .exe, it's not a windows
    119   binary.
    120 
    121   When the system is built with Nix, it will be dynamically linked.  
    122 
    123   To build a static release, There is a Dockerfile included that 
    124   compiles it with musl, use it with podman:
    125 
    126   podman pull docker.io/alpine:edge
    127   podman build . -t stitch:latest
    128   mkdir release
    129   podman run -v ./release:/tmp/build/_build:U stitch:latest
    130   
    131   Binary will be found in ./release/install/default/bin/stitch and 
    132   manpages in ./release/install/default/man/man1/stitch.1
    133 
    134 
    135 1.7 ROADMAP
    136 ~~~~~~~~~~~
    137 
    138   - Support sort
    139   - Support tagging commands
    140   - Support custom hotkeys 
    141   - Prettier rendering
    142   - Better result narrowing
    143 
    144 
    145 2 COMMUNITY & CONTRIBUTING
    146 ==========================
    147 
    148   Patches, discussions, bug reports etc. can be sent to 
    149   ~marcc/stitch-general@lists.sr.ht.
    150 
    151   Feel free to share your setup, tips, and tricks etc.
    152 
    153   Archives can be found at 
    154   https://lists.sr.ht/~marcc/stitch-general
    155 
    156   Never used git with email? You can learn how-to here:
    157   https://git-send-email.io/
    158 
    159 
    160 3 KNOWN ISSUES
    161 ==============
    162 
    163   - ugrep doesn't correctly handle ordering, meaning that if you sort by
    164     modified date, it doesn't behave correctly. Because of this I am 
    165     waiting with a sort functionality until I have come up wiht a decent
    166     implementation.
    167 
    168   - File names cannot contain :[0-9]:, since it's used to determine
    169     where the file starts and ends with grep.
    170 
    171 
    172 4 AUTHOR
    173 ========
    174 
    175   Marc Coquand (<https://mccd.space>)