Time tracking you can host anywhere, built on Django. Full export support in multiple formats and easily extensible.
djangodockerhandcodedpythonself-hostedtime-trackingtimetracker
1
2
3
4<!doctype html>
5<html lang="en" class="no-js">
6 <head>
7
8 <meta charset="utf-8">
9 <meta name="viewport" content="width=device-width,initial-scale=1">
10
11 <meta name="description" content="Docs for the Timestrap project.">
12
13
14
15 <meta name="author" content="Isaac Bythewood">
16
17 <link rel="shortcut icon" href="/assets/images/favicon.png">
18 <meta name="generator" content="mkdocs-1.2.4, mkdocs-material-5.4.0">
19
20
21
22 <title>Timestrap Docs</title>
23
24
25
26 <link rel="stylesheet" href="/assets/stylesheets/main.fe0cca5b.min.css">
27
28 <link rel="stylesheet" href="/assets/stylesheets/palette.a46bcfb3.min.css">
29
30
31
32
33 <meta name="theme-color" content="#3f51b5">
34
35
36
37
38
39 <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
40 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback">
41 <style>body,input{font-family:"Roboto",-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono",SFMono-Regular,Consolas,Menlo,monospace}</style>
42
43
44
45
46
47
48
49
50 </head>
51
52
53
54
55
56 <body dir="ltr" data-md-color-scheme="" data-md-color-primary="indigo" data-md-color-accent="indigo">
57
58
59 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
60 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
61 <label class="md-overlay" for="__drawer"></label>
62 <div data-md-component="skip">
63
64 </div>
65 <div data-md-component="announce">
66
67 </div>
68
69 <header class="md-header" data-md-component="header">
70 <nav class="md-header-nav md-grid" aria-label="Header">
71 <a href="https://timestrap.bythewood.me/" title="Timestrap Docs" class="md-header-nav__button md-logo" aria-label="Timestrap Docs">
72
73
74 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 003-3 3 3 0 00-3-3 3 3 0 00-3 3 3 3 0 003 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54z"/></svg>
75
76 </a>
77 <label class="md-header-nav__button md-icon" for="__drawer">
78 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
79 </label>
80 <div class="md-header-nav__title" data-md-component="header-title">
81
82 <div class="md-header-nav__ellipsis">
83 <span class="md-header-nav__topic md-ellipsis">
84 Timestrap Docs
85 </span>
86 <span class="md-header-nav__topic md-ellipsis">
87
88
89
90 </span>
91 </div>
92
93 </div>
94
95 <label class="md-header-nav__button md-icon" for="__search">
96 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0116 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 019.5 16 6.5 6.5 0 013 9.5 6.5 6.5 0 019.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
97 </label>
98
99<div class="md-search" data-md-component="search" role="dialog">
100 <label class="md-search__overlay" for="__search"></label>
101 <div class="md-search__inner" role="search">
102 <form class="md-search__form" name="search">
103 <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" data-md-state="active">
104 <label class="md-search__icon md-icon" for="__search">
105 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0116 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 019.5 16 6.5 6.5 0 013 9.5 6.5 6.5 0 019.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
106 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
107 </label>
108 <button type="reset" class="md-search__icon md-icon" aria-label="Clear" data-md-component="search-reset" tabindex="-1">
109 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
110 </button>
111 </form>
112 <div class="md-search__output">
113 <div class="md-search__scrollwrap" data-md-scrollfix>
114 <div class="md-search-result" data-md-component="search-result">
115 <div class="md-search-result__meta">
116 Initializing search
117 </div>
118 <ol class="md-search-result__list"></ol>
119 </div>
120 </div>
121 </div>
122 </div>
123</div>
124
125
126 <div class="md-header-nav__source">
127
128<a href="https://github.com/overshard/timestrap/" title="Go to repository" class="md-source">
129 <div class="md-source__icon md-icon">
130
131 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05L244 40.45a28.87 28.87 0 00-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 01-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 000 40.81l195.61 195.6a28.86 28.86 0 0040.8 0l194.69-194.69a28.86 28.86 0 000-40.81z"/></svg>
132 </div>
133 <div class="md-source__repository">
134 overshard/timestrap
135 </div>
136</a>
137 </div>
138
139 </nav>
140</header>
141
142 <div class="md-container" data-md-component="container">
143
144
145
146
147
148
149 <main class="md-main" data-md-component="main">
150 <div class="md-main__inner md-grid">
151
152
153 <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
154 <div class="md-sidebar__scrollwrap">
155 <div class="md-sidebar__inner">
156 <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
157 <label class="md-nav__title" for="__drawer">
158 <a href="https://timestrap.bythewood.me/" title="Timestrap Docs" class="md-nav__button md-logo" aria-label="Timestrap Docs">
159
160
161 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 003-3 3 3 0 00-3-3 3 3 0 00-3 3 3 3 0 003 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54z"/></svg>
162
163 </a>
164 Timestrap Docs
165 </label>
166
167 <div class="md-nav__source">
168
169<a href="https://github.com/overshard/timestrap/" title="Go to repository" class="md-source">
170 <div class="md-source__icon md-icon">
171
172 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05L244 40.45a28.87 28.87 0 00-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 01-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 000 40.81l195.61 195.6a28.86 28.86 0 0040.8 0l194.69-194.69a28.86 28.86 0 000-40.81z"/></svg>
173 </div>
174 <div class="md-source__repository">
175 overshard/timestrap
176 </div>
177</a>
178 </div>
179
180 <ul class="md-nav__list" data-md-scrollfix>
181
182
183
184
185
186
187 <li class="md-nav__item">
188 <a href="/." title="Home" class="md-nav__link">
189 Home
190 </a>
191 </li>
192
193
194
195
196
197
198
199 <li class="md-nav__item">
200 <a href="/screenshots/" title="Screenshots" class="md-nav__link">
201 Screenshots
202 </a>
203 </li>
204
205
206
207
208
209
210
211 <li class="md-nav__item">
212 <a href="/configuration/" title="Configuration" class="md-nav__link">
213 Configuration
214 </a>
215 </li>
216
217
218
219
220
221
222
223 <li class="md-nav__item">
224 <a href="/permissions/" title="Permissions" class="md-nav__link">
225 Permissions
226 </a>
227 </li>
228
229
230
231
232
233
234
235 <li class="md-nav__item">
236 <a href="/sites/" title="Sites" class="md-nav__link">
237 Sites
238 </a>
239 </li>
240
241
242
243
244
245
246
247 <li class="md-nav__item">
248 <a href="/uses/" title="Uses" class="md-nav__link">
249 Uses
250 </a>
251 </li>
252
253
254
255
256
257
258
259 <li class="md-nav__item">
260 <a href="/docs/" title="Docs" class="md-nav__link">
261 Docs
262 </a>
263 </li>
264
265
266
267
268
269
270
271 <li class="md-nav__item">
272 <a href="/contributing/" title="Contributing" class="md-nav__link">
273 Contributing
274 </a>
275 </li>
276
277
278
279
280
281
282
283 <li class="md-nav__item">
284 <a href="/license/" title="License" class="md-nav__link">
285 License
286 </a>
287 </li>
288
289
290 </ul>
291</nav>
292 </div>
293 </div>
294 </div>
295
296
297
298 <div class="md-content">
299 <article class="md-content__inner md-typeset">
300
301 <h1>404 - Not found</h1>
302
303
304
305
306
307
308 </article>
309 </div>
310 </div>
311 </main>
312
313
314<footer class="md-footer">
315
316 <div class="md-footer-meta md-typeset">
317 <div class="md-footer-meta__inner md-grid">
318 <div class="md-footer-copyright">
319
320 <div class="md-footer-copyright__highlight">
321 Copyright © 2019 Isaac Bythewood
322 </div>
323
324 Made with
325 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
326 Material for MkDocs
327 </a>
328 </div>
329
330 </div>
331 </div>
332</footer>
333
334 </div>
335
336 <script src="/assets/javascripts/vendor.d710d30a.min.js"></script>
337 <script src="/assets/javascripts/bundle.b39636ac.min.js"></script><script id="__lang" type="application/json">{"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents"}</script>
338
339 <script>
340 app = initialize({
341 base: "/",
342 features: [],
343 search: Object.assign({
344 worker: "/assets/javascripts/worker/search.a68abb33.min.js"
345 }, typeof search !== "undefined" && search)
346 })
347 </script>
348
349
350 </body>
351</html>