sexyjekyll-theme 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +82 -0
  3. data/LICENSE +21 -0
  4. data/README.de.md +276 -0
  5. data/README.es.md +276 -0
  6. data/README.fr.md +276 -0
  7. data/README.it.md +219 -0
  8. data/README.md +276 -0
  9. data/_includes/critical-css.html +4 -0
  10. data/_includes/footer.html +81 -0
  11. data/_includes/head.html +88 -0
  12. data/_includes/nav.html +21 -0
  13. data/_includes/related-posts.html +75 -0
  14. data/_includes/social-icon.html +98 -0
  15. data/_includes/structured-data-article.html +55 -0
  16. data/_includes/structured-data-breadcrumb.html +28 -0
  17. data/_includes/structured-data-person.html +82 -0
  18. data/_includes/structured-data-website.html +23 -0
  19. data/_layouts/blog.html +101 -0
  20. data/_layouts/category.html +66 -0
  21. data/_layouts/contact.html +26 -0
  22. data/_layouts/default.html +13 -0
  23. data/_layouts/home.html +30 -0
  24. data/_layouts/llms.txt +34 -0
  25. data/_layouts/post.html +99 -0
  26. data/_plugins/auto_related_posts.rb +153 -0
  27. data/_plugins/category_generator.rb +27 -0
  28. data/_plugins/llms_txt_generator.rb +45 -0
  29. data/_plugins/localized_date.rb +52 -0
  30. data/assets/bg.jpeg +0 -0
  31. data/assets/bg.webp +0 -0
  32. data/assets/debug/blocco.png +0 -0
  33. data/assets/debug/categorie.jpeg +0 -0
  34. data/assets/debug/categorie.png +0 -0
  35. data/assets/debug/codice.png +0 -0
  36. data/assets/debug/contrasto.jpeg +0 -0
  37. data/assets/debug/dipendenze.png +0 -0
  38. data/assets/debug/h1.png +0 -0
  39. data/assets/debug/pagespeed.png +0 -0
  40. data/assets/debug/ricerca.png +0 -0
  41. data/assets/debug/richieste.png +0 -0
  42. data/assets/favicon/android-icon-144x144.png +0 -0
  43. data/assets/favicon/android-icon-192x192.png +0 -0
  44. data/assets/favicon/android-icon-36x36.png +0 -0
  45. data/assets/favicon/android-icon-48x48.png +0 -0
  46. data/assets/favicon/android-icon-72x72.png +0 -0
  47. data/assets/favicon/android-icon-96x96.png +0 -0
  48. data/assets/favicon/apple-icon-114x114.png +0 -0
  49. data/assets/favicon/apple-icon-120x120.png +0 -0
  50. data/assets/favicon/apple-icon-144x144.png +0 -0
  51. data/assets/favicon/apple-icon-152x152.png +0 -0
  52. data/assets/favicon/apple-icon-180x180.png +0 -0
  53. data/assets/favicon/apple-icon-57x57.png +0 -0
  54. data/assets/favicon/apple-icon-60x60.png +0 -0
  55. data/assets/favicon/apple-icon-72x72.png +0 -0
  56. data/assets/favicon/apple-icon-76x76.png +0 -0
  57. data/assets/favicon/apple-icon-precomposed.png +0 -0
  58. data/assets/favicon/apple-icon.png +0 -0
  59. data/assets/favicon/favicon-16x16.png +0 -0
  60. data/assets/favicon/favicon-32x32.png +0 -0
  61. data/assets/favicon/favicon-96x96.png +0 -0
  62. data/assets/favicon/favicon.ico +0 -0
  63. data/assets/favicon/ms-icon-144x144.png +0 -0
  64. data/assets/favicon/ms-icon-150x150.png +0 -0
  65. data/assets/favicon/ms-icon-310x310.png +0 -0
  66. data/assets/favicon/ms-icon-70x70.png +0 -0
  67. data/assets/images/aiact.jpeg +0 -0
  68. data/assets/images/aiethics.jpeg +0 -0
  69. data/assets/images/green.jpeg +0 -0
  70. data/assets/images/jekyll.webp +0 -0
  71. data/assets/images/parenting.jpeg +0 -0
  72. data/assets/images/seo-generativo.jpeg +0 -0
  73. data/assets/images/upskilling-ai.jpeg +0 -0
  74. data/assets/pic.jpeg +0 -0
  75. data/assets/screens/screen.jpeg +0 -0
  76. data/assets/screens/screen2.jpeg +0 -0
  77. data/css/animations.css +404 -0
  78. data/css/style.css +2250 -0
  79. data/css/syntax-dark.css +157 -0
  80. data/css/syntax-light.css +157 -0
  81. data/js/main.js +706 -0
  82. data/js/simple-jekyll-search.min.js +6 -0
  83. metadata +254 -0
@@ -0,0 +1,404 @@
1
+ /* =======================
2
+ Animations
3
+ ======================= */
4
+
5
+ /* Keyframe Animations */
6
+
7
+ @keyframes fadeInUp {
8
+ from {
9
+ opacity: 0;
10
+ transform: translateY(30px);
11
+ }
12
+ to {
13
+ opacity: 1;
14
+ transform: translateY(0);
15
+ }
16
+ }
17
+
18
+ @keyframes fadeInDown {
19
+ from {
20
+ opacity: 0;
21
+ transform: translateY(-30px);
22
+ }
23
+ to {
24
+ opacity: 1;
25
+ transform: translateY(0);
26
+ }
27
+ }
28
+
29
+ @keyframes slideInBlur {
30
+ from {
31
+ opacity: 0;
32
+ transform: translateY(40px);
33
+ filter: blur(10px);
34
+ }
35
+ to {
36
+ opacity: 1;
37
+ transform: translateY(0);
38
+ filter: blur(0);
39
+ }
40
+ }
41
+
42
+ @keyframes fadeIn {
43
+ from {
44
+ opacity: 0;
45
+ }
46
+ to {
47
+ opacity: 1;
48
+ }
49
+ }
50
+
51
+ @keyframes slideInFromLeft {
52
+ from {
53
+ opacity: 0;
54
+ transform: translateX(-30px);
55
+ }
56
+ to {
57
+ opacity: 1;
58
+ transform: translateX(0);
59
+ }
60
+ }
61
+
62
+ @keyframes slideInFromRight {
63
+ from {
64
+ opacity: 0;
65
+ transform: translateX(30px);
66
+ }
67
+ to {
68
+ opacity: 1;
69
+ transform: translateX(0);
70
+ }
71
+ }
72
+
73
+ @keyframes scaleIn {
74
+ from {
75
+ opacity: 0;
76
+ transform: scale(0.9);
77
+ }
78
+ to {
79
+ opacity: 1;
80
+ transform: scale(1);
81
+ }
82
+ }
83
+
84
+ @keyframes float {
85
+ 0%, 100% {
86
+ transform: translateY(0px);
87
+ }
88
+ 50% {
89
+ transform: translateY(-10px);
90
+ }
91
+ }
92
+
93
+ @keyframes glow {
94
+ 0%, 100% {
95
+ box-shadow: 0 0 5px rgba(99, 102, 241, 0.5);
96
+ }
97
+ 50% {
98
+ box-shadow: 0 0 20px rgba(99, 102, 241, 0.8);
99
+ }
100
+ }
101
+
102
+ /* =======================
103
+ Animation Classes
104
+ ======================= */
105
+
106
+ .fade-in {
107
+ animation: fadeIn 0.6s ease-out forwards;
108
+ }
109
+
110
+ .fade-in-up {
111
+ animation: fadeInUp 0.6s ease-out forwards;
112
+ }
113
+
114
+ .fade-in-down {
115
+ animation: fadeInDown 0.6s ease-out forwards;
116
+ }
117
+
118
+ .slide-in-left {
119
+ animation: slideInFromLeft 0.6s ease-out forwards;
120
+ }
121
+
122
+ .slide-in-right {
123
+ animation: slideInFromRight 0.6s ease-out forwards;
124
+ }
125
+
126
+ .slide-in-blur {
127
+ animation: slideInBlur 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
128
+ }
129
+
130
+ .scale-in {
131
+ animation: scaleIn 0.6s ease-out forwards;
132
+ }
133
+
134
+ /* =======================
135
+ Page Load Animations
136
+ ======================= */
137
+
138
+ /* Elements start hidden for animation */
139
+ .animate-on-load {
140
+ opacity: 0;
141
+ }
142
+
143
+ /* Hero section animations (home page) */
144
+ .hero-animate .hero-title {
145
+ animation: fadeInDown 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
146
+ animation-delay: 0.1s;
147
+ }
148
+
149
+ .hero-animate .hero-subtitle {
150
+ animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
151
+ animation-delay: 0.3s;
152
+ }
153
+
154
+ .hero-animate .hero-tagline {
155
+ animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
156
+ animation-delay: 0.4s;
157
+ }
158
+
159
+ .hero-animate .hero-description {
160
+ animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
161
+ animation-delay: 0.5s;
162
+ }
163
+
164
+ .hero-animate .hero-cta {
165
+ animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
166
+ animation-delay: 0.7s;
167
+ }
168
+
169
+ /* Post hero animations */
170
+ .post-hero-animate .post-hero-overlay {
171
+ animation: fadeIn 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
172
+ }
173
+
174
+ .post-hero-animate .post-hero-date {
175
+ animation: fadeInDown 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
176
+ animation-delay: 0.2s;
177
+ }
178
+
179
+ .post-hero-animate .post-hero-categories {
180
+ animation: fadeInDown 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
181
+ animation-delay: 0.3s;
182
+ }
183
+
184
+ .post-hero-animate .post-hero-title {
185
+ animation: slideInBlur 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
186
+ animation-delay: 0.4s;
187
+ }
188
+
189
+ .post-hero-animate .post-hero-subtitle {
190
+ animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
191
+ animation-delay: 0.6s;
192
+ }
193
+
194
+ .post-hero-animate .post-hero-reading-time {
195
+ animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
196
+ animation-delay: 0.7s;
197
+ }
198
+
199
+ /* Post header animations (for posts without hero image) */
200
+ .post-header-animate .post-date {
201
+ animation: fadeInDown 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
202
+ animation-delay: 0.1s;
203
+ }
204
+
205
+ .post-header-animate .post-categories {
206
+ animation: fadeInDown 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
207
+ animation-delay: 0.2s;
208
+ }
209
+
210
+ .post-header-animate .post-title {
211
+ animation: slideInBlur 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
212
+ animation-delay: 0.3s;
213
+ }
214
+
215
+ .post-header-animate .post-subtitle {
216
+ animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
217
+ animation-delay: 0.5s;
218
+ }
219
+
220
+ .post-header-animate .post-meta {
221
+ animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
222
+ animation-delay: 0.6s;
223
+ }
224
+
225
+ /* Navigation animations */
226
+ .nav-animate {
227
+ animation: fadeInDown 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
228
+ }
229
+
230
+ /* Content animations */
231
+ .content-animate {
232
+ animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
233
+ }
234
+
235
+ /* Card animations */
236
+ .card-animate {
237
+ animation: slideInBlur 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
238
+ }
239
+
240
+ /* =======================
241
+ Staggered Animation Delays
242
+ ======================= */
243
+
244
+ .delay-1 {
245
+ animation-delay: 0.1s;
246
+ }
247
+
248
+ .delay-2 {
249
+ animation-delay: 0.2s;
250
+ }
251
+
252
+ .delay-3 {
253
+ animation-delay: 0.3s;
254
+ }
255
+
256
+ .delay-4 {
257
+ animation-delay: 0.4s;
258
+ }
259
+
260
+ .delay-5 {
261
+ animation-delay: 0.5s;
262
+ }
263
+
264
+ .delay-6 {
265
+ animation-delay: 0.6s;
266
+ }
267
+
268
+ .delay-7 {
269
+ animation-delay: 0.7s;
270
+ }
271
+
272
+ .delay-8 {
273
+ animation-delay: 0.8s;
274
+ }
275
+
276
+ /* =======================
277
+ Hover Effects
278
+ ======================= */
279
+
280
+ .hover-lift {
281
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
282
+ }
283
+
284
+ .hover-lift:hover {
285
+ transform: translateY(-5px);
286
+ }
287
+
288
+ .hover-scale {
289
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
290
+ }
291
+
292
+ .hover-scale:hover {
293
+ transform: scale(1.05);
294
+ }
295
+
296
+ .hover-glow {
297
+ transition: box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
298
+ }
299
+
300
+ .hover-glow:hover {
301
+ box-shadow: 0 0 20px rgba(99, 102, 241, 0.6);
302
+ }
303
+
304
+ /* =======================
305
+ Smooth Scroll
306
+ ======================= */
307
+
308
+ .smooth-scroll {
309
+ scroll-behavior: smooth;
310
+ }
311
+
312
+ /* =======================
313
+ Performance Optimizations
314
+ ======================= */
315
+
316
+ .will-animate {
317
+ will-change: transform, opacity;
318
+ }
319
+
320
+ .gpu-accelerate {
321
+ transform: translateZ(0);
322
+ backface-visibility: hidden;
323
+ }
324
+
325
+ /* =======================
326
+ Loading States
327
+ ======================= */
328
+
329
+ .loading-pulse {
330
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
331
+ }
332
+
333
+ @keyframes pulse {
334
+ 0%, 100% {
335
+ opacity: 1;
336
+ }
337
+ 50% {
338
+ opacity: 0.5;
339
+ }
340
+ }
341
+
342
+ /* =======================
343
+ Text Animations
344
+ ======================= */
345
+
346
+ .text-shimmer {
347
+ background: linear-gradient(
348
+ 90deg,
349
+ var(--text-secondary) 0%,
350
+ var(--text-primary) 50%,
351
+ var(--text-secondary) 100%
352
+ );
353
+ background-size: 200% auto;
354
+ -webkit-background-clip: text;
355
+ -webkit-text-fill-color: transparent;
356
+ background-clip: text;
357
+ animation: shimmer 3s linear infinite;
358
+ }
359
+
360
+ @keyframes shimmer {
361
+ to {
362
+ background-position: 200% center;
363
+ }
364
+ }
365
+
366
+ /* =======================
367
+ Accessibility
368
+ ======================= */
369
+
370
+ /* Respect user's motion preferences */
371
+ @media (prefers-reduced-motion: reduce) {
372
+ *,
373
+ *::before,
374
+ *::after {
375
+ animation-duration: 0.01ms !important;
376
+ animation-iteration-count: 1 !important;
377
+ transition-duration: 0.01ms !important;
378
+ }
379
+
380
+ .loading-pulse,
381
+ .text-shimmer {
382
+ animation: none !important;
383
+ }
384
+ }
385
+
386
+ /* Focus visible styles for keyboard navigation */
387
+ :focus-visible {
388
+ outline: 2px solid var(--accent);
389
+ outline-offset: 2px;
390
+ border-radius: 2px;
391
+ }
392
+
393
+ /* =======================
394
+ Print Styles
395
+ ======================= */
396
+
397
+ @media print {
398
+ *,
399
+ *::before,
400
+ *::after {
401
+ animation: none !important;
402
+ transition: none !important;
403
+ }
404
+ }