station 0.3.2 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/lib/nexmo_developer/app/presenters/sidenav.rb +4 -2
  3. data/lib/nexmo_developer/app/views/search/_result.html.erb +20 -0
  4. data/lib/nexmo_developer/app/views/search/results.html.erb +3 -1
  5. data/lib/nexmo_developer/app/views/static/404.html.erb +2 -0
  6. data/lib/nexmo_developer/app/views/static/_career.html.erb +1 -1
  7. data/lib/nexmo_developer/app/views/static/landing_page_documentation/partials/_small_product_card.html.erb +8 -6
  8. data/lib/nexmo_developer/app/webpacker/javascript/components/search/Blog.vue +33 -0
  9. data/lib/nexmo_developer/app/webpacker/javascript/components/search/Search.vue +11 -2
  10. data/lib/nexmo_developer/app/webpacker/stylesheets/custom/_landing.scss +10 -9
  11. data/lib/nexmo_developer/app/webpacker/stylesheets/custom/_variables.scss +2 -0
  12. data/lib/nexmo_developer/app/webpacker/stylesheets/layout/_community.scss +2 -2
  13. data/lib/nexmo_developer/app/webpacker/stylesheets/layout/_search.scss +2 -1
  14. data/lib/nexmo_developer/config/initializers/algolia.rb +1 -1
  15. data/lib/nexmo_developer/public/assets/{.sprockets-manifest-fd8233b388fd05028148c3a82d5e9409.json → .sprockets-manifest-99c23924b9f87815ec6ae3c16642e874.json} +1 -1
  16. data/lib/nexmo_developer/public/assets/application-45229aaf351c0063887eda1627f8cc1b24b805884626aaffca4f8a4c11fc2807.css.gz +0 -0
  17. data/lib/nexmo_developer/public/assets/application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js.gz +0 -0
  18. data/lib/nexmo_developer/public/assets/images/Developer-Spotlight-Graphic_200x200.png +0 -0
  19. data/lib/nexmo_developer/public/assets/manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js.gz +0 -0
  20. data/lib/nexmo_developer/public/packs/css/{application-7de653b3.chunk.css → application-730c26e7.chunk.css} +1 -1
  21. data/lib/nexmo_developer/public/packs/css/application-730c26e7.chunk.css.br +0 -0
  22. data/lib/nexmo_developer/public/packs/css/application-730c26e7.chunk.css.gz +0 -0
  23. data/lib/nexmo_developer/public/packs/js/application-450aab235d3983163faf.chunk.js +2 -0
  24. data/lib/nexmo_developer/public/packs/js/application-450aab235d3983163faf.chunk.js.br +0 -0
  25. data/lib/nexmo_developer/public/packs/js/application-450aab235d3983163faf.chunk.js.gz +0 -0
  26. data/lib/nexmo_developer/public/packs/js/application-450aab235d3983163faf.chunk.js.map +1 -0
  27. data/lib/nexmo_developer/public/packs/js/application-450aab235d3983163faf.chunk.js.map.br +0 -0
  28. data/lib/nexmo_developer/public/packs/js/application-450aab235d3983163faf.chunk.js.map.gz +0 -0
  29. data/lib/nexmo_developer/public/packs/js/{vendors~active_admin-2b34bf24395e9fafcffd.chunk.js → vendors~active_admin-73ced26cf3f44ba7b9dc.chunk.js} +3 -3
  30. data/lib/nexmo_developer/public/packs/js/{vendors~active_admin-2b34bf24395e9fafcffd.chunk.js.LICENSE.txt → vendors~active_admin-73ced26cf3f44ba7b9dc.chunk.js.LICENSE.txt} +0 -0
  31. data/lib/nexmo_developer/public/packs/js/vendors~active_admin-73ced26cf3f44ba7b9dc.chunk.js.br +0 -0
  32. data/lib/nexmo_developer/public/packs/js/vendors~active_admin-73ced26cf3f44ba7b9dc.chunk.js.gz +0 -0
  33. data/lib/nexmo_developer/public/packs/js/{vendors~active_admin-2b34bf24395e9fafcffd.chunk.js.map → vendors~active_admin-73ced26cf3f44ba7b9dc.chunk.js.map} +1 -1
  34. data/lib/nexmo_developer/public/packs/js/vendors~active_admin-73ced26cf3f44ba7b9dc.chunk.js.map.br +0 -0
  35. data/lib/nexmo_developer/public/packs/js/vendors~active_admin-73ced26cf3f44ba7b9dc.chunk.js.map.gz +0 -0
  36. data/lib/nexmo_developer/public/packs/js/{vendors~application-3908de25afa5aa0be6ae.chunk.js → vendors~application-5a18a43c5d8766bb655e.chunk.js} +3 -3
  37. data/lib/nexmo_developer/public/packs/js/{vendors~application-3908de25afa5aa0be6ae.chunk.js.LICENSE.txt → vendors~application-5a18a43c5d8766bb655e.chunk.js.LICENSE.txt} +0 -0
  38. data/lib/nexmo_developer/public/packs/js/vendors~application-5a18a43c5d8766bb655e.chunk.js.br +0 -0
  39. data/lib/nexmo_developer/public/packs/js/vendors~application-5a18a43c5d8766bb655e.chunk.js.gz +0 -0
  40. data/lib/nexmo_developer/public/packs/js/{vendors~application-3908de25afa5aa0be6ae.chunk.js.map → vendors~application-5a18a43c5d8766bb655e.chunk.js.map} +1 -1
  41. data/lib/nexmo_developer/public/packs/js/vendors~application-5a18a43c5d8766bb655e.chunk.js.map.br +0 -0
  42. data/lib/nexmo_developer/public/packs/js/vendors~application-5a18a43c5d8766bb655e.chunk.js.map.gz +0 -0
  43. data/lib/nexmo_developer/public/packs/manifest.json +14 -14
  44. data/lib/nexmo_developer/public/packs/manifest.json.br +0 -0
  45. data/lib/nexmo_developer/public/packs/manifest.json.gz +0 -0
  46. data/lib/nexmo_developer/version.rb +1 -1
  47. metadata +29 -26
  48. data/lib/nexmo_developer/public/packs/css/application-7de653b3.chunk.css.br +0 -0
  49. data/lib/nexmo_developer/public/packs/css/application-7de653b3.chunk.css.gz +0 -0
  50. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js +0 -2
  51. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.br +0 -0
  52. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.gz +0 -0
  53. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.map +0 -1
  54. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.map.br +0 -0
  55. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.map.gz +0 -0
  56. data/lib/nexmo_developer/public/packs/js/vendors~active_admin-2b34bf24395e9fafcffd.chunk.js.br +0 -0
  57. data/lib/nexmo_developer/public/packs/js/vendors~active_admin-2b34bf24395e9fafcffd.chunk.js.gz +0 -0
  58. data/lib/nexmo_developer/public/packs/js/vendors~active_admin-2b34bf24395e9fafcffd.chunk.js.map.br +0 -0
  59. data/lib/nexmo_developer/public/packs/js/vendors~active_admin-2b34bf24395e9fafcffd.chunk.js.map.gz +0 -0
  60. data/lib/nexmo_developer/public/packs/js/vendors~application-3908de25afa5aa0be6ae.chunk.js.br +0 -0
  61. data/lib/nexmo_developer/public/packs/js/vendors~application-3908de25afa5aa0be6ae.chunk.js.gz +0 -0
  62. data/lib/nexmo_developer/public/packs/js/vendors~application-3908de25afa5aa0be6ae.chunk.js.map.br +0 -0
  63. data/lib/nexmo_developer/public/packs/js/vendors~application-3908de25afa5aa0be6ae.chunk.js.map.gz +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 37f24d0bd36c81b26acc820f72bed14f401bb9cc202064267a8a026bad2437c2
4
- data.tar.gz: d20d6e6d797765b63eef55768c21d80c6ebb2a9332aa987db44b7ee23ee8ce0a
3
+ metadata.gz: 45b39905efb2414d902d105f9d436fde5f7cbee787924af27a6b7f050a8da218
4
+ data.tar.gz: a857083e2c465f7eaf80b31e1ecb6fe2b0a788d9375fcff58fcbf97504334b4b
5
5
  SHA512:
6
- metadata.gz: 8085e0b8f977c69c8a853a0ea5a1f56d22775687c90cefb19345d93df927322ea92561468db550f19089894689c114457f65a901bd1e867e64c2b3051aad3c89
7
- data.tar.gz: 138165ff74256013e2d614c82d0319808c1393265e73395a935e15622e5efd6b5706688e6243075e342f4dfc776dbb2656869951696999113c3e8dda506632eb
6
+ metadata.gz: c3aa7263bd725ed1b26fce2a09cd7a6bd7a890850d8e729b96e0bc96138f04b5f02c628fdbe6462e876a340fe21fd0f0b1a8a2876207212a5a0858805094676e
7
+ data.tar.gz: 17744360af04ea9dd8d30286cbb390b062bcf87b7a731bfea882c179b4e9041129b06436109c02f1f1148095b38f52d6e9e30d4e5b2b924c5d1aa0d599dfd6b9
@@ -16,8 +16,10 @@ class Sidenav
16
16
 
17
17
  def nav_items
18
18
  @nav_items ||= items.map do |item|
19
- SidenavItem.new(folder: item, sidenav: self)
20
- end
19
+ if @product && @product.split('/').first.include?(item[:title])
20
+ SidenavItem.new(folder: item, sidenav: self)
21
+ end
22
+ end.compact
21
23
  end
22
24
 
23
25
  def namespace
@@ -12,6 +12,26 @@
12
12
  </a>
13
13
  <% end %>
14
14
 
15
+ <% if index_name == 'prod_blogposts' %>
16
+ <a href="/<%= hit.link %>">
17
+ <div>
18
+ <span class="Vlt-badge Nxd-search__badge" style="background:<%= hit.category.color %>;"><%= hit.category.name %></span>
19
+ <span class="meta"><%= hit.tags.map(&:upcase).join(' | ') %></span>
20
+ <h3><%= hit.title %></h3>
21
+
22
+ <p class="search-highlighted">
23
+ <%= sanitize(hit.description, tags: ['em']) %>
24
+ </p>
25
+ <span class="meta">
26
+ <svg class="Vlt-icon Vlt-icon--smaller Vlt-aqua-dark">
27
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-pentool" />
28
+ </svg>
29
+ <%= hit.author.name %>
30
+ </span>
31
+ </div>
32
+ </a>
33
+ <% end %>
34
+
15
35
 
16
36
  <% if index_name.include? 'nexmo_developer' %>
17
37
  <a href="<%= hit.path %>">
@@ -6,9 +6,11 @@
6
6
  <div class="Vlt-col">
7
7
  <div class="Vlt-card">
8
8
  <% if index.index.include? 'nexmo_developer' %>
9
- <h2>Nexmo Developer</h2>
9
+ <h2>Vonage Developer</h2>
10
10
  <% elsif index.index == 'zendesk_nexmo_articles' %>
11
11
  <h2>Knowlegebase</h2>
12
+ <% elsif index.index == 'prod_blogposts' %>
13
+ <h2>Blog</h2>
12
14
  <% end %>
13
15
 
14
16
  <hr>
@@ -12,6 +12,8 @@
12
12
  <h2>Nexmo Developer</h2>
13
13
  <% elsif index.index == 'zendesk_nexmo_articles' %>
14
14
  <h2>Knowlegebase</h2>
15
+ <% elsif index.index == 'prod_blogposts' %>
16
+ <h2>Blog</h2>
15
17
  <% end %>
16
18
 
17
19
  <hr>
@@ -1,6 +1,6 @@
1
1
  <div class="Vlt-col Vlt-col--1of2">
2
2
  <div class="Vlt-card Vlt-card--center Nxd-career">
3
- <svg class="Vlt-icon Vlt-icon--larger Vlt-blue-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code"/></svg>
3
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code"/></svg>
4
4
  <hr>
5
5
  <h2>
6
6
  <%= career.title %>
@@ -1,13 +1,15 @@
1
1
  <div class="Vlt-card" style="padding: 35px;">
2
2
  <div class="d-flex-column h-100">
3
3
 
4
- <div>
5
- <svg class="Vlt-icon Vlt-icon--larger Vlt-purple"><use xlink:href="/symbol/volta-icons.svg#<%= product['icon'] %>" /></svg>
6
- </div>
4
+ <a href=<%= product['product_name_link'] %>>
5
+ <div>
6
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-purple"><use xlink:href="/symbol/volta-icons.svg#<%= product['icon'] %>" /></svg>
7
+ </div>
7
8
 
8
- <h3 class="Vlt-purple">
9
- <a href=<%= product['product_name_link'] %>><%= product['product_name'] %></a>
10
- </h3>
9
+ <h3 class="Vlt-purple">
10
+ <%= product['product_name'] %>
11
+ </h3>
12
+ </a>
11
13
 
12
14
  <div style="flex-grow: 1; padding: 25px 0;">
13
15
  <p><%= raw product['product_description'].html_safe %></p>
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <div class='Nxd-search__result'>
3
+ <a class='Nxd-search__result__link' v-bind:href='url' target='_blank'>
4
+ <div>
5
+ <h6 class='Vlt-blue-dark'>{{ title }}</h6>
6
+ <p class='Nxd-search__result__highlight' v-html='snippet'></p>
7
+ <span class='Vlt-badge Vlt-badge--grey Nxd-search__badge' :style="colorBadge">{{ badge }}</span>
8
+ </div>
9
+ </a>
10
+ </div>
11
+ </template>
12
+ <script>
13
+ export default {
14
+ props: ['hit'],
15
+ computed: {
16
+ badge: function() {
17
+ return this.hit.category.name;
18
+ },
19
+ colorBadge: function() {
20
+ return this.hit.category.color ? { background: this.hit.category.color } : { background: '#757575'}
21
+ },
22
+ snippet: function() {
23
+ return `...${this.hit._highlightResult.description.value}...`;
24
+ },
25
+ title: function() {
26
+ return this.hit.title;
27
+ },
28
+ url: function() {
29
+ return `https://developer.vonage.com/${this.hit.link}`;
30
+ },
31
+ }
32
+ }
33
+ </script>
@@ -47,6 +47,9 @@
47
47
  <div v-else-if="isNDPArticle(result)">
48
48
  <NDPArticle v-for="hit in result.hits" v-bind:hit="hit" v-bind:key="hitKey(result, hit)"/>
49
49
  </div>
50
+ <div v-else-if="isBlog(result)">
51
+ <Blog v-for="hit in result.hits" v-bind:hit="hit" v-bind:key="hitKey(result, hit)"/>
52
+ </div>
50
53
  </div>
51
54
  <div v-else>
52
55
  <p class="Nxd-search--no-results"><i>No results</i></p>
@@ -62,6 +65,7 @@ import algoliasearch from 'algoliasearch'
62
65
  import debounce from 'lodash/debounce'
63
66
  import NDPArticle from './NDPArticle.vue';
64
67
  import ZendeskArticle from './ZendeskArticle.vue';
68
+ import Blog from './Blog.vue';
65
69
 
66
70
  export default {
67
71
  data: function() {
@@ -107,7 +111,9 @@ export default {
107
111
  if (name == 'zendesk_nexmo_articles') {
108
112
  return 'Knowledgebase';
109
113
  } else if (name.includes('nexmo_developer')) {
110
- return 'Nexmo Developer';
114
+ return 'Vonage Developer';
115
+ } else if (name == 'prod_blogposts') {
116
+ return 'Blog';
111
117
  }
112
118
  },
113
119
  isZendeskArticle: function(result) {
@@ -116,6 +122,9 @@ export default {
116
122
  isNDPArticle: function(result) {
117
123
  return result.index.includes('nexmo_developer');
118
124
  },
125
+ isBlog: function(result) {
126
+ return result.index == 'prod_blogposts';
127
+ },
119
128
  hitKey: function(result, hit) {
120
129
  return result.index + hit.objectID;
121
130
  },
@@ -204,7 +213,7 @@ export default {
204
213
  }
205
214
  },
206
215
  components: {
207
- ZendeskArticle, NDPArticle
216
+ ZendeskArticle, NDPArticle, Blog
208
217
  }
209
218
  }
210
219
  </script>
@@ -36,7 +36,7 @@
36
36
  -webkit-transform-style: preserve-3d;
37
37
  -webkit-backface-visibility: hidden;
38
38
 
39
- margin-top: 100px;
39
+ margin-top: 30px;
40
40
 
41
41
  @media #{$S-only} {
42
42
  margin-top: 300px;
@@ -66,11 +66,11 @@
66
66
  }
67
67
 
68
68
  &__all {
69
- margin: 20px auto 0;
69
+ margin: 40px auto 0;
70
70
 
71
71
  svg, a {
72
- color: #B77EF9 !important;
73
- fill: #B77EF9 !important;
72
+ color: #888 !important;
73
+ fill: #888 !important;
74
74
  }
75
75
  }
76
76
 
@@ -222,7 +222,7 @@
222
222
  }
223
223
 
224
224
  .Adp-brand-listing {
225
- background: linear-gradient(90deg, #7FC6F4 4.86%, #8728FB 96.11%);
225
+ background: #666666;
226
226
 
227
227
  .container {
228
228
 
@@ -231,14 +231,15 @@
231
231
  }
232
232
  }
233
233
 
234
- @media #{$M-plus} {
235
- height: 88px;
236
- }
237
-
238
234
  .Vlt-grid {
239
235
  justify-content: space-between;
240
236
  align-items: center;
241
237
 
238
+ img.Adp-brand-listing__brand,
239
+ svg.Adp-brand-listing__brand {
240
+ width: 120px;
241
+ }
242
+
242
243
  // overrides volta's style, they don't work
243
244
  @media #{$S-only} {
244
245
  .Vlt-col--S-1of2 {
@@ -2,6 +2,8 @@ $atom: #282c34;
2
2
  $gray: #A1A1A1;
3
3
  $gray-light: lighten($gray, 25%);
4
4
  $gray-dark: #252A2D;
5
+ $purple-dark: #871fff;
6
+ $purple: #b779ff;
5
7
 
6
8
  $mint: #E4EEF3;
7
9
  $pink: #E6547B;
@@ -14,11 +14,11 @@
14
14
  width: 100%;
15
15
 
16
16
  h3 {
17
- color: $blue-dark;
17
+ color: $purple;
18
18
  margin-bottom: $unit1;
19
19
 
20
20
  &:hover {
21
- color: $blue-darker;
21
+ color: $purple-dark;
22
22
  }
23
23
  }
24
24
 
@@ -25,10 +25,11 @@ $quick-search-width: 800px;
25
25
  padding-left: $spacing;
26
26
  }
27
27
 
28
- .Nxd-search__wrapper {
28
+ .Nxd-search__wrapper {
29
29
  display: flex;
30
30
  flex-wrap: wrap;
31
31
  margin-right: -1px;
32
+ min-width: 65vw;
32
33
  }
33
34
 
34
35
  .Nxd-search__result {
@@ -21,7 +21,7 @@ if defined?(ALGOLIA_CONFIG) && ENV['ALGOLIA_SEARCH_KEY']
21
21
 
22
22
  algolia_search_parameters = {
23
23
  filters: filters.compact.join(' AND NOT ').prepend('NOT '),
24
- attributesToSnippet: ['body', 'body_safe'],
24
+ attributesToSnippet: ['body', 'body_safe', 'description', 'title'],
25
25
  }
26
26
 
27
27
  ALGOLIA_SECURED_SEARCH_KEY = Algolia.generate_secured_api_key(ENV['ALGOLIA_SEARCH_KEY'], algolia_search_parameters)
@@ -1 +1 @@
1
- {"files":{"manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js":{"logical_path":"manifest.js","mtime":"2022-06-15T16:50:44+00:00","size":2,"digest":"75a11da44c802486bc6f65640aa48a730f0f684c5c07a42ba3cd1735eb3fb070","integrity":"sha256-daEdpEyAJIa8b2VkCqSKcw8PaExcB6Qro80XNes/sHA="},"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js":{"logical_path":"application.js","mtime":"2022-06-15T16:50:44+00:00","size":3172,"digest":"67f1fd16f949c2794341a44cf839e5436bbef74436e043ead39890d1c3b2e583","integrity":"sha256-Z/H9FvlJwnlDQaRM+DnlQ2u+90Q24EPq05iQ0cOy5YM="},"application-45229aaf351c0063887eda1627f8cc1b24b805884626aaffca4f8a4c11fc2807.css":{"logical_path":"application.css","mtime":"2022-06-15T16:50:44+00:00","size":17606,"digest":"927e9615d567db6c972d9875248337b3f05127031bf5e42c133e2aff64947fa6","integrity":"sha256-kn6WFdVn22yXLZh1JIM3s/BRJwMb9eQsEz4q/2SUf6Y="}},"assets":{"manifest.js":"manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js","application.js":"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js","application.css":"application-45229aaf351c0063887eda1627f8cc1b24b805884626aaffca4f8a4c11fc2807.css"}}
1
+ {"files":{"manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js":{"logical_path":"manifest.js","mtime":"2022-06-23T10:12:09+00:00","size":2,"digest":"75a11da44c802486bc6f65640aa48a730f0f684c5c07a42ba3cd1735eb3fb070","integrity":"sha256-daEdpEyAJIa8b2VkCqSKcw8PaExcB6Qro80XNes/sHA="},"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js":{"logical_path":"application.js","mtime":"2022-06-23T10:12:09+00:00","size":3172,"digest":"67f1fd16f949c2794341a44cf839e5436bbef74436e043ead39890d1c3b2e583","integrity":"sha256-Z/H9FvlJwnlDQaRM+DnlQ2u+90Q24EPq05iQ0cOy5YM="},"application-45229aaf351c0063887eda1627f8cc1b24b805884626aaffca4f8a4c11fc2807.css":{"logical_path":"application.css","mtime":"2022-06-23T10:12:09+00:00","size":17606,"digest":"927e9615d567db6c972d9875248337b3f05127031bf5e42c133e2aff64947fa6","integrity":"sha256-kn6WFdVn22yXLZh1JIM3s/BRJwMb9eQsEz4q/2SUf6Y="}},"assets":{"manifest.js":"manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js","application.js":"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js","application.css":"application-45229aaf351c0063887eda1627f8cc1b24b805884626aaffca4f8a4c11fc2807.css"}}