doing 2.1.99 → 2.1.103

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.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +48 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +8 -2
  5. data/bin/commands/view.rb +5 -0
  6. data/bin/doing +92 -2
  7. data/docs/doc/Array.html +3 -3
  8. data/docs/doc/BooleanTermParser/Clause.html +3 -3
  9. data/docs/doc/BooleanTermParser/Operator.html +3 -3
  10. data/docs/doc/BooleanTermParser/Query.html +3 -3
  11. data/docs/doc/BooleanTermParser/QueryParser.html +3 -3
  12. data/docs/doc/BooleanTermParser/QueryTransformer.html +3 -3
  13. data/docs/doc/BooleanTermParser.html +3 -3
  14. data/docs/doc/Doing/ArrayCleanup.html +3 -3
  15. data/docs/doc/Doing/ArrayNestedHash.html +3 -3
  16. data/docs/doc/Doing/ArrayTags.html +9 -9
  17. data/docs/doc/Doing/ByDayExport.html +3 -3
  18. data/docs/doc/Doing/CSVExport.html +3 -3
  19. data/docs/doc/Doing/CalendarImport.html +3 -3
  20. data/docs/doc/Doing/Change.html +3 -3
  21. data/docs/doc/Doing/Changes.html +3 -3
  22. data/docs/doc/Doing/ChronifyArray.html +3 -3
  23. data/docs/doc/Doing/ChronifyNumeric.html +3 -3
  24. data/docs/doc/Doing/ChronifyString.html +6 -6
  25. data/docs/doc/Doing/Color.html +16 -16
  26. data/docs/doc/Doing/Completion/BashCompletions.html +3 -3
  27. data/docs/doc/Doing/Completion/FigCompletions.html +3 -3
  28. data/docs/doc/Doing/Completion/FishCompletions.html +3 -3
  29. data/docs/doc/Doing/Completion/StringUtils.html +3 -3
  30. data/docs/doc/Doing/Completion/ZshCompletions.html +3 -3
  31. data/docs/doc/Doing/Completion.html +3 -3
  32. data/docs/doc/Doing/Configuration.html +3 -3
  33. data/docs/doc/Doing/DayOneRenderer.html +3 -3
  34. data/docs/doc/Doing/DayoneExport.html +3 -3
  35. data/docs/doc/Doing/DoingExport.html +3 -3
  36. data/docs/doc/Doing/DoingImport.html +3 -3
  37. data/docs/doc/Doing/Entry.html +3 -3
  38. data/docs/doc/Doing/Errors/DoingNoTraceError.html +3 -3
  39. data/docs/doc/Doing/Errors/DoingRuntimeError.html +3 -3
  40. data/docs/doc/Doing/Errors/DoingStandardError.html +3 -3
  41. data/docs/doc/Doing/Errors/EmptyInput.html +3 -3
  42. data/docs/doc/Doing/Errors/HistoryLimitError.html +3 -3
  43. data/docs/doc/Doing/Errors/InvalidPlugin.html +3 -3
  44. data/docs/doc/Doing/Errors/MissingBackupFile.html +3 -3
  45. data/docs/doc/Doing/Errors/NoResults.html +3 -3
  46. data/docs/doc/Doing/Errors/PluginException.html +3 -3
  47. data/docs/doc/Doing/Errors/UserCancelled.html +3 -3
  48. data/docs/doc/Doing/Errors/WrongCommand.html +3 -3
  49. data/docs/doc/Doing/Errors.html +3 -3
  50. data/docs/doc/Doing/HTMLExport.html +3 -3
  51. data/docs/doc/Doing/Hooks.html +3 -3
  52. data/docs/doc/Doing/Item.html +3 -3
  53. data/docs/doc/Doing/ItemDates.html +3 -3
  54. data/docs/doc/Doing/ItemQuery.html +3 -3
  55. data/docs/doc/Doing/ItemState.html +3 -3
  56. data/docs/doc/Doing/ItemTags.html +3 -3
  57. data/docs/doc/Doing/Items.html +3 -3
  58. data/docs/doc/Doing/JSONExport.html +3 -3
  59. data/docs/doc/Doing/JSONImport.html +3 -3
  60. data/docs/doc/Doing/Logger.html +3 -3
  61. data/docs/doc/Doing/MarkdownExport.html +3 -3
  62. data/docs/doc/Doing/Note.html +3 -3
  63. data/docs/doc/Doing/Pager.html +3 -3
  64. data/docs/doc/Doing/Plugins.html +3 -3
  65. data/docs/doc/Doing/Prompt.html +3 -3
  66. data/docs/doc/Doing/PromptChoose.html +3 -3
  67. data/docs/doc/Doing/PromptFZF.html +3 -3
  68. data/docs/doc/Doing/PromptInput.html +3 -3
  69. data/docs/doc/Doing/PromptSTD.html +3 -3
  70. data/docs/doc/Doing/PromptYN.html +3 -3
  71. data/docs/doc/Doing/Section.html +3 -3
  72. data/docs/doc/Doing/StringHighlight.html +3 -3
  73. data/docs/doc/Doing/StringNormalize.html +115 -3
  74. data/docs/doc/Doing/StringQuery.html +4 -4
  75. data/docs/doc/Doing/StringTags.html +3 -3
  76. data/docs/doc/Doing/StringTransform.html +3 -3
  77. data/docs/doc/Doing/StringTruncate.html +3 -3
  78. data/docs/doc/Doing/StringURL.html +3 -3
  79. data/docs/doc/Doing/SymbolNormalize.html +37 -3
  80. data/docs/doc/Doing/TaskPaperExport.html +3 -3
  81. data/docs/doc/Doing/TemplateExport.html +3 -3
  82. data/docs/doc/Doing/TemplateString.html +4 -4
  83. data/docs/doc/Doing/TimingImport.html +3 -3
  84. data/docs/doc/Doing/Types.html +13 -3
  85. data/docs/doc/Doing/Util/Backup.html +3 -3
  86. data/docs/doc/Doing/Util.html +4 -4
  87. data/docs/doc/Doing/Version.html +3 -3
  88. data/docs/doc/Doing/WWID.html +5 -5
  89. data/docs/doc/Doing.html +4 -4
  90. data/docs/doc/FalseClass.html +3 -3
  91. data/docs/doc/GLI/Commands/Help.html +3 -3
  92. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +3 -3
  93. data/docs/doc/GLI/Commands.html +3 -3
  94. data/docs/doc/GLI.html +3 -3
  95. data/docs/doc/Hash.html +4 -4
  96. data/docs/doc/Numeric.html +3 -3
  97. data/docs/doc/Object.html +3 -3
  98. data/docs/doc/PhraseParser/Operator.html +3 -3
  99. data/docs/doc/PhraseParser/PhraseClause.html +3 -3
  100. data/docs/doc/PhraseParser/Query.html +3 -3
  101. data/docs/doc/PhraseParser/QueryParser.html +3 -3
  102. data/docs/doc/PhraseParser/QueryTransformer.html +3 -3
  103. data/docs/doc/PhraseParser/TermClause.html +3 -3
  104. data/docs/doc/PhraseParser.html +3 -3
  105. data/docs/doc/Status.html +3 -3
  106. data/docs/doc/String.html +4 -4
  107. data/docs/doc/Symbol.html +4 -4
  108. data/docs/doc/Time.html +3 -3
  109. data/docs/doc/TrueClass.html +3 -3
  110. data/docs/doc/_index.html +4 -4
  111. data/docs/doc/class_list.html +3 -6
  112. data/docs/doc/css/full_list.css +3 -3
  113. data/docs/doc/css/style.css +15 -8
  114. data/docs/doc/file.README.html +13 -5
  115. data/docs/doc/file_list.html +2 -5
  116. data/docs/doc/frames.html +1 -1
  117. data/docs/doc/index.html +13 -5
  118. data/docs/doc/js/app.js +267 -348
  119. data/docs/doc/js/full_list.js +24 -52
  120. data/docs/doc/method_list.html +403 -382
  121. data/docs/doc/top-level-namespace.html +3 -3
  122. data/doing.rdoc +65 -1
  123. data/lib/completion/_doing.zsh +9 -9
  124. data/lib/completion/doing.bash +16 -16
  125. data/lib/completion/doing.fish +8 -0
  126. data/lib/completion/doing.ts +90 -0
  127. data/lib/doing/add_options.rb +4 -0
  128. data/lib/doing/normalize.rb +25 -0
  129. data/lib/doing/plugins/export/dayone_export.rb +2 -1
  130. data/lib/doing/plugins/export/html_export.rb +1 -1
  131. data/lib/doing/plugins/export/json_export.rb +2 -1
  132. data/lib/doing/plugins/export/markdown_export.rb +2 -1
  133. data/lib/doing/plugins/export/template_export.rb +2 -1
  134. data/lib/doing/types.rb +2 -0
  135. data/lib/doing/version.rb +1 -1
  136. data/lib/doing/wwid/timers.rb +146 -94
  137. data/lib/examples/plugins/wiki_export/wiki_export.rb +1 -1
  138. metadata +2 -2
@@ -20,6 +20,17 @@ function escapeShortcut() {
20
20
  });
21
21
  }
22
22
 
23
+ function navResizer() {
24
+ $(window).mousemove(function(e) {
25
+ window.parent.postMessage({
26
+ action: 'mousemove', event: {pageX: e.pageX, which: e.which}
27
+ }, '*');
28
+ }).mouseup(function(e) {
29
+ window.parent.postMessage({action: 'mouseup'}, '*');
30
+ });
31
+ window.parent.postMessage("navReady", "*");
32
+ }
33
+
23
34
  function clearSearchTimeout() {
24
35
  clearTimeout(searchTimeout);
25
36
  searchTimeout = null;
@@ -33,21 +44,14 @@ function enableLinks() {
33
44
  $clicked.addClass('clicked');
34
45
  evt.stopPropagation();
35
46
 
36
- if (window.origin === "null") {
37
- if (evt.target.tagName === 'A') return true;
47
+ if (evt.target.tagName === 'A') return true;
38
48
 
39
- var elem = $clicked.find('> .item .object_link a')[0];
40
- var e = evt.originalEvent;
41
- var newEvent = new MouseEvent(evt.originalEvent.type);
42
- newEvent.initMouseEvent(e.type, e.canBubble, e.cancelable, e.view, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);
43
- elem.dispatchEvent(newEvent);
44
- evt.preventDefault();
45
- } else {
46
- window.top.postMessage({
47
- action: "navigate",
48
- url: $clicked.find('.object_link a').attr('href'),
49
- }, "*");
50
- }
49
+ var elem = $clicked.find('> .item .object_link a')[0];
50
+ var e = evt.originalEvent;
51
+ var newEvent = new MouseEvent(evt.originalEvent.type);
52
+ newEvent.initMouseEvent(e.type, e.canBubble, e.cancelable, e.view, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);
53
+ elem.dispatchEvent(newEvent);
54
+ evt.preventDefault();
51
55
  return false;
52
56
  });
53
57
  }
@@ -58,25 +62,8 @@ function enableToggles() {
58
62
  evt.stopPropagation();
59
63
  evt.preventDefault();
60
64
  $(this).parent().parent().toggleClass('collapsed');
61
- $(this).attr('aria-expanded', function (i, attr) {
62
- return attr == 'true' ? 'false' : 'true'
63
- });
64
65
  highlight();
65
66
  });
66
-
67
- // navigation of nested classes using keyboard
68
- $('#full_list a.toggle').on('keypress',function(evt) {
69
- // enter key is pressed
70
- if (evt.which == 13) {
71
- evt.stopPropagation();
72
- evt.preventDefault();
73
- $(this).parent().parent().toggleClass('collapsed');
74
- $(this).attr('aria-expanded', function (i, attr) {
75
- return attr == 'true' ? 'false' : 'true'
76
- });
77
- highlight();
78
- }
79
- });
80
67
  }
81
68
 
82
69
  function populateSearchCache() {
@@ -104,7 +91,7 @@ function enableSearch() {
104
91
  }
105
92
  });
106
93
 
107
- $('#full_list').after("<div id='noresults' role='status' style='display: none'></div>");
94
+ $('#full_list').after("<div id='noresults' style='display:none'></div>");
108
95
  }
109
96
 
110
97
  function ignoredKeyPress(event) {
@@ -167,14 +154,11 @@ function partialSearch(searchString, offset) {
167
154
  function searchDone() {
168
155
  searchTimeout = null;
169
156
  highlight();
170
- var found = $('#full_list li:visible').size();
171
- if (found === 0) {
172
- $('#noresults').text('No results were found.');
157
+ if ($('#full_list li:visible').size() === 0) {
158
+ $('#noresults').text('No results were found.').hide().fadeIn();
173
159
  } else {
174
- // This is read out to screen readers
175
- $('#noresults').text('There are ' + found + ' results.');
160
+ $('#noresults').text('').hide();
176
161
  }
177
- $('#noresults').show();
178
162
  $('#content').removeClass('insearch');
179
163
  }
180
164
 
@@ -195,13 +179,6 @@ function highlight() {
195
179
  });
196
180
  }
197
181
 
198
- function isInView(element) {
199
- const rect = element.getBoundingClientRect();
200
- const windowHeight =
201
- window.innerHeight || document.documentElement.clientHeight;
202
- return rect.left >= 0 && rect.bottom <= windowHeight;
203
- }
204
-
205
182
  /**
206
183
  * Expands the tree to the target element and its immediate
207
184
  * children.
@@ -211,13 +188,7 @@ function expandTo(path) {
211
188
  $target.addClass('clicked');
212
189
  $target.removeClass('collapsed');
213
190
  $target.parentsUntil('#full_list', 'li').removeClass('collapsed');
214
-
215
- $target.find('a.toggle').attr('aria-expanded', 'true')
216
- $target.parentsUntil('#full_list', 'li').each(function(i, el) {
217
- $(el).find('> div > a.toggle').attr('aria-expanded', 'true');
218
- });
219
-
220
- if($target[0] && !isInView($target[0])) {
191
+ if($target[0]) {
221
192
  window.scrollTo(window.scrollX, $target.offset().top - 250);
222
193
  highlight();
223
194
  }
@@ -235,6 +206,7 @@ window.addEventListener("message", windowEvents, false);
235
206
 
236
207
  $(document).ready(function() {
237
208
  escapeShortcut();
209
+ navResizer();
238
210
  enableLinks();
239
211
  enableToggles();
240
212
  populateSearchCache();