station 0.0.111 → 0.0.118

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +9 -7
  3. data/Gemfile +1 -1
  4. data/Gemfile.lock +2 -2
  5. data/docs/How-To-Use.md +2 -0
  6. data/lib/nexmo_developer/.nvmrc +1 -1
  7. data/lib/nexmo_developer/.ruby-version +1 -1
  8. data/lib/nexmo_developer/Gemfile +14 -10
  9. data/lib/nexmo_developer/Gemfile.lock +166 -102
  10. data/lib/nexmo_developer/Runbook.md +4 -4
  11. data/lib/nexmo_developer/app/controllers/dashboard_controller.rb +0 -5
  12. data/lib/nexmo_developer/app/controllers/jobs_controller.rb +7 -7
  13. data/lib/nexmo_developer/app/controllers/static_controller.rb +2 -13
  14. data/lib/nexmo_developer/app/models/feedback/feedback.rb +2 -0
  15. data/lib/nexmo_developer/app/presenters/head.rb +5 -1
  16. data/lib/nexmo_developer/app/presenters/improve_page_presenter.rb +10 -7
  17. data/lib/nexmo_developer/app/services/orbit_feedback_notifier.rb +50 -0
  18. data/lib/nexmo_developer/app/services/translator/files_list_coordinator.rb +1 -1
  19. data/lib/nexmo_developer/app/views/contribute/guides/landing-pages.md +0 -10
  20. data/lib/nexmo_developer/app/views/contribute/guides/markdown-guide.md +36 -40
  21. data/lib/nexmo_developer/app/views/contribute/guides/platform.md +0 -1
  22. data/lib/nexmo_developer/app/views/dashboard/stats.html.erb +2 -2
  23. data/lib/nexmo_developer/app/views/layouts/partials/_head.html.erb +1 -5
  24. data/lib/nexmo_developer/app/views/layouts/partials/_sidenav_subitem.html.erb +3 -0
  25. data/lib/nexmo_developer/app/webpacker/javascript/volta/volta.js +5 -1
  26. data/lib/nexmo_developer/app/webpacker/packs/application.js +0 -3
  27. data/lib/nexmo_developer/config/routes.rb +0 -2
  28. data/lib/nexmo_developer/lib/tasks/cache.rake +1 -1
  29. data/lib/nexmo_developer/lib/tasks/careers.rake +1 -1
  30. data/lib/nexmo_developer/lib/tasks/ci.rake +7 -7
  31. data/lib/nexmo_developer/lib/tasks/diff.rake +5 -5
  32. data/lib/nexmo_developer/lib/tasks/documentation.rake +1 -1
  33. data/lib/nexmo_developer/lib/tasks/generate_search_terms.rake +2 -2
  34. data/lib/nexmo_developer/lib/tasks/links.rake +6 -6
  35. data/lib/nexmo_developer/lib/tasks/smartling.rake +1 -1
  36. data/lib/nexmo_developer/nexmo_developer.rb +2 -0
  37. data/lib/nexmo_developer/version.rb +1 -1
  38. data/package.json +28 -28
  39. data/station.gemspec +11 -9
  40. data/yarn.lock +1057 -2858
  41. metadata +85 -62
  42. data/lib/nexmo_developer/.dockerignore +0 -1
  43. data/lib/nexmo_developer/Dockerfile +0 -28
  44. data/lib/nexmo_developer/app/screenshots/webhook-url-for-delivery-receipt.js +0 -44
  45. data/lib/nexmo_developer/app/screenshots/webhook-url-for-inbound-message.js +0 -44
  46. data/lib/nexmo_developer/app/views/static/default_landing/partials/_submit_your_idea_form.html.erb +0 -58
  47. data/lib/nexmo_developer/app/webpacker/javascript/spotlight/index.js +0 -12
  48. data/lib/nexmo_developer/docker-compose.yml +0 -43
  49. data/lib/nexmo_developer/lib/tasks/screenshots.rake +0 -11
@@ -4,7 +4,7 @@ Nexmo Developer is a simple Rails application with a mounted Sinatra app that ha
4
4
 
5
5
  # Deployment
6
6
 
7
- NDP is hosted in Heroku and is automatically deployed every time a branch is merged into master via a Github integration.
7
+ NDP is hosted in Heroku and is automatically deployed every time a branch is merged into main via a Github integration.
8
8
  In case you want to force a deploy, you can always deploy NDP from [Heroku's dashboard](https://dashboard.heroku.com/apps/nexmo-developer).
9
9
 
10
10
  ## Required Resources
@@ -39,7 +39,7 @@ In case NDP is Down:
39
39
 
40
40
  * Check if [Heroku](https://status.heroku.com/) is having an outage. Unfortunately, if that is the case then there isn't much you can do about it (at least for now).
41
41
  * Otherwise, check the [logs](#logs) or [Bugsnag](#error-monitoring-and-reporting) to see if any issues show up and try to reproduce it locally.
42
- If the issue is related to the latest deploy, just revert the offending commits and the deploy again while you work on a fix. Once a fix is ready, open a Pull Request, make sure that it works in the corresponding Review App and finally after all the checks pass merge it into master.
42
+ If the issue is related to the latest deploy, just revert the offending commits and the deploy again while you work on a fix. Once a fix is ready, open a Pull Request, make sure that it works in the corresponding Review App and finally after all the checks pass merge it into main.
43
43
 
44
44
  # Available configuration options
45
45
 
@@ -53,7 +53,7 @@ To enable the Search form locally, the `ALGOLIA_SEARCH_KEY` environment variable
53
53
 
54
54
  # Common issues when running NDP locally
55
55
 
56
- NDP can be run locally either directly or using Docker, for more information about how to run it see the [Readme](https://github.com/Nexmo/nexmo-developer/blob/master/README.md#running-locally). When using docker, re-building the image should fix the following issues
56
+ NDP can be run locally either directly or using Docker, for more information about how to run it see the [Readme](https://github.com/Nexmo/nexmo-developer/blob/main/README.md#running-locally). When using docker, re-building the image should fix the following issues
57
57
 
58
58
  * `Could not find definition '<insert_file_here>' in '<path>'`: set the right `OAS_PATH` in `.env`, check `.env.example` for the default value.
59
59
 
@@ -66,4 +66,4 @@ NDP can be run locally either directly or using Docker, for more information abo
66
66
 
67
67
  * Webpacker errors:
68
68
  * `The engine "node" is incompatible with this module. Expected version...` We use [nvm](https://github.com/nvm-sh/nvm) as node's version manage, check that the right version of node is installed (specified in `.nvmrc`) and run `nvm use <version>`.
69
- * Make sure that all the packages are install by running `yarn install`
69
+ * Make sure that all the packages are installed by running `yarn install`
@@ -1,6 +1,5 @@
1
1
  class DashboardController < ApplicationController
2
2
  before_action :authenticate_admin!
3
- before_action :set_additional_scripts
4
3
 
5
4
  def stats
6
5
  @feedbacks = Feedback::Feedback.created_between(created_after, created_before)
@@ -104,10 +103,6 @@ class DashboardController < ApplicationController
104
103
 
105
104
  private
106
105
 
107
- def set_additional_scripts
108
- @additional_scripts = ['stats']
109
- end
110
-
111
106
  def ignore_languages
112
107
  return params[:ignore].split(',') if params[:ignore].present?
113
108
 
@@ -8,19 +8,19 @@ class JobsController < ApplicationController
8
8
  if params['ref'] == 'refs/heads/master'
9
9
  url = "https://api.travis-ci.org/repo/#{ENV['TRAVIS_REPO_ID']}/requests"
10
10
  RestClient.post(url, {
11
- "request": {
12
- "branch": 'master',
13
- "config": {
14
- "script": 'bundle exec rake diff:execute',
15
- "env": {
16
- "SSH_KEY_REQUIRED": true,
11
+ request: {
12
+ branch: 'master',
13
+ config: {
14
+ script: 'bundle exec rake diff:execute',
15
+ env: {
16
+ SSH_KEY_REQUIRED: true,
17
17
  },
18
18
  },
19
19
  },
20
20
  }.to_json, {
21
21
  content_type: :json,
22
22
  accept: :json,
23
- 'Authorization': "token #{ENV['TRAVIS_TOKEN']}",
23
+ Authorization: "token #{ENV['TRAVIS_TOKEN']}",
24
24
  'Travis-API-Version': '3',
25
25
  })
26
26
 
@@ -45,6 +45,8 @@ class StaticController < ApplicationController
45
45
  migrate_tropo
46
46
  end
47
47
 
48
+ @frontmatter = @landing_config
49
+ @document_title = @landing_config['title']
48
50
  @navigation = yaml_name.to_sym
49
51
  render layout: 'landing'
50
52
  end
@@ -145,19 +147,6 @@ class StaticController < ApplicationController
145
147
  end
146
148
  end
147
149
 
148
- def spotlight
149
- response = RestClient.post(
150
- 'https://hooks.zapier.com/hooks/catch/1936493/oyzjr4i/',
151
- params.permit(:name, :email_address, :background, :outline, :previous_content).to_h
152
- )
153
-
154
- if response.code == 200
155
- head :ok
156
- else
157
- head :unprocessable_entity
158
- end
159
- end
160
-
161
150
  def blog_cookie
162
151
  # This is the first touch time so we only want to set it if it's not already set
163
152
  set_utm_cookie('ft', Time.now.getutc.to_i) unless cookies[:ft]
@@ -26,6 +26,8 @@ module Feedback
26
26
  end
27
27
 
28
28
  def notify
29
+ OrbitFeedbackNotifier.call(self) if !owner.nil? && owner.email.present?
30
+
29
31
  return unless ENV['SLACK_WEBHOOK']
30
32
 
31
33
  FeedbackSlackNotifier.call(self)
@@ -26,11 +26,15 @@ class Head
26
26
  end
27
27
 
28
28
  def title
29
- @title ||= config.fetch('title') do
29
+ @title ||= title_from_frontmatter || config.fetch('title') do
30
30
  raise "You must provide a 'title' parameter in header_meta.yml"
31
31
  end
32
32
  end
33
33
 
34
+ def title_from_frontmatter
35
+ @frontmatter && (@frontmatter['meta_title'] || @frontmatter['title'])
36
+ end
37
+
34
38
  def description
35
39
  @description ||= Description.new(config: config, frontmatter: frontmatter).description
36
40
  end
@@ -4,16 +4,19 @@ class ImprovePagePresenter
4
4
  end
5
5
 
6
6
  def github_url
7
- @github_url ||= "https://github.com/#{docs_repo}/blob/#{ENV.fetch('branch', 'master')}/#{path_to_url}"
7
+ @github_url ||= "https://github.com/#{docs_repo}/blob/#{ENV.fetch('branch', 'main')}/#{path_to_url}"
8
8
  end
9
9
 
10
- private
11
-
12
- def path_to_url
13
- @document_path&.gsub("#{Rails.configuration.docs_base_path}/", '')
10
+ def docs_repo
11
+ @docs_repo ||= begin
12
+ path_to_url.start_with?('lib/nexmo_developer/app/') ? 'nexmo/station' : YAML.safe_load(File.open("#{Rails.configuration.docs_base_path}/config/business_info.yml"))['docs_repo']
13
+ end
14
14
  end
15
15
 
16
- def docs_repo
17
- @docs_repo ||= YAML.safe_load(File.open("#{Rails.configuration.docs_base_path}/config/business_info.yml"))['docs_repo']
16
+ def path_to_url
17
+ @path_to_url ||= begin
18
+ @document_path&.gsub!("#{Rails.configuration.docs_base_path}/", '')
19
+ @document_path.start_with?('app/views') ? @document_path.prepend('lib/nexmo_developer/') : @document_path
20
+ end
18
21
  end
19
22
  end
@@ -0,0 +1,50 @@
1
+ class OrbitFeedbackNotifier
2
+ def self.call(feedback)
3
+ new(feedback).post!
4
+ end
5
+
6
+ def initialize(feedback)
7
+ @feedback = feedback
8
+ end
9
+
10
+ def params
11
+ @params ||= {
12
+ id: @feedback.id,
13
+ email: @feedback.owner.email,
14
+ resource: "Offered #{@feedback.sentiment} feedback on #{@feedback.resource.uri}",
15
+ }
16
+ end
17
+
18
+ def uri
19
+ @uri ||= URI("https://app.orbit.love/api/v1/#{ENV['ORBIT_WORKSPACE_ID']}/activities")
20
+ end
21
+
22
+ def post!
23
+ return unless ENV['ORBIT_WORKSPACE_ID']
24
+
25
+ http = Net::HTTP.new(uri.host, uri.port)
26
+ http.use_ssl = true
27
+ req = Net::HTTP::Post.new(uri)
28
+ req['Accept'] = 'application/json'
29
+ req['Content-Type'] = 'application/json'
30
+ req['Authorization'] = "Bearer #{ENV['ORBIT_API_KEY']}"
31
+
32
+ req.body = {
33
+ activity: {
34
+ activity_type: 'adp:feedback',
35
+ key: "adp-feedback-#{params[:id]}",
36
+ title: 'Offered feedback on ADP',
37
+ description: params[:resource],
38
+ occurred_at: Time.zone.now.iso8601,
39
+ },
40
+ identity: {
41
+ source: 'email',
42
+ email: params[:email],
43
+ },
44
+ }
45
+
46
+ req.body = req.body.to_json
47
+
48
+ http.request(req)
49
+ end
50
+ end
@@ -13,7 +13,7 @@ module Translator
13
13
  end
14
14
 
15
15
  def files
16
- @files ||= `(git fetch origin master:master) && (git log --since="#{@days} days" --name-only --oneline --diff-filter=ACM --pretty=format: master #{Rails.configuration.docs_base_path}/_documentation/en #{Rails.configuration.docs_base_path}/_tutorials/en #{Rails.configuration.docs_base_path}/_use_cases/en) | uniq | awk 'NF'`.split("\n")
16
+ @files ||= `(git fetch origin main:main) && (git log --since="#{@days} days" --name-only --oneline --diff-filter=ACM --pretty=format: main #{Rails.configuration.docs_base_path}/_documentation/en #{Rails.configuration.docs_base_path}/_tutorials/en #{Rails.configuration.docs_base_path}/_use_cases/en) | uniq | awk 'NF'`.split("\n")
17
17
  end
18
18
 
19
19
  def process_files(files)
@@ -544,13 +544,3 @@ The `warning_callout` content block provides an element to render a warning mess
544
544
  content: # Warning message goes here
545
545
 
546
546
  ```
547
-
548
- ### Write for Nexmo
549
-
550
- The `write_for_nexmo` content block will provide a call to action element to Write for Nexmo with a Developer Spotlight graphic on the left-hand side and text advertising the Write for Nexmo program on the left-hand side.
551
-
552
- ```yaml
553
-
554
- - type: write_for_nexmo
555
-
556
- ```
@@ -126,6 +126,25 @@ They auto-magically color when you use verbs like [POST] or [DELETE]
126
126
  |
127
127
  | Nullam id dolor id nibh ultricies vehicula ut id elit. Donec ullamcorper nulla non metus auctor fringilla. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.
128
128
 
129
+ ````
130
+ | ### Click me
131
+ |
132
+ | Here is some hidden content.
133
+ |
134
+ | Markdown _still_ works `here`!
135
+ |
136
+ | Nullam id dolor id nibh ultricies vehicula ut id elit. Donec ullamcorper nulla non metus auctor fringilla. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.
137
+ ````
138
+
139
+ | ### Alpha
140
+ |
141
+ | Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Donec id elit non mi porta gravida at eget metus. Sed posuere consectetur est at lobortis. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ullamcorper nulla non metus auctor fringilla.
142
+ |
143
+ | Donec id elit non mi porta gravida at eget metus. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Donec sed odio dui. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Cras mattis consectetur purus sit amet fermentum.
144
+ |
145
+ | Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Donec id elit non mi porta gravida at eget metus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae elit libero, a pharetra augue. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Aenean lacinia bibendum nulla sed consectetur. Nullam quis risus eget urna mollis ornare vel eu leo.
146
+
147
+ ````
129
148
  | ### Alpha
130
149
  |
131
150
  | Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Donec id elit non mi porta gravida at eget metus. Sed posuere consectetur est at lobortis. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ullamcorper nulla non metus auctor fringilla.
@@ -133,15 +152,24 @@ They auto-magically color when you use verbs like [POST] or [DELETE]
133
152
  | Donec id elit non mi porta gravida at eget metus. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Donec sed odio dui. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Cras mattis consectetur purus sit amet fermentum.
134
153
  |
135
154
  | Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Donec id elit non mi porta gravida at eget metus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae elit libero, a pharetra augue. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Aenean lacinia bibendum nulla sed consectetur. Nullam quis risus eget urna mollis ornare vel eu leo.
155
+ ````
136
156
 
137
157
  **Tooltips (custom plugin)**
138
158
 
139
159
  Find out ^[more](Tooltips are useful for when you have more information to convey, but don't want to break context.).
140
160
 
161
+ ````
162
+ Find out ^[more](Tooltips are useful for when you have more information to convey, but don't want to break context.).
163
+ ````
164
+
141
165
  ## Images
142
166
 
143
167
  ![Please always add alt-text](https://media.giphy.com/media/pDTLSpqNvNxlu/giphy.gif)
144
168
 
169
+ ````
170
+ ![Please always add alt-text](https://media.giphy.com/media/pDTLSpqNvNxlu/giphy.gif)
171
+ ````
172
+
145
173
  > Images should be used sparingly, try to avoid using screenshots that might go out of date.
146
174
  >
147
175
  > Also... Please ALWAYS write descriptive alt text.
@@ -183,8 +211,6 @@ See our detailed [code examples guide](/contribute/guides/code-examples) for adv
183
211
  ## Tables
184
212
 
185
213
  > Pipes should only be between cells. Two hyphens `--` should be used to 'underline' the headings.
186
- >
187
- > You'll have to view the `markdown-guide.md` source to see how since showing you the syntax would result in it being processed.
188
214
 
189
215
  | Key | Description |
190
216
  | ------------ | ------------------------------------------------------------------------------------------ |
@@ -192,6 +218,14 @@ See our detailed [code examples guide](/contribute/guides/code-examples) for adv
192
218
  | `API_KEY` | You can find this in your [account overview](https://dashboard.nexmo.com/account-overview) |
193
219
  | `API_SECRET` | You can find this in your [account overview](https://dashboard.nexmo.com/account-overview) |
194
220
 
221
+ ````
222
+ | Key | Description |
223
+ | ------------ | ------------------------------------------------------------------------------------------ |
224
+ | `TO_NUMBER` | The number you are sending the SMS to |
225
+ | `API_KEY` | You can find this in your [account overview](https://dashboard.nexmo.com/account-overview) |
226
+ | `API_SECRET` | You can find this in your [account overview](https://dashboard.nexmo.com/account-overview) |
227
+ ````
228
+
195
229
  ## Tabbed Content (custom plugin)
196
230
 
197
231
  To use the tabbed content block, add a section like this to your markdown to point out where the directory holding the examples is:
@@ -325,44 +359,6 @@ If you are adding support for a changed header this would normally go above the
325
359
 
326
360
  [Go to the anchor](#anchor-example). I've placed at the top of this document.
327
361
 
328
- ## Screenshots
329
-
330
- Webpage screenshots can be scripted so that they only require sourcing once. Define a screenshot as such:
331
-
332
- ````
333
- ```screenshot
334
- script: app/screenshots/webhook-url-for-delivery-receipt.js
335
- ```
336
- ````
337
-
338
- Run the following command:
339
-
340
- ```
341
- $ rake screenshots:new
342
- ```
343
-
344
- This changes the original source document to add an `image` value pointing to the screenshot:
345
-
346
- ````
347
- ```screenshot
348
- script: app/screenshots/webhook-url-for-delivery-receipt.js
349
- image: public/assets/screenshots/da5f952d465355c19eb888fa1049844b31e090c2.png
350
- ```
351
- ````
352
-
353
- You can also update all examples by running the following command:
354
-
355
- ```
356
- $ rake screenshots:all
357
- ```
358
-
359
- Here is the example of the final rendered output:
360
-
361
- ```screenshot
362
- script: app/screenshots/webhook-url-for-delivery-receipt.js
363
- image: public/assets/screenshots/da5f952d465355c19eb888fa1049844b31e090c2.png
364
- ```
365
-
366
362
  ## Audio (custom plugin)
367
363
 
368
364
  The HTML `<audio>` element can be utilised in Markdown with the following syntax:
@@ -145,7 +145,6 @@ Frontmatter | No | [Implicit] | Strips frontmatter from documents
145
145
  PHPInliner | No | [Implicit] | Fixes a quirk with our code parser that requires PHP code to have `<?php` at the start. This filter adds an option onto PHP code examples that makes this not required.
146
146
  InlineEscape | No | [Extended] | Allows for escaping of inline code where normally the internals would be processes by the markdown. For example this isn't turned into a ``[label]`` when surrounded by two backticks.
147
147
  BlockEscape | No | [Extended] | Allows for escaping of code fences where normally the internals would be processes by the markdown.
148
- Screenshot | No | [Plugin] | Allows for screenshots be put into documentation that are captured by a headless browser so they can be easily refreshed.
149
148
  Anchor | No | [Extended] | Useful for when a title changes, an explicit anchor can be added and renders a non-visible anchor link to the same content.
150
149
  Audio | No | [Extended] | Used to embed audio examples using the `<audio>` element.
151
150
  Tooltip | No | [Extended] | Allows for ^[Toolips](Hello world!) to be added with a markdown-style syntax.
@@ -70,7 +70,7 @@
70
70
  { name: 'Neutral', color: '#e1e2e6', data: @feedbacks.neutral.group_by_week('feedback_feedbacks.created_at').count },
71
71
  { name: 'Negative', color: '#ea5353', data: @feedbacks.negative.group_by_week('feedback_feedbacks.created_at').count },
72
72
  ],
73
- stacked: true
73
+ stacked: true, defer: true
74
74
  ) %>
75
75
 
76
76
  <%
@@ -109,7 +109,7 @@
109
109
  { name: 'Neutral', color: '#e1e2e6', data: neutral },
110
110
  { name: 'Negative', color: '#ea5353', data: negative },
111
111
  ],
112
- stacked: true
112
+ stacked: true, defer: true
113
113
  ) %>
114
114
 
115
115
  <hr>
@@ -76,11 +76,7 @@
76
76
  <%= javascript_include_tag 'application', defer: true %>
77
77
 
78
78
  <%= javascript_packs_with_chunks_tag 'application', defer: true %>
79
- <% if @additional_scripts %>
80
- <% @additional_scripts.each do |script| %>
81
- <%= javascript_include_tag script %>
82
- <% end %>
83
- <% end %>
79
+
84
80
  <% if ENV['ENVIRONMENT_SCRIPTS'] %>
85
81
  <%= ENV['ENVIRONMENT_SCRIPTS'].html_safe %>
86
82
  <% end %>
@@ -14,6 +14,9 @@
14
14
  <% end %>
15
15
  <% elsif sidenav_subitem.collapsible? %>
16
16
  <li class="js--collapsible navigation-item--<%= sidenav_subitem.title.parameterize %> navigation-item">
17
+ <% if sidenav_subitem.label? %>
18
+ <%= link_to(sidenav_subitem.label, sidenav_subitem.link_url, class: "#{sidenav_subitem.css_classes}", role: 'link') %>
19
+ <% end %>
17
20
  <a class="Vlt-sidemenu__trigger" href="/concepts" role="link">
18
21
  <span class="Vlt-sidemenu__label"><%= sidenav_subitem.title %></span>
19
22
  </a>
@@ -1390,7 +1390,11 @@ Volta.tab = function () {
1390
1390
  var link = link;
1391
1391
 
1392
1392
  link.index = index;
1393
- link.addEventListener('keyup', _this._keyUpEventListener.bind(_this));
1393
+ link.addEventListener('keyup', _this._keyUpEventListener.bind(_this));
1394
+ link.addEventListener('toggle', function() {
1395
+ _this.toggle(link);
1396
+ });
1397
+
1394
1398
  link.addEventListener('click', function () {
1395
1399
  _this.toggle(link);
1396
1400
  });
@@ -7,7 +7,6 @@
7
7
  // To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate
8
8
  // layout file, like app/views/layouts/application.html.erb
9
9
 
10
- import '@babel/polyfill'
11
10
  import '@vonagevolta/volta2/js/addons/prism'
12
11
 
13
12
  import Rails from "@rails/ujs"
@@ -39,7 +38,6 @@ import GithubCards from '../javascript/github_cards'
39
38
  import VoltaTabbedExamples from '../javascript/volta_tabbed_examples'
40
39
  import Format from '../javascript/format'
41
40
  import Scroll from '../javascript/scroll'
42
- import Spotlight from '../javascript/spotlight'
43
41
  import Notices from '../javascript/notices'
44
42
  import Feedback from '../javascript/components/feedback/Feedback.vue'
45
43
  import JwtGenerator from '../javascript/components/jwt_generator/JwtGenerator.vue'
@@ -62,7 +60,6 @@ $(document).ready(function() {
62
60
  Scroll()
63
61
  CodeSnippetEvents()
64
62
  new Sidenav()
65
- Spotlight()
66
63
  new Careers
67
64
  new LocaleSwitcher
68
65