├── .gitignore
├── CHANGES.txt
├── Howdoi.alfredworkflow
├── LICENSE
├── README.md
├── icon.png
├── images
└── howdoi-alfred-window.png
└── info.plist
/.gitignore:
--------------------------------------------------------------------------------
1 | prefs.plist
2 | .DS_Store
3 |
--------------------------------------------------------------------------------
/CHANGES.txt:
--------------------------------------------------------------------------------
1 | 0.0.2
2 | ------
3 | - Added support for optional large type and opening URLs with ⌘↩
4 |
5 | 0.0.1
6 | ------
7 | - Hello World!
8 |
--------------------------------------------------------------------------------
/Howdoi.alfredworkflow:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gleitz/alfred-howdoi/1e4c8df441f9727d5742b9820f06e5b9c0efa0e8/Howdoi.alfredworkflow
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Benjamin Gleitzman
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | # howdoi
8 |
9 | ## Instant coding answers via Alfred
10 |
11 | ⚡ Never open your browser to look for help again ⚡
12 |
13 | ## Introduction to howdoi
14 |
15 | Are you a hack programmer? Do you find yourself constantly Googling for
16 | how to do basic programming tasks?
17 |
18 | Suppose you want to know how to format a date in bash. Why open your
19 | browser and read through blogs (risking major distraction) when you can
20 | simply stay in Alfred and ask:
21 |
22 | $ howdoi properly use tar command
23 | > tar -czf /tmp/workspace.tar.gz .
24 |
25 | ## Installation
26 |
27 | - Make sure howdoi is installed on your machine with `brew install howdoi`.
28 | - Install [howdoi for Alfred](the https://alfred.app/workflows/gleitz/howdoi/) from the Alfred Gallery.
29 |
30 | ## Usage
31 |
32 | Invoke the Alfred workflow with the keyword Question Keyword (default: `howdoi`) and then your query. The output will be shown as large type and also copied to the clipboard. Use ⌘↩ to open the answer's web page instead.
33 |
34 | 
35 |
36 | New to howdoi? You can get started by running:
37 |
38 | howdoi howdoi
39 |
40 | ## Notes
41 |
42 | If `howdoi` is installed to a non-standard Homebrew location (or with `pip`) then you need to tell Alfred about your appropriate `PATH`.
43 |
44 | - Open the Workflow in Alfred
45 | - Click "prepare workflow configuration" in the top right (the icon looks like `(x)`)
46 | - Select the "Environment Variables" tab
47 | - Make a new entry with name `PATH` and value as the text output of entering `echo $PATH` in a terminal (e.g. `/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/username/.homebrew/bin`)
48 |
49 | ## Useful Links
50 |
51 | - [howdoi](https://github.com/gleitz/howdoi/) github page
52 |
--------------------------------------------------------------------------------
/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gleitz/alfred-howdoi/1e4c8df441f9727d5742b9820f06e5b9c0efa0e8/icon.png
--------------------------------------------------------------------------------
/images/howdoi-alfred-window.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gleitz/alfred-howdoi/1e4c8df441f9727d5742b9820f06e5b9c0efa0e8/images/howdoi-alfred-window.png
--------------------------------------------------------------------------------
/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | bundleid
6 | com.gleitzman.howdoi
7 | connections
8 |
9 | 59A90524-0AB4-45CD-9BD9-642C53C9826B
10 |
11 | 62E18CD4-113F-4B75-BB04-9E8F61F4EA84
12 |
13 | 84E8677F-3EF2-4489-ACE5-31C54323E398
14 |
15 |
16 | destinationuid
17 | 62E18CD4-113F-4B75-BB04-9E8F61F4EA84
18 | modifiers
19 | 0
20 | modifiersubtext
21 |
22 | sourceoutputuid
23 | DA9817A7-4BA4-4680-9D0D-6914F0DF1A04
24 | vitoclose
25 |
26 |
27 |
28 | 8F30E883-4C9A-4ECD-A412-B27F3FEB3A23
29 |
30 |
31 | destinationuid
32 | 0D390F5D-AC85-4455-BAD0-170CC0F9D545
33 | modifiers
34 | 0
35 | modifiersubtext
36 |
37 | vitoclose
38 |
39 |
40 |
41 | A91D4A20-800F-4739-B887-4AD9FDD3C5F7
42 |
43 |
44 | destinationuid
45 | 59A90524-0AB4-45CD-9BD9-642C53C9826B
46 | modifiers
47 | 0
48 | modifiersubtext
49 |
50 | vitoclose
51 |
52 |
53 |
54 | destinationuid
55 | 84E8677F-3EF2-4489-ACE5-31C54323E398
56 | modifiers
57 | 0
58 | modifiersubtext
59 |
60 | vitoclose
61 |
62 |
63 |
64 | D866DA1D-5E55-49F2-AF16-AB9C87C22355
65 |
66 |
67 | destinationuid
68 | A91D4A20-800F-4739-B887-4AD9FDD3C5F7
69 | modifiers
70 | 0
71 | modifiersubtext
72 |
73 | vitoclose
74 |
75 |
76 |
77 | destinationuid
78 | 8F30E883-4C9A-4ECD-A412-B27F3FEB3A23
79 | modifiers
80 | 1048576
81 | modifiersubtext
82 | Open answer web page
83 | vitoclose
84 |
85 |
86 |
87 |
88 | createdby
89 | Benjamin Gleitzman
90 | description
91 | Instant coding answers
92 | disabled
93 |
94 | name
95 | Howdoi
96 | objects
97 |
98 |
99 | config
100 |
101 | autopaste
102 |
103 | clipboardtext
104 |
105 | ignoredynamicplaceholders
106 |
107 | transient
108 |
109 |
110 | type
111 | alfred.workflow.output.clipboard
112 | uid
113 | 59A90524-0AB4-45CD-9BD9-642C53C9826B
114 | version
115 | 3
116 |
117 |
118 | config
119 |
120 | alignment
121 | 0
122 | backgroundcolor
123 |
124 | fadespeed
125 | 0
126 | fillmode
127 | 0
128 | font
129 |
130 | ignoredynamicplaceholders
131 |
132 | largetypetext
133 | {query}
134 | textcolor
135 |
136 | wrapat
137 | 50
138 |
139 | type
140 | alfred.workflow.output.largetype
141 | uid
142 | 62E18CD4-113F-4B75-BB04-9E8F61F4EA84
143 | version
144 | 3
145 |
146 |
147 | config
148 |
149 | concurrently
150 |
151 | escaping
152 | 0
153 | script
154 | howdoi "${1}"
155 | scriptargtype
156 | 1
157 | scriptfile
158 |
159 | type
160 | 0
161 |
162 | type
163 | alfred.workflow.action.script
164 | uid
165 | A91D4A20-800F-4739-B887-4AD9FDD3C5F7
166 | version
167 | 2
168 |
169 |
170 | config
171 |
172 | argumenttype
173 | 0
174 | keyword
175 | {var:question_keyword}
176 | subtext
177 | Instant coding answers
178 | text
179 | Howdoi
180 | withspace
181 |
182 |
183 | type
184 | alfred.workflow.input.keyword
185 | uid
186 | D866DA1D-5E55-49F2-AF16-AB9C87C22355
187 | version
188 | 1
189 |
190 |
191 | config
192 |
193 | conditions
194 |
195 |
196 | inputstring
197 | {var:show_large_type}
198 | matchcasesensitive
199 |
200 | matchmode
201 | 5
202 | matchstring
203 |
204 | outputlabel
205 | Large Type
206 | uid
207 | DA9817A7-4BA4-4680-9D0D-6914F0DF1A04
208 |
209 |
210 | elselabel
211 | else
212 | hideelse
213 |
214 |
215 | type
216 | alfred.workflow.utility.conditional
217 | uid
218 | 84E8677F-3EF2-4489-ACE5-31C54323E398
219 | version
220 | 1
221 |
222 |
223 | config
224 |
225 | browser
226 |
227 | skipqueryencode
228 |
229 | skipvarencode
230 |
231 | spaces
232 |
233 | url
234 |
235 |
236 | type
237 | alfred.workflow.action.openurl
238 | uid
239 | 0D390F5D-AC85-4455-BAD0-170CC0F9D545
240 | version
241 | 1
242 |
243 |
244 | config
245 |
246 | concurrently
247 |
248 | escaping
249 | 0
250 | script
251 | howdoi --link "${1}"
252 | scriptargtype
253 | 1
254 | scriptfile
255 |
256 | type
257 | 0
258 |
259 | type
260 | alfred.workflow.action.script
261 | uid
262 | 8F30E883-4C9A-4ECD-A412-B27F3FEB3A23
263 | version
264 | 2
265 |
266 |
267 | readme
268 | # howdoi
269 |
270 | ## Instant coding answers via Alfred
271 |
272 | ⚡ Never open your browser to look for help again ⚡
273 |
274 | ## Introduction to howdoi
275 |
276 | Are you a hack programmer? Do you find yourself constantly Googling for how to do basic programming tasks?
277 |
278 | Suppose you want to know how to use the tar command. Why open your browser and read through blogs (risking major distraction) when you can simply stay in the console and ask howdoi:
279 |
280 | $ howdoi properly use tar command
281 | > tar -czf /tmp/workspace.tar.gz .
282 |
283 | ## Installation
284 |
285 | Make sure howdoi is installed on your machine with `brew install howdoi`.
286 |
287 | ## Usage
288 |
289 | Invoke the Alfred workflow with the keyword Question Keyword (default: `howdoi`) and then your query. The output will be shown as large type and also copied to the clipboard. Use ⌘↩ to open the answer's web page instead.
290 |
291 | 
292 |
293 | New to howdoi? You can get started by running:
294 |
295 | howdoi howdoi
296 |
297 | ## Useful Links
298 |
299 | - [howdoi](https://github.com/gleitz/howdoi/) github page
300 | uidata
301 |
302 | 0D390F5D-AC85-4455-BAD0-170CC0F9D545
303 |
304 | xpos
305 | 580
306 | ypos
307 | 355
308 |
309 | 59A90524-0AB4-45CD-9BD9-642C53C9826B
310 |
311 | xpos
312 | 580
313 | ypos
314 | 40
315 |
316 | 62E18CD4-113F-4B75-BB04-9E8F61F4EA84
317 |
318 | xpos
319 | 580
320 | ypos
321 | 190
322 |
323 | 84E8677F-3EF2-4489-ACE5-31C54323E398
324 |
325 | note
326 | Should show as Large Type?
327 | xpos
328 | 460
329 | ypos
330 | 220
331 |
332 | 8F30E883-4C9A-4ECD-A412-B27F3FEB3A23
333 |
334 | note
335 | Get link from howdoi
336 | xpos
337 | 255
338 | ypos
339 | 355
340 |
341 | A91D4A20-800F-4739-B887-4AD9FDD3C5F7
342 |
343 | note
344 | Get answer from howdoi
345 | xpos
346 | 255
347 | ypos
348 | 190
349 |
350 | D866DA1D-5E55-49F2-AF16-AB9C87C22355
351 |
352 | xpos
353 | 50
354 | ypos
355 | 190
356 |
357 |
358 | userconfigurationconfig
359 |
360 |
361 | config
362 |
363 | default
364 | howdoi
365 | placeholder
366 |
367 | required
368 |
369 | trim
370 |
371 |
372 | description
373 |
374 | label
375 | Question Keyword
376 | type
377 | textfield
378 | variable
379 | question_keyword
380 |
381 |
382 | config
383 |
384 | default
385 |
386 | required
387 |
388 | text
389 | If unchecked, answer will still be copied to the clipboard
390 |
391 | description
392 |
393 | label
394 | Show as Large Type
395 | type
396 | checkbox
397 | variable
398 | show_large_type
399 |
400 |
401 | variablesdontexport
402 |
403 | version
404 | 0.0.2
405 | webaddress
406 | http://github.com/gleitz/howdoi
407 |
408 |
409 |
--------------------------------------------------------------------------------