README.md 6.97 KB
Newer Older
ransome1's avatar
ransome1 committed
1
2
# sleek
## sleek is a todo app based on todo.txt, free and open-source. Available for Linux, Windows and MacOS
3
4
+ [Support sleek](#support-sleek)
+ [Screenshots](#screenshots)
ransome1's avatar
ransome1 committed
5
6
7
8
+ [Get it from Microsoft Store](#get-sleek-from-microsoft-store)
+ [Get it from Snap Store](#get-sleek-from-snap-store)
+ [Get it from Flathub](#get-sleek-from-flathub)
+ [Get it from Arch User Repository](#get-sleek-from-arch-user-repository)
ransome1's avatar
ransome1 committed
9
+ [Download it](#download-sleek)
10
+ [Build sleek from source code](#build-sleek-from-source-code)
ransome1's avatar
ransome1 committed
11
+ [sleeks state of development](#sleeks-state-of-development)
12
13
14
+ [Features](#features)
+ [Used libraries](#used-libraries)

ransome1's avatar
ransome1 committed
15
sleek is an open-source todo app that makes use of the todo.txt format. sleeks GUI is modern and simple but still offers a decent set of functions which help users getting things done. sleek is available as a client for Windows, MacOS and Linux.
ransome1's avatar
ransome1 committed
16

ransome1's avatar
ransome1 committed
17
Users can add contexts, projects, priorities, due dates or recurrences to their todos. These todo.txt attributes can then be used as filters or to group and sort the todo list.
ransome1's avatar
ransome1 committed
18

ransome1's avatar
ransome1 committed
19
sleek manages and watches multiple todo.txt files continuously for changes, which makes it easy to integrate sleek with other todo.txt apps. Also users can switch between bright and dark mode and choose from multiple languages.
ransome1's avatar
ransome1 committed
20

ransome1's avatar
ransome1 committed
21
Todos with due date or repeating todos will trigger notifications and completed todos can be hidden or archived into separate done.txt files. If users have tons of todos, a compact view can come in handy.
ransome1's avatar
ransome1 committed
22

23
### Screenshots
24
25
![Alt text](assets/screenshots/linux/todo_list.png?raw=true "Screenshot of sleek's main view on Linux")
![Alt text](assets/screenshots/linux/multiline_autocomplete_dark.png?raw=true "Screenshot of sleek's auto complete function and multi line todo feature on Linux")
ransome1's avatar
ransome1 committed
26

27
28
29
30
### Support sleek
* Star, fork and watch it on Github. Once sleek reaches **30 watchers, 30 forks and 75 stars**, we can distribute it to MacOS using the <a href="https://github.com/Homebrew/brew" target="blank">Homebrew Package Manager</a>
* Review it on <a href="https://sourceforge.net/projects/sleek/reviews" target="blank">SourceForge</a> or <a href="https://www.microsoft.com/store/apps/9NWM2WXF60KR" target="blank">Windows Store</a>
* Contribute <a href="https://github.com/ransome1/sleek/issues">bug reports, code improvements, features or simply suggest new features</a>
31
* Translate sleek into your own language and contribute your translations
ransome1's avatar
ransome1 committed
32

33
### Get sleek from Microsoft Store
ransome1's avatar
ransome1 committed
34
35
You can install sleek from Microsofts Windows Store

36
<a href="//www.microsoft.com/store/apps/9NWM2WXF60KR?cid=storebadge&ocid=badge" target="blank"><img src='https://developer.microsoft.com/store/badges/images/English_get-it-from-MS.png' alt='English badge' width='180'/></a>
ransome1's avatar
ransome1 committed
37

38
### Get sleek from Snap Store
ransome1's avatar
ransome1 committed
39
40
41
42
You can install sleek from Canonicals Snap Store using: `sudo snap install sleek`

[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/sleek)

43
### Get sleek from Flathub
44
Install sleek from <a href="https://flathub.org/apps/details/com.github.ransome1.sleek" target="blank">Flathub</a> using: `flatpak install flathub com.github.ransome1.sleek`
ransome1's avatar
ransome1 committed
45
46
47

Run it using: `flatpak run com.github.ransome1.sleek`

48
<a href="https://flathub.org/apps/details/com.github.ransome1.sleek" target="blank"><img width='180' alt="Download on Flathub" src="https://flathub.org/assets/badges/flathub-badge-en.png"/></a>
ransome1's avatar
ransome1 committed
49

50
### Get sleek from Arch User Repository
51
52
53
Install sleek from <a href="https://aur.archlinux.org/packages/sleek/" target="blank">AUR</a>.
1. Setup <a href="https://github.com/Jguer/yay#installation" target="blank">Yay</a>
2. `yay -S sleek`
ransome1's avatar
ransome1 committed
54

55
### Download sleek
ransome1's avatar
ransome1 committed
56
You can download sleek for Windows, MacOS and Linux from
57
- <a href="https://sourceforge.net/p/sleek/" target="blank">SourceForge</a>
ransome1's avatar
ransome1 committed
58
59
- <a href="https://github.com/ransome1/sleek/releases/latest">Github</a>

60
### Build sleek from source code
ransome1's avatar
ransome1 committed
61
1. Setup <a href="https://docs.github.com/en/github/getting-started-with-github/set-up-git" target="blank">Git</a>, <a href="https://nodejs.org/" target="blank">node.js</a> and <a href="https://yarnpkg.com/getting-started" target="blank">yarn</a>.
62
2. Clone sleek `git clone https://github.com/ransome1/sleek.git` and cd into sleeks directory
ransome1's avatar
ransome1 committed
63
3. Install dependencies `yarn install --production`
ransome1's avatar
ransome1 committed
64
4. Build sleek `yarn build:windows` or `yarn build:linux` or `yarn build:macos`
65

ransome1's avatar
ransome1 committed
66
67
### sleeks state of development
A prioritized backlog of new features and known issues can be found <a href="https://github.com/ransome1/sleek/projects/2">here</a>.
ransome1's avatar
ransome1 committed
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94

### Features
* An existing todo.txt file can be used or a new one can be created
* Todos can be
  - added
  - edited
  - marked as complete (and vice versa)
  - deleted
* A todo can be hidden (add "h:1") but its attributes will appear in filter list and auto complete
* Dark and light mode can be toggled
* A compact view is available
* Completed todos can be bulk archived to a separate done.txt ([name of todo file]_done.txt) file
* Completed todos can be shown or hidden
* Todos can be enriched by
  - contexts
  - projects
  - start dates
  - due dates
* Multi line todos can be created
* A due date can be set using a datepicker
* Todos can repeat themselves based on a given due date. You can use a dedicated picker to add the recurrence or type it in by hand:
  - "rec:d" (daily)
  - "rec:w" (weekly)
  - "rec:m" (monthly)
  - "rec:y" (annually)
  - also more specific recurrences are possible: "rec:2d" (every 2nd day)
* Available contexts and projects will be suggested according to your input
95
* Todos can be filtered by contexts, projects and priorities
ransome1's avatar
ransome1 committed
96
* Filters can be renamed or deleted by right clicking on them
97
* Filters are sorted alphanummerically
ransome1's avatar
ransome1 committed
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
* Todos can be sorted and grouped by
  - Priorites
  - Due dates
  - Projects
  - Contexts
* Todos can be looked up using full-text search
* Hyperlinks are detected automatically and can be clicked using the icon
* Alarms will be triggered when a todo is due tomorrow or today
* Todos that include either contexts or projects can be shown or hidden entirely
* A file watcher rereads the todo.txt file if it has been changed
* Multiple todo.txt files can be managed
* Multiple languages are automatically detected or can be set by hand
  - English
  - German
  - Italian
  - Spanish
  - French
115
  - Simplified Chinese
ransome1's avatar
ransome1 committed
116
* sleek can be minimized to tray
ransome1's avatar
ransome1 committed
117
118
* Tabindex available
* Existing todos can be used as templates for new ones
ransome1's avatar
ransome1 committed
119
* <a href="https://github.com/ransome1/sleek/wiki/Keyboard-shortcuts">Keyboard shortcuts</a> following todotxt.net
ransome1's avatar
ransome1 committed
120
121
122
123
124
125
126
127
128
129
130

### Used libraries
- Electron: https://github.com/electron/electron
- Electron builder: https://github.com/electron-userland/electron-builder
- Bulma CSS: https://github.com/jgthms/bulma
- Font Awesome: https://github.com/FortAwesome/Font-Awesome
- jsTodoTxt: https://github.com/jmhobbs/jsTodoTxt
- Marked: https://github.com/markedjs/marked
- vanillajs-datepicker: https://github.com/mymth/vanillajs-datepicker
- i18next: https://github.com/i18next/i18next
- Matomo: https://github.com/matomo-org/matomo
131
- chokidar: https://github.com/paulmillr/chokidar