sdoc 2.0.4 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b8d4b29d6331f29ea069228638d3acdf6f0cda3894526984025b3ae62eea2523
4
- data.tar.gz: 7d5d3d5048e21d0cfa869d28a3963289efa457b6d52ca38c852f486ba33a382a
3
+ metadata.gz: 2501b7ecbe5f0166265183e512bea38f69a47e7fdf350346307b2b1d06ac208c
4
+ data.tar.gz: b45da3c5d1044c713b3972888a69b58e318e616bbb0285db327621470b203f5e
5
5
  SHA512:
6
- metadata.gz: fe1810f968c179d72c4d22bdcb79097217566c52f4cc50ac2904e443a0dddc205065e06f9bcaea18be36e485a95a565bea96103e45503fffbbfaec8c4482db21
7
- data.tar.gz: 24fa176a0ed31025b545f80652b936fa224be2bfa013b6ff5969eb3ee33d6221f2066ec48901cafc5cc8effbbe4281b17f120c5833574eac915693ff3bf0dd89
6
+ metadata.gz: b960da6795d44598a71048843a15eda6d115fe67bf44c4251aec6496a17674b4f47095978868d09dc35fd2dca81289f36d6b65a7de5eb574c3e228d53b0156cf
7
+ data.tar.gz: 4df53cf2db5874f971f343c2ccea52b59a0341cd15153a9580608800bfa10dc65e114377496bd439ea0955ece61835c9b1de980006ef87507be313c70bd4b445
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ 2.1.0
2
+ =====
3
+
4
+ * #154 Make panel responsive for mobile [@MikeRogers0](https://github.com/MikeRogers0) and [@p8](https://github.com/p8)
5
+ * #153 Add viewport metatag to views for improved Lighthouse score. [@MikeRogers0](https://github.com/MikeRogers0)
6
+ * #150 Use semantic headers for better SEO [@p8](https://github.com/p8)
7
+
1
8
  2.0.4
2
9
  =====
3
10
 
@@ -2,8 +2,8 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="utf-8">
5
-
6
5
  <title><%= @title %></title>
6
+ <meta name="viewport" content="width=device-width,initial-scale=1">
7
7
  </head>
8
8
  <frameset cols="300,*" frameborder="1" border="1" bordercolor="#999999" framespacing="1">
9
9
  <frame src="panel/index.html" title="Search" name="panel" />
@@ -101,7 +101,7 @@
101
101
 
102
102
  <% unless constants.empty? %>
103
103
  <!-- Section constants -->
104
- <div class="sectiontitle">Constants</div>
104
+ <h2 class="sectiontitle">Constants</h2>
105
105
  <table border='0' cellpadding='5'>
106
106
  <% constants.each do |const| %>
107
107
  <tr valign='top'>
@@ -122,7 +122,7 @@
122
122
 
123
123
  <% unless attributes.empty? %>
124
124
  <!-- Section attributes -->
125
- <div class="sectiontitle">Attributes</div>
125
+ <h2 class="sectiontitle">Attributes</h2>
126
126
  <table border='0' cellpadding='5'>
127
127
  <% attributes.each do |attrib| %>
128
128
  <tr valign='top'>
@@ -145,17 +145,17 @@
145
145
  visibilities.each do |visibility, methods|
146
146
  next if methods.empty?
147
147
  %>
148
- <div class="sectiontitle"><%= type.capitalize %> <%= visibility.to_s.capitalize %> methods</div>
148
+ <h2 class="sectiontitle"><%= type.capitalize %> <%= visibility.to_s.capitalize %> methods</h2>
149
149
  <% methods.each do |method| %>
150
150
  <div class="method">
151
- <div class="title method-title" id="<%= method.aref %>">
151
+ <h3 class="title method-title" id="<%= method.aref %>">
152
152
  <% if method.call_seq %>
153
153
  <b><%= method.call_seq.gsub(/->/, '&rarr;').gsub(/\n(.)/, '<br />\1') %></b>
154
154
  <% else %>
155
155
  <b><%= h method.name %></b><%= h method.params %>
156
156
  <% end %>
157
157
  <a href="<%= "#{rel_prefix}/#{context.path}##{method.aref}"%>" name="<%= method.aref %>" class="permalink">Link</a>
158
- </div>
158
+ </h3>
159
159
 
160
160
  <% if method.comment %>
161
161
  <div class="description">
@@ -1,6 +1,9 @@
1
+ <input type="checkbox" id="hamburger" class="panel_checkbox">
2
+ <label class="panel_mobile_button" for="hamburger"><span></span> Menu</label>
1
3
  <div class="panel panel_tree" id="panel" data-turbolinks-permanent>
2
4
  <div class="header">
3
- <input type="text" placeholder="Search for a class, method, ..." autosave="searchdoc" results="10" id="search" autocomplete="off" />
5
+ <input type="text" placeholder="Search for a class, method, ..." autosave="searchdoc" results="10" id="search" autocomplete="off" tabindex="-1" />
6
+ <label class="panel_mobile_button_close" for="hamburger"><span></span> Close</label>
4
7
  </div>
5
8
  <div class="tree">
6
9
  <ul>
@@ -3,6 +3,7 @@
3
3
  <head>
4
4
  <title><%= h klass.full_name %></title>
5
5
  <meta charset="<%= @options.charset %>" />
6
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
7
  <%= include_template '_head.rhtml', {:rel_prefix => rel_prefix, :tree_keys => klass.full_name.split('::') } %>
7
8
 
8
9
  <meta property="og:title" value="<%= klass.full_name %>">
@@ -3,6 +3,7 @@
3
3
  <head>
4
4
  <title><%= h file.name %></title>
5
5
  <meta charset="<%= @options.charset %>" />
6
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
7
  <%= include_template '_head.rhtml', {:rel_prefix => rel_prefix, :tree_keys => [] } %>
7
8
  </head>
8
9
 
@@ -3,6 +3,7 @@
3
3
  <head>
4
4
  <title><%= @options.title %></title>
5
5
  <meta http-equiv="Content-Type" content="text/html; charset=<%= @options.charset %>" />
6
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
7
  <%= include_template '_head.rhtml', {:rel_prefix => rel_prefix, tree_keys: []} %>
7
8
  </head>
8
9
 
@@ -7,8 +7,10 @@ body {
7
7
  line-height: 1.25em;
8
8
  }
9
9
 
10
- .banner, #bodyContent {
11
- margin-left: 300px;
10
+ @media (min-width: 40em) {
11
+ .banner, #bodyContent {
12
+ margin-left: 300px;
13
+ }
12
14
  }
13
15
 
14
16
  a:link, a:active, a:visited, a:hover {
@@ -1,17 +1,118 @@
1
1
  /* Panel (begin) */
2
+ .panel_checkbox, .panel_mobile_button, .panel_mobile_button_close
3
+ {
4
+ display: none;
5
+ }
6
+
7
+ @media (max-width: 39.99em) {
8
+ .panel_mobile_button {
9
+ display: block;
10
+ height: 40px;
11
+ position: sticky;
12
+ top: 0;
13
+ background: #000;
14
+ color: #fff;
15
+ padding-right: 10px;
16
+ text-align: right;
17
+ line-height: 40px;
18
+ cursor: pointer;
19
+ z-index: 2;
20
+ }
21
+ .panel_checkbox:checked ~ .panel_mobile_button {
22
+ }
23
+
24
+ .panel_checkbox:checked ~ .panel .panel_mobile_button_close {
25
+ display: block;
26
+ height: 40px;
27
+ position: absolute;
28
+ top: 0;
29
+ right: 10px;
30
+ z-index: 3000;
31
+ text-align: right;
32
+ line-height: 40px;
33
+ cursor: pointer;
34
+ }
35
+ }
36
+
37
+ .panel_mobile_button span {
38
+ position: relative;
39
+ display: inline-block;
40
+ width: 1em;
41
+ height: 0.55em;
42
+ margin-right: 0.3em;
43
+ border-top: 0.1em solid #fff;
44
+ border-bottom: 0.1em solid #fff;
45
+ }
46
+
47
+ .panel_mobile_button span:before {
48
+ content: "";
49
+ position: absolute;
50
+ top: 0.25em;
51
+ left: 0px;
52
+ width: 100%;
53
+ border-top: 0.1em solid #fff;
54
+ }
55
+
56
+ .panel_mobile_button_close span {
57
+ position: relative;
58
+ display: inline-block;
59
+ width: 1em;
60
+ height: 0.625em;
61
+ }
62
+
63
+ .panel_mobile_button_close span:before, .panel_mobile_button_close span:after {
64
+ content: "";
65
+ position: absolute;
66
+ top: 0.2em;
67
+ left: 0px;
68
+ width: 100%;
69
+ border-top: 0.1em solid #000;
70
+ }
71
+
72
+ .panel_mobile_button_close span:before {
73
+ transform: rotate(45deg);
74
+ }
75
+
76
+ .panel_mobile_button_close span:after {
77
+ transform: rotate(-45deg);
78
+ }
79
+
2
80
  .panel
3
81
  {
4
82
  position: fixed;
83
+ top: 0;
5
84
  width: 300px;
6
85
  height: 100%;
7
86
  background: #FFF;
8
- z-index: 2;
87
+ z-index: 10;
9
88
  font-family: "Helvetica Neue", "Arial", sans-serif;
10
89
  overflow-x: hidden;
11
90
  border-right: 1px #ccc solid;
12
91
  line-height: 1;
13
92
  }
14
93
 
94
+ @media (max-width: 39.99em) {
95
+ .panel
96
+ {
97
+ transition: left 0s ease-in-out;
98
+ left: -100%;
99
+ width: 100%;
100
+ bottom: 0;
101
+ visibility: hidden;
102
+ }
103
+
104
+ .panel_checkbox:checked ~ .panel {
105
+ left: 0%;
106
+ transition: left 0.3s ease-in-out;
107
+ visibility: visible;
108
+ }
109
+
110
+ .panel_checkbox:checked ~ #bodyContent {
111
+ visibility: hidden;
112
+ display: none;
113
+ }
114
+ }
115
+
15
116
  .panel_tree .results,
16
117
  .panel_results .tree
17
118
  {
@@ -27,11 +128,19 @@
27
128
  height: 40px;
28
129
  width: 300px;
29
130
  position: fixed;
131
+ position: sticky;
30
132
  left: 0; top: 0;
31
133
  z-index: 300;
32
134
  overflow-x: hidden;
33
135
  }
34
136
 
137
+ @media (max-width: 39.99em) {
138
+ .panel .header
139
+ {
140
+ width: 100%;
141
+ }
142
+ }
143
+
35
144
  .panel .header input
36
145
  {
37
146
  border: 0;
@@ -46,6 +155,15 @@
46
155
  outline: none;
47
156
  }
48
157
 
158
+ @media (max-width: 39.99em) {
159
+ .panel .header input
160
+ {
161
+ width: 70%;
162
+ width: calc(100% - 100px);
163
+ font-size: 16px;
164
+ }
165
+ }
166
+
49
167
  /* Header with search box (end) */
50
168
 
51
169
 
@@ -54,7 +172,7 @@
54
172
  {
55
173
  position: relative;
56
174
  bottom: 0;
57
- top: 40px;
175
+ top: 0;
58
176
  left: 0;
59
177
  width: 100%;
60
178
  overflow-y: auto;
@@ -220,7 +338,6 @@
220
338
  {
221
339
  background: white;
222
340
  position: relative;
223
- top: 40px;
224
341
  bottom: 0;
225
342
  left: 0;
226
343
  width: 100%;
@@ -2,6 +2,7 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <title>File Index</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
5
6
  </head>
6
7
  <body>
7
8
  <% @files.each do |file| %>
@@ -3,6 +3,7 @@
3
3
  <head>
4
4
  <title><%= h klass.full_name %></title>
5
5
  <meta http-equiv="Content-Type" content="text/html; charset=<%= @options.charset %>" />
6
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
7
  <%= include_template '_head.rhtml', {:rel_prefix => rel_prefix} %>
7
8
 
8
9
  <meta property="og:title" value="<%= klass.full_name %>">
@@ -3,6 +3,7 @@
3
3
  <head>
4
4
  <title><%= h file.name %></title>
5
5
  <meta http-equiv="Content-Type" content="text/html; charset=<%= @options.charset %>" />
6
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
7
  <%= include_template '_head.rhtml', {:rel_prefix => rel_prefix} %>
7
8
  </head>
8
9
 
@@ -3,6 +3,7 @@
3
3
  <head>
4
4
  <meta http-equiv="Content-Type" content="text/html; charset=<%= @options.charset %>" />
5
5
  <title><%= @options.title %></title>
6
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
7
  </head>
7
8
  <frameset cols="300,*" frameborder="1" border="1" bordercolor="#999999" framespacing="1">
8
9
  <frame src="panel/index.html" title="Search" name="panel" />
@@ -2,6 +2,7 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <title>Search Index</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
5
6
  <link rel="stylesheet" href="../css/reset.css" type="text/css" media="screen" charset="utf-8" />
6
7
  <link rel="stylesheet" href="../css/panel.css" type="text/css" media="screen" charset="utf-8" />
7
8
  <script src="../js/search_index.js" type="text/javascript" charset="utf-8"></script>
@@ -2,6 +2,7 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <title>File Index</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
5
6
  </head>
6
7
  <body>
7
8
  <% @files.each do |file| %>
data/lib/sdoc/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module SDoc
2
- VERSION = '2.0.4'
2
+ VERSION = '2.1.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sdoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladimir Kolesnikov
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2021-02-25 00:00:00.000000000 Z
14
+ date: 2021-03-31 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rdoc