ledger_sync 1.4.1 → 1.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +71 -17
  3. data/docs/.gitignore +4 -0
  4. data/documentation/build.sh +3 -1
  5. data/documentation/site/_includes/ledgers/{Stripe_summary.md → stripe_summary.md} +0 -0
  6. data/ledger_sync.gemspec +4 -0
  7. data/lib/ledger_sync/serialization/type/deserializer_references_one_type.rb +1 -1
  8. data/lib/ledger_sync/version.rb +1 -1
  9. metadata +59 -136
  10. data/docs/CNAME +0 -1
  11. data/docs/assets/css/brands.min.css +0 -5
  12. data/docs/assets/css/fontawesome.min.css +0 -5
  13. data/docs/assets/css/main.css +0 -1924
  14. data/docs/assets/css/monokai.css +0 -441
  15. data/docs/assets/js/main.js +0 -214
  16. data/docs/assets/js/plugins.js +0 -22
  17. data/docs/assets/js/prism.js +0 -9
  18. data/docs/assets/webfonts/fa-brands-400.eot +0 -0
  19. data/docs/assets/webfonts/fa-brands-400.svg +0 -3452
  20. data/docs/assets/webfonts/fa-brands-400.ttf +0 -0
  21. data/docs/assets/webfonts/fa-brands-400.woff +0 -0
  22. data/docs/assets/webfonts/fa-brands-400.woff2 +0 -0
  23. data/docs/blog/index.html +0 -282
  24. data/docs/guides/architecture/clients/index.html +0 -458
  25. data/docs/guides/architecture/index.html +0 -435
  26. data/docs/guides/architecture/operations/index.html +0 -465
  27. data/docs/guides/architecture/resources/index.html +0 -461
  28. data/docs/guides/architecture/results/index.html +0 -426
  29. data/docs/guides/architecture/searchers/index.html +0 -446
  30. data/docs/guides/architecture/serialization/index.html +0 -476
  31. data/docs/guides/community/index.html +0 -412
  32. data/docs/guides/contribute/console/index.html +0 -424
  33. data/docs/guides/contribute/deployment/index.html +0 -434
  34. data/docs/guides/contribute/documentation/index.html +0 -450
  35. data/docs/guides/contribute/index.html +0 -434
  36. data/docs/guides/contribute/qa/index.html +0 -436
  37. data/docs/guides/contribute/testing/index.html +0 -424
  38. data/docs/guides/customization/custom_resources/index.html +0 -461
  39. data/docs/guides/customization/custom_serializers/index.html +0 -460
  40. data/docs/guides/customization/index.html +0 -431
  41. data/docs/guides/customization/resource_converters/index.html +0 -491
  42. data/docs/guides/getting-started/get-help/index.html +0 -427
  43. data/docs/guides/getting-started/index.html +0 -421
  44. data/docs/guides/getting-started/installation/index.html +0 -433
  45. data/docs/guides/getting-started/quick-start/index.html +0 -531
  46. data/docs/guides/index.html +0 -428
  47. data/docs/guides/ledgers/index.html +0 -429
  48. data/docs/guides/ledgers/netsuite/index.html +0 -424
  49. data/docs/guides/ledgers/netsuite_soap/index.html +0 -424
  50. data/docs/guides/ledgers/quickbooks_online/index.html +0 -424
  51. data/docs/guides/ledgers/stripe/index.html +0 -424
  52. data/docs/guides/modern-treasury/index.html +0 -411
  53. data/docs/guides/tips_and_more/index.html +0 -471
  54. data/docs/images/1.jpg +0 -0
  55. data/docs/images/10.jpg +0 -0
  56. data/docs/images/2.jpg +0 -0
  57. data/docs/images/3.jpg +0 -0
  58. data/docs/images/4.jpg +0 -0
  59. data/docs/images/5.jpg +0 -0
  60. data/docs/images/6.jpg +0 -0
  61. data/docs/images/7.jpg +0 -0
  62. data/docs/images/8.jpg +0 -0
  63. data/docs/images/9.jpg +0 -0
  64. data/docs/images/logo.svg +0 -8
  65. data/docs/index.html +0 -379
  66. data/docs/overview/index.html +0 -409
  67. data/docs/posts/introducing-docs/index.html +0 -270
  68. data/docs/posts/netsuite-authentication/index.html +0 -624
  69. data/docs/reference/architecture/clients/index.html +0 -332
  70. data/docs/reference/architecture/index.html +0 -311
  71. data/docs/reference/architecture/operations/index.html +0 -302
  72. data/docs/reference/architecture/resources/index.html +0 -335
  73. data/docs/reference/architecture/results/index.html +0 -302
  74. data/docs/reference/architecture/searchers/index.html +0 -302
  75. data/docs/reference/architecture/serialization/index.html +0 -302
  76. data/docs/reference/index.html +0 -281
  77. data/docs/reference/netsuite/authentication/index.html +0 -392
  78. data/docs/reference/netsuite/authentication/token_based_authentication/index.html +0 -486
  79. data/docs/reference/netsuite/index.html +0 -388
  80. data/docs/reference/netsuite/resources/account/index.html +0 -484
  81. data/docs/reference/netsuite/resources/check/index.html +0 -492
  82. data/docs/reference/netsuite/resources/check_line_item/index.html +0 -460
  83. data/docs/reference/netsuite/resources/currency/index.html +0 -476
  84. data/docs/reference/netsuite/resources/customer/index.html +0 -488
  85. data/docs/reference/netsuite/resources/customer_deposit/index.html +0 -480
  86. data/docs/reference/netsuite/resources/department/index.html +0 -484
  87. data/docs/reference/netsuite/resources/deposit/index.html +0 -468
  88. data/docs/reference/netsuite/resources/deposit_line_item/index.html +0 -460
  89. data/docs/reference/netsuite/resources/index.html +0 -436
  90. data/docs/reference/netsuite/resources/invoice/index.html +0 -468
  91. data/docs/reference/netsuite/resources/invoice_line_item/index.html +0 -456
  92. data/docs/reference/netsuite/resources/item/index.html +0 -444
  93. data/docs/reference/netsuite/resources/journal_entry/index.html +0 -488
  94. data/docs/reference/netsuite/resources/journal_entry_line_item/index.html +0 -464
  95. data/docs/reference/netsuite/resources/ledger_class/index.html +0 -484
  96. data/docs/reference/netsuite/resources/location/index.html +0 -468
  97. data/docs/reference/netsuite/resources/resource/index.html +0 -440
  98. data/docs/reference/netsuite/resources/subsidiary/index.html +0 -448
  99. data/docs/reference/netsuite/resources/vendor/index.html +0 -492
  100. data/docs/reference/netsuite_soap/index.html +0 -303
  101. data/docs/reference/netsuite_soap/resources/customer/index.html +0 -364
  102. data/docs/reference/netsuite_soap/resources/index.html +0 -316
  103. data/docs/reference/netsuite_soap/resources/resource/index.html +0 -336
  104. data/docs/reference/netsuite_soap/resources/subsidiary/index.html +0 -356
  105. data/docs/reference/quickbooks_online/authentication/index.html +0 -442
  106. data/docs/reference/quickbooks_online/errors/index.html +0 -395
  107. data/docs/reference/quickbooks_online/index.html +0 -393
  108. data/docs/reference/quickbooks_online/resources/account/index.html +0 -530
  109. data/docs/reference/quickbooks_online/resources/bill/index.html +0 -534
  110. data/docs/reference/quickbooks_online/resources/bill_line_item/index.html +0 -496
  111. data/docs/reference/quickbooks_online/resources/bill_payment/index.html +0 -550
  112. data/docs/reference/quickbooks_online/resources/bill_payment_line_item/index.html +0 -488
  113. data/docs/reference/quickbooks_online/resources/currency/index.html +0 -492
  114. data/docs/reference/quickbooks_online/resources/customer/index.html +0 -514
  115. data/docs/reference/quickbooks_online/resources/department/index.html +0 -518
  116. data/docs/reference/quickbooks_online/resources/deposit/index.html +0 -526
  117. data/docs/reference/quickbooks_online/resources/deposit_line_item/index.html +0 -500
  118. data/docs/reference/quickbooks_online/resources/expense/index.html +0 -538
  119. data/docs/reference/quickbooks_online/resources/expense_line_item/index.html +0 -496
  120. data/docs/reference/quickbooks_online/resources/index.html +0 -484
  121. data/docs/reference/quickbooks_online/resources/invoice/index.html +0 -526
  122. data/docs/reference/quickbooks_online/resources/invoice_sales_line_item/index.html +0 -496
  123. data/docs/reference/quickbooks_online/resources/item/index.html +0 -484
  124. data/docs/reference/quickbooks_online/resources/journal_entry/index.html +0 -518
  125. data/docs/reference/quickbooks_online/resources/journal_entry_line_item/index.html +0 -504
  126. data/docs/reference/quickbooks_online/resources/ledger_class/index.html +0 -518
  127. data/docs/reference/quickbooks_online/resources/payment/index.html +0 -538
  128. data/docs/reference/quickbooks_online/resources/payment_line_item/index.html +0 -488
  129. data/docs/reference/quickbooks_online/resources/preferences/index.html +0 -526
  130. data/docs/reference/quickbooks_online/resources/primary_email_addr/index.html +0 -484
  131. data/docs/reference/quickbooks_online/resources/primary_phone/index.html +0 -484
  132. data/docs/reference/quickbooks_online/resources/resource/index.html +0 -480
  133. data/docs/reference/quickbooks_online/resources/subsidiary/index.html +0 -488
  134. data/docs/reference/quickbooks_online/resources/transfer/index.html +0 -522
  135. data/docs/reference/quickbooks_online/resources/vendor/index.html +0 -526
  136. data/docs/reference/quickbooks_online/webhooks/index.html +0 -427
  137. data/docs/reference/stripe/index.html +0 -293
  138. data/docs/reference/stripe/resources/customer/index.html +0 -366
  139. data/docs/reference/stripe/resources/index.html +0 -309
  140. data/docs/reference/stripe/resources/resource/index.html +0 -330
  141. data/docs/style-guide/index.html +0 -375
  142. data/documentation/site/Gemfile +0 -11
  143. data/documentation/site/Gemfile.lock +0 -69
@@ -1,441 +0,0 @@
1
- .highlight pre {
2
- background-color: #272822;
3
- color: #fff;
4
- }
5
-
6
- .highlight .hll {
7
- background-color: #272822;
8
- }
9
-
10
- .highlight .c {
11
- color: #75715e
12
- }
13
-
14
-
15
- /* Comment */
16
-
17
- .highlight .err {
18
- color: #960050;
19
- background-color: #1e0010
20
- }
21
-
22
-
23
- /* Error */
24
-
25
- .highlight .k {
26
- color: #66d9ef
27
- }
28
-
29
-
30
- /* Keyword */
31
-
32
- .highlight .l {
33
- color: #ae81ff
34
- }
35
-
36
-
37
- /* Literal */
38
-
39
- .highlight .n {
40
- color: #f8f8f2
41
- }
42
-
43
-
44
- /* Name */
45
-
46
- .highlight .o {
47
- color: #f92672
48
- }
49
-
50
-
51
- /* Operator */
52
-
53
- .highlight .p {
54
- color: #f8f8f2
55
- }
56
-
57
-
58
- /* Punctuation */
59
-
60
- .highlight .cm {
61
- color: #75715e
62
- }
63
-
64
-
65
- /* Comment.Multiline */
66
-
67
- .highlight .cp {
68
- color: #75715e
69
- }
70
-
71
-
72
- /* Comment.Preproc */
73
-
74
- .highlight .c1 {
75
- color: #75715e
76
- }
77
-
78
-
79
- /* Comment.Single */
80
-
81
- .highlight .cs {
82
- color: #75715e
83
- }
84
-
85
-
86
- /* Comment.Special */
87
-
88
- .highlight .ge {
89
- font-style: italic
90
- }
91
-
92
-
93
- /* Generic.Emph */
94
-
95
- .highlight .gs {
96
- font-weight: bold
97
- }
98
-
99
-
100
- /* Generic.Strong */
101
-
102
- .highlight .kc {
103
- color: #66d9ef
104
- }
105
-
106
-
107
- /* Keyword.Constant */
108
-
109
- .highlight .kd {
110
- color: #66d9ef
111
- }
112
-
113
-
114
- /* Keyword.Declaration */
115
-
116
- .highlight .kn {
117
- color: #f92672
118
- }
119
-
120
-
121
- /* Keyword.Namespace */
122
-
123
- .highlight .kp {
124
- color: #66d9ef
125
- }
126
-
127
-
128
- /* Keyword.Pseudo */
129
-
130
- .highlight .kr {
131
- color: #66d9ef
132
- }
133
-
134
-
135
- /* Keyword.Reserved */
136
-
137
- .highlight .kt {
138
- color: #66d9ef
139
- }
140
-
141
-
142
- /* Keyword.Type */
143
-
144
- .highlight .ld {
145
- color: #e6db74
146
- }
147
-
148
-
149
- /* Literal.Date */
150
-
151
- .highlight .m {
152
- color: #ae81ff
153
- }
154
-
155
-
156
- /* Literal.Number */
157
-
158
- .highlight .s {
159
- color: #e6db74
160
- }
161
-
162
-
163
- /* Literal.String */
164
-
165
- .highlight .na {
166
- color: #a6e22e
167
- }
168
-
169
-
170
- /* Name.Attribute */
171
-
172
- .highlight .nb {
173
- color: #f8f8f2
174
- }
175
-
176
-
177
- /* Name.Builtin */
178
-
179
- .highlight .nc {
180
- color: #a6e22e
181
- }
182
-
183
-
184
- /* Name.Class */
185
-
186
- .highlight .no {
187
- color: #66d9ef
188
- }
189
-
190
-
191
- /* Name.Constant */
192
-
193
- .highlight .nd {
194
- color: #a6e22e
195
- }
196
-
197
-
198
- /* Name.Decorator */
199
-
200
- .highlight .ni {
201
- color: #f8f8f2
202
- }
203
-
204
-
205
- /* Name.Entity */
206
-
207
- .highlight .ne {
208
- color: #a6e22e
209
- }
210
-
211
-
212
- /* Name.Exception */
213
-
214
- .highlight .nf {
215
- color: #a6e22e
216
- }
217
-
218
-
219
- /* Name.Function */
220
-
221
- .highlight .nl {
222
- color: #f8f8f2
223
- }
224
-
225
-
226
- /* Name.Label */
227
-
228
- .highlight .nn {
229
- color: #f8f8f2
230
- }
231
-
232
-
233
- /* Name.Namespace */
234
-
235
- .highlight .nx {
236
- color: #a6e22e
237
- }
238
-
239
-
240
- /* Name.Other */
241
-
242
- .highlight .py {
243
- color: #f8f8f2
244
- }
245
-
246
-
247
- /* Name.Property */
248
-
249
- .highlight .nt {
250
- color: #f92672
251
- }
252
-
253
-
254
- /* Name.Tag */
255
-
256
- .highlight .nv {
257
- color: #f8f8f2
258
- }
259
-
260
-
261
- /* Name.Variable */
262
-
263
- .highlight .ow {
264
- color: #f92672
265
- }
266
-
267
-
268
- /* Operator.Word */
269
-
270
- .highlight .w {
271
- color: #f8f8f2
272
- }
273
-
274
-
275
- /* Text.Whitespace */
276
-
277
- .highlight .mf {
278
- color: #ae81ff
279
- }
280
-
281
-
282
- /* Literal.Number.Float */
283
-
284
- .highlight .mh {
285
- color: #ae81ff
286
- }
287
-
288
-
289
- /* Literal.Number.Hex */
290
-
291
- .highlight .mi {
292
- color: #ae81ff
293
- }
294
-
295
-
296
- /* Literal.Number.Integer */
297
-
298
- .highlight .mo {
299
- color: #ae81ff
300
- }
301
-
302
-
303
- /* Literal.Number.Oct */
304
-
305
- .highlight .sb {
306
- color: #e6db74
307
- }
308
-
309
-
310
- /* Literal.String.Backtick */
311
-
312
- .highlight .sc {
313
- color: #e6db74
314
- }
315
-
316
-
317
- /* Literal.String.Char */
318
-
319
- .highlight .sd {
320
- color: #e6db74
321
- }
322
-
323
-
324
- /* Literal.String.Doc */
325
-
326
- .highlight .s2 {
327
- color: #e6db74
328
- }
329
-
330
-
331
- /* Literal.String.Double */
332
-
333
- .highlight .se {
334
- color: #ae81ff
335
- }
336
-
337
-
338
- /* Literal.String.Escape */
339
-
340
- .highlight .sh {
341
- color: #e6db74
342
- }
343
-
344
-
345
- /* Literal.String.Heredoc */
346
-
347
- .highlight .si {
348
- color: #e6db74
349
- }
350
-
351
-
352
- /* Literal.String.Interpol */
353
-
354
- .highlight .sx {
355
- color: #e6db74
356
- }
357
-
358
-
359
- /* Literal.String.Other */
360
-
361
- .highlight .sr {
362
- color: #e6db74
363
- }
364
-
365
-
366
- /* Literal.String.Regex */
367
-
368
- .highlight .s1 {
369
- color: #e6db74
370
- }
371
-
372
-
373
- /* Literal.String.Single */
374
-
375
- .highlight .ss {
376
- color: #e6db74
377
- }
378
-
379
-
380
- /* Literal.String.Symbol */
381
-
382
- .highlight .bp {
383
- color: #f8f8f2
384
- }
385
-
386
-
387
- /* Name.Builtin.Pseudo */
388
-
389
- .highlight .vc {
390
- color: #f8f8f2
391
- }
392
-
393
-
394
- /* Name.Variable.Class */
395
-
396
- .highlight .vg {
397
- color: #f8f8f2
398
- }
399
-
400
-
401
- /* Name.Variable.Global */
402
-
403
- .highlight .vi {
404
- color: #f8f8f2
405
- }
406
-
407
-
408
- /* Name.Variable.Instance */
409
-
410
- .highlight .il {
411
- color: #ae81ff
412
- }
413
-
414
-
415
- /* Literal.Number.Integer.Long */
416
-
417
- .highlight .gh {}
418
-
419
-
420
- /* Generic Heading & Diff Header */
421
-
422
- .highlight .gu {
423
- color: #75715e;
424
- }
425
-
426
-
427
- /* Generic.Subheading & Diff Unified/Comment? */
428
-
429
- .highlight .gd {
430
- color: #f92672;
431
- }
432
-
433
-
434
- /* Generic.Deleted & Diff Deleted */
435
-
436
- .highlight .gi {
437
- color: #a6e22e;
438
- }
439
-
440
-
441
- /* Generic.Inserted & Diff Inserted */
@@ -1,214 +0,0 @@
1
- /**
2
- * Main JS file for theme behaviours
3
- */
4
- // Responsive video embeds
5
- let videoEmbeds = [
6
- 'iframe[src*="youtube.com"]',
7
- 'iframe[src*="vimeo.com"]'
8
- ];
9
- reframe(videoEmbeds.join(','));
10
-
11
- // Remove nav related classes on page load
12
- document.body.classList.remove('menu--opened', 'toc--opened');
13
-
14
- // Menu on small screens
15
- let menuToggle = document.querySelectorAll('.menu-toggle');
16
- if (menuToggle) {
17
- for (let i = 0; i < menuToggle.length; i++) {
18
- menuToggle[i].addEventListener('click', function (e) {
19
- document.body.classList.toggle('menu--opened');
20
- e.preventDefault();
21
- }, false);
22
- }
23
- }
24
-
25
- // Dropdown arrow
26
- let mainMenu = document.getElementById('main-navigation');
27
- let submenu = mainMenu.querySelectorAll('.submenu');
28
- if (submenu) {
29
- for (let i = 0; i < submenu.length; i++) {
30
- let submenuBtn = document.createElement('button');
31
- submenuBtn.setAttribute('class','submenu-toggle');
32
- submenuBtn.innerHTML = '<span class="icon-angle-right" aria-hidden="true"></span><span class="screen-reader-text">Sub-menu</span>';
33
- submenu[i].parentNode.insertBefore(submenuBtn, submenu[i]);
34
- submenuBtn.addEventListener ('click', function() {
35
- this.classList.toggle('active');
36
- this.nextSibling.classList.toggle('active');
37
- });
38
- }
39
-
40
- }
41
-
42
-
43
- let guidesNav = document.getElementById('guides-nav');
44
- if (guidesNav) {
45
- // Docs nav on small screens
46
- let guidesNavToggle = document.getElementById('guides-nav-toggle');
47
- guidesNavToggle.addEventListener('click', function (e) {
48
- document.body.classList.toggle('toc--opened');
49
- e.preventDefault();
50
- }, false);
51
-
52
- // Submenu toggle
53
- let submenuToggle = guidesNav.querySelectorAll('.submenu-toggle');
54
- for (let i = 0; i < submenuToggle.length; i++) {
55
- submenuToggle[i].addEventListener('click', function (e) {
56
- submenuToggle[i].parentNode.classList.toggle('active');
57
- }, false);
58
- }
59
- }
60
-
61
- let pageNav = document.getElementById('page-nav');
62
- if (pageNav) {
63
-
64
- let pageToc = document.getElementById('page-nav-inside');
65
- let pageContent = document.querySelector('.type-guides .post-content');
66
-
67
- // Create in-page navigation
68
- let headerLinks = getHeaderLinks({
69
- root: pageContent
70
- });
71
- renderHeaderLinks(pageToc, headerLinks);
72
-
73
- // Scroll to anchors
74
- let scroll = new SmoothScroll('[data-scroll]');
75
- let hash = window.decodeURI(location.hash.replace('#', ''));
76
- if (hash !== '') {
77
- window.setTimeout( function(){
78
- let anchor = document.getElementById(hash);
79
- if (anchor) {
80
- scroll.animateScroll(anchor);
81
- }
82
- }, 0);
83
- }
84
-
85
- // Highlight current anchor
86
- let pageTocLinks = pageToc.getElementsByTagName('a');
87
- if (pageTocLinks.length > 0) {
88
- let spy = new Gumshoe('#page-nav-inside a', {
89
- nested: true,
90
- nestedClass: 'active-parent'
91
- });
92
- }
93
-
94
- // Add link to page content headings
95
- let pageHeadings = getElementsByTagNames(pageContent, ["h2", "h3"]);
96
- for (let i = 0; i < pageHeadings.length; i++) {
97
- let heading = pageHeadings[i];
98
- if (typeof heading.id !== "undefined" && heading.id !== "") {
99
- heading.insertBefore(anchorForId(heading.id), heading.firstChild);
100
- }
101
- }
102
-
103
- // Copy link url
104
- let clipboard = new ClipboardJS('.hash-link', {
105
- text: function(trigger) {
106
- return window.location.href.replace(window.location.hash,"") + trigger.getAttribute('href');
107
- }
108
- });
109
- }
110
-
111
- function getElementsByTagNames(root, tagNames) {
112
- let elements = [];
113
- for (let i = 0; i < root.children.length; i++) {
114
- let element = root.children[i];
115
- let tagName = element.nodeName.toLowerCase();
116
- if (tagNames.includes(tagName)) {
117
- elements.push(element);
118
- }
119
- elements = elements.concat(getElementsByTagNames(element, tagNames));
120
- }
121
- return elements;
122
- }
123
-
124
- function createLinksForHeaderElements(elements) {
125
- let result = [];
126
- let stack = [
127
- {
128
- level: 0,
129
- children: result
130
- }
131
- ];
132
- let re = /^h(\d)$/;
133
- for (let i = 0; i < elements.length; i++) {
134
- let element = elements[i];
135
- let tagName = element.nodeName.toLowerCase();
136
- let match = re.exec(tagName);
137
- if (!match) {
138
- console.warn("can not create links to non header element");
139
- continue;
140
- }
141
- let headerLevel = parseInt(match[1], 10);
142
- if (!element.id) {
143
- if (!element.textContent) {
144
- console.warn(
145
- "can not create link to element without id and without text content"
146
- );
147
- continue;
148
- }
149
- element.id = element.textContent
150
- .toLowerCase()
151
- .replace(/[^\w]+/g, "_")
152
- .replace(/^_/, "")
153
- .replace(/_$/, "");
154
- }
155
- let link = document.createElement("a");
156
- link.href = "#" + element.id;
157
- link.setAttribute('data-scroll', '');
158
- link.appendChild(document.createTextNode(element.textContent));
159
- let obj = {
160
- id: element.id,
161
- level: headerLevel,
162
- textContent: element.textContent,
163
- element: element,
164
- link: link,
165
- children: []
166
- };
167
- if (headerLevel > stack[stack.length - 1].level) {
168
- stack[stack.length - 1].children.push(obj);
169
- stack.push(obj);
170
- } else {
171
- while (headerLevel <= stack[stack.length - 1].level && stack.length > 1) {
172
- stack.pop();
173
- }
174
- stack[stack.length - 1].children.push(obj);
175
- stack.push(obj);
176
- }
177
- }
178
- return result;
179
- }
180
-
181
- function getHeaderLinks(options = {}) {
182
- let tagNames = options.tagNames || ["h2", "h3"];
183
- let root = options.root || document.body;
184
- let headerElements = getElementsByTagNames(root, tagNames);
185
- return createLinksForHeaderElements(headerElements);
186
- }
187
-
188
- function renderHeaderLinks(element, links) {
189
- if (links.length === 0) {
190
- return;
191
- }
192
- let ulElm = document.createElement("ul");
193
- for (let i = 0; i < links.length; i++) {
194
- let liElm = document.createElement("li");
195
- liElm.append(links[i].link);
196
- if (links[i].children.length > 0) {
197
- renderHeaderLinks(liElm, links[i].children);
198
- }
199
- ulElm.appendChild(liElm);
200
- }
201
- element.appendChild(ulElm);
202
- }
203
-
204
- function anchorForId(id) {
205
- let anchor = document.createElement("a");
206
- anchor.setAttribute("class", "hash-link");
207
- anchor.setAttribute("data-scroll", "");
208
- anchor.href = "#" + id;
209
- anchor.innerHTML = '<span class="icon-copy" aria-hidden="true"></span><span class="screen-reader-text">Copy</span>';
210
- return anchor;
211
- }
212
-
213
- // Syntax Highlighter
214
- Prism.highlightAll();