syc-task 0.1.15 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +48 -14
- data/bin/console_timer +0 -0
- data/bin/syctask +29 -54
- data/lib/syctask.rb +1 -0
- data/lib/syctask/version.rb +1 -1
- data/lib/syctime/time_util.rb +3 -3
- metadata +97 -58
data/README.rdoc
CHANGED
@@ -6,8 +6,16 @@ The application can be installed with
|
|
6
6
|
$ gem install syc-task
|
7
7
|
|
8
8
|
== Usage
|
9
|
-
syctask provides basic task organizer functions as create, update, list and
|
10
|
-
|
9
|
+
syctask provides basic task organizer functions as create, update, list and
|
10
|
+
complete a task. Additional functions are to plan tasks you want to accomplish
|
11
|
+
today. If you are not sure in which sequence to conduct the task you can
|
12
|
+
prioritize them with a pair wise comparisson. You can time tasks with start and
|
13
|
+
stop and you can finally extract tasks from a minutes of meetings file. The
|
14
|
+
schedule task command will print a graphical timeline of the working day
|
15
|
+
assigning the planned tasks to the timeline. Busy times are marked red.
|
16
|
+
Meetings are listed with associated tasks that are assigned to the meetings.
|
17
|
+
With the statistics command you can print statistical evaluation of tasks
|
18
|
+
duration and count.
|
11
19
|
|
12
20
|
===Create tasks with new
|
13
21
|
Create a new task in the default task directory ~/.tasks
|
@@ -29,9 +37,10 @@ will prompt for task titles. Ctrl-D will end input.
|
|
29
37
|
Except for --description you can also provide short forms for the options.
|
30
38
|
|
31
39
|
===Plan tasks
|
32
|
-
The plan command will print tasks and prompts whether to (a)dd or (s)kip the
|
33
|
-
|
34
|
-
|
40
|
+
The plan command will print tasks and prompts whether to (a)dd or (s)kip the
|
41
|
+
task. If (q)uit is selected the tasks already added will be add to the today's
|
42
|
+
task list. If (c)omplete is selected the complete task will be printed and the
|
43
|
+
user will be prompted again for adding the task.
|
35
44
|
|
36
45
|
Invoke plan without filter
|
37
46
|
$ syctask plan
|
@@ -48,7 +57,8 @@ Invoke plan with a filter
|
|
48
57
|
Move tasks to another days plan
|
49
58
|
$ syctask plan today --move tomorrow --id 3,5
|
50
59
|
|
51
|
-
This will move the tasks with ID 3 and 5 from the today's plan to the tomorrow's
|
60
|
+
This will move the tasks with ID 3 and 5 from the today's plan to the tomorrow's
|
61
|
+
plan. The duration will be set to the remaining processing time but at least to
|
52
62
|
30 minutes.
|
53
63
|
|
54
64
|
===Prioritize tasks
|
@@ -90,7 +100,8 @@ The plan or schedule command will print the tasks in the specified order
|
|
90
100
|
3: 9 - My second task
|
91
101
|
|
92
102
|
If only a part of the tasks is provided the rest of the tasks is appended to
|
93
|
-
the end of the task plan. If you specify a position flag the prioritized tasks
|
103
|
+
the end of the task plan. If you specify a position flag the prioritized tasks
|
104
|
+
are added at the provided position.
|
94
105
|
$ syctask plan -o 7,9 -p 2
|
95
106
|
Tasks
|
96
107
|
-----
|
@@ -206,7 +217,9 @@ only removed from the planned tasks and not physically deleted.
|
|
206
217
|
$ syctask delete --plan today --id 8,12
|
207
218
|
|
208
219
|
===Settings
|
209
|
-
The settings command allows to define default values for task directory and to
|
220
|
+
The settings command allows to define default values for task directory and to
|
221
|
+
create general purpose tasks that can be used for tracking and later statistical
|
222
|
+
evaluation.
|
210
223
|
|
211
224
|
Create general purpose tasks for phone and talk
|
212
225
|
$ syctask setting --general PHONE,TALK
|
@@ -239,7 +252,8 @@ Evaluate yesterday and today
|
|
239
252
|
The global options --taskdir and --project determine where the command finds
|
240
253
|
or creates the tasks. The default task directory is ~/.tasks, so if no task
|
241
254
|
directory is specified all commands obtain tasks from or create tasks in
|
242
|
-
~/.tasks. If a project is specified the tasks will be saved to or obtained from
|
255
|
+
~/.tasks. If a project is specified the tasks will be saved to or obtained from
|
256
|
+
the task directories subdirectory specified with the --project flag.
|
243
257
|
|
244
258
|
--taskdir --project Tasks in
|
245
259
|
- - default_task_dir
|
@@ -282,10 +296,12 @@ The planned tasks are save to YYYY-MM-DD_planned_tasks in syctask's system
|
|
282
296
|
directory. Each task is saved with the task's directory and the ID.
|
283
297
|
|
284
298
|
* Schedule files
|
285
|
-
The schedule is saved to YYYY-MM-DD_time_schedule in the default task directory.
|
299
|
+
The schedule is saved to YYYY-MM-DD_time_schedule in the default task directory.
|
300
|
+
The files are saved as YAML files and can be changed manually.
|
286
301
|
|
287
302
|
* Log file
|
288
|
-
Creating schedule and task processings is logged to tasks.log. For example when
|
303
|
+
Creating schedule and task processings is logged to tasks.log. For example when
|
304
|
+
a task is started and stopped this is action is saved to tasks.log.
|
289
305
|
|
290
306
|
* Tracked file
|
291
307
|
A started task is saved to tracked_tasks. A semaphore file is created with
|
@@ -300,7 +316,8 @@ default_tasks. The general purpose tasks itself are also saved to the
|
|
300
316
|
.syc/syctask directory as regular task files.
|
301
317
|
|
302
318
|
* Default task dir
|
303
|
-
The default task that is used e.g. with list is saved to default_tasks_dir.
|
319
|
+
The default task that is used e.g. with list is saved to default_tasks_dir.
|
320
|
+
This can be set with the setting command.
|
304
321
|
|
305
322
|
==Working with syctask
|
306
323
|
To work with syctask and get the most out of it there is to follow a certain
|
@@ -323,7 +340,8 @@ with
|
|
323
340
|
$ syctask prio
|
324
341
|
|
325
342
|
==== Create schedule
|
326
|
-
I create a schedule with my working hours and meetings that have been scheduled
|
343
|
+
I create a schedule with my working hours and meetings that have been scheduled
|
344
|
+
with
|
327
345
|
$ syctask -w "8:00-18:00" -b "9:00-10:00,14:30-16:00" -m "Team,Status"
|
328
346
|
|
329
347
|
==== Create an agenda
|
@@ -331,7 +349,8 @@ I assign the topics I want to discuss in the meetings to the meetings with
|
|
331
349
|
syctask schedule -a "A:1,3,6;B:3,5"
|
332
350
|
|
333
351
|
==== Start a task
|
334
|
-
To begin I start the first task in the schedule with syctask start -p ID
|
352
|
+
To begin I start the first task in the schedule with syctask start -p ID
|
353
|
+
(where ID is the ID of the planned (-p) tasks)
|
335
354
|
$ syctask start -p 10
|
336
355
|
|
337
356
|
==== End a task
|
@@ -477,6 +496,21 @@ Version 0.1.15
|
|
477
496
|
mark as done or plan
|
478
497
|
* Update command now has a duration flag to set the task's duration
|
479
498
|
|
499
|
+
Version 0.2.0
|
500
|
+
* Migrated from TestUnit to Minitest
|
501
|
+
* Implemented ([![Gem Version](https://badge.fury.io/rb/timeleap.svg)](http://badge.fury.io/rb/timeleap) which allows to specify additional time distances to yesterday, today tomorrow.
|
502
|
+
Time distances come in two flavors as long and short forms.
|
503
|
+
Examples for long forms are
|
504
|
+
+ yesterday|today|tomorrow
|
505
|
+
+ next|previous_monday|tuesday|...|sunday
|
506
|
+
+ monday|tuesday|...|sunday_in|back_1_week|month|year
|
507
|
+
+ in|back_10_days|weeks|months|years
|
508
|
+
Examples for short forms are
|
509
|
+
+ y|tod|tom
|
510
|
+
+ n|pmo|tu|..|su
|
511
|
+
+ mo|tu|...|sui|b1w|m|y
|
512
|
+
+ i|b10d|w|m|y
|
513
|
+
|
480
514
|
==Tests
|
481
515
|
The test files live in the folder test and start with test_.
|
482
516
|
|
data/bin/console_timer
CHANGED
File without changes
|
data/bin/syctask
CHANGED
@@ -131,11 +131,11 @@ command :new do |c|
|
|
131
131
|
|
132
132
|
c.desc 'Follow-up date'
|
133
133
|
c.arg_name 'FOLLOW-UP'
|
134
|
-
c.flag [:f, :follow_up]
|
134
|
+
c.flag [:f, :follow_up]
|
135
135
|
|
136
136
|
c.desc 'Due date'
|
137
137
|
c.arg_name 'DUE'
|
138
|
-
c.flag [:d, :due_date]
|
138
|
+
c.flag [:d, :due_date]
|
139
139
|
|
140
140
|
c.desc 'Description of the task'
|
141
141
|
c.arg_name 'DESCRIPTION'
|
@@ -192,7 +192,7 @@ desc 'Delete tasks from task list or from task plan'
|
|
192
192
|
command :delete do |c|
|
193
193
|
c.desc 'Remove tasks from task plan of today, tomorrow or another date'
|
194
194
|
c.arg_name 'DATE'
|
195
|
-
c.flag :plan
|
195
|
+
c.flag :plan
|
196
196
|
|
197
197
|
c.desc 'IDs of the tasks to remove'
|
198
198
|
c.arg_name 'ID1,ID2,..,IDn'
|
@@ -203,21 +203,8 @@ command :delete do |c|
|
|
203
203
|
plan = options[:plan]
|
204
204
|
filter = [:id]
|
205
205
|
options.keep_if {|key, value| filter.find_index(key) and value != nil}
|
206
|
+
date = extrac_time(plan)
|
206
207
|
if plan
|
207
|
-
case plan
|
208
|
-
when 'today'
|
209
|
-
date = Time.now.strftime("%Y-%m-%d")
|
210
|
-
when 'tomorrow'
|
211
|
-
date = (Time.now + (60*60*24)).strftime("%Y-%m-%d")
|
212
|
-
else
|
213
|
-
if plan.match(/\d{4}-\d{2}-\d{2}/)
|
214
|
-
date = plan
|
215
|
-
elsif nil
|
216
|
-
date = Time.now.strftime("%Y-%m-%d")
|
217
|
-
else
|
218
|
-
help_now! "Arguments may be TODAY, TOMORROW, YYYY-MM-DD or <RETURN>"
|
219
|
-
end
|
220
|
-
end
|
221
208
|
count = @planner.remove_tasks(date, options)
|
222
209
|
STDOUT.puts sprintf("--> removed %d tasks from task plan of %s",
|
223
210
|
count, date).color(:green)
|
@@ -347,7 +334,7 @@ command :plan do |c|
|
|
347
334
|
|
348
335
|
c.desc 'Move planned task to another day'
|
349
336
|
c.arg_name 'DATE'
|
350
|
-
c.flag [:m, :move]
|
337
|
+
c.flag [:m, :move]
|
351
338
|
|
352
339
|
c.desc 'Filter for ID'
|
353
340
|
c.arg_name 'ID1,ID2,ID3|[<|=|>]ID'
|
@@ -392,21 +379,8 @@ command :plan do |c|
|
|
392
379
|
filter = [:id, :tags, :description, :prio, :due_date, :follow_up,
|
393
380
|
:note, :title]
|
394
381
|
options.keep_if {|key, value| filter.find_index(key) and value != nil}
|
395
|
-
|
396
|
-
|
397
|
-
when 'today'
|
398
|
-
date = Time.now.strftime("%Y-%m-%d")
|
399
|
-
when 'tomorrow'
|
400
|
-
date = (Time.now + (60 * 60 * 24)).strftime("%Y-%m-%d")
|
401
|
-
else
|
402
|
-
if args[0].match(/\d{4}-\d{2}-\d{2}/)
|
403
|
-
date = args[0]
|
404
|
-
elsif nil
|
405
|
-
date = Time.now.strftime("%Y-%m-%d")
|
406
|
-
else
|
407
|
-
help_now! "Arguments may be 'today', 'tomorrow', YYYY-MM-DD or <RETURN>"
|
408
|
-
end
|
409
|
-
end
|
382
|
+
|
383
|
+
date = extract_time(args[0])
|
410
384
|
if show
|
411
385
|
count = 0
|
412
386
|
@planner.get_tasks(date, options).each do |task|
|
@@ -594,11 +568,11 @@ command :update do |c|
|
|
594
568
|
|
595
569
|
c.desc 'Follow-up date'
|
596
570
|
c.arg_name 'FOLLOW-UP'
|
597
|
-
c.flag [:f, :follow_up]
|
571
|
+
c.flag [:f, :follow_up]
|
598
572
|
|
599
573
|
c.desc 'Due date'
|
600
574
|
c.arg_name 'DUE'
|
601
|
-
c.flag [:d, :due_date]
|
575
|
+
c.flag [:d, :due_date]
|
602
576
|
|
603
577
|
c.desc 'Duration'
|
604
578
|
c.arg_name 'DURATION'
|
@@ -716,26 +690,27 @@ end
|
|
716
690
|
# the time_string or if time = true in a Time object
|
717
691
|
def extract_time(time_string,time=false)
|
718
692
|
time_string = 'today' if time_string.nil?
|
719
|
-
|
720
|
-
|
721
|
-
date =
|
722
|
-
date =
|
723
|
-
when 'tomorrow'
|
724
|
-
date = Time.now + 60 * 60 * 24
|
725
|
-
date = date.strftime("%Y-%m-%d") unless time
|
726
|
-
when 'yesterday'
|
727
|
-
date = Time.now - (60 * 60 * 24)
|
728
|
-
date = date.strftime("%Y-%m-%d") unless time
|
693
|
+
|
694
|
+
if time_string.match(/\d{4}-\d{2}-\d{2}/)
|
695
|
+
date = time_string
|
696
|
+
date = Time.xmlschema("#{time_string}T00:00:00") if time
|
729
697
|
else
|
730
|
-
|
731
|
-
|
732
|
-
date =
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
"
|
698
|
+
timeleap = SycTimeleap::TimeLeap.new
|
699
|
+
begin
|
700
|
+
date = timeleap.send(time_string)
|
701
|
+
date = date.to_s unless time
|
702
|
+
rescue NoMethodError
|
703
|
+
help_now! "Arguments may be 'time distances', YYYY-MM-DD or <RETURN>\n\n"+
|
704
|
+
"time distances are:\n"+
|
705
|
+
"* yesterday|today|tomorrow\n"+
|
706
|
+
"* next|previous_monday|tuesday|...|sunday\n"+
|
707
|
+
"* in|back_10_days|weeks|months|years\n"+
|
708
|
+
"* monday|tuesday|...|sunday_in|back_1_day|week|month|year\n"+
|
709
|
+
"Short forms are also possible:\n"+
|
710
|
+
"* y|tod|tom\n"+
|
711
|
+
"* n|pmo|tu|we|th|fr|sa|su\n"+
|
712
|
+
"* i|b10d|w|m|y\n"+
|
713
|
+
"* mo|tu|we|th|fr|sa|sui|b1d|w|m|y"
|
739
714
|
end
|
740
715
|
end
|
741
716
|
date
|
data/lib/syctask.rb
CHANGED
@@ -11,6 +11,7 @@ require 'sycutil/console.rb'
|
|
11
11
|
require 'syctime/time_util.rb'
|
12
12
|
require 'syctask/settings.rb'
|
13
13
|
require 'syctask/statistics.rb'
|
14
|
+
require 'syctimeleap/time_leap.rb'
|
14
15
|
|
15
16
|
# Add requires for other files you add to your project here, so
|
16
17
|
# you just need to require this one file in your bin file
|
data/lib/syctask/version.rb
CHANGED
data/lib/syctime/time_util.rb
CHANGED
@@ -50,9 +50,9 @@ module Syctime
|
|
50
50
|
# Time.local(2013,"apr",13,10,50,0). Alternatively time strings can be
|
51
51
|
# provided in the form of "2013-04-13".
|
52
52
|
def date_between?(date, from, to)
|
53
|
-
date = date.strftime("%Y-%m-%d") if date.class == Time
|
54
|
-
from = from.strftime("%Y-%m-%d") if from.class == Time
|
55
|
-
to =
|
53
|
+
date = date.strftime("%Y-%m-%d") if date.class == Time || date.class == Date
|
54
|
+
from = from.strftime("%Y-%m-%d") if from.class == Time || from.class == Date
|
55
|
+
to = to.strftime("%Y-%m-%d") if to.class == Time || to.class == Date
|
56
56
|
time_pattern = /\d{4}-\d{2}-\d{2}/
|
57
57
|
raise ArgumentError if date.scan(time_pattern).empty?
|
58
58
|
raise ArgumentError if from.scan(time_pattern).empty?
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: syc-task
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-06-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -59,6 +59,22 @@ dependencies:
|
|
59
59
|
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: shoulda
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
62
78
|
- !ruby/object:Gem::Dependency
|
63
79
|
name: gli
|
64
80
|
requirement: !ruby/object:Gem::Requirement
|
@@ -77,6 +93,22 @@ dependencies:
|
|
77
93
|
version: 2.5.4
|
78
94
|
- !ruby/object:Gem::Dependency
|
79
95
|
name: rainbow
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - '='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 1.1.4
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - '='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.1.4
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: timeleap
|
80
112
|
requirement: !ruby/object:Gem::Requirement
|
81
113
|
none: false
|
82
114
|
requirements:
|
@@ -94,32 +126,32 @@ dependencies:
|
|
94
126
|
description: ! "= Simple task organizer\nsyctask can be used to create, plan, prioritize
|
95
127
|
and schedule tasks.\n\n==Install\nThe application can be installed with\n $ gem
|
96
128
|
install syc-task\n\n== Usage\nsyctask provides basic task organizer functions as
|
97
|
-
create, update, list and
|
98
|
-
you want to accomplish
|
99
|
-
task you can
|
100
|
-
start and
|
101
|
-
The
|
102
|
-
the planned tasks to the timeline. Busy times are marked red.
|
103
|
-
with associated tasks that are assigned to the meetings.
|
104
|
-
you can print statistical evaluation of tasks
|
105
|
-
with new\nCreate a new task in the default task directory ~/.tasks\n $
|
106
|
-
new \"My first task\"\n\nProvide a description\n $ syctask new \"My first
|
107
|
-
--description \"Explanation of my first task\"\n\nSchedule a task with a
|
108
|
-
and due date\n $ syctask new \"My first task\" --follow-up \"2013-02-25\"
|
109
|
-
\"2013-03-11\"\n\nSet a proirity for a task\n $ syctask new \"My first
|
110
|
-
--prio 3\n\nPrompt for task input\n $ syctask new\nwill prompt for task
|
111
|
-
Ctrl-D will end input.\n\nExcept for --description you can also provide
|
112
|
-
for the options.\n\n===Plan tasks\nThe plan command will print tasks
|
113
|
-
whether to (a)dd or (s)kip the
|
114
|
-
will be add to the today's
|
115
|
-
will be printed and the
|
116
|
-
plan without filter\n $ syctask plan\n 1 - My first task\n
|
117
|
-
(s)kip, (q)uit? a\n Duration (1 = 15 minutes, return 30
|
118
|
-
1 task(s) planned\n\nInvoke plan with a filter\n $ syctask
|
119
|
-
\
|
120
|
-
days plan\n $ syctask plan today --move tomorrow --id 3,5\n\nThis
|
121
|
-
tasks with ID 3 and 5 from the today's plan to the tomorrow's
|
122
|
-
will be set to the remaining processing time but at least to\n30 minutes.\n\n===Prioritize
|
129
|
+
create, update, list and \ncomplete a task. Additional functions are to plan tasks
|
130
|
+
you want to accomplish \ntoday. If you are not sure in which sequence to conduct
|
131
|
+
the task you can \nprioritize them with a pair wise comparisson. You can time tasks
|
132
|
+
with start and \nstop and you can finally extract tasks from a minutes of meetings
|
133
|
+
file. The \nschedule task command will print a graphical timeline of the working
|
134
|
+
day \nassigning the planned tasks to the timeline. Busy times are marked red. \nMeetings
|
135
|
+
are listed with associated tasks that are assigned to the meetings. \nWith the statistics
|
136
|
+
command you can print statistical evaluation of tasks \nduration and count.\n\n===Create
|
137
|
+
tasks with new\nCreate a new task in the default task directory ~/.tasks\n $
|
138
|
+
syctask new \"My first task\"\n\nProvide a description\n $ syctask new \"My first
|
139
|
+
task\" --description \"Explanation of my first task\"\n\nSchedule a task with a
|
140
|
+
follow-up and due date\n $ syctask new \"My first task\" --follow-up \"2013-02-25\"
|
141
|
+
--due \"2013-03-11\"\n\nSet a proirity for a task\n $ syctask new \"My first
|
142
|
+
task\" --prio 3\n\nPrompt for task input\n $ syctask new\nwill prompt for task
|
143
|
+
titles. Ctrl-D will end input.\n\nExcept for --description you can also provide
|
144
|
+
short forms for the options.\n\n===Plan tasks\nThe plan command will print tasks
|
145
|
+
and prompts whether to (a)dd or (s)kip the \ntask. If (q)uit is selected the tasks
|
146
|
+
already added will be add to the today's \ntask list. If (c)omplete is selected
|
147
|
+
the complete task will be printed and the \nuser will be prompted again for adding
|
148
|
+
the task.\n\nInvoke plan without filter\n $ syctask plan\n 1 - My first task\n
|
149
|
+
\ (a)dd, (c)omplete, (s)kip, (q)uit? a\n Duration (1 = 15 minutes, return 30
|
150
|
+
minutes): 3\n --> 1 task(s) planned\n\nInvoke plan with a filter\n $ syctask
|
151
|
+
plan --id \"1,3,5,8\"\n 1 - My first task\n (a)dd, (c)omplete, (s)kip, (q)uit?\n\nMove
|
152
|
+
tasks to another days plan\n $ syctask plan today --move tomorrow --id 3,5\n\nThis
|
153
|
+
will move the tasks with ID 3 and 5 from the today's plan to the tomorrow's \nplan.
|
154
|
+
The duration will be set to the remaining processing time but at least to\n30 minutes.\n\n===Prioritize
|
123
155
|
tasks\nPlanned tasks can be prioritized in a pair wise comparisson. So each task
|
124
156
|
is\ncompared to all other tasks. The task with the highest priority will bubble
|
125
157
|
on\ntop followed by the task with the next highest priority and so on.\n\n $
|
@@ -135,21 +167,21 @@ description: ! "= Simple task organizer\nsyctask can be used to create, plan, pr
|
|
135
167
|
order\n Tasks\n -----\n 0: 7 - My third task\n 1: 3 - My first task\n
|
136
168
|
\ 2: 10 - My fourth task\n 3: 9 - My second task\n\nIf only a part of the
|
137
169
|
tasks is provided the rest of the tasks is appended to\nthe end of the task plan.
|
138
|
-
If you specify a position flag the prioritized tasks
|
139
|
-
|
140
|
-
\
|
141
|
-
schedule\nThe schedule command will print a graphical schedule
|
142
|
-
tasks\nselected with plan. When schedule command is invoked the
|
143
|
-
\nadded at or after the current time within the time schedule.
|
144
|
-
scheduled in the future are not shown. Tasks done and in
|
145
|
-
the actual processing time.\n\nCreate a schedule with working
|
146
|
-
6p.m. and meetings between\n9a.m. and 9.30a.m. and 1p.m. and
|
147
|
-
schedule -w \"8:00-18:00\" -b \"9:00-9:30,13:00-14:45\"\n\nAdd
|
148
|
-
\
|
149
|
-
be\n Meetings\n --------\n A - Project status\n B - Management
|
150
|
-
\
|
151
|
-
\
|
152
|
-
1: My first task\n\nAdding a task to a meeting\n $ syctask schedule -a \"A:0\"\n\nwill
|
170
|
+
If you specify a position flag the prioritized tasks \nare added at the provided
|
171
|
+
position.\n $ syctask plan -o 7,9 -p 2\n Tasks\n -----\n 0: 3 - My
|
172
|
+
first task\n 1: 10 - My fourth task\n 2: 7 - My third task\n 3: 9 - My
|
173
|
+
second task\n\n===Create schedule\nThe schedule command will print a graphical schedule
|
174
|
+
with assigning the tasks\nselected with plan. When schedule command is invoked the
|
175
|
+
planned tasks are \nadded at or after the current time within the time schedule.
|
176
|
+
Tasks that are done\nand scheduled in the future are not shown. Tasks done and in
|
177
|
+
the past are shown\nwith the actual processing time.\n\nCreate a schedule with working
|
178
|
+
time from 8a.m. to 6p.m. and meetings between\n9a.m. and 9.30a.m. and 1p.m. and
|
179
|
+
2.45p.m.\n $ syctask schedule -w \"8:00-18:00\" -b \"9:00-9:30,13:00-14:45\"\n\nAdd
|
180
|
+
titles to the meetings\n $ syctask schedule -m \"Project status,Management meeting\"\n\nThe
|
181
|
+
output will be\n Meetings\n --------\n A - Project status\n B - Management
|
182
|
+
meeting\n\n A B\n xxx-///-|---|---|---///////-|---|---|---|\n
|
183
|
+
\ 8 9 10 11 12 13 14 15 16 17 18\n 1\n\n Tasks\n -----\n 0
|
184
|
+
- 1: My first task\n\nAdding a task to a meeting\n $ syctask schedule -a \"A:0\"\n\nwill
|
153
185
|
print\n Meetings\n --------\n A - Project status\n 1 - My first
|
154
186
|
task\n B - Management meeting\n\n A B\n ----///-|---|---|---///////-|---|---|---|\n
|
155
187
|
\ 8 9 10 11 12 13 14 15 16 17 18\n \n\n Tasks\n -----\n 0:
|
@@ -174,8 +206,8 @@ description: ! "= Simple task organizer\nsyctask can be used to create, plan, pr
|
|
174
206
|
tasks with ID 8 and 12 from the planned tasks of today. The tasks are\nonly removed
|
175
207
|
from the planned tasks and not physically deleted.\n $ syctask delete --plan
|
176
208
|
today --id 8,12\n\n===Settings\nThe settings command allows to define default values
|
177
|
-
for task directory and to
|
178
|
-
and later statistical
|
209
|
+
for task directory and to \ncreate general purpose tasks that can be used for tracking
|
210
|
+
and later statistical \nevaluation.\n\nCreate general purpose tasks for phone and
|
179
211
|
talk\n $ syctask setting --general PHONE,TALK\n\nList all settings\n $ syctask
|
180
212
|
setting --list\n\n===Info\nInfo searches for the location of a task and lists all
|
181
213
|
task directories\n\nSearch for task with id 102\n $ syctask info --id 102\n\nList
|
@@ -188,7 +220,7 @@ description: ! "= Simple task organizer\nsyctask can be used to create, plan, pr
|
|
188
220
|
the command finds\nor creates the tasks. The default task directory is ~/.tasks,
|
189
221
|
so if no task\ndirectory is specified all commands obtain tasks from or create tasks
|
190
222
|
in\n~/.tasks. If a project is specified the tasks will be saved to or obtained from
|
191
|
-
|
223
|
+
\nthe task directories subdirectory specified with the --project flag.\n\n --taskdir
|
192
224
|
\ --project Tasks in\n - - default_task_dir\n x -
|
193
225
|
\ task_dir\n - x default_task_dir/project\n x x
|
194
226
|
\ task_dir/project\n\nIn the table the relation of commands to --taskdir and
|
@@ -210,18 +242,18 @@ description: ! "= Simple task organizer\nsyctask can be used to create, plan, pr
|
|
210
242
|
The files are\nsaved as YAML files and can be edited directly.\n\n* Planned tasks
|
211
243
|
files\nThe planned tasks are save to YYYY-MM-DD_planned_tasks in syctask's system\ndirectory.
|
212
244
|
Each task is saved with the task's directory and the ID.\n\n* Schedule files\nThe
|
213
|
-
schedule is saved to YYYY-MM-DD_time_schedule in the default task directory
|
245
|
+
schedule is saved to YYYY-MM-DD_time_schedule in the default task directory.\nThe
|
214
246
|
files are saved as YAML files and can be changed manually.\n\n* Log file\nCreating
|
215
|
-
schedule and task processings is logged to tasks.log. For example when
|
216
|
-
started and stopped this is action is saved to tasks.log.\n\n* Tracked file\nA
|
217
|
-
task is saved to tracked_tasks. A semaphore file is created with\nID.track
|
218
|
-
the task ID is started. When the task is stopped the semaphore\nfile is deleted.\n\n*
|
247
|
+
schedule and task processings is logged to tasks.log. For example when \na task
|
248
|
+
is started and stopped this is action is saved to tasks.log.\n\n* Tracked file\nA
|
249
|
+
started task is saved to tracked_tasks. A semaphore file is created with\nID.track
|
250
|
+
when the task ID is started. When the task is stopped the semaphore\nfile is deleted.\n\n*
|
219
251
|
General purpose tasks\nWith syctask setting -g PHONE so called general purpose tasks
|
220
252
|
can be created.\nThese tasks can be used for time tracking and later statistic evaluation
|
221
253
|
to\ndetermine the amount of disturbences e.g. by phone. These tasks are saved to\ndefault_tasks.
|
222
254
|
The general purpose tasks itself are also saved to the\n.syc/syctask directory as
|
223
255
|
regular task files.\n\n* Default task dir\nThe default task that is used e.g. with
|
224
|
-
list is saved to default_tasks_dir.
|
256
|
+
list is saved to default_tasks_dir. \nThis can be set with the setting command.\n\n==Working
|
225
257
|
with syctask\nTo work with syctask and get the most out of it there is to follow
|
226
258
|
a certain\nprocess.\n\n===Creating a schedule\n==== View tasks\nIn the morning before
|
227
259
|
I start to work I scan my tasks with syctask list or \nsyctask inspect to get an
|
@@ -230,11 +262,11 @@ description: ! "= Simple task organizer\nsyctask can be used to create, plan, pr
|
|
230
262
|
I will filter for the respective tasks\n $ syctask plan\n\n==== Prioritize tasks
|
231
263
|
(optionally)\nIf I want to process the tasks in a specific sequence I prioritize
|
232
264
|
the tasks\nwith \n $ syctask prio\n\n==== Create schedule\nI create a schedule
|
233
|
-
with my working hours and meetings that have been scheduled
|
265
|
+
with my working hours and meetings that have been scheduled \nwith \n $ syctask
|
234
266
|
-w \"8:00-18:00\" -b \"9:00-10:00,14:30-16:00\" -m \"Team,Status\"\n\n==== Create
|
235
267
|
an agenda\nI assign the topics I want to discuss in the meetings to the meetings
|
236
268
|
with\n syctask schedule -a \"A:1,3,6;B:3,5\"\n \n==== Start a task\nTo begin
|
237
|
-
I start the first task in the schedule with syctask start -p ID (where ID is the
|
269
|
+
I start the first task in the schedule with syctask start -p ID \n(where ID is the
|
238
270
|
ID of the planned (-p) tasks)\n $ syctask start -p 10\n\n==== End a task\nTo
|
239
271
|
end the task I invoke \n $ syctask stop\nThis will stop the last started task\n\n====
|
240
272
|
Re-schedule a task\nIf I cannot finish a task than I update the task with a new
|
@@ -305,9 +337,16 @@ description: ! "= Simple task organizer\nsyctask can be used to create, plan, pr
|
|
305
337
|
task file. If the id is not \n contained in the ids file the task is looked up
|
306
338
|
in the provided directory\n* Inspect command allows to list each today's unplanned
|
307
339
|
task to edit, delete,\n mark as done or plan\n* Update command now has a duration
|
308
|
-
flag to set the task's duration\n\n
|
309
|
-
|
310
|
-
|
340
|
+
flag to set the task's duration\n\nVersion 0.2.0\n* Migrated from TestUnit to Minitest\n*
|
341
|
+
Implemented ([![Gem Version](https://badge.fury.io/rb/timeleap.svg)](http://badge.fury.io/rb/timeleap)
|
342
|
+
which allows to specify additional time distances to yesterday, today tomorrow.
|
343
|
+
\n Time distances come in two flavors as long and short forms.\n Examples for
|
344
|
+
long forms are\n + yesterday|today|tomorrow\n + next|previous_monday|tuesday|...|sunday\n
|
345
|
+
\ + monday|tuesday|...|sunday_in|back_1_week|month|year\n + in|back_10_days|weeks|months|years\n
|
346
|
+
\ Examples for short forms are\n + y|tod|tom\n + n|pmo|tu|..|su\n + mo|tu|...|sui|b1w|m|y\n
|
347
|
+
\ + i|b10d|w|m|y\n \n==Tests\nThe test files live in the folder test and start
|
348
|
+
with test_.\n\nThere is a rake file available to run all tests\n\n $ rake test\n
|
349
|
+
\ \n==License\nsyc-task is released under the {MIT License}[http://opensource.org/licenses/MIT]\n\n==Links\n*
|
311
350
|
[http://www.github.com/sugaryourcoffee/syc-task] - Source code on GitHub\n* [http://syc.dyndns.org/drupal/wiki/syc-task]
|
312
351
|
- Development notebook\n* [https://rubygems.org/gems/syc-backup] - RubyGems\n"
|
313
352
|
email: pierre@sugaryourcoffee.de
|
@@ -367,7 +406,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
367
406
|
version: '0'
|
368
407
|
requirements: []
|
369
408
|
rubyforge_project:
|
370
|
-
rubygems_version: 1.8.
|
409
|
+
rubygems_version: 1.8.23
|
371
410
|
signing_key:
|
372
411
|
specification_version: 3
|
373
412
|
summary: Simple task organizer
|