diary

Text-based journaling program
git clone https://git.in0rdr.ch/diary.git
Log | Files | Refs | Pull requests |Archive | README | LICENSE

README.md (3896B)


      1 # Diary
      2 This is a text-based diary, inspired by [khal](https://github.com/pimutils/khal).
      3 Journal entries are stored in text files.
      4 
      5 ## Quickstart
      6 
      7 1. Set the EDITOR environment variable to your favourite text editor:
      8     ```
      9     export EDITOR=vim
     10     ```
     11 
     12 2. Run the diary, with the folder for the text files as first argument:
     13     ```
     14     diary ~/.diary
     15     ```
     16 
     17    Instead of this, you can also set the environment variable `DIARY_DIR` to
     18    the desired directory. If both an argument and the environment variable are
     19    given, the argument takes precedence.
     20 
     21    The text files in this folder will be named `yyy-mm-dd`.
     22 
     23 3. Use the keypad or VIM-like shortcuts to move between dates:
     24 
     25     ```
     26     e, Enter  edit current entry
     27     d, x      delete current entry
     28 
     29     t         jump to today
     30     f         jump to or find specific day
     31 
     32     j, down   go forward by 1 week
     33     k, up     go backward by 1 week
     34     h, left   go left by 1 day
     35     l, right  go right by 1 day
     36     J         go forward by 1 month
     37     K         go backward by 1 month
     38 
     39     N         go to the previous journal entry
     40     n         go to the next journal entry
     41     g         go to start of journal
     42     G         go to end of journal
     43 
     44     s, S      sync selected day/Month with CalDAV server
     45     i         import entries from .ics file
     46     E         export entries to .ics file
     47 
     48     q         quit the program
     49     ```
     50 
     51 ## Detailed Usage, Configuration and End-User Documentation
     52 See [man diary](https://diary.in0rdr.ch/man) for the complete documentation.
     53 
     54 Demo and Keybinding Cheat Sheet available at https://diary.in0rdr.ch
     55 
     56 ## Install from Package
     57 Pre-built packages can be installed from the [Open Build Service
     58 (OBS)](https://software.opensuse.org/download.html?project=home%3Ain0rdr&package=diary)
     59 * Install the `diary` package for a stable release
     60 * Install the `diary-nightly` build to use a more recent but possibly unstable
     61   version from the master branch
     62 
     63 ### Arch Linux OBS Repository Bug
     64 The Arch Linux repository on the OBS is broken, see
     65 [#69](https://github.com/in0rdr/diary/issues/69) and
     66 [#9953](https://github.com/openSUSE/open-build-service/issues/9953).
     67 
     68 To use the repository on Arch Linux, use `downloadcontent.opensuse.org` instead
     69 of the [suggested](https://software.opensuse.org/download.html?project=home%3Ain0rdr&package=diary)
     70 name `download.opensuse.org` in the `/etc/pacman.conf`:
     71 
     72 ```
     73 [home_in0rdr_Arch]
     74 Server = https://downloadcontent.opensuse.org/repositories/home:/in0rdr/Arch/$arch
     75 ```
     76 
     77 ## Build from Source
     78 1. The compilation step requires development libraries for `ncurses`, `libcurl`
     79    and `libxml2`. These packages might have a slightly different naming scheme
     80    depending on the distribution. To compile, run:
     81 
     82    ```
     83    make
     84    ```
     85 
     86    Note: for \*BSD users run gmake.
     87 
     88 2. Install the binary (optional):
     89 
     90    ```
     91    sudo make install
     92    ```
     93 
     94    By default this will copy the binary to `/usr/local/bin`. To use a different
     95    path prefix, type `sudo make PREFIX=/usr install` to use `/usr/bin` for example.
     96    You can uninstall diary with `sudo make uninstall`.
     97 
     98 ## Nix Build/Install Documentation
     99 [./docs/NIX.md](./docs/NIX.md)
    100 
    101 ## OBS Build Documentation
    102 [./docs/OBS.md](./docs/OBS.md)
    103 
    104 ## Test Documentation
    105 [./docs/TESTING.md](./docs/TESTING.md)
    106 
    107 ## Development & Contributions
    108 For a list of contributors see the [AUTHORS.md](./AUTHORS.md).
    109 
    110 * All source code is available in this repository. Contributions are always
    111   welcome! Pull requests at https://pr.in0rdr.ch/repos/diary
    112 * A [Kanban
    113   board](https://board.in0rdr.ch/public/board/adedb4a1f31d1e5116b600c1c9dc225db8675d125f071758913a9570c383)
    114 documents plans, todos and decisions for further development of the project.
    115 
    116 ## Community and Support
    117 For question and support visit
    118 [#p0c/libera](https://web.libera.chat/gamja/#p0c) on IRC.
    119 
    120 ## License
    121 This work uses the MIT License. See [LICENSE](./LICENSE) for details.
    122