ruby_jard 0.2.3 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +3 -0
- data/.github/workflows/documentation.yml +65 -0
- data/.github/workflows/{ruby.yml → rspec.yml} +22 -11
- data/.rubocop.yml +6 -0
- data/CHANGELOG.md +15 -3
- data/Gemfile +9 -2
- data/README.md +52 -332
- data/benchmark/path_filter_bench.rb +58 -0
- data/lib/ruby_jard.rb +15 -5
- data/lib/ruby_jard/color_schemes.rb +9 -1
- data/lib/ruby_jard/color_schemes/256_color_scheme.rb +21 -35
- data/lib/ruby_jard/color_schemes/256_light_color_scheme.rb +23 -35
- data/lib/ruby_jard/color_schemes/deep_space_color_scheme.rb +20 -34
- data/lib/ruby_jard/color_schemes/gruvbox_color_scheme.rb +20 -34
- data/lib/ruby_jard/color_schemes/one_half_dark_color_scheme.rb +20 -34
- data/lib/ruby_jard/color_schemes/one_half_light_color_scheme.rb +21 -34
- data/lib/ruby_jard/commands/color_helpers.rb +32 -0
- data/lib/ruby_jard/commands/frame_command.rb +2 -2
- data/lib/ruby_jard/commands/jard/color_scheme_command.rb +25 -3
- data/lib/ruby_jard/commands/jard/filter_command.rb +136 -0
- data/lib/ruby_jard/commands/jard/output_command.rb +13 -5
- data/lib/ruby_jard/commands/jard_command.rb +3 -1
- data/lib/ruby_jard/config.rb +9 -2
- data/lib/ruby_jard/decorators/array_decorator.rb +79 -0
- data/lib/ruby_jard/decorators/attributes_decorator.rb +172 -0
- data/lib/ruby_jard/decorators/color_decorator.rb +12 -5
- data/lib/ruby_jard/decorators/hash_decorator.rb +74 -0
- data/lib/ruby_jard/decorators/inspection_decorator.rb +91 -58
- data/lib/ruby_jard/decorators/object_decorator.rb +122 -0
- data/lib/ruby_jard/decorators/path_decorator.rb +55 -72
- data/lib/ruby_jard/decorators/rails_decorator.rb +194 -0
- data/lib/ruby_jard/decorators/string_decorator.rb +41 -0
- data/lib/ruby_jard/decorators/struct_decorator.rb +79 -0
- data/lib/ruby_jard/frame.rb +23 -10
- data/lib/ruby_jard/keys.rb +1 -0
- data/lib/ruby_jard/layouts/narrow_horizontal_layout.rb +4 -0
- data/lib/ruby_jard/layouts/tiny_layout.rb +4 -0
- data/lib/ruby_jard/pager.rb +21 -5
- data/lib/ruby_jard/path_classifier.rb +133 -0
- data/lib/ruby_jard/path_filter.rb +125 -0
- data/lib/ruby_jard/reflection.rb +97 -0
- data/lib/ruby_jard/repl_processor.rb +71 -38
- data/lib/ruby_jard/row_renderer.rb +5 -3
- data/lib/ruby_jard/screen.rb +2 -2
- data/lib/ruby_jard/screen_manager.rb +13 -36
- data/lib/ruby_jard/screen_renderer.rb +1 -1
- data/lib/ruby_jard/screens/backtrace_screen.rb +55 -39
- data/lib/ruby_jard/screens/menu_screen.rb +30 -30
- data/lib/ruby_jard/screens/source_screen.rb +46 -62
- data/lib/ruby_jard/screens/threads_screen.rb +59 -72
- data/lib/ruby_jard/screens/variables_screen.rb +168 -124
- data/lib/ruby_jard/session.rb +120 -16
- data/lib/ruby_jard/thread_info.rb +69 -0
- data/lib/ruby_jard/version.rb +1 -1
- data/ruby_jard.gemspec +3 -1
- metadata +20 -39
- data/.travis.yml +0 -6
- data/CNAME +0 -1
- data/_config.yml +0 -1
- data/docs/_config.yml +0 -8
- data/docs/color_schemes/256-light.png +0 -0
- data/docs/color_schemes/256.png +0 -0
- data/docs/color_schemes/deep-space.png +0 -0
- data/docs/color_schemes/gruvbox.png +0 -0
- data/docs/color_schemes/one-half-dark.png +0 -0
- data/docs/color_schemes/one-half-light.png +0 -0
- data/docs/demo.png +0 -0
- data/docs/guide-ui.png +0 -0
- data/docs/index.md +0 -238
- data/docs/logo.jpg +0 -0
- data/docs/screen-backtrace.png +0 -0
- data/docs/screen-repl.png +0 -0
- data/docs/screen-source.png +0 -0
- data/docs/screen-threads.png +0 -0
- data/docs/screen-variables.png +0 -0
- data/images/bg_hr.png +0 -0
- data/images/blacktocat.png +0 -0
- data/images/body-bg.jpg +0 -0
- data/images/download-button.png +0 -0
- data/images/github-button.png +0 -0
- data/images/header-bg.jpg +0 -0
- data/images/highlight-bg.jpg +0 -0
- data/images/icon_download.png +0 -0
- data/images/sidebar-bg.jpg +0 -0
- data/images/sprite_download.png +0 -0
- data/javascripts/main.js +0 -1
- data/stylesheets/github-light.css +0 -130
- data/stylesheets/normalize.css +0 -424
- data/stylesheets/print.css +0 -228
- data/stylesheets/stylesheet.css +0 -245
data/stylesheets/print.css
DELETED
@@ -1,228 +0,0 @@
|
|
1
|
-
html, body, div, span, applet, object, iframe,
|
2
|
-
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
3
|
-
a, abbr, acronym, address, big, cite, code,
|
4
|
-
del, dfn, em, img, ins, kbd, q, s, samp,
|
5
|
-
small, strike, strong, sub, sup, tt, var,
|
6
|
-
b, u, i, center,
|
7
|
-
dl, dt, dd, ol, ul, li,
|
8
|
-
fieldset, form, label, legend,
|
9
|
-
table, caption, tbody, tfoot, thead, tr, th, td,
|
10
|
-
article, aside, canvas, details, embed,
|
11
|
-
figure, figcaption, footer, header, hgroup,
|
12
|
-
menu, nav, output, ruby, section, summary,
|
13
|
-
time, mark, audio, video {
|
14
|
-
padding: 0;
|
15
|
-
margin: 0;
|
16
|
-
font: inherit;
|
17
|
-
font-size: 100%;
|
18
|
-
vertical-align: baseline;
|
19
|
-
border: 0;
|
20
|
-
}
|
21
|
-
/* HTML5 display-role reset for older browsers */
|
22
|
-
article, aside, details, figcaption, figure,
|
23
|
-
footer, header, hgroup, menu, nav, section {
|
24
|
-
display: block;
|
25
|
-
}
|
26
|
-
body {
|
27
|
-
line-height: 1;
|
28
|
-
}
|
29
|
-
ol, ul {
|
30
|
-
list-style: none;
|
31
|
-
}
|
32
|
-
blockquote, q {
|
33
|
-
quotes: none;
|
34
|
-
}
|
35
|
-
blockquote:before, blockquote:after,
|
36
|
-
q:before, q:after {
|
37
|
-
content: '';
|
38
|
-
content: none;
|
39
|
-
}
|
40
|
-
table {
|
41
|
-
border-spacing: 0;
|
42
|
-
border-collapse: collapse;
|
43
|
-
}
|
44
|
-
body {
|
45
|
-
font-family: 'Helvetica Neue', Helvetica, Arial, serif;
|
46
|
-
font-size: 13px;
|
47
|
-
line-height: 1.5;
|
48
|
-
color: #000;
|
49
|
-
}
|
50
|
-
|
51
|
-
a {
|
52
|
-
font-weight: bold;
|
53
|
-
color: #d5000d;
|
54
|
-
}
|
55
|
-
|
56
|
-
header {
|
57
|
-
padding-top: 35px;
|
58
|
-
padding-bottom: 10px;
|
59
|
-
}
|
60
|
-
|
61
|
-
header h1 {
|
62
|
-
font-size: 48px;
|
63
|
-
font-weight: bold;
|
64
|
-
line-height: 1.2;
|
65
|
-
color: #303030;
|
66
|
-
letter-spacing: -1px;
|
67
|
-
}
|
68
|
-
|
69
|
-
header h2 {
|
70
|
-
font-size: 24px;
|
71
|
-
font-weight: normal;
|
72
|
-
line-height: 1.3;
|
73
|
-
color: #aaa;
|
74
|
-
letter-spacing: -1px;
|
75
|
-
}
|
76
|
-
#downloads {
|
77
|
-
display: none;
|
78
|
-
}
|
79
|
-
#main_content {
|
80
|
-
padding-top: 20px;
|
81
|
-
}
|
82
|
-
|
83
|
-
code, pre {
|
84
|
-
margin-bottom: 30px;
|
85
|
-
font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal;
|
86
|
-
font-size: 12px;
|
87
|
-
color: #222;
|
88
|
-
}
|
89
|
-
|
90
|
-
code {
|
91
|
-
padding: 0 3px;
|
92
|
-
}
|
93
|
-
|
94
|
-
pre {
|
95
|
-
padding: 20px;
|
96
|
-
overflow: auto;
|
97
|
-
border: solid 1px #ddd;
|
98
|
-
}
|
99
|
-
pre code {
|
100
|
-
padding: 0;
|
101
|
-
}
|
102
|
-
|
103
|
-
ul, ol, dl {
|
104
|
-
margin-bottom: 20px;
|
105
|
-
}
|
106
|
-
|
107
|
-
|
108
|
-
/* COMMON STYLES */
|
109
|
-
|
110
|
-
table {
|
111
|
-
width: 100%;
|
112
|
-
border: 1px solid #ebebeb;
|
113
|
-
}
|
114
|
-
|
115
|
-
th {
|
116
|
-
font-weight: 500;
|
117
|
-
}
|
118
|
-
|
119
|
-
td {
|
120
|
-
font-weight: 300;
|
121
|
-
text-align: center;
|
122
|
-
border: 1px solid #ebebeb;
|
123
|
-
}
|
124
|
-
|
125
|
-
form {
|
126
|
-
padding: 20px;
|
127
|
-
background: #f2f2f2;
|
128
|
-
|
129
|
-
}
|
130
|
-
|
131
|
-
|
132
|
-
/* GENERAL ELEMENT TYPE STYLES */
|
133
|
-
|
134
|
-
h1 {
|
135
|
-
font-size: 2.8em;
|
136
|
-
}
|
137
|
-
|
138
|
-
h2 {
|
139
|
-
margin-bottom: 8px;
|
140
|
-
font-size: 22px;
|
141
|
-
font-weight: bold;
|
142
|
-
color: #303030;
|
143
|
-
}
|
144
|
-
|
145
|
-
h3 {
|
146
|
-
margin-bottom: 8px;
|
147
|
-
font-size: 18px;
|
148
|
-
font-weight: bold;
|
149
|
-
color: #d5000d;
|
150
|
-
}
|
151
|
-
|
152
|
-
h4 {
|
153
|
-
font-size: 16px;
|
154
|
-
font-weight: bold;
|
155
|
-
color: #303030;
|
156
|
-
}
|
157
|
-
|
158
|
-
h5 {
|
159
|
-
font-size: 1em;
|
160
|
-
color: #303030;
|
161
|
-
}
|
162
|
-
|
163
|
-
h6 {
|
164
|
-
font-size: .8em;
|
165
|
-
color: #303030;
|
166
|
-
}
|
167
|
-
|
168
|
-
p {
|
169
|
-
margin-bottom: 20px;
|
170
|
-
font-weight: 300;
|
171
|
-
}
|
172
|
-
|
173
|
-
a {
|
174
|
-
text-decoration: none;
|
175
|
-
}
|
176
|
-
|
177
|
-
p a {
|
178
|
-
font-weight: 400;
|
179
|
-
}
|
180
|
-
|
181
|
-
blockquote {
|
182
|
-
padding: 0 0 0 30px;
|
183
|
-
margin-bottom: 20px;
|
184
|
-
font-size: 1.6em;
|
185
|
-
border-left: 10px solid #e9e9e9;
|
186
|
-
}
|
187
|
-
|
188
|
-
ul li {
|
189
|
-
padding-left: 20px;
|
190
|
-
list-style-position: inside;
|
191
|
-
list-style: disc;
|
192
|
-
}
|
193
|
-
|
194
|
-
ol li {
|
195
|
-
padding-left: 3px;
|
196
|
-
list-style-position: inside;
|
197
|
-
list-style: decimal;
|
198
|
-
}
|
199
|
-
|
200
|
-
dl dd {
|
201
|
-
font-style: italic;
|
202
|
-
font-weight: 100;
|
203
|
-
}
|
204
|
-
|
205
|
-
footer {
|
206
|
-
padding-top: 20px;
|
207
|
-
padding-bottom: 30px;
|
208
|
-
margin-top: 40px;
|
209
|
-
font-size: 13px;
|
210
|
-
color: #aaa;
|
211
|
-
}
|
212
|
-
|
213
|
-
footer a {
|
214
|
-
color: #666;
|
215
|
-
}
|
216
|
-
|
217
|
-
/* MISC */
|
218
|
-
.clearfix:after {
|
219
|
-
display: block;
|
220
|
-
height: 0;
|
221
|
-
clear: both;
|
222
|
-
visibility: hidden;
|
223
|
-
content: '.';
|
224
|
-
}
|
225
|
-
|
226
|
-
.clearfix {display: inline-block;}
|
227
|
-
* html .clearfix {height: 1%;}
|
228
|
-
.clearfix {display: block;}
|
data/stylesheets/stylesheet.css
DELETED
@@ -1,245 +0,0 @@
|
|
1
|
-
* {
|
2
|
-
box-sizing: border-box; }
|
3
|
-
|
4
|
-
body {
|
5
|
-
padding: 0;
|
6
|
-
margin: 0;
|
7
|
-
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
8
|
-
font-size: 16px;
|
9
|
-
line-height: 1.5;
|
10
|
-
color: #606c71; }
|
11
|
-
|
12
|
-
a {
|
13
|
-
color: #1e6bb8;
|
14
|
-
text-decoration: none; }
|
15
|
-
a:hover {
|
16
|
-
text-decoration: underline; }
|
17
|
-
|
18
|
-
.btn {
|
19
|
-
display: inline-block;
|
20
|
-
margin-bottom: 1rem;
|
21
|
-
color: rgba(255, 255, 255, 0.7);
|
22
|
-
background-color: rgba(255, 255, 255, 0.08);
|
23
|
-
border-color: rgba(255, 255, 255, 0.2);
|
24
|
-
border-style: solid;
|
25
|
-
border-width: 1px;
|
26
|
-
border-radius: 0.3rem;
|
27
|
-
transition: color 0.2s, background-color 0.2s, border-color 0.2s; }
|
28
|
-
.btn + .btn {
|
29
|
-
margin-left: 1rem; }
|
30
|
-
|
31
|
-
.btn:hover {
|
32
|
-
color: rgba(255, 255, 255, 0.8);
|
33
|
-
text-decoration: none;
|
34
|
-
background-color: rgba(255, 255, 255, 0.2);
|
35
|
-
border-color: rgba(255, 255, 255, 0.3); }
|
36
|
-
|
37
|
-
@media screen and (min-width: 64em) {
|
38
|
-
.btn {
|
39
|
-
padding: 0.75rem 1rem; } }
|
40
|
-
|
41
|
-
@media screen and (min-width: 42em) and (max-width: 64em) {
|
42
|
-
.btn {
|
43
|
-
padding: 0.6rem 0.9rem;
|
44
|
-
font-size: 0.9rem; } }
|
45
|
-
|
46
|
-
@media screen and (max-width: 42em) {
|
47
|
-
.btn {
|
48
|
-
display: block;
|
49
|
-
width: 100%;
|
50
|
-
padding: 0.75rem;
|
51
|
-
font-size: 0.9rem; }
|
52
|
-
.btn + .btn {
|
53
|
-
margin-top: 1rem;
|
54
|
-
margin-left: 0; } }
|
55
|
-
|
56
|
-
.page-header {
|
57
|
-
color: #fff;
|
58
|
-
text-align: center;
|
59
|
-
background-color: #159957;
|
60
|
-
background-image: linear-gradient(120deg, #155799, #159957); }
|
61
|
-
|
62
|
-
@media screen and (min-width: 64em) {
|
63
|
-
.page-header {
|
64
|
-
padding: 5rem 6rem; } }
|
65
|
-
|
66
|
-
@media screen and (min-width: 42em) and (max-width: 64em) {
|
67
|
-
.page-header {
|
68
|
-
padding: 3rem 4rem; } }
|
69
|
-
|
70
|
-
@media screen and (max-width: 42em) {
|
71
|
-
.page-header {
|
72
|
-
padding: 2rem 1rem; } }
|
73
|
-
|
74
|
-
.project-name {
|
75
|
-
margin-top: 0;
|
76
|
-
margin-bottom: 0.1rem; }
|
77
|
-
|
78
|
-
@media screen and (min-width: 64em) {
|
79
|
-
.project-name {
|
80
|
-
font-size: 3.25rem; } }
|
81
|
-
|
82
|
-
@media screen and (min-width: 42em) and (max-width: 64em) {
|
83
|
-
.project-name {
|
84
|
-
font-size: 2.25rem; } }
|
85
|
-
|
86
|
-
@media screen and (max-width: 42em) {
|
87
|
-
.project-name {
|
88
|
-
font-size: 1.75rem; } }
|
89
|
-
|
90
|
-
.project-tagline {
|
91
|
-
margin-bottom: 2rem;
|
92
|
-
font-weight: normal;
|
93
|
-
opacity: 0.7; }
|
94
|
-
|
95
|
-
@media screen and (min-width: 64em) {
|
96
|
-
.project-tagline {
|
97
|
-
font-size: 1.25rem; } }
|
98
|
-
|
99
|
-
@media screen and (min-width: 42em) and (max-width: 64em) {
|
100
|
-
.project-tagline {
|
101
|
-
font-size: 1.15rem; } }
|
102
|
-
|
103
|
-
@media screen and (max-width: 42em) {
|
104
|
-
.project-tagline {
|
105
|
-
font-size: 1rem; } }
|
106
|
-
|
107
|
-
.main-content :first-child {
|
108
|
-
margin-top: 0; }
|
109
|
-
.main-content img {
|
110
|
-
max-width: 100%; }
|
111
|
-
.main-content h1, .main-content h2, .main-content h3, .main-content h4, .main-content h5, .main-content h6 {
|
112
|
-
margin-top: 2rem;
|
113
|
-
margin-bottom: 1rem;
|
114
|
-
font-weight: normal;
|
115
|
-
color: #159957; }
|
116
|
-
.main-content p {
|
117
|
-
margin-bottom: 1em; }
|
118
|
-
.main-content code {
|
119
|
-
padding: 2px 4px;
|
120
|
-
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
121
|
-
font-size: 0.9rem;
|
122
|
-
color: #383e41;
|
123
|
-
background-color: #f3f6fa;
|
124
|
-
border-radius: 0.3rem; }
|
125
|
-
.main-content pre {
|
126
|
-
padding: 0.8rem;
|
127
|
-
margin-top: 0;
|
128
|
-
margin-bottom: 1rem;
|
129
|
-
font: 1rem Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
130
|
-
color: #567482;
|
131
|
-
word-wrap: normal;
|
132
|
-
background-color: #f3f6fa;
|
133
|
-
border: solid 1px #dce6f0;
|
134
|
-
border-radius: 0.3rem; }
|
135
|
-
.main-content pre > code {
|
136
|
-
padding: 0;
|
137
|
-
margin: 0;
|
138
|
-
font-size: 0.9rem;
|
139
|
-
color: #567482;
|
140
|
-
word-break: normal;
|
141
|
-
white-space: pre;
|
142
|
-
background: transparent;
|
143
|
-
border: 0; }
|
144
|
-
.main-content .highlight {
|
145
|
-
margin-bottom: 1rem; }
|
146
|
-
.main-content .highlight pre {
|
147
|
-
margin-bottom: 0;
|
148
|
-
word-break: normal; }
|
149
|
-
.main-content .highlight pre, .main-content pre {
|
150
|
-
padding: 0.8rem;
|
151
|
-
overflow: auto;
|
152
|
-
font-size: 0.9rem;
|
153
|
-
line-height: 1.45;
|
154
|
-
border-radius: 0.3rem; }
|
155
|
-
.main-content pre code, .main-content pre tt {
|
156
|
-
display: inline;
|
157
|
-
max-width: initial;
|
158
|
-
padding: 0;
|
159
|
-
margin: 0;
|
160
|
-
overflow: initial;
|
161
|
-
line-height: inherit;
|
162
|
-
word-wrap: normal;
|
163
|
-
background-color: transparent;
|
164
|
-
border: 0; }
|
165
|
-
.main-content pre code:before, .main-content pre code:after, .main-content pre tt:before, .main-content pre tt:after {
|
166
|
-
content: normal; }
|
167
|
-
.main-content ul, .main-content ol {
|
168
|
-
margin-top: 0; }
|
169
|
-
.main-content blockquote {
|
170
|
-
padding: 0 1rem;
|
171
|
-
margin-left: 0;
|
172
|
-
color: #819198;
|
173
|
-
border-left: 0.3rem solid #dce6f0; }
|
174
|
-
.main-content blockquote > :first-child {
|
175
|
-
margin-top: 0; }
|
176
|
-
.main-content blockquote > :last-child {
|
177
|
-
margin-bottom: 0; }
|
178
|
-
.main-content table {
|
179
|
-
display: block;
|
180
|
-
width: 100%;
|
181
|
-
overflow: auto;
|
182
|
-
word-break: normal;
|
183
|
-
word-break: keep-all; }
|
184
|
-
.main-content table th {
|
185
|
-
font-weight: bold; }
|
186
|
-
.main-content table th, .main-content table td {
|
187
|
-
padding: 0.5rem 1rem;
|
188
|
-
border: 1px solid #e9ebec; }
|
189
|
-
.main-content dl {
|
190
|
-
padding: 0; }
|
191
|
-
.main-content dl dt {
|
192
|
-
padding: 0;
|
193
|
-
margin-top: 1rem;
|
194
|
-
font-size: 1rem;
|
195
|
-
font-weight: bold; }
|
196
|
-
.main-content dl dd {
|
197
|
-
padding: 0;
|
198
|
-
margin-bottom: 1rem; }
|
199
|
-
.main-content hr {
|
200
|
-
height: 2px;
|
201
|
-
padding: 0;
|
202
|
-
margin: 1rem 0;
|
203
|
-
background-color: #eff0f1;
|
204
|
-
border: 0; }
|
205
|
-
|
206
|
-
@media screen and (min-width: 64em) {
|
207
|
-
.main-content {
|
208
|
-
max-width: 64rem;
|
209
|
-
padding: 2rem 6rem;
|
210
|
-
margin: 0 auto;
|
211
|
-
font-size: 1.1rem; } }
|
212
|
-
|
213
|
-
@media screen and (min-width: 42em) and (max-width: 64em) {
|
214
|
-
.main-content {
|
215
|
-
padding: 2rem 4rem;
|
216
|
-
font-size: 1.1rem; } }
|
217
|
-
|
218
|
-
@media screen and (max-width: 42em) {
|
219
|
-
.main-content {
|
220
|
-
padding: 2rem 1rem;
|
221
|
-
font-size: 1rem; } }
|
222
|
-
|
223
|
-
.site-footer {
|
224
|
-
padding-top: 2rem;
|
225
|
-
margin-top: 2rem;
|
226
|
-
border-top: solid 1px #eff0f1; }
|
227
|
-
|
228
|
-
.site-footer-owner {
|
229
|
-
display: block;
|
230
|
-
font-weight: bold; }
|
231
|
-
|
232
|
-
.site-footer-credits {
|
233
|
-
color: #819198; }
|
234
|
-
|
235
|
-
@media screen and (min-width: 64em) {
|
236
|
-
.site-footer {
|
237
|
-
font-size: 1rem; } }
|
238
|
-
|
239
|
-
@media screen and (min-width: 42em) and (max-width: 64em) {
|
240
|
-
.site-footer {
|
241
|
-
font-size: 1rem; } }
|
242
|
-
|
243
|
-
@media screen and (max-width: 42em) {
|
244
|
-
.site-footer {
|
245
|
-
font-size: 0.9rem; } }
|