station 0.0.104 → 0.0.109

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/bin/nexmo-developer +7 -0
  3. data/lib/nexmo_developer/.rspec +0 -1
  4. data/lib/nexmo_developer/Gemfile +8 -8
  5. data/lib/nexmo_developer/Gemfile.lock +134 -131
  6. data/lib/nexmo_developer/app/controllers/static_controller.rb +0 -10
  7. data/lib/nexmo_developer/app/helpers/application_helper.rb +2 -0
  8. data/lib/nexmo_developer/app/models/tutorial.rb +10 -12
  9. data/lib/nexmo_developer/app/models/tutorial/prerequisite.rb +3 -1
  10. data/lib/nexmo_developer/app/models/tutorial/task.rb +24 -11
  11. data/lib/nexmo_developer/app/services/translator/files_list_coordinator.rb +90 -0
  12. data/lib/nexmo_developer/app/views/admin/feedbacks/_steps.html.erb +1 -1
  13. data/lib/nexmo_developer/app/views/layouts/partials/_footer.html.erb +4 -4
  14. data/lib/nexmo_developer/app/views/layouts/partials/_head.html.erb +4 -4
  15. data/lib/nexmo_developer/app/views/layouts/partials/_header.html.erb +3 -3
  16. data/lib/nexmo_developer/app/views/layouts/partials/_improve_this_page.html.erb +1 -1
  17. data/lib/nexmo_developer/app/views/static/_products.html.erb +20 -17
  18. data/lib/nexmo_developer/app/views/static/landing.html.erb +8 -8
  19. data/lib/nexmo_developer/app/webpacker/javascript/volta/volta.js +1 -1
  20. data/lib/nexmo_developer/app/webpacker/javascript/volta_tabbed_examples/index.js +23 -3
  21. data/lib/nexmo_developer/app/webpacker/stylesheets/custom/_core.scss +1 -1
  22. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_icons.scss +1 -0
  23. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_navigation.scss +1 -2
  24. data/lib/nexmo_developer/config/environments/production.rb +8 -1
  25. data/lib/nexmo_developer/config/initializers/assets.rb +0 -2
  26. data/lib/nexmo_developer/lib/tasks/smartling.rake +7 -0
  27. data/lib/nexmo_developer/version.rb +1 -1
  28. data/package.json +18 -17
  29. data/station.gemspec +5 -5
  30. data/yarn.lock +1786 -420
  31. metadata +30 -47
  32. data/lib/nexmo_developer/app/assets/fonts/Lato-Black.woff +0 -0
  33. data/lib/nexmo_developer/app/assets/fonts/Lato-Black.woff2 +0 -0
  34. data/lib/nexmo_developer/app/assets/fonts/Lato-Regular.woff +0 -0
  35. data/lib/nexmo_developer/app/assets/fonts/Lato-Regular.woff2 +0 -0
  36. data/lib/nexmo_developer/app/assets/fonts/Lato-Semibold.woff +0 -0
  37. data/lib/nexmo_developer/app/assets/fonts/Lato-Semibold.woff2 +0 -0
  38. data/lib/nexmo_developer/app/assets/fonts/icomoon.eot +0 -0
  39. data/lib/nexmo_developer/app/assets/fonts/icomoon.json +0 -1257
  40. data/lib/nexmo_developer/app/assets/fonts/icomoon.svg +0 -55
  41. data/lib/nexmo_developer/app/assets/fonts/icomoon.ttf +0 -0
  42. data/lib/nexmo_developer/app/assets/fonts/icomoon.woff +0 -0
  43. data/lib/nexmo_developer/app/assets/fonts/nexmo-developer.json +0 -36483
  44. data/lib/nexmo_developer/app/views/slack/join.html.erb +0 -25
  45. data/lib/nexmo_developer/app/views/static/_community.html.erb +0 -24
  46. data/lib/nexmo_developer/app/views/static/_dotnet.html.erb +0 -26
  47. data/lib/nexmo_developer/app/views/static/_slack.html.erb +0 -2
  48. data/lib/nexmo_developer/app/views/static/_xwithy.html.erb +0 -33
  49. data/lib/nexmo_developer/app/views/static/podcast.html.erb +0 -40
@@ -116,16 +116,6 @@ class StaticController < ApplicationController
116
116
  render 'robots.txt'
117
117
  end
118
118
 
119
- def podcast
120
- # Get URL and split the / to retrieve the landing page name
121
- yaml_name = request.fullpath.split('/')[1]
122
-
123
- # Load the YAML for that particular page
124
- @content = YAML.load_file("#{Rails.root}/config/landing_pages/#{yaml_name}.yml")
125
-
126
- render layout: 'landing'
127
- end
128
-
129
119
  def team
130
120
  @team ||= LoadConfig.load_file('config/team.yml')
131
121
  @careers = Greenhouse.devrel_careers
@@ -34,6 +34,8 @@ module ApplicationHelper
34
34
  end
35
35
 
36
36
  def canonical_base
37
+ return "https://#{ENV['HEROKU_APP_NAME']}.herokuapp.com" if ENV['HEROKU_APP_NAME']
38
+
37
39
  canonical_base_from_config || request.base_url
38
40
  end
39
41
 
@@ -84,20 +84,18 @@ class Tutorial
84
84
  subtasks[current_task_index - 1]
85
85
  end
86
86
 
87
+ def tasks
88
+ @tasks ||= (yaml['tasks'] || []).map do |t|
89
+ Task.make_from(
90
+ name: t,
91
+ code_language: code_language,
92
+ current_step: current_step
93
+ )
94
+ end
95
+ end
96
+
87
97
  def subtasks
88
98
  @subtasks ||= begin
89
- tasks = []
90
-
91
- (yaml['tasks'] || []).map do |t|
92
- tasks.push(
93
- Task.make_from(
94
- name: t,
95
- code_language: code_language,
96
- current_step: current_step
97
- )
98
- )
99
- end
100
-
101
99
  tasks.unshift(prerequisite_task)
102
100
  tasks.unshift(introduction_task)
103
101
  tasks.push(conclusion_task)
@@ -1,5 +1,7 @@
1
1
  class Tutorial::Prerequisite
2
- delegate :content, :yaml, to: :@file_loader
2
+ attr_reader :name
3
+
4
+ delegate :content, :yaml, :path, to: :@file_loader
3
5
 
4
6
  def initialize(current_step:, code_language:, name:)
5
7
  @current_step = current_step
@@ -1,11 +1,24 @@
1
1
  class Tutorial::Task
2
- attr_reader :name, :title, :description, :current_step
2
+ attr_reader :name, :code_language, :current_step
3
3
 
4
- def initialize(name:, title:, description:, current_step:)
4
+ delegate :yaml, :path, to: :@file_loader
5
+
6
+ def initialize(name:, current_step:, code_language: nil, title: nil, description: nil)
5
7
  @name = name
6
8
  @title = title
7
9
  @description = description
10
+ @code_language = code_language
8
11
  @current_step = current_step
12
+ @file_loader = load_file!
13
+ end
14
+
15
+ def load_file!
16
+ Tutorial::FileLoader.new(
17
+ root: Tutorial.task_content_path,
18
+ doc_name: @name,
19
+ code_language: @code_language,
20
+ format: 'md'
21
+ )
9
22
  end
10
23
 
11
24
  def active?
@@ -13,17 +26,9 @@ class Tutorial::Task
13
26
  end
14
27
 
15
28
  def self.make_from(name:, code_language:, current_step:)
16
- file_loader = Tutorial::FileLoader.new(
17
- root: Tutorial.task_content_path,
18
- doc_name: name,
19
- code_language: code_language,
20
- format: 'md'
21
- )
22
-
23
29
  new(
24
30
  name: name,
25
- title: file_loader.yaml['title'],
26
- description: file_loader.yaml['description'],
31
+ code_language: code_language,
27
32
  current_step: current_step
28
33
  )
29
34
  end
@@ -42,4 +47,12 @@ class Tutorial::Task
42
47
  def hash
43
48
  name.hash ^ title.hash ^ description.hash ^ current_step.hash
44
49
  end
50
+
51
+ def title
52
+ @title || yaml['title']
53
+ end
54
+
55
+ def description
56
+ @description || yaml['description']
57
+ end
45
58
  end
@@ -0,0 +1,90 @@
1
+ module Translator
2
+ class FilesListCoordinator
3
+ def self.call(attrs = {})
4
+ new(attrs).call
5
+ end
6
+
7
+ def initialize(days:)
8
+ @days = days
9
+ end
10
+
11
+ def call
12
+ process_files(files)
13
+ end
14
+
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")
17
+ end
18
+
19
+ def process_files(files)
20
+ files.each_with_object([]) do |file, list|
21
+ if file.include?('_documentation')
22
+ list << file if translatable_doc_file?(file)
23
+ elsif file.include?('_use_cases')
24
+ list << file if translatable_use_case_file?(file)
25
+ elsif file.include?('_tutorials')
26
+ list << file if translatable_tutorial_file?(file)
27
+ else
28
+ raise ArgumentError, "The following file did not match documentation, use cases or tutorials: #{file}"
29
+ end
30
+ end
31
+ end
32
+
33
+ def translatable_doc_file?(file)
34
+ return nil unless File.exist?("#{Rails.configuration.docs_base_path}/#{file}")
35
+
36
+ allowed_products.any? do |product|
37
+ product['path'].include?(file.split('/')[2])
38
+ end
39
+ end
40
+
41
+ def translatable_use_case_file?(file)
42
+ return nil unless File.exist?("#{Rails.configuration.docs_base_path}/#{file}")
43
+
44
+ allowed_products.any? do |product|
45
+ use_case_product(file).include?(product['path'])
46
+ end
47
+ end
48
+
49
+ def use_case_product(file)
50
+ @use_case_product = YAML.safe_load(File.read("#{Rails.configuration.docs_base_path}/#{file}"))['products']
51
+
52
+ @use_case_product
53
+ end
54
+
55
+ def translatable_tutorial_file?(file)
56
+ return nil unless File.exist?("#{Rails.configuration.docs_base_path}/#{file}")
57
+
58
+ allowed_tutorial_files.any? do |tutorial|
59
+ tutorial.include?(file)
60
+ end
61
+ end
62
+
63
+ def allowed_products
64
+ @allowed_products ||= YAML.safe_load(File.read("#{Rails.configuration.docs_base_path}/config/products.yml"))['products'].select { |product| product['translate'] == true }
65
+ end
66
+
67
+ def allowed_tutorial_files
68
+ file_names = []
69
+ tutorials_list = []
70
+
71
+ TutorialList.all.each do |item|
72
+ allowed_products.each do |product|
73
+ tutorials_list << item if item.products.to_s.include?(product['path'])
74
+ end
75
+ end
76
+
77
+ tutorials_list.each do |item|
78
+ item.tutorial.prerequisites&.each do |prereq|
79
+ file_names << prereq.path
80
+ end
81
+
82
+ item.tutorial.tasks&.each do |task|
83
+ file_names << task.path
84
+ end
85
+ end
86
+
87
+ file_names.uniq
88
+ end
89
+ end
90
+ end
@@ -35,7 +35,7 @@
35
35
  <% step['fields'].each_with_index do |field, field_index| %>
36
36
  <div>
37
37
  <b><%= field['label'] %>:</b>
38
- <small><%= feedback.steps[step_index][field['name']] %></small>
38
+ <small><%= feedback.steps[step_index].try(:[], field['name']) %></small>
39
39
  </div>
40
40
  <% end %>
41
41
  <% end %>
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
  <div class="Nxd-logo Vlt-white" id="footer-logo">
9
- <a href="/" id="logo" class="Nxd-logo__image">
9
+ <a href="/" class="Nxd-logo__image">
10
10
  <%= image_tag info[:logo_path], alt: info[:logo_alt] %>
11
11
  </a>
12
12
  <hr class="Nxd-product__separator">
@@ -17,7 +17,7 @@
17
17
  </div>
18
18
 
19
19
  <% if info[:status] %>
20
- <a href=<%= info[:status]['path'] %> target="_blank" class="Vlt-badge-combined">
20
+ <a href=<%= info[:status]['path'] %> target="_blank" class="Vlt-badge-combined" rel="noopener">
21
21
  <span class="Vlt-badge Vlt-white Nxd-api-badge"><%= info[:status]['text'] %></span><span class="Vlt-badge Vlt-badge--purple Nxd-api-status">Loading</span>
22
22
  </a>
23
23
  <% end %>
@@ -25,7 +25,7 @@
25
25
  <% if info[:social_links] %>
26
26
  <div id="footer-social-links">
27
27
  <% info[:social_links].each do |target, url| %>
28
- <a href=<%= url %> class="footer-link" target="_blank"><i class="icon icon-<%= target %>"></i></a>
28
+ <a href=<%= url %> class="footer-link" target="_blank" rel="noopener" title="<%= target %>"><i class="icon icon-<%= target %>"></i></a>
29
29
  <% end %>
30
30
  </div>
31
31
  <% end %>
@@ -43,7 +43,7 @@
43
43
  <div id="footer-support">
44
44
  <h5>Support</h5>
45
45
  <% info[:support_links].each do |name, url| %>
46
- <a href=<%= Footer.support_link(url) %> target="_blank"><%= Footer.support_link_text(name) %></a>
46
+ <a href=<%= Footer.support_link(url) %> target="_blank" rel="noopener"><%= Footer.support_link_text(name) %></a>
47
47
  <% end %>
48
48
  </div>
49
49
  </div>
@@ -1,4 +1,4 @@
1
- <% head = Head.new %>
1
+ <% head = Head.new(@frontmatter) %>
2
2
 
3
3
  <head>
4
4
  <meta charset="utf-8" />
@@ -73,7 +73,7 @@
73
73
 
74
74
  <link rel="canonical" href="<%= canonical_url %>">
75
75
 
76
- <%= javascript_include_tag 'application' %>
76
+ <%= javascript_include_tag 'application', defer: true %>
77
77
 
78
78
  <%= javascript_packs_with_chunks_tag 'application', defer: true %>
79
79
  <% if @additional_scripts %>
@@ -86,8 +86,8 @@
86
86
  <%= ENV['ENVIRONMENT_SCRIPTS'].html_safe %>
87
87
  <% end %>
88
88
 
89
- <%= stylesheet_pack_tag 'application' %>
90
- <%= stylesheet_link_tag 'application' %>
89
+ <%= stylesheet_pack_tag 'application', preload: true %>
90
+ <%= stylesheet_link_tag 'application', preload: true %>
91
91
 
92
92
  <%= javascript_include_tag 'https://www.google.com/recaptcha/api.js', async: true, defer: true %>
93
93
 
@@ -2,7 +2,7 @@
2
2
  <%= render partial: 'layouts/partials/post-body-tags' %>
3
3
 
4
4
  <div class="Nxd-header">
5
- <header id="header" class="Nxd-header__main" tabindex="2">
5
+ <header id="header" class="Nxd-header__main">
6
6
  <a tabindex="0" id="skip-to-navigation" href="#sidenav-first" class="Vlt-btn Vlt-btn--outline Vlt-btn--primary Vlt-btn--app">Skip to navigation</a>
7
7
  <a tabindex="0" id="skip-to-content" href="#primary-content" class="Vlt-btn Vlt-btn--outline Vlt-btn--primary Vlt-btn--app">Skip to content</a>
8
8
  <div class="Nxd-logo">
@@ -15,7 +15,7 @@
15
15
  <small><%= header.subtitle %></small>
16
16
  </div>
17
17
  </a>
18
- <a href="/" id="logo" class="Nxd-logo__image Vlt-S-only">
18
+ <a href="/" id="logo-small" class="Nxd-logo__image Vlt-S-only">
19
19
  <%= image_tag header.small_logo_path, alt: header.logo_alt %>
20
20
  </a>
21
21
  <% if header.hiring_link? %>
@@ -38,7 +38,7 @@
38
38
  </header>
39
39
 
40
40
  <nav id="subnav" class="Nxd-header__sub">
41
- <a id="Vlt-sidenav-mobile-trigger"><svg><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-menu"></use></svg></a>
41
+ <button id="Vlt-sidenav-mobile-trigger" class="Vlt-btn Vlt-btn--link"><svg><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-menu"></use></svg></button>
42
42
 
43
43
  <div class="Nxd-header__sub__menu">
44
44
  <% Topnav.new(@navigation).items.each do |item| %>
@@ -8,7 +8,7 @@
8
8
  <svg class="Vlt-icon Vlt-black">
9
9
  <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-github" />
10
10
  </svg>
11
- <a href="<%= presenter.github_url %>" target="_blank" class="Vlt-text-link Vlt-black">Improve this page</a>
11
+ <a href="<%= presenter.github_url %>" target="_blank" class="Vlt-text-link Vlt-black" rel="noopener">Improve this page</a>
12
12
  </span>
13
13
  </div>
14
14
  </div>
@@ -1,31 +1,34 @@
1
1
  <div class="Nxd-products-list">
2
2
  <div class="Vlt-grid Vlt-grid--center Vlt-grid--margin-top2">
3
+
4
+
3
5
  <div class="Vlt-col Vlt-col--1of3 Vlt-col--M-1of2">
4
6
  <div class="Vlt-card Vlt-article--reverse Vlt-card--image Nxd-card--products">
5
7
  <div class="Vlt-card__content">
6
8
  <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-message" /></svg>
7
- <div class="Nxd-card--product__subtitle"><small>SEND AND RECEIVE</small></div>
8
-
9
+ <div class="Nxd-card--product__subtitle"><small>PRODUCT AREA</small></div>
9
10
  <h2>
10
11
  <a href="/messaging/sms/overview">
11
- SMS
12
+ PRODUCT NAME
12
13
  </a>
13
14
  </h2>
14
15
  <nav>
15
- <a href="/messaging/sms/overview"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
16
+ <a href="#"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
16
17
  aria-hidden="true">
17
- <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Overview</a>
18
- <a href="/messaging/sms/guides"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
18
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Product Topic 1</a>
19
+ <a href="#"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
19
20
  aria-hidden="true">
20
- <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Guides</a>
21
- <a href="/messaging/sms/code-snippets"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
21
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Product Topic 2</a>
22
+ <a href="#"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
22
23
  aria-hidden="true">
23
- <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Code Snippets</a>
24
- <a href="/messaging/sms/tutorials"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
24
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Product Topic 3</a>
25
+ <a href="#"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
25
26
  aria-hidden="true">
26
27
  <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Tutorials</a>
27
28
  <hr class="hr--short">
28
- <a href="/api/sms">API Reference</a>
29
+ <a href="https://nexmo.github.io/station/How-To-Use#customization-options">
30
+ To modify this view, copy <a href="https://raw.githubusercontent.com/Nexmo/station/master/lib/nexmo_developer/app/views/static/_products.html.erb">the file</a> to your `custom/views/static` folder and customize the copied file.
31
+ </a>
29
32
  </nav>
30
33
  </div>
31
34
  </div>
@@ -67,7 +70,7 @@
67
70
  <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-video" /></svg>
68
71
  <div class="Nxd-card--product__subtitle"><small>PROGRAMMABLE</small></div>
69
72
  <h2>
70
- <a target="_blank" href="https://tokbox.com/developer/">
73
+ <a target="_blank" href="https://tokbox.com/developer/" rel="noopener">
71
74
  Video
72
75
  </a>
73
76
  <small class="Vlt-grey-dark" style="font-size:1.4rem; font-weight:normal;">
@@ -77,20 +80,20 @@
77
80
  </small>
78
81
  </h2>
79
82
  <nav>
80
- <a target="_blank" href="https://tokbox.com/developer/guides/basics/"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
83
+ <a target="_blank" href="https://tokbox.com/developer/guides/basics/" rel="noopener"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
81
84
  aria-hidden="true">
82
85
  <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Overview</a>
83
- <a target="_blank" href="https://tokbox.com/developer/guides/"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
86
+ <a target="_blank" href="https://tokbox.com/developer/guides/" rel="noopener"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
84
87
  aria-hidden="true">
85
88
  <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Guides</a>
86
- <a target="_blank" href="https://tokbox.com/developer/samples/"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
89
+ <a target="_blank" href="https://tokbox.com/developer/samples/" rel="noopener"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
87
90
  aria-hidden="true">
88
91
  <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Code Snippets</a>
89
- <a target="_blank" href="https://tokbox.com/developer/tutorials/"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
92
+ <a target="_blank" href="https://tokbox.com/developer/tutorials/" rel="noopener"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
90
93
  aria-hidden="true">
91
94
  <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Tutorials</a>
92
95
  <hr class="hr--short">
93
- <a target="_blank" href="https://tokbox.com/developer/sdks/client/">API Reference</a>
96
+ <a target="_blank" href="https://tokbox.com/developer/sdks/client/" rel="noopener">API Reference</a>
94
97
  </nav>
95
98
  </div>
96
99
  </div>
@@ -2,8 +2,8 @@
2
2
 
3
3
  <div class="row">
4
4
  <div class="center">
5
- <h1 class="Vlt-title--margin-top2">Connected Code</h1>
6
- <p class="p-large">Everything you need to build connected applications with Vonage APIs</p>
5
+ <h1 class="Vlt-title--margin-top2">Default Entry Page</h1>
6
+ <p class="p-large">This is the default landing page for a developer portal running on Station.</p>
7
7
  </div>
8
8
  <div class="columns small-12">
9
9
  <a name="products"></a>
@@ -17,10 +17,10 @@
17
17
  <h2>
18
18
  <a href="/tools">
19
19
  <div><svg class="Vlt-icon Vlt-icon--large Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-design-tools"/></svg></div>
20
- SDKs &amp; Tools
20
+ Featured Topic 1
21
21
  </a>
22
22
  </h2>
23
- <p>The Nexmo libraries allow you to get up and running with<br>Nexmo APIs quickly in your language of choice.</p>
23
+ <p>You can choose to highlight an area of your portal on the landing page.</p>
24
24
  </div>
25
25
  </div>
26
26
  <div class="Vlt-col Vlt-col--M-1of2">
@@ -28,10 +28,10 @@
28
28
  <h2>
29
29
  <a href="/community">
30
30
  <div><svg class="Vlt-icon Vlt-icon--large Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-group"/></svg></div>
31
- Community
31
+ Featured Topic 2
32
32
  </a>
33
33
  </h2>
34
- <p>Find out about our talks, community hacks,<br>and what events we'll be at.</p>
34
+ <p>You can highlight more than one area.</p>
35
35
  </div>
36
36
  </div>
37
37
  </div>
@@ -39,8 +39,8 @@
39
39
  <hr class="hr--tall">
40
40
 
41
41
  <div class="center">
42
- <h3>Do you have a question?</h3>
43
- <p class="p-large">We're always here to help. Check out our <a href="https://help.nexmo.com">support FAQs</a>, contact our super helpful <a href="https://help.nexmo.com/hc/en-us/requests/new">support team</a> or get in touch on <a href="http://stackoverflow.com/questions/tagged/nexmo">Stack Overflow</a>.<br />Your data will be treated in accordance with our <a href="https://www.nexmo.com/privacy-policy">Privacy Policy</a>, which sets out the rights you have in respect of your data.</p>
42
+ <h3>Modifying This Content</h3>
43
+ <p class="p-large">To modify this content you can copy <a href="https://raw.githubusercontent.com/Nexmo/station/master/lib/nexmo_developer/app/views/static/landing.html.erb">this file</a> to the `custom/views/static` folder in your documentation folder and modify that copy. More detailed instructions to create your own landing page can be found on the <a href="https://nexmo.github.io/station/How-To-Use#customization-options">Station documentation</a>.</p>
44
44
  </div>
45
45
  </div>
46
46
  </div>