2
2
<div >
3
3
<!-- The animated Scapy logo box -->
4
4
<v-container >
5
- <v-row align =" center" justify =" center" >
6
- <v-col cols =" auto" class =" pl-0 " >
5
+ <v-row align =" center" justify =" center" aria-hidden = " true " >
6
+ <v-col cols =" auto" class =" pa-0 pr-2 " >
7
7
<ScapyS />
8
8
</v-col >
9
- <v-col cols =" 6" class =" px-0" >
9
+ <v-col cols =" 6" lg = " 4 " class =" px-0" >
10
10
<v-fade-transition >
11
- <v-card v-show =" animationOk" >
12
- <v-card-text class =" scapy-main-box fill-height px-0 text-blue-lighten-2" >
13
- <template v-if =" ! smAndDown " >
14
- | <br />
15
- </template >
16
- | Welcome to Scapy<br />
17
- | Version {{ version }}<br />
11
+ <div v-show =" animationOk" color =" transparent" class =" scapy-main-box fill-height px-0 text-blue-lighten-2" >
12
+ <template v-if =" ! smAndDown " >
18
13
| <br />
19
- | <span class =' text-secondary' ><a href =" https://github.com/secdev/scapy" ><span
20
- class =" hidden-xs" >https://github.com/</span >secdev/scapy</a >
21
- </span ><br />
14
+ </template >
15
+ | Welcome to Scapy<br />
16
+ | Version {{ version }}<br />
17
+ | <br />
18
+ | <span class =' text-secondary' ><a href =" https://github.com/secdev/scapy" ><span
19
+ class =" hidden-xs" >https://github.com/</span >secdev/scapy</a >
20
+ </span ><br />
21
+ | <br />
22
+ | Have fun!<br />
23
+ <template v-if =" ! smAndDown " >
22
24
| <br />
23
- | Have fun!<br />
24
- <template v-if =" ! smAndDown " >
25
- | <br />
26
- | {{ quote[0] }}<br />
27
- | {{ quote[1] }}<br />
28
- | {{ quote[2] }}<br />
29
- | <br />
30
- </template >
31
- </v-card-text >
32
- </v-card >
25
+ | {{ quote[0] }}<br />
26
+ | {{ quote[1] }}<br />
27
+ | {{ quote[2] }}<br />
28
+ | <br />
29
+ </template >
30
+ </div >
33
31
</v-fade-transition >
34
32
</v-col >
35
33
</v-row >
36
34
<v-row >
37
35
<!-- What is Scapy -->
38
36
<v-col cols =" 12" lg =" 7" class =" d-flex" >
39
- <v-card variant =" tonal" title =" What is Scapy?" >
37
+ <v-card variant =" tonal" >
38
+ <v-card-title >
39
+ <h4 >What is Scapy?</h4 >
40
+ </v-card-title >
40
41
<v-card-text >
41
42
<v-row >
42
43
<v-col cols =" 12" sm =" 4" >
77
78
</v-col >
78
79
<!-- Shell demo -->
79
80
<v-col cols =" 12" lg =" 5" class =" d-flex flex-column" >
80
- <v-card variant =" tonal" title =" Shell demo" class =" flex-grow-1 flex-shrink-1" >
81
- <v-card-text class =" text-body-2" >
82
- <pre style =" white-space : pre-wrap ;" v-html =" DEMO_CODE" ></pre >
83
- </v-card-text >
84
- </v-card >
81
+ <ScapyTerminal :content =" DEMO_CODE" ></ScapyTerminal >
85
82
</v-col >
86
83
<!-- Documentation -->
87
84
<v-col cols =" 12" lg =" 8" >
88
- <v-card variant =" tonal" title =" Documentation" >
85
+ <v-card variant =" tonal" >
86
+ <v-card-title >
87
+ <h4 >Documentation</h4 >
88
+ </v-card-title >
89
89
<v-card-text class =" text-body-2 align-content-center" >
90
90
<p >
91
91
The official Scapy documentation can be found online on readthedocs:
159
159
</v-col >
160
160
<!-- Maintainers -->
161
161
<v-col cols =" 12" lg =" 4" class =" d-flex flex-column" >
162
- <v-card variant =" tonal" title =" Maintainers" class =" flex-grow-1 flex-shrink-1" >
162
+ <v-card variant =" tonal" class =" flex-grow-1 flex-shrink-1" >
163
+ <v-card-title >
164
+ <h4 >Maintainers</h4 >
165
+ </v-card-title >
163
166
<v-card-text class =" text-body-2" >
164
167
<v-row >
165
168
<v-col cols =" 6" sm =" 4" lg =" 6" >
181
184
<!-- Downloads -->
182
185
<v-col cols =" 12" >
183
186
<div ref =" downloads_section" >
184
- <v-card variant =" tonal" title =" Downloads & Installation" >
187
+ <v-card variant =" tonal" >
188
+ <v-card-title >
189
+ <h4 >Downloads & Installation</h4 >
190
+ </v-card-title >
185
191
<v-card-text class =" text-body-2" >
186
192
<p >
187
193
There are several ways of installing Scapy, depending on your plateform.
195
201
</a >
196
202
</p >
197
203
<v-card color =" transparent" >
198
- <v-tabs v-model =" dllTab" bg-color =" primary" density =" compact" slider-color =" #314C46" >
204
+ <v-tabs show-arrows v-model =" dllTab" bg-color =" primary" density =" compact" slider-color =" #314C46" >
199
205
<v-tab value =" pypi" >PyPI</v-tab >
206
+ <v-tab value =" windows" >Windows</v-tab >
200
207
<v-tab value =" github" >Github</v-tab >
201
208
<v-tab value =" conda" >Conda</v-tab >
202
209
<v-tab value =" debian" >Debian/Ubuntu</v-tab >
203
- <v-tab value =" windows" >Windows</v-tab >
204
210
<v-tab value =" other" >More</v-tab >
205
211
</v-tabs >
206
212
<v-card-text >
254
260
<script lang="ts" setup>
255
261
import ScapyS from ' @/components/ScapyS.vue'
256
262
import SponsorCard from ' @/components/SponsorCard.vue'
263
+ import ScapyTerminal from ' @/components/ScapyTerminal.vue'
257
264
258
265
import { useDisplay } from ' vuetify' ;
259
- import { inject , computed , onMounted , ref } from ' vue' ;
266
+ import { inject , computed , onMounted , ref , watchEffect } from ' vue' ;
260
267
import type { Ref } from ' vue'
261
268
262
269
const version = ' 2.5.0' ;
@@ -276,6 +283,17 @@ onMounted(() => {
276
283
}
277
284
});
278
285
286
+ /* Size of quote text */
287
+ const fontSize = ref (' 1em' );
288
+ watchEffect (() => {
289
+ /* Select font size based on display size */
290
+ if (smAndDown .value ) {
291
+ fontSize .value = ' 0.8em' ;
292
+ } else {
293
+ fontSize .value = ' 1em' ;
294
+ }
295
+ });
296
+
279
297
/* Quotes database: web-oriented, unlike the ones in actual Scapy */
280
298
const AVAILABLE_QUOTES = [
281
299
[" Craft packets like it is your last day on earth." , " Lao-Tze" ],
@@ -320,6 +338,7 @@ const BASE_URL = import.meta.env.BASE_URL;
320
338
.scapy-main-box {
321
339
/* Monospace font */
322
340
font-family : Courier New, Courier , Lucida Sans Typewriter, Lucida Typewriter, monospace ;
341
+ font-size : v-bind(fontSize);
323
342
white-space : pre ;
324
343
}
325
344
@@ -333,4 +352,10 @@ a:visited {
333
352
code .bash :before {
334
353
content : ' $ ' ;
335
354
}
355
+
356
+ /* Thinner h4 titles */
357
+ h4 {
358
+ font-weight : 500 ;
359
+ padding : 2px 0px 2px 0px ;
360
+ }
336
361
</style >
0 commit comments