station 0.3.1 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/lib/nexmo_developer/Gemfile +0 -3
  3. data/lib/nexmo_developer/Gemfile.lock +0 -8
  4. data/lib/nexmo_developer/app/controllers/static_controller.rb +6 -0
  5. data/lib/nexmo_developer/app/views/search/_result.html.erb +20 -0
  6. data/lib/nexmo_developer/app/views/search/results.html.erb +3 -1
  7. data/lib/nexmo_developer/app/views/static/404.html.erb +2 -0
  8. data/lib/nexmo_developer/app/views/static/_profile.html.erb +1 -1
  9. data/lib/nexmo_developer/app/webpacker/javascript/components/search/Blog.vue +33 -0
  10. data/lib/nexmo_developer/app/webpacker/javascript/components/search/Search.vue +11 -2
  11. data/lib/nexmo_developer/app/webpacker/stylesheets/custom/_landing.scss +10 -9
  12. data/lib/nexmo_developer/app/webpacker/stylesheets/layout/_search.scss +2 -1
  13. data/lib/nexmo_developer/config/initializers/algolia.rb +1 -1
  14. data/lib/nexmo_developer/nexmo_developer.rb +0 -1
  15. data/lib/nexmo_developer/public/assets/{.sprockets-manifest-4b5f37399bdc03c718dc6d092aacb8c2.json → .sprockets-manifest-98eaecd2f374601eb005037c380d0468.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-b98aee43.chunk.css} +1 -1
  21. data/lib/nexmo_developer/public/packs/css/application-b98aee43.chunk.css.br +0 -0
  22. data/lib/nexmo_developer/public/packs/css/application-b98aee43.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 -27
  48. data/lib/nexmo_developer/config/initializers/gravatar_image_tag.rb +0 -5
  49. data/lib/nexmo_developer/public/packs/css/application-7de653b3.chunk.css.br +0 -0
  50. data/lib/nexmo_developer/public/packs/css/application-7de653b3.chunk.css.gz +0 -0
  51. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js +0 -2
  52. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.br +0 -0
  53. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.gz +0 -0
  54. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.map +0 -1
  55. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.map.br +0 -0
  56. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.map.gz +0 -0
  57. data/lib/nexmo_developer/public/packs/js/vendors~active_admin-2b34bf24395e9fafcffd.chunk.js.br +0 -0
  58. data/lib/nexmo_developer/public/packs/js/vendors~active_admin-2b34bf24395e9fafcffd.chunk.js.gz +0 -0
  59. data/lib/nexmo_developer/public/packs/js/vendors~active_admin-2b34bf24395e9fafcffd.chunk.js.map.br +0 -0
  60. data/lib/nexmo_developer/public/packs/js/vendors~active_admin-2b34bf24395e9fafcffd.chunk.js.map.gz +0 -0
  61. data/lib/nexmo_developer/public/packs/js/vendors~application-3908de25afa5aa0be6ae.chunk.js.br +0 -0
  62. data/lib/nexmo_developer/public/packs/js/vendors~application-3908de25afa5aa0be6ae.chunk.js.gz +0 -0
  63. data/lib/nexmo_developer/public/packs/js/vendors~application-3908de25afa5aa0be6ae.chunk.js.map.br +0 -0
  64. 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: 10165e839f14aecb46328322b4595b88e6ed10f45e6883e22beb948612b8dd38
4
- data.tar.gz: bf922b05e53ad14ed135743d381937f7f1d74d27a475feb3565abf83ee98d024
3
+ metadata.gz: 6e106d37ed7c503cf1cd95ddbd3c959a7abbda28b02492f682bc319d5ed056af
4
+ data.tar.gz: 3d8e74ad47ec36c750f92ce1fe2aeb110431fa045a1d0f909ad6966540acc121
5
5
  SHA512:
6
- metadata.gz: 4793826f935efbbe8a59de2acc75ded953dc3edcc34a44c6c5ce536ae25d987b8d7f50ee86c29287f3d4bf1ea11354e6a1de11da4d34e3a79a7a34bdc471413d
7
- data.tar.gz: d3e1227f0c3fbaaf6bf21fe33a9da3358beea28856056bed0b1a95ae80e844bd3f036af2cd80445ce27827659cec79d09da84aad6701f90e1c328d8e7abf6cd7
6
+ metadata.gz: fb29af0115e5dd27ca6b41a966f8d1016f68149629113b5a3f8ea34827e194fb8ec86de288911100c7d944393c5918c19958883b34273d8aa1d500e030aba275
7
+ data.tar.gz: febbf29bea4e684a8b80d68ebdb66b7fdc1148f681d2dc753c0d5623dce59152b15fba4e62f89d294c779159917eff858b09b6a2a7c2e6d4a7ff6487dce7a722
@@ -86,9 +86,6 @@ gem 'woothee'
86
86
  # The simplest way to group temporal data
87
87
  gem 'groupdate', '5.2.2'
88
88
 
89
- # A configurable and documented Rails view helper for adding gravatars into your Rails application.
90
- gem 'gravatar_image_tag', github: 'Envek/gravatar_image_tag', branch: 'fix/deprecation-warnings'
91
-
92
89
  # Boot large ruby/rails apps faster
93
90
  gem 'bootsnap', require: false
94
91
 
@@ -1,10 +1,3 @@
1
- GIT
2
- remote: https://github.com/Envek/gravatar_image_tag.git
3
- revision: 5af4d8e302587aa9ac2fe4105c92e428a11d8ec7
4
- branch: fix/deprecation-warnings
5
- specs:
6
- gravatar_image_tag (1.2.0)
7
-
8
1
  GIT
9
2
  remote: https://github.com/oscardelben/rawler.git
10
3
  revision: f2909b135fce7d35167f98026ac481926c94423e
@@ -646,7 +639,6 @@ DEPENDENCIES
646
639
  ffi (>= 1.9.24)
647
640
  geocoder
648
641
  gmaps4rails (= 2.1.2)
649
- gravatar_image_tag!
650
642
  greenhouse_io
651
643
  groupdate (= 5.2.2)
652
644
  guard-livereload (~> 2.5)
@@ -36,6 +36,12 @@ class StaticController < ApplicationController
36
36
 
37
37
  if request.path.delete('/') == 'team'
38
38
  @team ||= LoadConfig.load_file('config/team.yml')
39
+
40
+ @team['current'].each do |member|
41
+ author = Blog::Author.new(AuthorParser.fetch_author(member['short-name']))
42
+ member['image_url'] = author.build_avatar_url
43
+ end
44
+
39
45
  @careers = Greenhouse.devrel_careers
40
46
  end
41
47
 
@@ -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,5 +1,5 @@
1
1
  <div class="Nxd-profile Vlt-col Vlt-col--M-1of3">
2
- <%= gravatar_image_tag email, gravatar: { size: 140, secure: true }, class: 'Nxd-profile__avatar avatar' %>
2
+ <%= image_tag(image_url, size: 140, class: 'Nxd-profile__avatar avatar') %>
3
3
  <h3><%= name %></h3>
4
4
  <p class="Vlt-grey-darker p-large"><%= local_assigns[:role] ? role : 'Developer Advocate' %>
5
5
  <% if local_assigns[:twitter] %>
@@ -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 {
@@ -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)
@@ -6,7 +6,6 @@ require 'bootsnap'
6
6
  require 'bugsnag'
7
7
  require 'devise'
8
8
  require 'geocoder'
9
- require 'gravatar_image_tag'
10
9
  require 'greenhouse_io'
11
10
  require 'recaptcha'
12
11
  require 'split/dashboard'
@@ -1 +1 @@
1
- {"files":{"manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js":{"logical_path":"manifest.js","mtime":"2022-06-01T14:56:01+00:00","size":2,"digest":"75a11da44c802486bc6f65640aa48a730f0f684c5c07a42ba3cd1735eb3fb070","integrity":"sha256-daEdpEyAJIa8b2VkCqSKcw8PaExcB6Qro80XNes/sHA="},"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js":{"logical_path":"application.js","mtime":"2022-06-01T14:56:01+00:00","size":3172,"digest":"67f1fd16f949c2794341a44cf839e5436bbef74436e043ead39890d1c3b2e583","integrity":"sha256-Z/H9FvlJwnlDQaRM+DnlQ2u+90Q24EPq05iQ0cOy5YM="},"application-45229aaf351c0063887eda1627f8cc1b24b805884626aaffca4f8a4c11fc2807.css":{"logical_path":"application.css","mtime":"2022-06-01T14:56:01+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-21T10:48:50+00:00","size":2,"digest":"75a11da44c802486bc6f65640aa48a730f0f684c5c07a42ba3cd1735eb3fb070","integrity":"sha256-daEdpEyAJIa8b2VkCqSKcw8PaExcB6Qro80XNes/sHA="},"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js":{"logical_path":"application.js","mtime":"2022-06-21T10:48:50+00:00","size":3172,"digest":"67f1fd16f949c2794341a44cf839e5436bbef74436e043ead39890d1c3b2e583","integrity":"sha256-Z/H9FvlJwnlDQaRM+DnlQ2u+90Q24EPq05iQ0cOy5YM="},"application-45229aaf351c0063887eda1627f8cc1b24b805884626aaffca4f8a4c11fc2807.css":{"logical_path":"application.css","mtime":"2022-06-21T10:48:50+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"}}