doing 1.0.19 → 1.0.20
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.
- checksums.yaml +4 -4
- data/README.md +17 -4
- data/bin/doing +22 -0
- data/lib/doing/version.rb +1 -1
- data/lib/doing/wwid.rb +25 -25
- data/lib/doing.rb +0 -1
- data/lib/templates/doing.css +169 -0
- data/lib/templates/doing.haml +25 -0
- metadata +13 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b9c612dd40f383ef86320a0484b1ed9408fa761f13346f1ba64133ce94966fca
|
4
|
+
data.tar.gz: 5d5ef023946246e76a94bb726f3db8f623137a0930771d11c3dc180465c219a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: baae64a38314c2a406852a8479c3525fd287100aa738e538051e2f94848a1352d1f8ebbc8e3ed6b3136a9a3c5d49a6b28a6c1f53898a3bd0a26430505b907eda
|
7
|
+
data.tar.gz: 1b1c6af8c049e7c3f7e3eb9407e89af9f19e714b4ae3b740fe95b252515be5def9ed539e5df5a61d965440a2c4b7d2570bbf83ef126e7403e454714e97072dfc
|
data/README.md
CHANGED
@@ -91,7 +91,7 @@ A basic configuration looks like this:
|
|
91
91
|
:include_notes: true
|
92
92
|
|
93
93
|
|
94
|
-
The config file is stored in `~/.doingrc`, and is created on the first run.
|
94
|
+
The config file is stored in `~/.doingrc`, and a skeleton file is created on the first run. Just run `doing` on its own to create the file.
|
95
95
|
|
96
96
|
### Per-folder configuration
|
97
97
|
|
@@ -312,6 +312,14 @@ And a few special colors you'll just have to try out to see:
|
|
312
312
|
|
313
313
|
Any time you use one of the foreground colors it will reset the bold and background settings to their default automatically. You can force a reset to default terminal colors using `%default`.
|
314
314
|
|
315
|
+
### HTML Templates
|
316
|
+
|
317
|
+
For commands that provide an HTML output option, you can customize the templates used for markup and CSS. The markup uses [HAML](http://haml.info/), and the styles are pure CSS.
|
318
|
+
|
319
|
+
To export the default configurations for customization, use `doing templates --type=[HAML|CSS]`. This will output to STDOUT where you can pipe it to a file, e.g. `doing templates --type=HAML > my_template.haml`. You can modify the markup, the CSS, or both.
|
320
|
+
|
321
|
+
Once you have either or both of the template files, edit `.doingrc` and look for the `html_template:` section. There are two subvalues, `haml:` and `css:`. Add the path to the templates you want to use. A tilde may be substituted for your home directory, e.g. `css: ~/styles/doing.css`.
|
322
|
+
|
315
323
|
## Usage
|
316
324
|
|
317
325
|
doing [global options] command [command options] [arguments...]
|
@@ -540,12 +548,19 @@ Feel free to [poke around](http://github.com/ttscoff/doing/), I'll try to add mo
|
|
540
548
|
|
541
549
|
## Changelog
|
542
550
|
|
551
|
+
#### 1.0.20
|
552
|
+
|
553
|
+
- Rewrite HTML export templates with responsive layout and typography
|
554
|
+
- Ability to customize the HTML output using HAML and CSS
|
555
|
+
- New command `doing templates` to export default templates for HAML and CSS
|
556
|
+
- New config options under `html_template` for `haml` and `css`
|
557
|
+
|
543
558
|
#### 1.0.19
|
544
559
|
|
545
560
|
- For `doing note -e` include the entry title so you know what you're adding a note to
|
546
561
|
- For any other command that allows `-e` include a comment noting that anything after the first line creates a note
|
547
562
|
- Ignore # comments when parsing editor results
|
548
|
-
|
563
|
+
- Add a .md extension to the temp file passed to the editor so you can take advantage of any syntax highlighting and other features in your editor
|
549
564
|
|
550
565
|
#### 1.0.18
|
551
566
|
|
@@ -692,8 +707,6 @@ Catching up on the changelog. Kind of. A lot has happened, mostly fixes.
|
|
692
707
|
- fuzzy section guessing when specified section isn't found
|
693
708
|
- fuzzy view guessing for `doing view` command
|
694
709
|
|
695
|
-
----
|
696
|
-
|
697
710
|
#### 0.1.9
|
698
711
|
|
699
712
|
- colors in templated output
|
data/bin/doing
CHANGED
@@ -226,6 +226,28 @@ command :meanwhile do |c|
|
|
226
226
|
end
|
227
227
|
end
|
228
228
|
|
229
|
+
desc 'Output HTML templates for customization. Save them to files and use them in the configuration file under html_template'
|
230
|
+
command :templates do |c|
|
231
|
+
c.desc "Type of template to output (HAML|CSS)"
|
232
|
+
c.arg_name 'template_type'
|
233
|
+
c.flag [:t,:type]
|
234
|
+
|
235
|
+
c.action do |global_options,options,args|
|
236
|
+
unless options[:type]
|
237
|
+
raise "No type specified, use --type=[HAML|CSS]"
|
238
|
+
else
|
239
|
+
if options[:t] =~ /html|haml/i
|
240
|
+
$stdout.puts wwid.haml_template
|
241
|
+
elsif options[:t] =~ /css/i
|
242
|
+
$stdout.puts wwid.css_template
|
243
|
+
else
|
244
|
+
raise "Invalid type specified, use --type=[HAML|CSS]"
|
245
|
+
end
|
246
|
+
end
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
250
|
+
|
229
251
|
desc 'Add an item to the Later section'
|
230
252
|
arg_name 'entry'
|
231
253
|
command :later do |c|
|
data/lib/doing/version.rb
CHANGED
data/lib/doing/wwid.rb
CHANGED
@@ -54,6 +54,11 @@ class WWID
|
|
54
54
|
@config['doing_file'] ||= "~/what_was_i_doing.md"
|
55
55
|
@config['current_section'] ||= 'Currently'
|
56
56
|
@config['editor_app'] ||= nil
|
57
|
+
|
58
|
+
@config['html_template'] ||= {}
|
59
|
+
@config['html_template']['haml'] ||= nil
|
60
|
+
@config['html_template']['css'] ||= nil
|
61
|
+
|
57
62
|
@config['templates'] ||= {}
|
58
63
|
@config['templates']['default'] ||= {
|
59
64
|
'date_format' => '%Y-%m-%d %H:%M',
|
@@ -173,6 +178,14 @@ class WWID
|
|
173
178
|
}
|
174
179
|
end
|
175
180
|
|
181
|
+
def haml_template
|
182
|
+
IO.read(File.join(File.dirname(__FILE__), '../templates/doing.haml'))
|
183
|
+
end
|
184
|
+
|
185
|
+
def css_template
|
186
|
+
IO.read(File.join(File.dirname(__FILE__), '../templates/doing.css'))
|
187
|
+
end
|
188
|
+
|
176
189
|
def create(filename=nil)
|
177
190
|
if filename.nil?
|
178
191
|
filename = @doing_file
|
@@ -960,31 +973,18 @@ EOTEMPLATE
|
|
960
973
|
}
|
961
974
|
}
|
962
975
|
|
963
|
-
|
964
|
-
|
965
|
-
|
966
|
-
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
971
|
-
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
%article
|
976
|
-
%ul
|
977
|
-
- @items.each do |i|
|
978
|
-
%li
|
979
|
-
%span.date= i[:date]
|
980
|
-
= i[:title]
|
981
|
-
%span.section= i[:section]
|
982
|
-
- if i[:time] && i[:time] != "00:00:00"
|
983
|
-
%span.time= i[:time]
|
984
|
-
- if i[:note]
|
985
|
-
%span.note= i[:note].map{|n| n.strip }.join('<br>')
|
986
|
-
= @totals
|
987
|
-
EOT
|
976
|
+
if @config['html_template']['haml'] && File.exists?(File.expand_path(@config['html_template']['haml']))
|
977
|
+
template = IO.read(File.expand_path(@config['html_template']['haml']))
|
978
|
+
else
|
979
|
+
template = haml_template
|
980
|
+
end
|
981
|
+
|
982
|
+
if @config['html_template']['css'] && File.exists?(File.expand_path(@config['html_template']['css']))
|
983
|
+
style = IO.read(File.expand_path(@config['html_template']['css']))
|
984
|
+
else
|
985
|
+
style = css_template
|
986
|
+
end
|
987
|
+
|
988
988
|
totals = opt[:totals] ? tag_times("html") : ""
|
989
989
|
engine = Haml::Engine.new(template)
|
990
990
|
puts engine.render(Object.new, { :@items => items_out, :@page_title => page_title, :@style => style, :@totals => totals })
|
data/lib/doing.rb
CHANGED
@@ -0,0 +1,169 @@
|
|
1
|
+
body {
|
2
|
+
background: #fff;
|
3
|
+
color: #333;
|
4
|
+
font-family: Helvetica,arial,freesans,clean,sans-serif;
|
5
|
+
font-size: 21px;
|
6
|
+
line-height: 1.5;
|
7
|
+
text-align: justify;
|
8
|
+
}
|
9
|
+
|
10
|
+
@media only screen and (max-width: 900px) {
|
11
|
+
body {
|
12
|
+
font-size: calc(12px + 1vw);
|
13
|
+
}
|
14
|
+
|
15
|
+
.date,
|
16
|
+
.note {
|
17
|
+
font-size: calc(8px + 1vw)!important;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
h1 {
|
22
|
+
margin-bottom: 1em;
|
23
|
+
margin-left: .1em;
|
24
|
+
position: relative;
|
25
|
+
text-align: left;
|
26
|
+
}
|
27
|
+
|
28
|
+
ul {
|
29
|
+
list-style-position: outside;
|
30
|
+
position: relative;
|
31
|
+
text-align: left;
|
32
|
+
padding-left: 0;
|
33
|
+
}
|
34
|
+
|
35
|
+
article > ul > li {
|
36
|
+
display: grid;
|
37
|
+
grid-template-columns: 14ch auto;
|
38
|
+
line-height: 1.2;
|
39
|
+
list-style-type: none;
|
40
|
+
padding-left: 10px;
|
41
|
+
position: relative;
|
42
|
+
word-break: break-word;
|
43
|
+
transition: background .2s ease-in-out;
|
44
|
+
}
|
45
|
+
|
46
|
+
article > ul > li:hover {
|
47
|
+
background: rgba(150,150,150,.05);
|
48
|
+
}
|
49
|
+
|
50
|
+
.date {
|
51
|
+
color: #7d9ca2;
|
52
|
+
font-size: 14px;
|
53
|
+
padding: 15px 1ch 0 0;
|
54
|
+
text-align: right;
|
55
|
+
white-space: nowrap;
|
56
|
+
transition: color .2s ease-in-out;
|
57
|
+
}
|
58
|
+
|
59
|
+
.entry {
|
60
|
+
border-left: solid 1px #ccc;
|
61
|
+
line-height: 1.2;
|
62
|
+
padding: 10px 10px 10px 3ch;
|
63
|
+
text-indent: -2ch;
|
64
|
+
}
|
65
|
+
|
66
|
+
.tag {
|
67
|
+
color: #999;
|
68
|
+
transition: color 1s ease-in;
|
69
|
+
}
|
70
|
+
|
71
|
+
.note {
|
72
|
+
color: #aaa;
|
73
|
+
display: block;
|
74
|
+
font-size: 16px;
|
75
|
+
line-height: 1.1;
|
76
|
+
padding: 1em 0 0 2ch;
|
77
|
+
position: relative;
|
78
|
+
transition: color .2s ease-in-out;
|
79
|
+
}
|
80
|
+
|
81
|
+
li:hover .note {
|
82
|
+
color: #777;
|
83
|
+
}
|
84
|
+
|
85
|
+
li:hover .tag {
|
86
|
+
color: rgb(182, 120, 125);
|
87
|
+
}
|
88
|
+
|
89
|
+
li:hover .date {
|
90
|
+
color: rgb(100, 169, 165);
|
91
|
+
}
|
92
|
+
|
93
|
+
.note li {
|
94
|
+
margin-bottom: .5em;
|
95
|
+
list-style: none;
|
96
|
+
position: relative;
|
97
|
+
}
|
98
|
+
|
99
|
+
.note li:before {
|
100
|
+
color: #ddd;
|
101
|
+
content: '\25BA';
|
102
|
+
font-size: 12px;
|
103
|
+
font-weight: 300;
|
104
|
+
left: -3ch;
|
105
|
+
position: absolute;
|
106
|
+
top: .25em;
|
107
|
+
}
|
108
|
+
|
109
|
+
.time {
|
110
|
+
background: #f9fced;
|
111
|
+
border-bottom: dashed 1px #ccc;
|
112
|
+
color: #729953;
|
113
|
+
font-size: 15px;
|
114
|
+
margin-right: 4px;
|
115
|
+
padding: 0 5px;
|
116
|
+
position: relative;
|
117
|
+
text-align: right;
|
118
|
+
}
|
119
|
+
|
120
|
+
table td {
|
121
|
+
border-bottom: solid 1px #ddd;
|
122
|
+
height: 24px;
|
123
|
+
}
|
124
|
+
|
125
|
+
caption {
|
126
|
+
border-bottom: solid 1px #aaa;
|
127
|
+
margin: 10px 0;
|
128
|
+
text-align: left;
|
129
|
+
}
|
130
|
+
|
131
|
+
table {
|
132
|
+
margin: 50px 0 0 211px;
|
133
|
+
width: 400px;
|
134
|
+
}
|
135
|
+
|
136
|
+
th {
|
137
|
+
padding-bottom: 10px;
|
138
|
+
}
|
139
|
+
|
140
|
+
th, td {
|
141
|
+
padding-right: 20px;
|
142
|
+
}
|
143
|
+
|
144
|
+
table {
|
145
|
+
margin: 50px 0 2em 16ch;
|
146
|
+
max-width: 400px;
|
147
|
+
}
|
148
|
+
|
149
|
+
.section {
|
150
|
+
border-left: solid 1px rgb(182, 120, 125);
|
151
|
+
border-radius: 25px;
|
152
|
+
border-right: solid 1px rgb(182, 120, 125);
|
153
|
+
color: rgb(182, 120, 125);
|
154
|
+
font-size: .8em;
|
155
|
+
line-height: 1 !important;
|
156
|
+
padding: 0 4px;
|
157
|
+
transition: background .4s ease-in, color .4s ease-in;
|
158
|
+
}
|
159
|
+
|
160
|
+
li:hover .section {
|
161
|
+
color: #fff;
|
162
|
+
background: rgb(182, 120, 125);
|
163
|
+
}
|
164
|
+
|
165
|
+
a:link {
|
166
|
+
background-color: rgba(203, 255, 251, .15);
|
167
|
+
color: #64a9a5;
|
168
|
+
text-decoration: none;
|
169
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
!!!
|
2
|
+
%html
|
3
|
+
%head
|
4
|
+
%meta{"charset" => "utf-8"}/
|
5
|
+
%meta{"content" => "IE=edge,chrome=1", "http-equiv" => "X-UA-Compatible"}/
|
6
|
+
%title what are you doing?
|
7
|
+
%style= @style
|
8
|
+
%body
|
9
|
+
%header
|
10
|
+
%h1= @page_title
|
11
|
+
%article
|
12
|
+
%ul
|
13
|
+
- @items.each do |i|
|
14
|
+
%li
|
15
|
+
%span.date= i[:date]
|
16
|
+
%div.entry
|
17
|
+
= i[:title]
|
18
|
+
%span.section= i[:section]
|
19
|
+
- if i[:time] && i[:time] != "00:00:00"
|
20
|
+
%span.time= i[:time]
|
21
|
+
- if i[:note]
|
22
|
+
%ul.note
|
23
|
+
- i[:note].map{|n| n.strip }.each do |li|
|
24
|
+
%li= li
|
25
|
+
= @totals
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brett Terpstra
|
@@ -96,16 +96,22 @@ dependencies:
|
|
96
96
|
name: haml
|
97
97
|
requirement: !ruby/object:Gem::Requirement
|
98
98
|
requirements:
|
99
|
-
- -
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 5.0.0
|
102
|
+
- - "~>"
|
100
103
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
104
|
+
version: 5.0.0
|
102
105
|
type: :runtime
|
103
106
|
prerelease: false
|
104
107
|
version_requirements: !ruby/object:Gem::Requirement
|
105
108
|
requirements:
|
106
|
-
- -
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 5.0.0
|
112
|
+
- - "~>"
|
107
113
|
- !ruby/object:Gem::Version
|
108
|
-
version:
|
114
|
+
version: 5.0.0
|
109
115
|
- !ruby/object:Gem::Dependency
|
110
116
|
name: chronic
|
111
117
|
requirement: !ruby/object:Gem::Requirement
|
@@ -181,6 +187,8 @@ files:
|
|
181
187
|
- lib/doing.rb
|
182
188
|
- lib/doing/version.rb
|
183
189
|
- lib/doing/wwid.rb
|
190
|
+
- lib/templates/doing.css
|
191
|
+
- lib/templates/doing.haml
|
184
192
|
homepage: http://brettterpstra.com/project/doing/
|
185
193
|
licenses:
|
186
194
|
- MIT
|