yard-sketchup 1.1.4 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +15 -15
  3. data/lib/yard-sketchup.rb +36 -36
  4. data/lib/yard-sketchup/patches/c_base_handler.rb +52 -52
  5. data/lib/yard-sketchup/stubs/autoload.rb +134 -134
  6. data/lib/yard-sketchup/templates/changelog/fulldoc/text/setup.rb +44 -44
  7. data/lib/yard-sketchup/templates/coverage/fulldoc/text/setup.rb +41 -41
  8. data/lib/yard-sketchup/templates/default/fulldoc/html/css/rubyapi.css +10 -10
  9. data/lib/yard-sketchup/templates/default/fulldoc/html/css/sketchup.css +120 -120
  10. data/lib/yard-sketchup/templates/default/fulldoc/html/full_list_object_types.erb +1 -1
  11. data/lib/yard-sketchup/templates/default/fulldoc/html/js/sketchup.js +37 -37
  12. data/lib/yard-sketchup/templates/default/fulldoc/html/setup.rb +66 -66
  13. data/lib/yard-sketchup/templates/default/layout/html/embed_meta.erb +78 -78
  14. data/lib/yard-sketchup/templates/default/layout/html/footer.erb +4 -4
  15. data/lib/yard-sketchup/templates/default/layout/html/headers.erb +15 -15
  16. data/lib/yard-sketchup/templates/default/layout/html/layout.erb +55 -55
  17. data/lib/yard-sketchup/templates/default/layout/html/navbar.erb +36 -36
  18. data/lib/yard-sketchup/templates/default/layout/html/setup.rb +19 -19
  19. data/lib/yard-sketchup/templates/default/method_details/html/method_signature.erb +25 -25
  20. data/lib/yard-sketchup/templates/default/method_details/setup.rb +11 -11
  21. data/lib/yard-sketchup/templates/default/module/html/box_info.erb +37 -37
  22. data/lib/yard-sketchup/templates/default/module/html/constant_summary.erb +17 -17
  23. data/lib/yard-sketchup/templates/default/module/html/method_summary.erb +18 -18
  24. data/lib/yard-sketchup/templates/stubs/fulldoc/text/setup.rb +361 -357
  25. data/lib/yard-sketchup/templates/versions/fulldoc/text/setup.rb +25 -25
  26. data/lib/yard-sketchup/version.rb +3 -3
  27. data/yard-sketchup.gemspec +25 -25
  28. metadata +2 -2
@@ -1,66 +1,66 @@
1
- # Helpers:
2
-
3
- # Copy verbatim an asset file to the target output. By default it uses the
4
- # same relative path as the source for the target path.
5
- def copy(source, target = nil)
6
- path = self.class.find_file(source)
7
- # puts "copy(#{source}, #{target})"
8
- # puts "> path: #{path}"
9
- raise ArgumentError, "no file for '#{source}' in #{self.class.path}" unless path
10
- target ||= source
11
- asset(target, File.binread(path))
12
- end
13
-
14
- # Template overrides:
15
-
16
- def javascripts_full_list
17
- %w(js/jquery.js js/full_list.js js/sketchup.js)
18
- end
19
-
20
- def generate_assets
21
- super
22
- copy('favicon.ico')
23
- copy('images/SU_Developer-RedWhite.png')
24
- copy('images/trimble-logo-white.png')
25
- end
26
-
27
- # Custom search list grouping the classes in the API into similar groups.
28
- # TODO(thomthom): This file is just a stub.
29
-
30
- def generate_object_types_list
31
- #@items = options.objects if options.objects
32
- @items = [
33
- "App Level Classes",
34
- "Entity Classes",
35
- "Collection Classes",
36
- "Geom Classes",
37
- "UI Classes",
38
- "Observer Classes",
39
- "Core Ruby Classes"
40
- ]
41
- @list_title = "Object Index"
42
- @list_type = "object_types"
43
-
44
- # optional: the specified stylesheet class
45
- # when not specified it will default to the value of @list_type
46
- @list_class = "class"
47
-
48
- # Generate the full list html file with named feature_list.html
49
- # @note this file must be match the name of the type
50
- asset(url_for_list(@list_type), erb(:full_list))
51
- end
52
-
53
-
54
- # See `class_list` in fulldoc/html.
55
- def reference_list
56
- even_odd = "odd"
57
- out = ""
58
- @items.each { |item|
59
- out << "<li class='#{even_odd}'>"
60
- out << "<a class='toggle'></a>"
61
- out << item
62
- out << "</li>"
63
- even_odd = (even_odd == 'even' ? 'odd' : 'even')
64
- }
65
- out
66
- end
1
+ # Helpers:
2
+
3
+ # Copy verbatim an asset file to the target output. By default it uses the
4
+ # same relative path as the source for the target path.
5
+ def copy(source, target = nil)
6
+ path = self.class.find_file(source)
7
+ # puts "copy(#{source}, #{target})"
8
+ # puts "> path: #{path}"
9
+ raise ArgumentError, "no file for '#{source}' in #{self.class.path}" unless path
10
+ target ||= source
11
+ asset(target, File.binread(path))
12
+ end
13
+
14
+ # Template overrides:
15
+
16
+ def javascripts_full_list
17
+ %w(js/jquery.js js/full_list.js js/sketchup.js)
18
+ end
19
+
20
+ def generate_assets
21
+ super
22
+ copy('favicon.ico')
23
+ copy('images/SU_Developer-RedWhite.png')
24
+ copy('images/trimble-logo-white.png')
25
+ end
26
+
27
+ # Custom search list grouping the classes in the API into similar groups.
28
+ # TODO(thomthom): This file is just a stub.
29
+
30
+ def generate_object_types_list
31
+ #@items = options.objects if options.objects
32
+ @items = [
33
+ "App Level Classes",
34
+ "Entity Classes",
35
+ "Collection Classes",
36
+ "Geom Classes",
37
+ "UI Classes",
38
+ "Observer Classes",
39
+ "Core Ruby Classes"
40
+ ]
41
+ @list_title = "Object Index"
42
+ @list_type = "object_types"
43
+
44
+ # optional: the specified stylesheet class
45
+ # when not specified it will default to the value of @list_type
46
+ @list_class = "class"
47
+
48
+ # Generate the full list html file with named feature_list.html
49
+ # @note this file must be match the name of the type
50
+ asset(url_for_list(@list_type), erb(:full_list))
51
+ end
52
+
53
+
54
+ # See `class_list` in fulldoc/html.
55
+ def reference_list
56
+ even_odd = "odd"
57
+ out = ""
58
+ @items.each { |item|
59
+ out << "<li class='#{even_odd}'>"
60
+ out << "<a class='toggle'></a>"
61
+ out << item
62
+ out << "</li>"
63
+ even_odd = (even_odd == 'even' ? 'odd' : 'even')
64
+ }
65
+ out
66
+ end
@@ -1,78 +1,78 @@
1
- <% su_site_name = h options.title
2
- case object
3
- when String
4
- if object == "_index.html" || object == "index.html"
5
- su_page_url = "https://ruby.sketchup.com/index.html"
6
- su_page_title = "Alphabetic Index"
7
- su_page_desc = "Alphabetic Index of Files and API Namespaces. This is the main landing page for the SketchUp Ruby API Documentation."
8
- else
9
- su_page_url = "https://ruby.sketchup.com/"+(object =~ /(.html)\z/ ? object : "#{File.basename(object,'.*')}.html" )
10
- su_page_title = (@page_title && !@page_title.empty?) ? (h @page_title) : object.split('.')[0]
11
- su_page_desc = "The #{su_page_title} page."
12
- end
13
- when YARD::CodeObjects::Base # or subclass
14
- if object.root?
15
- if @file # Generating a YARD::CodeObjects::ExtraFileObject
16
- su_page_url = "https://ruby.sketchup.com/file.#{File.basename(@file.filename,'.*')}.html"
17
- su_page_title = h @page_title
18
- su_page_desc = @file.title
19
- elsif h @page_title == "Top Level Namespace"
20
- su_page_url = "https://ruby.sketchup.com/top-level-namespace.html"
21
- su_page_title = h @page_title
22
- su_page_desc = "The Top Level Namespace for Ruby and the SketchUp API, listing global constants, and a summary of toplevel modules and classes."
23
- else %>
24
- <!-- <%= "YARD Error - (embed_meta.erb) Unknown root object - using site name." %>--><%
25
- su_page_title = su_site_name
26
- su_page_url = "https://ruby.sketchup.com/"
27
- su_page_desc = "#{su_site_name}."
28
- end
29
- else # Generating a Class or Module page:
30
- su_page_url = "https://ruby.sketchup.com/#{@path.gsub('::','/')}.html"
31
- su_page_title = h @page_title
32
- if object.docstring.blank?
33
- if object.is_a?(YARD::CodeObjects::ClassObject)
34
- su_page_desc = "The #{@path} class."
35
- elsif object.is_a?(YARD::CodeObjects::ModuleObject)
36
- su_page_desc = "The #{@path} module."
37
- else
38
- su_page_desc = "The #{su_page_title} page."
39
- end %>
40
- <!-- <%= "YARD Warning - Blank docstring, object is: #{object.class.name}" %>--><%
41
- else
42
- su_page_desc = object.docstring.summary.gsub(/[{}+]/,'')
43
- end
44
- end # if root object
45
- else # object is unexpected type %>
46
- <!-- <%= "YARD Error - (embed_meta.erb) Unexpected type: #{object.class.name}" %>--><%
47
- su_page_title = su_site_name
48
- su_page_url = "https://ruby.sketchup.com/"
49
- if object.respond_to?(:docstring)
50
- su_page_desc = object.docstring.summary.gsub(/[{}+]/,'')
51
- else
52
- su_page_desc = "#{su_site_name}."
53
- end
54
- end
55
- su_page_img = "http://developer.sketchup.com/sites/developers.sketchup.com/files/Ruby.svg"
56
- %>
57
- <!-- GENERIC META PROPERTIES -->
58
- <meta name="url" content="<%= su_page_url %>" />
59
- <meta name="image" content="<%= su_page_img %>?s=60" />
60
- <meta name="title" content="<%= su_page_title %>" />
61
- <meta name="name" content="<%= su_site_name %>" />
62
- <meta name="description" content="<%= su_page_desc %>" />
63
- <!-- OPEN GRAPH META PROPERTIES -->
64
- <meta property="og:site_name" content="<%= su_site_name %>" />
65
- <meta property="og:type" content="website" />
66
- <meta property="og:image" content="<%= su_page_img %>" />
67
- <meta property="og:image:width" content="60" />
68
- <meta property="og:image:height" content="60" />
69
- <meta property="og:title" content="<%= su_page_title %>" />
70
- <meta property="og:url" content="<%= su_page_url %>" />
71
- <meta property="og:description" content="<%= su_page_desc %>" />
72
- <!-- TWITTER CARD META PROPERTIES -->
73
- <meta name="twitter:card" content="summary" />
74
- <meta name="twitter:site" content="@sketchup" />
75
- <meta name="twitter:title" content="<%= su_page_title %>" />
76
- <meta name="twitter:description" content="<%= su_page_desc %>" />
77
- <meta name="twitter:image:src" content="<%= su_page_img %>?s=120" />
78
- <meta name="twitter:url" content="<%= su_page_url %>" />
1
+ <% su_site_name = h options.title
2
+ case object
3
+ when String
4
+ if object == "_index.html" || object == "index.html"
5
+ su_page_url = "https://ruby.sketchup.com/index.html"
6
+ su_page_title = "Alphabetic Index"
7
+ su_page_desc = "Alphabetic Index of Files and API Namespaces. This is the main landing page for the SketchUp Ruby API Documentation."
8
+ else
9
+ su_page_url = "https://ruby.sketchup.com/"+(object =~ /(.html)\z/ ? object : "#{File.basename(object,'.*')}.html" )
10
+ su_page_title = (@page_title && !@page_title.empty?) ? (h @page_title) : object.split('.')[0]
11
+ su_page_desc = "The #{su_page_title} page."
12
+ end
13
+ when YARD::CodeObjects::Base # or subclass
14
+ if object.root?
15
+ if @file # Generating a YARD::CodeObjects::ExtraFileObject
16
+ su_page_url = "https://ruby.sketchup.com/file.#{File.basename(@file.filename,'.*')}.html"
17
+ su_page_title = h @page_title
18
+ su_page_desc = @file.title
19
+ elsif h @page_title == "Top Level Namespace"
20
+ su_page_url = "https://ruby.sketchup.com/top-level-namespace.html"
21
+ su_page_title = h @page_title
22
+ su_page_desc = "The Top Level Namespace for Ruby and the SketchUp API, listing global constants, and a summary of toplevel modules and classes."
23
+ else %>
24
+ <!-- <%= "YARD Error - (embed_meta.erb) Unknown root object - using site name." %>--><%
25
+ su_page_title = su_site_name
26
+ su_page_url = "https://ruby.sketchup.com/"
27
+ su_page_desc = "#{su_site_name}."
28
+ end
29
+ else # Generating a Class or Module page:
30
+ su_page_url = "https://ruby.sketchup.com/#{@path.gsub('::','/')}.html"
31
+ su_page_title = h @page_title
32
+ if object.docstring.blank?
33
+ if object.is_a?(YARD::CodeObjects::ClassObject)
34
+ su_page_desc = "The #{@path} class."
35
+ elsif object.is_a?(YARD::CodeObjects::ModuleObject)
36
+ su_page_desc = "The #{@path} module."
37
+ else
38
+ su_page_desc = "The #{su_page_title} page."
39
+ end %>
40
+ <!-- <%= "YARD Warning - Blank docstring, object is: #{object.class.name}" %>--><%
41
+ else
42
+ su_page_desc = object.docstring.summary.gsub(/[{}+]/,'')
43
+ end
44
+ end # if root object
45
+ else # object is unexpected type %>
46
+ <!-- <%= "YARD Error - (embed_meta.erb) Unexpected type: #{object.class.name}" %>--><%
47
+ su_page_title = su_site_name
48
+ su_page_url = "https://ruby.sketchup.com/"
49
+ if object.respond_to?(:docstring)
50
+ su_page_desc = object.docstring.summary.gsub(/[{}+]/,'')
51
+ else
52
+ su_page_desc = "#{su_site_name}."
53
+ end
54
+ end
55
+ su_page_img = "http://developer.sketchup.com/sites/developers.sketchup.com/files/Ruby.svg"
56
+ %>
57
+ <!-- GENERIC META PROPERTIES -->
58
+ <meta name="url" content="<%= su_page_url %>" />
59
+ <meta name="image" content="<%= su_page_img %>?s=60" />
60
+ <meta name="title" content="<%= su_page_title %>" />
61
+ <meta name="name" content="<%= su_site_name %>" />
62
+ <meta name="description" content="<%= su_page_desc %>" />
63
+ <!-- OPEN GRAPH META PROPERTIES -->
64
+ <meta property="og:site_name" content="<%= su_site_name %>" />
65
+ <meta property="og:type" content="website" />
66
+ <meta property="og:image" content="<%= su_page_img %>" />
67
+ <meta property="og:image:width" content="60" />
68
+ <meta property="og:image:height" content="60" />
69
+ <meta property="og:title" content="<%= su_page_title %>" />
70
+ <meta property="og:url" content="<%= su_page_url %>" />
71
+ <meta property="og:description" content="<%= su_page_desc %>" />
72
+ <!-- TWITTER CARD META PROPERTIES -->
73
+ <meta name="twitter:card" content="summary" />
74
+ <meta name="twitter:site" content="@sketchup" />
75
+ <meta name="twitter:title" content="<%= su_page_title %>" />
76
+ <meta name="twitter:description" content="<%= su_page_desc %>" />
77
+ <meta name="twitter:image:src" content="<%= su_page_img %>?s=120" />
78
+ <meta name="twitter:url" content="<%= su_page_url %>" />
@@ -1,4 +1,4 @@
1
- <div id="footer">
2
- Generated by
3
- <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
4
- </div>
1
+ <div id="footer">
2
+ Generated by
3
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
4
+ </div>
@@ -1,15 +1,15 @@
1
- <meta charset="<%= charset %>">
2
- <!-- VIEWPORT -->
3
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
4
- <!-- AUTHOR and GENERATOR -->
5
- <meta name="author" content="SketchUp Extensibility Team">
6
- <meta name="generator" content="YARD https://yardoc.org">
7
- <!-- TITLE -->
8
- <title><% if object == "_index.html" || object == "index.html" %>
9
- Alphabetic Index &mdash; <%= h options.title %><% else %>
10
- <%= h @page_title %><% if options.title && @page_title != options.title %> &mdash; <%= h options.title %><% end %><% end %>
11
- </title>
12
- <!-- SHORTCUT ICON -->
13
- <link rel="shortcut icon" type="image/vnd.microsoft.icon"
14
- href="https://ruby.sketchup.com/favicon.ico" />
15
- <%= erb(:embed_meta) %>
1
+ <meta charset="<%= charset %>">
2
+ <!-- VIEWPORT -->
3
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
4
+ <!-- AUTHOR and GENERATOR -->
5
+ <meta name="author" content="SketchUp Extensibility Team">
6
+ <meta name="generator" content="YARD https://yardoc.org">
7
+ <!-- TITLE -->
8
+ <title><% if object == "_index.html" || object == "index.html" %>
9
+ Alphabetic Index &mdash; <%= h options.title %><% else %>
10
+ <%= h @page_title %><% if options.title && @page_title != options.title %> &mdash; <%= h options.title %><% end %><% end %>
11
+ </title>
12
+ <!-- SHORTCUT ICON -->
13
+ <link rel="shortcut icon" type="image/vnd.microsoft.icon"
14
+ href="https://ruby.sketchup.com/favicon.ico" />
15
+ <%= erb(:embed_meta) %>
@@ -1,55 +1,55 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <%= erb(:headers) %>
5
- <!-- STYLESHEETS -->
6
- <link rel="stylesheet" type="text/css"
7
- href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic" />
8
- <% stylesheets.each do |stylesheet| %>
9
- <link rel="stylesheet" href="<%= url_for(stylesheet) %>" type="text/css" charset="utf-8" />
10
- <% end %>
11
- <!-- SCRIPTS -->
12
- <%= erb :script_setup %>
13
- <% javascripts.each do |javascript| %>
14
- <script type="text/javascript" charset="utf-8" src="<%= url_for(javascript) %>"></script>
15
- <% end %>
16
- <script>
17
- // Every time this page is loaded, it sends this action to SketchUp, telling
18
- // SketchUp that a new page has loaded that has example snippets that should
19
- // be replaced with code editors. Nothing happens if the page is loaded in a
20
- // regular browser outside of the SketchUp client.
21
- $( document ).ready(function() {
22
- if (typeof sketchup == 'object') {
23
- sketchup.page_loaded();
24
- }
25
- });
26
- </script>
27
-
28
- </head>
29
- <body>
30
-
31
- <%= erb(:navbar) %>
32
-
33
- <div id="su-content">
34
-
35
- <div class="nav_wrap">
36
- <iframe id="nav" src="<%= @nav_url %>"></iframe>
37
- <div id="resizer"></div>
38
- </div>
39
-
40
- <div id="main" tabindex="-1">
41
- <div id="header">
42
- <%= erb(:breadcrumb) %>
43
- <%= erb(:search) %>
44
- <div class="clear"></div>
45
- </div>
46
-
47
- <div id="content"><%= yieldall %></div>
48
-
49
- <%= erb(:footer) %>
50
- </div>
51
-
52
- </div>
53
-
54
- </body>
55
- </html>
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <%= erb(:headers) %>
5
+ <!-- STYLESHEETS -->
6
+ <link rel="stylesheet" type="text/css"
7
+ href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic" />
8
+ <% stylesheets.each do |stylesheet| %>
9
+ <link rel="stylesheet" href="<%= url_for(stylesheet) %>" type="text/css" charset="utf-8" />
10
+ <% end %>
11
+ <!-- SCRIPTS -->
12
+ <%= erb :script_setup %>
13
+ <% javascripts.each do |javascript| %>
14
+ <script type="text/javascript" charset="utf-8" src="<%= url_for(javascript) %>"></script>
15
+ <% end %>
16
+ <script>
17
+ // Every time this page is loaded, it sends this action to SketchUp, telling
18
+ // SketchUp that a new page has loaded that has example snippets that should
19
+ // be replaced with code editors. Nothing happens if the page is loaded in a
20
+ // regular browser outside of the SketchUp client.
21
+ $( document ).ready(function() {
22
+ if (typeof sketchup == 'object') {
23
+ sketchup.page_loaded();
24
+ }
25
+ });
26
+ </script>
27
+
28
+ </head>
29
+ <body>
30
+
31
+ <%= erb(:navbar) %>
32
+
33
+ <div id="su-content">
34
+
35
+ <div class="nav_wrap">
36
+ <iframe id="nav" src="<%= @nav_url %>"></iframe>
37
+ <div id="resizer"></div>
38
+ </div>
39
+
40
+ <div id="main" tabindex="-1">
41
+ <div id="header">
42
+ <%= erb(:breadcrumb) %>
43
+ <%= erb(:search) %>
44
+ <div class="clear"></div>
45
+ </div>
46
+
47
+ <div id="content"><%= yieldall %></div>
48
+
49
+ <%= erb(:footer) %>
50
+ </div>
51
+
52
+ </div>
53
+
54
+ </body>
55
+ </html>
@@ -1,36 +1,36 @@
1
- <!-- SU - start -->
2
- <header id="navbar" role="banner" class="navbar navbar-fixed-top navbar-inverse">
3
- <div id="api-documentation-header">
4
- <div class="navbar-header">
5
- <a class="logo navbar-btn pull-left" href="https://developer.sketchup.com" title="Home">
6
- <img src="https://ruby.sketchup.com/images/SU_Developer-RedWhite.png" alt="Home">
7
- </a>
8
- <a class="name navbar-brand" href="/en" title="Home">SketchUp Developer Center</a>
9
- <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
10
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
11
- <span class="sr-only">Toggle navigation</span>
12
- <span class="icon-bar"></span>
13
- <span class="icon-bar"></span>
14
- <span class="icon-bar"></span>
15
- </button>
16
- </div>
17
- <div class="navbar-collapse collapse">
18
- <nav role="navigation">
19
- <ul class="menu nav navbar-nav">
20
- <li class="first leaf"><a href="https://forums.sketchup.com/c/developers">Community</a></li>
21
- <li class="leaf"><a href="https://blog.sketchup.com/">SketchUp Blog</a></li>
22
- <li class="leaf"><a href="https://www.sketchup.com/download" class="top-menu--download-button">Download</a></li>
23
- <li class="last expanded dropdown">
24
- <a href="https://www.trimble.com" class="trimble-top-menu-item dropdown-toggle" data-target="#" data-toggle="dropdown"><img src="https://ruby.sketchup.com/images/trimble-logo-white.png"><span class="caret"></span></a>
25
- <ul class="dropdown-menu">
26
- <li class="first leaf"><a href="https://connect.trimble.com/">Trimble Connect</a></li>
27
- <li class="leaf"><a href="https://www.trimble.com/Corporate/About_Trimble.aspx">About Trimble</a></li>
28
- <li class="last leaf"><a href="https://buildings.trimble.com/">Trimble Buildings</a></li>
29
- </ul>
30
- </li>
31
- </ul>
32
- </nav>
33
- </div>
34
- </div>
35
- </header>
36
- <!-- SU - end -->
1
+ <!-- SU - start -->
2
+ <header id="navbar" role="banner" class="navbar navbar-fixed-top navbar-inverse">
3
+ <div id="api-documentation-header">
4
+ <div class="navbar-header">
5
+ <a class="logo navbar-btn pull-left" href="https://developer.sketchup.com" title="Home">
6
+ <img src="https://ruby.sketchup.com/images/SU_Developer-RedWhite.png" alt="Home">
7
+ </a>
8
+ <a class="name navbar-brand" href="/en" title="Home">SketchUp Developer Center</a>
9
+ <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
10
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
11
+ <span class="sr-only">Toggle navigation</span>
12
+ <span class="icon-bar"></span>
13
+ <span class="icon-bar"></span>
14
+ <span class="icon-bar"></span>
15
+ </button>
16
+ </div>
17
+ <div class="navbar-collapse collapse">
18
+ <nav role="navigation">
19
+ <ul class="menu nav navbar-nav">
20
+ <li class="first leaf"><a href="https://forums.sketchup.com/c/developers">Community</a></li>
21
+ <li class="leaf"><a href="https://blog.sketchup.com/">SketchUp Blog</a></li>
22
+ <li class="leaf"><a href="https://www.sketchup.com/download" class="top-menu--download-button">Download</a></li>
23
+ <li class="last expanded dropdown">
24
+ <a href="https://www.trimble.com" class="trimble-top-menu-item dropdown-toggle" data-target="#" data-toggle="dropdown"><img src="https://ruby.sketchup.com/images/trimble-logo-white.png"><span class="caret"></span></a>
25
+ <ul class="dropdown-menu">
26
+ <li class="first leaf"><a href="https://connect.trimble.com/">Trimble Connect</a></li>
27
+ <li class="leaf"><a href="https://www.trimble.com/Corporate/About_Trimble.aspx">About Trimble</a></li>
28
+ <li class="last leaf"><a href="https://buildings.trimble.com/">Trimble Buildings</a></li>
29
+ </ul>
30
+ </li>
31
+ </ul>
32
+ </nav>
33
+ </div>
34
+ </div>
35
+ </header>
36
+ <!-- SU - end -->