hookapp 0.0.6 → 2.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/CHANGELOG.md +14 -0
  4. data/Gemfile +1 -1
  5. data/Gemfile.lock +53 -36
  6. data/LICENSE.md +31 -0
  7. data/OVERVIEW.md +80 -0
  8. data/README.md +282 -21
  9. data/Rakefile +1 -1
  10. data/bin/hook +138 -22
  11. data/buildnotes.md +29 -0
  12. data/hook.rdoc +63 -4
  13. data/hookapp.gemspec +9 -8
  14. data/html/App.html +107 -0
  15. data/html/GLI/Commands/Doc.html +91 -0
  16. data/html/GLI/Commands/MarkdownDocumentListener.html +511 -0
  17. data/html/GLI/Commands.html +91 -0
  18. data/html/GLI.html +91 -0
  19. data/html/Hook.html +100 -0
  20. data/html/HookApp.html +946 -0
  21. data/html/Hooker.html +141 -0
  22. data/html/README_rdoc.html +325 -0
  23. data/html/String.html +313 -0
  24. data/html/created.rid +9 -0
  25. data/html/css/fonts.css +167 -0
  26. data/html/css/rdoc.css +639 -0
  27. data/html/fonts/Lato-Light.ttf +0 -0
  28. data/html/fonts/Lato-LightItalic.ttf +0 -0
  29. data/html/fonts/Lato-Regular.ttf +0 -0
  30. data/html/fonts/Lato-RegularItalic.ttf +0 -0
  31. data/html/fonts/SourceCodePro-Bold.ttf +0 -0
  32. data/html/fonts/SourceCodePro-Regular.ttf +0 -0
  33. data/html/images/add.png +0 -0
  34. data/html/images/arrow_up.png +0 -0
  35. data/html/images/brick.png +0 -0
  36. data/html/images/brick_link.png +0 -0
  37. data/html/images/bug.png +0 -0
  38. data/html/images/bullet_black.png +0 -0
  39. data/html/images/bullet_toggle_minus.png +0 -0
  40. data/html/images/bullet_toggle_plus.png +0 -0
  41. data/html/images/date.png +0 -0
  42. data/html/images/delete.png +0 -0
  43. data/html/images/find.png +0 -0
  44. data/html/images/loadingAnimation.gif +0 -0
  45. data/html/images/macFFBgHack.png +0 -0
  46. data/html/images/package.png +0 -0
  47. data/html/images/page_green.png +0 -0
  48. data/html/images/page_white_text.png +0 -0
  49. data/html/images/page_white_width.png +0 -0
  50. data/html/images/plugin.png +0 -0
  51. data/html/images/ruby.png +0 -0
  52. data/html/images/tag_blue.png +0 -0
  53. data/html/images/tag_green.png +0 -0
  54. data/html/images/transparent.png +0 -0
  55. data/html/images/wrench.png +0 -0
  56. data/html/images/wrench_orange.png +0 -0
  57. data/html/images/zoom.png +0 -0
  58. data/html/index.html +293 -0
  59. data/html/js/darkfish.js +84 -0
  60. data/html/js/navigation.js +105 -0
  61. data/html/js/navigation.js.gz +0 -0
  62. data/html/js/search.js +110 -0
  63. data/html/js/search_index.js +1 -0
  64. data/html/js/search_index.js.gz +0 -0
  65. data/html/js/searcher.js +229 -0
  66. data/html/js/searcher.js.gz +0 -0
  67. data/html/table_of_contents.html +345 -0
  68. data/lib/completion/hook_completion.bash +22 -0
  69. data/lib/completion/hook_completion.fish +31 -0
  70. data/lib/completion/hook_completion.zsh +22 -0
  71. data/lib/helpers/fuzzyfilefinder +0 -0
  72. data/lib/hook/hookapp.rb +489 -0
  73. data/lib/hook/hooker.rb +4 -344
  74. data/lib/hook/markdown_document_listener.rb +164 -0
  75. data/lib/hook/string.rb +60 -0
  76. data/lib/hook/version.rb +3 -1
  77. data/lib/hook.rb +7 -2
  78. metadata +90 -26
data/bin/hook CHANGED
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- require 'gli'
5
4
  require 'hook'
6
5
 
7
6
  # Main class for GLI app
@@ -9,17 +8,30 @@ class App
9
8
  extend GLI::App
10
9
 
11
10
  program_desc 'CLI interface for Hook.app (macOS)'
11
+ program_long_desc 'Hook.app is a productivity tool for macOS <https://hookproductivity.com/>. This gem includes a `hook` binary that allows interaction with the features of Hook.app.'
12
+ default_command 'help'
13
+ autocomplete_commands = true
14
+ synopsis_format(:terminal)
12
15
 
13
16
  version Hook::VERSION
14
17
 
15
18
  subcommand_option_handling :normal
16
19
  arguments :strict
17
20
 
18
- hooker = nil
21
+ hookapp = nil
19
22
 
20
23
  desc 'List hooks on a file or url'
24
+ long_desc %{
25
+ Output a list of all hooks attached to given url(s) or file(s) in the specified format (default "paths").
26
+
27
+ Run `hook list` with no file/url argument to list all bookmarks.}
28
+
21
29
  arg_name 'FILE_OR_URL [FILE_OR_URL...]'
22
30
  command %i[list ls] do |c|
31
+ c.desc 'Generate a menu to select hook(s) for opening'
32
+ c.long_desc 'This option is a shortcut to `hook select` and overrides any other arguments.'
33
+ c.switch %i[s select]
34
+
23
35
  c.desc 'Output only bookmarks with file paths (exclude e.g. emails)'
24
36
  c.switch %i[f files_only], { negatable: false, default_value: false }
25
37
 
@@ -32,10 +44,13 @@ class App
32
44
  c.flag %i[o output_format], { arg_name: 'format', default_value: 'paths' }
33
45
 
34
46
  c.action do |_global_options, options, args|
35
- valid_format = hooker.validate_format(options[:o], valid_formats)
36
- raise 'Invalid output format' unless valid_format
47
+ if options[:s]
48
+ return hookapp.open_linked(args[0])
49
+ end
50
+ valid_format = hookapp.validate_format(options[:o], valid_formats)
51
+ exit_now!("Invalid output format: \"#{options[:o]}\"", 6) unless valid_format
37
52
 
38
- result = hooker.linked_bookmarks(args, { files_only: options[:f],
53
+ result = hookapp.linked_bookmarks(args, { files_only: options[:f],
39
54
  format: valid_format,
40
55
  null_separator: options[:null] })
41
56
 
@@ -43,7 +58,80 @@ class App
43
58
  end
44
59
  end
45
60
 
61
+ # Shell completion scripts are located in lib/completion/ and named "hook_completion" with
62
+ # the full shell name as the extension, e.g. "hook_completion.bash".
63
+ desc 'Shell completion examples'
64
+ valid_shells = %w[bash zsh fish]
65
+ long_desc %{
66
+ Output completion script example for the specified shell (#{valid_shells.join(', ')})
67
+ }
68
+ arg_name 'SHELL'
69
+ command %i[scripts] do |c|
70
+ c.action do |_global_options, _options, args|
71
+ if args.length > 1
72
+ exit_now!("Invalid number of arguments, (expected 1)", 5)
73
+ elsif args.nil? || args.empty?
74
+ exit_now!("Specify a shell (#{valid_shells.join(', ')})", 0)
75
+ else
76
+ if valid_shells.include?(args[0])
77
+ base_dir = File.expand_path(File.join(File.dirname(__FILE__), '../lib/completion'))
78
+ completion = File.join(base_dir, "hook_completion.#{args[0]}")
79
+ script = IO.read(completion)
80
+ $stdout.puts script
81
+ else
82
+ exit_now!("Invalid shell name, must be one of #{valid_shells.join(', ')}", 1)
83
+ end
84
+ end
85
+ end
86
+ end
87
+
88
+
89
+
90
+ desc 'Search bookmarks'
91
+ long_desc %{
92
+ Search bookmark urls and names for a string and output in specified format (default "paths").
93
+
94
+ Run `hook find` with no search argument to list all bookmarks.}
95
+ arg_name 'SEARCH_STRING'
96
+ command %i[find search] do |c|
97
+ c.desc 'Output only bookmarks with file paths (exclude e.g. emails)'
98
+ c.switch %i[f files_only], { negatable: false, default_value: false }
99
+
100
+ c.desc 'Separate results with NULL separator, only applies with "paths" output for single file argument'
101
+ c.switch %i[null], { negatable: false, default_value: false }
102
+
103
+ valid_formats = %w[hooks paths markdown verbose]
104
+ fmt_list = valid_formats.map { |fmt| fmt.sub(/^(.)(.*?)$/, '(\1)\2') }.join(', ')
105
+
106
+ c.desc "Output format [#{fmt_list}]"
107
+ c.flag %i[o output_format], { arg_name: 'format', default_value: 'paths' }
108
+
109
+ c.desc "Search only bookmark names"
110
+ c.switch %i[n names_only], { negatable: false, default_value: false }
111
+
112
+ c.action do |_global_options, options, args|
113
+ valid_format = hookapp.validate_format(options[:o], valid_formats)
114
+ exit_now!("Invalid output format: \"#{options[:o]}\"", 6) unless valid_format
115
+
116
+ result = hookapp.search_bookmarks(args.join(" "), { files_only: options[:f],
117
+ format: valid_format,
118
+ null_separator: options[:null],
119
+ names_only: options[:n] })
120
+
121
+ puts result
122
+ end
123
+ end
124
+
46
125
  desc 'Create bidirectional hooks between two or more files/urls'
126
+ long_desc %{
127
+ If two files/urls are provided, links will be bi-directional.
128
+ If three or more are provided, `link` defaults to creating bi-directional
129
+ links between each file and the last file in the list. Use `-a` to create
130
+ bi-directional links between every file in the list.
131
+
132
+ If using `--paste`, the URL/hook link in the clipboard will be used as one argument,
133
+ to be combined with one or more file/url arguments.
134
+ }
47
135
  arg_name 'SOURCE [SOURCE...] TARGET'
48
136
  command %i[link ln] do |c|
49
137
  c.desc 'Link every listed file or url to every other'
@@ -59,17 +147,23 @@ class App
59
147
  args.push(clipboard) if clipboard
60
148
  end
61
149
  if args.length < 2
62
- raise 'At least 2 files must be specified, or one file with --paste'
150
+ exit_now!('Wrong number of arguments. At least 2 files must be specified, or one file with --paste', 5)
63
151
  end
64
152
  if options[:a]
65
- puts hooker.link_all(args)
153
+ puts hookapp.link_all(args)
66
154
  else
67
- puts hooker.link_files(args)
155
+ puts hookapp.link_files(args)
68
156
  end
69
157
  end
70
158
  end
71
159
 
72
160
  desc 'Copy Hook URL for file/url to clipboard'
161
+ long_desc %{
162
+ Creates a bookmark for the specified file or URL and copies its Hook URL to the clipboard.
163
+
164
+ The copied Hook URL can be used to link to other files (use `hook link --paste FILE/URL),
165
+ or to paste into another app as a link. Use the -m flag to copy a full Markdown link.
166
+ }
73
167
  arg_name 'FILE_OR_URL'
74
168
  command %i[clip cp] do |c|
75
169
  c.desc 'Copy as Markdown'
@@ -79,17 +173,23 @@ class App
79
173
  c.flag %i[a app], { arg_name: 'APP_NAME' }
80
174
 
81
175
  c.action do |_global_options, options, args|
82
- raise 'Wrong number of arguments. Requires a path/url or -a APP_NAME' if args.length != 1 && !options[:a]
176
+ exit_now!('Wrong number of arguments. Requires a path/url or -a APP_NAME', 5) if args.length != 1 && !options[:a]
83
177
 
84
178
  if options[:a]
85
- puts hooker.bookmark_from_app(options[:a], { copy: true, markdown: options[:m] })
179
+ puts hookapp.bookmark_from_app(options[:a], { copy: true, markdown: options[:m] })
86
180
  else
87
- puts hooker.clip_bookmark(args[0], { markdown: options[:m] })
181
+ puts hookapp.clip_bookmark(args[0], { markdown: options[:m] })
88
182
  end
89
183
  end
90
184
  end
91
185
 
92
186
  desc 'Get a Hook URL for the frontmost window of an app'
187
+ long_desc %{
188
+ Specify an application by name (without '.app') to bring that app to the foreground and create a bookmark
189
+ for the active document, note, task, etc., returning a Hook URL.
190
+
191
+ Use -m to get the response as Markdown, and/or -c to copy the result directly to the clipboard.
192
+ }
93
193
  arg_name 'APPLICATION_NAME'
94
194
  command %i[from] do |c|
95
195
  c.desc 'Output as Markdown'
@@ -99,52 +199,68 @@ class App
99
199
  c.switch %i[c copy], { negatable: false, default_value: false }
100
200
 
101
201
  c.action do |_global_options, options, args|
102
- raise "Wrong number of arguments (1 expected, #{args.length} given)" if args.length != 1
202
+ exit_now!("Wrong number of arguments (1 expected, #{args.length} given)", 5) if args.length != 1
103
203
 
104
- puts hooker.bookmark_from_app(args[0], { copy: options[:c], markdown: options[:m] })
204
+ puts hookapp.bookmark_from_app(args[0], { copy: options[:c], markdown: options[:m] })
105
205
  end
106
206
  end
107
207
 
108
208
  desc 'Remove a hook between two files/urls'
209
+ long_desc %{
210
+ Remove a hook between two files or URLs. If you use --all, all hooks on a given file will be removed.
211
+
212
+ If --all isn't specified, exactly two arguments (Files/URLs) are required.
213
+ }
109
214
  arg_name 'ITEM_1 ITEM_2'
110
215
  command %i[remove rm] do |c|
111
216
  c.desc 'Remove ALL links on files, requires confirmation'
112
- c.switch %i[a all]
217
+ c.switch %i[a all], { negatable: false, default_value: false }
113
218
 
114
219
  c.action do |_global_options, options, args|
115
- result = hooker.delete_hooks(args, { all: options[:r] })
220
+ result = hookapp.delete_hooks(args, { all: options[:a] })
116
221
  puts result
117
222
  end
118
223
  end
119
224
 
120
225
  desc 'Clone all hooks from one file or url onto another'
226
+ long_desc %{
227
+ Copy all the files and urls that the first file is hooked to onto another file. Exactly two arguments (SOURCE, TARGET) required.
228
+ }
121
229
  arg_name 'SOURCE TARGET'
122
230
  command %i[clone] do |c|
123
231
  c.action do |_global_options, _options, args|
124
- raise "Wrong number of arguments. Two file paths or urls required (#{args.length} given)" if args.length != 2
232
+ exit_now!("Wrong number of arguments. Two file paths or urls required (#{args.length} given)", 5) if args.length != 2
125
233
 
126
- result = hooker.clone_hooks(args)
234
+ result = hookapp.clone_hooks(args)
127
235
  puts result
128
236
  end
129
237
  end
130
238
 
131
239
  desc 'Select from hooks on a file/url and open in default application'
240
+ long_desc %{
241
+ If the target file/URL has hooked items, a menu will be provided. Selecting one or more files
242
+ from this menu will open the item(s) using the default application assigned to the
243
+ filetype by macOS. Allows multiple selections with tab key, and type-ahead fuzzy filtering of results.
244
+ }
132
245
  arg_name 'FILE_OR_URL'
133
246
  command %i[select] do |c|
134
247
  c.action do |_global_options, _options, args|
135
- raise "Wrong number of arguments. One file path or url required (#{args.length} given)" if args.length != 1
248
+ exit_now!("Wrong number of arguments. One file path or url required (#{args.length} given)", 5) if args.length != 1
136
249
 
137
- hooker.open_linked(args[0])
250
+ hookapp.open_linked(args[0])
138
251
  end
139
252
  end
140
253
 
141
254
  desc 'Open the specified file or url in Hook GUI'
255
+ long_desc %{
256
+ Opens Hook.app on the specified file/URL for browsing and performing actions. Exactly one argument (File/URL) required.
257
+ }
142
258
  arg_name 'FILE_OR_URL'
143
259
  command %i[open gui] do |c|
144
260
  c.action do |_global_options, _options, args|
145
- raise "Wrong number of arguments. One file path or url required (#{args.length} given)" if args.length != 1
261
+ exit_now!("Wrong number of arguments. One file path or url required (#{args.length} given)", 5) if args.length != 1
146
262
 
147
- hooker.open_gui(args[0])
263
+ hookapp.open_gui(args[0])
148
264
  end
149
265
  end
150
266
 
@@ -154,7 +270,7 @@ class App
154
270
  # chosen command
155
271
  # Use skips_pre before a command to skip this block
156
272
  # on that command only
157
- hooker = Hooker.new(global)
273
+ hookapp = HookApp.new
158
274
  true
159
275
  end
160
276
 
data/buildnotes.md ADDED
@@ -0,0 +1,29 @@
1
+ # hookapp
2
+
3
+ Hook.app CLI
4
+
5
+ ## Editing
6
+
7
+ Main executable is located in `bin/hook`. All commands are defined here.
8
+
9
+ Helpers and main classes are in `lib/`.
10
+
11
+ @run(subl -p hookapp.sublime-project)
12
+
13
+ ## Building the Gem
14
+
15
+ @run(rake clobber rdoc package)
16
+
17
+ ## Deploy
18
+
19
+ 1. Bump version
20
+ 2. Commit and push to GitHub
21
+ 3. See Updating the Docs
22
+ 4. Package the gem (See Building the Gem)
23
+ 5. Push the gem with `gem push pkg/hookapp-[VERSION].gem`
24
+
25
+ ## Updating the Docs
26
+
27
+ Update the docs with `bundle exec bin/hook _doc --format=markdown` and `bundle exec bin/hook _doc --format=rdoc`, then run `rake rerdoc`
28
+
29
+ @run(bundle exec bin/hook _doc --format=rdoc && bundle exec bin/hook _doc --format=markdown && rake rerdoc)
data/hook.rdoc CHANGED
@@ -1,6 +1,8 @@
1
1
  == hook - CLI interface for Hook.app (macOS)
2
2
 
3
- v0.0.5
3
+ Hook.app is a productivity tool for macOS <https://hookproductivity.com/>. This gem includes a `hook` binary that allows interaction with the features of Hook.app.
4
+
5
+ v2.0.3
4
6
 
5
7
  === Global Options
6
8
  === --help
@@ -17,7 +19,10 @@ Display the program version
17
19
  ==== Command: <tt>clip|cp FILE_OR_URL</tt>
18
20
  Copy Hook URL for file/url to clipboard
19
21
 
22
+ Creates a bookmark for the specified file or URL and copies its Hook URL to the clipboard.
20
23
 
24
+ The copied Hook URL can be used to link to other files (use `hook link --paste FILE/URL),
25
+ or to paste into another app as a link. Use the -m flag to copy a full Markdown link.
21
26
  ===== Options
22
27
  ===== -a|--app APP_NAME
23
28
 
@@ -34,11 +39,43 @@ Copy as Markdown
34
39
  ==== Command: <tt>clone SOURCE TARGET</tt>
35
40
  Clone all hooks from one file or url onto another
36
41
 
42
+ Copy all the files and urls that the first file is hooked to onto another file. Exactly two arguments (SOURCE, TARGET) required.
43
+ ==== Command: <tt>find|search SEARCH_STRING</tt>
44
+ Search bookmarks
45
+
46
+ Search bookmark urls and names for a string and output in specified format (default "paths").
47
+
48
+ Run `hook find` with no search argument to list all bookmarks.
49
+ ===== Options
50
+ ===== -o|--output_format format
51
+
52
+ Output format [(h)ooks, (p)aths, (m)arkdown, (v)erbose]
53
+
54
+ [Default Value] paths
55
+
56
+
57
+ ===== -f|--files_only
58
+ Output only bookmarks with file paths (exclude e.g. emails)
59
+
60
+
61
+
62
+ ===== -n|--names_only
63
+ Search only bookmark names
64
+
65
+
66
+
67
+ ===== --null
68
+ Separate results with NULL separator, only applies with "paths" output for single file argument
69
+
70
+
37
71
 
38
72
  ==== Command: <tt>from APPLICATION_NAME</tt>
39
73
  Get a Hook URL for the frontmost window of an app
40
74
 
75
+ Specify an application by name (without '.app') to bring that app to the foreground and create a bookmark
76
+ for the active document, note, task, etc., returning a Hook URL.
41
77
 
78
+ Use -m to get the response as Markdown, and/or -c to copy the result directly to the clipboard.
42
79
  ===== Options
43
80
  ===== -c|--copy
44
81
  Copy to clipboard
@@ -63,7 +100,13 @@ List commands one per line, to assist with shell completion
63
100
  ==== Command: <tt>link|ln SOURCE [SOURCE...] TARGET</tt>
64
101
  Create bidirectional hooks between two or more files/urls
65
102
 
103
+ If two files/urls are provided, links will be bi-directional.
104
+ If three or more are provided, `link` defaults to creating bi-directional
105
+ links between each file and the last file in the list. Use `-a` to create
106
+ bi-directional links between every file in the list.
66
107
 
108
+ If using `--paste`, the URL/hook link in the clipboard will be used as one argument,
109
+ to be combined with one or more file/url arguments.
67
110
  ===== Options
68
111
  ===== -a|--all
69
112
  Link every listed file or url to every other
@@ -78,7 +121,9 @@ Paste URL from clipboard
78
121
  ==== Command: <tt>list|ls FILE_OR_URL [FILE_OR_URL...]</tt>
79
122
  List hooks on a file or url
80
123
 
124
+ Output a list of all hooks attached to given url(s) or file(s) in the specified format (default "paths").
81
125
 
126
+ Run `hook list` with no file/url argument to list all bookmarks.
82
127
  ===== Options
83
128
  ===== -o|--output_format format
84
129
 
@@ -97,21 +142,35 @@ Separate results with NULL separator, only applies with "paths" output for singl
97
142
 
98
143
 
99
144
 
145
+ ===== -s|--[no-]select
146
+ Generate a menu to select hook(s) for opening
147
+
148
+ This option is a shortcut to `hook select` and overrides any other arguments.
149
+
100
150
  ==== Command: <tt>open|gui FILE_OR_URL</tt>
101
151
  Open the specified file or url in Hook GUI
102
152
 
103
-
153
+ Opens Hook.app on the specified file/URL for browsing and performing actions. Exactly one argument (File/URL) required.
104
154
  ==== Command: <tt>remove|rm ITEM_1 ITEM_2</tt>
105
155
  Remove a hook between two files/urls
106
156
 
157
+ Remove a hook between two files or URLs. If you use --all, all hooks on a given file will be removed.
107
158
 
159
+ If --all isn't specified, exactly two arguments (Files/URLs) are required.
108
160
  ===== Options
109
- ===== -a|--[no-]all
161
+ ===== -a|--all
110
162
  Remove ALL links on files, requires confirmation
111
163
 
112
164
 
113
165
 
166
+ ==== Command: <tt>scripts SHELL</tt>
167
+ Shell completion examples
168
+
169
+ Output completion script example for the specified shell (bash, zsh, fish)
114
170
  ==== Command: <tt>select FILE_OR_URL</tt>
115
171
  Select from hooks on a file/url and open in default application
116
172
 
117
-
173
+ If the target file/URL has hooked items, a menu will be provided. Selecting one or more files
174
+ from this menu will open the item(s) using the default application assigned to the
175
+ filetype by macOS. Allows multiple selections with tab key, and type-ahead fuzzy filtering of results.
176
+ [Default Command] help
data/hookapp.gemspec CHANGED
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Ensure we require the local version and not one we might have installed already
2
4
  require File.join([File.dirname(__FILE__), 'lib', 'hook', 'version.rb'])
3
- spec = Gem::Specification.new do |s|
5
+ Gem::Specification.new do |s|
4
6
  s.name = 'hookapp'
5
7
  s.version = Hook::VERSION
6
8
  s.author = 'Brett Terpstra'
@@ -8,15 +10,14 @@ spec = Gem::Specification.new do |s|
8
10
  s.homepage = 'https://brettterpstra.com'
9
11
  s.platform = Gem::Platform::RUBY
10
12
  s.summary = 'A CLI for Hook.app (macOS)'
11
- s.files = `git ls-files`.split("
12
- ")
13
+ s.files = `git ls-files`.split("\n")
13
14
  s.require_paths << 'lib'
14
- s.extra_rdoc_files = ['README.rdoc','hook.rdoc']
15
+ s.extra_rdoc_files = ['README.rdoc', 'hook.rdoc']
15
16
  s.rdoc_options << '--title' << 'hook' << '--main' << 'README.rdoc' << '-ri'
16
17
  s.bindir = 'bin'
17
18
  s.executables << 'hook'
18
- s.add_development_dependency('rake')
19
- s.add_development_dependency('rdoc')
20
- s.add_development_dependency('aruba')
21
- s.add_runtime_dependency('gli','2.19.0')
19
+ s.add_development_dependency('aruba', '~> 0.14.14')
20
+ s.add_development_dependency('rake', '~> 13.0.1')
21
+ s.add_development_dependency('rdoc', '~> 6.3.2')
22
+ s.add_runtime_dependency('gli', '~> 2.20.1')
22
23
  end
data/html/App.html ADDED
@@ -0,0 +1,107 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class App - hookapp</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "./";
11
+ var index_rel_prefix = "./";
12
+ </script>
13
+
14
+ <script src="./js/navigation.js" defer></script>
15
+ <script src="./js/search.js" defer></script>
16
+ <script src="./js/search_index.js" defer></script>
17
+ <script src="./js/searcher.js" defer></script>
18
+ <script src="./js/darkfish.js" defer></script>
19
+
20
+ <link href="./css/fonts.css" rel="stylesheet">
21
+ <link href="./css/rdoc.css" rel="stylesheet">
22
+
23
+
24
+ <body id="top" role="document" class="class">
25
+ <nav role="navigation">
26
+ <div id="project-navigation">
27
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
+ <h2>
29
+ <a href="./index.html" rel="home">Home</a>
30
+ </h2>
31
+
32
+ <div id="table-of-contents-navigation">
33
+ <a href="./table_of_contents.html#pages">Pages</a>
34
+ <a href="./table_of_contents.html#classes">Classes</a>
35
+ <a href="./table_of_contents.html#methods">Methods</a>
36
+ </div>
37
+ </div>
38
+
39
+ <div id="search-section" role="search" class="project-section initially-hidden">
40
+ <form action="#" method="get" accept-charset="utf-8">
41
+ <div id="search-field-wrapper">
42
+ <input id="search-field" role="combobox" aria-label="Search"
43
+ aria-autocomplete="list" aria-controls="search-results"
44
+ type="text" name="search" placeholder="Search" spellcheck="false"
45
+ title="Type to search, Up and Down to navigate, Enter to load">
46
+ </div>
47
+
48
+ <ul id="search-results" aria-label="Search Results"
49
+ aria-busy="false" aria-expanded="false"
50
+ aria-atomic="false" class="initially-hidden"></ul>
51
+ </form>
52
+ </div>
53
+
54
+ </div>
55
+
56
+
57
+
58
+ <div id="class-metadata">
59
+
60
+
61
+ <div id="parent-class-section" class="nav-section">
62
+ <h3>Parent</h3>
63
+
64
+ <p class="link">Object
65
+ </div>
66
+
67
+
68
+
69
+ <div id="extends-section" class="nav-section">
70
+ <h3>Extended With Modules</h3>
71
+
72
+ <ul class="link-list">
73
+ <li><span class="extend">GLI::App</span>
74
+ </ul>
75
+ </div>
76
+
77
+
78
+ </div>
79
+ </nav>
80
+
81
+ <main role="main" aria-labelledby="class-App">
82
+ <h1 id="class-App" class="class">
83
+ class App
84
+ </h1>
85
+
86
+ <section class="description">
87
+
88
+ <p>Main class for <a href="GLI.html"><code>GLI</code></a> app</p>
89
+
90
+ </section>
91
+
92
+ <section id="5Buntitled-5D" class="documentation-section">
93
+
94
+
95
+
96
+
97
+
98
+ </section>
99
+ </main>
100
+
101
+
102
+ <footer id="validator-badges" role="contentinfo">
103
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
104
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
105
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
106
+ </footer>
107
+
@@ -0,0 +1,91 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>module GLI::Commands::Doc - hookapp</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "../../";
11
+ var index_rel_prefix = "../../";
12
+ </script>
13
+
14
+ <script src="../../js/navigation.js" defer></script>
15
+ <script src="../../js/search.js" defer></script>
16
+ <script src="../../js/search_index.js" defer></script>
17
+ <script src="../../js/searcher.js" defer></script>
18
+ <script src="../../js/darkfish.js" defer></script>
19
+
20
+ <link href="../../css/fonts.css" rel="stylesheet">
21
+ <link href="../../css/rdoc.css" rel="stylesheet">
22
+
23
+
24
+ <body id="top" role="document" class="module">
25
+ <nav role="navigation">
26
+ <div id="project-navigation">
27
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
+ <h2>
29
+ <a href="../../index.html" rel="home">Home</a>
30
+ </h2>
31
+
32
+ <div id="table-of-contents-navigation">
33
+ <a href="../../table_of_contents.html#pages">Pages</a>
34
+ <a href="../../table_of_contents.html#classes">Classes</a>
35
+ <a href="../../table_of_contents.html#methods">Methods</a>
36
+ </div>
37
+ </div>
38
+
39
+ <div id="search-section" role="search" class="project-section initially-hidden">
40
+ <form action="#" method="get" accept-charset="utf-8">
41
+ <div id="search-field-wrapper">
42
+ <input id="search-field" role="combobox" aria-label="Search"
43
+ aria-autocomplete="list" aria-controls="search-results"
44
+ type="text" name="search" placeholder="Search" spellcheck="false"
45
+ title="Type to search, Up and Down to navigate, Enter to load">
46
+ </div>
47
+
48
+ <ul id="search-results" aria-label="Search Results"
49
+ aria-busy="false" aria-expanded="false"
50
+ aria-atomic="false" class="initially-hidden"></ul>
51
+ </form>
52
+ </div>
53
+
54
+ </div>
55
+
56
+
57
+
58
+ <div id="class-metadata">
59
+
60
+
61
+
62
+
63
+
64
+ </div>
65
+ </nav>
66
+
67
+ <main role="main" aria-labelledby="module-GLI::Commands::Doc">
68
+ <h1 id="module-GLI::Commands::Doc" class="module">
69
+ module GLI::Commands::Doc
70
+ </h1>
71
+
72
+ <section class="description">
73
+
74
+ </section>
75
+
76
+ <section id="5Buntitled-5D" class="documentation-section">
77
+
78
+
79
+
80
+
81
+
82
+ </section>
83
+ </main>
84
+
85
+
86
+ <footer id="validator-badges" role="contentinfo">
87
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
88
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
89
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
90
+ </footer>
91
+