README.md 7.59 KB
Newer Older
ransome1's avatar
ransome1 committed
1
# sleek
ransome1's avatar
ransome1 committed
2
## sleek is a free and open-source (FOSS) todo manager that makes use of the todo.txt format. Available for Linux, Windows and MacOS
3
+ [Screenshots](#screenshots)
4
+ [Support sleek](#support-sleek)
ransome1's avatar
ransome1 committed
5
6
7
+ [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)
8
+ [Get it from Homebrew](#get-sleek-from-homebrew)
ransome1's avatar
ransome1 committed
9
+ [Get it from Arch User Repository](#get-sleek-from-arch-user-repository)
ransome1's avatar
ransome1 committed
10
+ [Download it](#download-sleek)
11
12
+ [Build it from source code](#build-sleek-from-source-code)
+ [State of development](#sleeks-state-of-development)
13
14
15
+ [Features](#features)
+ [Used libraries](#used-libraries)

ransome1's avatar
ransome1 committed
16
sleek is a free and open-source (FOSS) todo manager 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
17

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

20
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 to dark mode and choose from multiple languages.
ransome1's avatar
ransome1 committed
21

ransome1's avatar
ransome1 committed
22
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
23

24
### Screenshots
25
26
27
28
29
30
![Alt text](assets/screenshots/mac/10_drawer.png?raw=true "Screenshot of sleek's todo list view")
![Alt text](assets/screenshots/mac/71_multiline_dark.png?raw=true "Screenshot of sleek's auto complete function and multi line todo feature")
![Alt text](assets/screenshots/mac/90_sort_by_projects.png?raw=true "Screenshot of sleek's todo list sorted by projects with due date picker shown")

### sleeks state of development
A prioritized backlog of new features and known issues as well as an overview on what is being worked on at the moment can be found <a href="https://github.com/ransome1/sleek/projects/2">here</a>.
ransome1's avatar
ransome1 committed
31

32
### Support sleek
33
* Star, fork and watch it on Github.
34
* 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>
35
* Contribute <a href="https://github.com/ransome1/sleek/issues">bug reports, code improvements or features</a>
36
* Translate sleek into your own language and contribute your translations
ransome1's avatar
ransome1 committed
37

38
### Get sleek from Microsoft Store
ransome1's avatar
ransome1 committed
39
40
You can install sleek from Microsofts Windows Store

41
<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
42

43
### Get sleek from Snap Store
ransome1's avatar
ransome1 committed
44
45
46
47
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)

48
### Get sleek from Flathub
49
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
50
51
52

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

53
<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
54

55
56
57
58
### Get sleek from Homebrew
Install sleek from <a href="https://formulae.brew.sh/cask/sleek" target="blank">Homebrew</a>.
`brew install --cask sleek`

59
### Get sleek from Arch User Repository
60
61
62
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
63

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

69
### Build sleek from source code
ransome1's avatar
ransome1 committed
70
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>.
71
2. Clone sleek `git clone https://github.com/ransome1/sleek.git` and cd into sleeks directory
ransome1's avatar
ransome1 committed
72
3. Install dependencies `yarn install --production`
ransome1's avatar
ransome1 committed
73
4. Build sleek `yarn build:windows` or `yarn build:linux` or `yarn build:macos`
74

ransome1's avatar
ransome1 committed
75
### Features
76
* sleek can use existing todo.txt files or create new ones
77
* Todos can be enriched and searched for by
78
79
80
81
  - priorities
  - contexts
  - projects
  - due dates
82
  - creation dates
83
  - <a href="https://github.com/ransome1/sleek/wiki/Recurring-todos-(rec:)">recurrences</a>
84
85
  - <a href="https://github.com/ransome1/sleek/wiki/Deferred-todos-(t:)">threshold dates</a>
* Todo list can be sorted by priorities, due dates, creation dates, contexts and projects or simply by file order
86
* Todos can be filtered by contexts, projects and priorities
87
* Todos can be looked up by a full-text search that is compatible with the todo.txt syntax
88
* Autocomplete function suggests available contexts and projects
89
* Dates and priorities can be selected by built-in picker elements
90
91
* <a href="https://github.com/ransome1/sleek/wiki/Keyboard-shortcuts">Keyboard shortcuts following todotxt.net</a>
* Tabindex available
92
* <a href="https://github.com/ransome1/sleek/wiki/Hidden-todos-(h:)">A todo can be hidden but its attributes will be available in the filter drawer and autocomplete function</a>
93
* Due dates trigger alarms and appear as badges in sleeks icon
ransome1's avatar
ransome1 committed
94
95
* Dark and light mode can be toggled
* A compact view is available
ransome1's avatar
ransome1 committed
96
* Completed todos can be bulk archived to a separate done.txt file
ransome1's avatar
ransome1 committed
97
98
* Completed todos can be shown or hidden
* Multi line todos can be created
ransome1's avatar
ransome1 committed
99
* Filters can be renamed or deleted by right clicking on them
100
* Filters are sorted alphanummerically
ransome1's avatar
ransome1 committed
101
102
* Hyperlinks are detected automatically and can be clicked using the icon
* A file watcher rereads the todo.txt file if it has been changed
103
* Multiple todo.txt files can be managed and switched between using a tab bar or keyboard shortcuts
104
* Multiple languages are either detected or can be set by hand to
ransome1's avatar
ransome1 committed
105
106
107
108
109
  - English
  - German
  - Italian
  - Spanish
  - French
110
111
  - Simplified Chinese
  - Brazilian Portugese
ransome1's avatar
ransome1 committed
112
  - Japanese
ransome1's avatar
ransome1 committed
113
  - Turkish
114
  - Hungarian
PapuleX's avatar
PapuleX committed
115
  - Czech
116
  - Polish
ransome1's avatar
ransome1 committed
117
* sleek can be minimized to tray
ransome1's avatar
ransome1 committed
118
* Existing todos can be used as templates for new ones
119
* Todo list can be copied to clipboard
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
Daniel Weisser's avatar
Daniel Weisser committed
132
- Sugar: https://github.com/andrewplummer/Sugar
133
- PEG.js: https://github.com/pegjs/pegjs
134
135
136
137
138
- Playwright: https://github.com/microsoft/playwright 
- Sass: https://github.com/sass/sass
- eslint: https://github.com/eslint/eslint
- electron-reloader: https://github.com/sindresorhus/electron-reloader
- cross-env: https://github.com/kentcdodds/cross-env