syc-task 0.1.15 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 ([](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 ([](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
|