Mavidart commited on
Commit
50f82ff
·
verified ·
1 Parent(s): 27ac2b3

la seccion de blog se podría parecer mas a esto?:

Browse files

import { useState } from 'react';
import { Card } from '@/components/ui/card';
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
import { Badge } from '@/components/ui/badge';
import { Sparkles, BookOpen, Music, Languages, Globe } from 'lucide-react';

export default function Passions() {
const [activeTab, setActiveTab] = useState('mitologia');

const books = [
{
title: 'Cien Años de Soledad',
author: 'Gabriel García Márquez',
review: 'Una obra maestra del realismo mágico que explora la historia de la familia Buendía.',
},
{
title: 'El Nombre de la Rosa',
author: 'Umberto Eco',
review: 'Una fascinante novela histórica que combina misterio, filosofía y semiótica medieval.',
},
{
title: 'La Odisea',
author: 'Homero',
review: 'El viaje épico de Odiseo, lleno de aventuras mitológicas y lecciones atemporales.',
},
];

const musicGenres = [
'Rock Clásico',
'Jazz',
'Música Clásica',
'Folk',
'Indie',
'World Music',
];

return (
<section id="pasiones" className="py-20 bg-gradient-to-b from-muted/30 to-white">
<div className="container mx-auto px-4">
<h2 className="text-4xl md:text-5xl font-bold text-center mb-4 text-primary">
Más Allá de las Palabras
</h2>
<div className="w-24 h-1 bg-accent mx-auto mb-4"></div>
<p className="text-center text-lg text-muted-foreground mb-12 max-w-2xl mx-auto">
El mundo que me inspira y enriquece mi trabajo como traductora
</p>

<div className="max-w-6xl mx-auto">
<Tabs value={activeTab} onValueChange={setActiveTab} className="w-full">
<TabsList className="grid w-full grid-cols-2 md:grid-cols-5 mb-8 h-auto">
<TabsTrigger value="mitologia" className="flex items-center gap-2 py-3">
<Sparkles className="w-4 h-4" />
<span className="hidden sm:inline">Mitología</span>
</TabsTrigger>
<TabsTrigger value="lectura" className="flex items-center gap-2 py-3">
<BookOpen className="w-4 h-4" />
<span className="hidden sm:inline">Lectura</span>
</TabsTrigger>
<TabsTrigger value="musica" className="flex items-center gap-2 py-3">
<Music className="w-4 h-4" />
<span className="hidden sm:inline">Música</span>
</TabsTrigger>
<TabsTrigger value="etimologia" className="flex items-center gap-2 py-3">
<Languages className="w-4 h-4" />
<span className="hidden sm:inline">Etimología</span>
</TabsTrigger>
<TabsTrigger value="idiomas" className="flex items-center gap-2 py-3">
<Globe className="w-4 h-4" />
<span className="hidden sm:inline">Idiomas</span>
</TabsTrigger>
</TabsList>

<TabsContent value="mitologia" className="mt-6">
<Card className="p-8 md:p-12">
<div className="grid md:grid-cols-2 gap-8 items-center">
<div>
<h3 className="text-3xl font-bold mb-4 text-primary">El Poder de los Mitos</h3>
<p className="text-lg leading-relaxed mb-4">
La mitología ha sido mi pasión desde la infancia. Los mitos antiguos no son solo historias
fascinantes, sino ventanas a la comprensión de diferentes culturas y la psique humana.
</p>
<p className="text-lg leading-relaxed mb-4">
Cada mito encierra lecciones universales sobre el valor, el amor, la traición y la redención.
Mi favorito es el mito de Orfeo y Eurídice, una historia sobre el amor que trasciende la muerte
y el poder transformador de la música.
</p>
<p className="text-muted-foreground italic">
"Los mitos son historias que nunca sucedieron pero siempre están sucediendo." - Salustio
</p>
</div>
<div className="rounded-lg overflow-hidden shadow-xl">
<img
src="/assets/mythology-theme.jpg"
alt="Mitología"
className="w-full h-full object-cover"
/>
</div>
</div>
</Card>
</TabsContent>

<TabsContent value="lectura" className="mt-6">
<Card className="p-8 md:p-12">
<div className="grid md:grid-cols-2 gap-8 items-center">
<div className="rounded-lg overflow-hidden shadow-xl order-2 md:order-1">
<img
src="/assets/books-reading.jpg"
alt="Lectura"
className="w-full h-full object-cover"
/>
</div>
<div className="order-1 md:order-2">
<h3 className="text-3xl font-bold mb-4 text-primary">Mi Estante de Libros</h3>
<p className="text-lg leading-relaxed mb-6">
La lectura es mi refugio y mi fuente constante de inspiración. Aquí algunos de mis libros favoritos:
</p>
<div className="space-y-4">
{books.map((book, index) => (
<div key={index} className="border-l-4 border-accent pl-4 py-2">
<h4 className="font-semibold text-lg">{book.title}</h4>
<p className="text-sm text-muted-foreground mb-1">{book.author}</p>
<p className="text-sm">{book.review}</p>
</div>
))}
</div>
</div>
</div>
</Card>
</TabsContent>

<TabsContent value="musica" className="mt-6">
<Card className="p-8 md:p-12">
<div className="grid md:grid-cols-2 gap-8 items-center">
<div>
<h3 className="text-3xl font-bold mb-4 text-primary">La Banda Sonora de Mi Vida</h3>
<p className="text-lg leading-relaxed mb-6">
La música es el lenguaje universal que trasciende las barreras culturales.
Me acompaña en cada traducción, inspirando creatividad y concentración.
</p>
<h4 className="font-semibold text-xl mb-4">Mis Géneros Favoritos:</h4>
<div className="flex flex-wrap gap-3 mb-6">
{musicGenres.map((genre, index) => (
<Badge key={index} variant="secondary" className="text-base px-4 py-2">
{genre}
</Badge>
))}
</div>
<p className="text-muted-foreground italic">
"La música es el arte más directo, entra por el oído y va al corazón." - Magdalena Martínez
</p>
</div>
<div className="rounded-lg overflow-hidden shadow-xl">
<img
src="/assets/music-passion.jpg"
alt="Música"
className="w-full h-full object-cover"
/>
</div>
</div>
</Card>
</TabsContent>

<TabsContent value="etimologia" className="mt-6">
<Card className="p-8 md:p-12">
<div className="grid md:grid-cols-2 gap-8 items-center">
<div className="rounded-lg overflow-hidden shadow-xl order-2 md:order-1">
<img
src="/assets/etymology-words.jpg"
alt="Etimología"
className="w-full h-full object-cover"
/>
</div>
<div className="order-1 md:order-2">
<h3 className="text-3xl font-bold mb-4 text-primary">El Rincón de la Etimología</h3>
<p className="text-lg leading-relaxed mb-6">
Cada palabra tiene una historia fascinante. La etimología me permite entender
el viaje de las palabras a través del tiempo y las culturas.
</p>
<div className="bg-muted/50 p-6 rounded-lg mb-4">
<h4 className="font-semibold text-xl mb-2 text-accent">Palabra del Día: "Nostalgia"</h4>
<p className="mb-2">
<strong>Origen:</strong> Del griego <em>nostos</em> (regreso) + <em>algos</em> (dolor)
</p>
<p className="text-muted-foreground">
Literalmente significa "el dolor del regreso". Originalmente era un término médico
para describir la melancolía de los soldados suizos que añoraban su hogar.
</p>
</div>
<p className="text-muted-foreground italic">
"Las palabras son las huellas del pensamiento humano a través de la historia."
</p>
</div>
</div>
</Card>
</TabsContent>

<TabsContent value="idiomas" className="mt-6">
<Card className="p-8 md:p-12">
<div className="grid md:grid-cols-2 gap-8 items-center">
<div>
<h3 className="text-3xl font-bold mb-4 text-primary">El Arte de Aprender Idiomas</h3>
<p className="text-lg leading-relaxed mb-4">
Cada idioma que aprendo es una nueva ventana al mundo. No solo adquiero vocabulario
y gramática, sino que descubro nuevas formas de pensar y expre

Files changed (4) hide show
  1. index.html +129 -84
  2. script.js +14 -4
  3. scripts/languages.js +29 -12
  4. style.css +23 -1
index.html CHANGED
@@ -82,111 +82,156 @@
82
  </div>
83
  </div>
84
  </section>
85
-
86
- <!-- Blog Preview Section -->
87
- <section class="py-16 bg-gray-100">
88
  <div class="container mx-auto px-4">
89
- <h2 class="text-3xl font-playfair font-bold text-center text-gray-900 mb-4" data-i18n="blog_title">
90
- From the Forge
91
  </h2>
92
- <p class="text-center text-gray-700 max-w-2xl mx-auto mb-6" data-i18n="blog_subtitle">
93
- Thoughts on language, translation, and the power of words
 
94
  </p>
95
 
96
- <!-- Blog Categories -->
97
- <div class="flex justify-center mb-8">
98
- <div class="inline-flex rounded-md shadow-sm" role="group">
99
- <button type="button" class="px-4 py-2 text-sm font-medium rounded-l-lg bg-amber-700 text-white" data-category="languages">
100
- <span data-i18n="blog_category_languages">Languages</span>
 
 
 
 
101
  </button>
102
- <button type="button" class="px-4 py-2 text-sm font-medium bg-white text-gray-700 hover:bg-gray-50" data-category="reading">
103
- <span data-i18n="blog_category_reading">Reading</span>
 
104
  </button>
105
- <button type="button" class="px-4 py-2 text-sm font-medium bg-white text-gray-700 hover:bg-gray-50" data-category="music">
106
- <span data-i18n="blog_category_music">Music</span>
 
107
  </button>
108
- <button type="button" class="px-4 py-2 text-sm font-medium rounded-r-lg bg-white text-gray-700 hover:bg-gray-50" data-category="other">
109
- <span data-i18n="blog_category_other">Other</span>
 
110
  </button>
111
  </div>
112
- </div>
113
- <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
114
- <!-- Blog Post 1 -->
115
- <article class="bg-white rounded-lg shadow-md overflow-hidden">
116
- <img src="http://static.photos/education/640x360/1" alt="Blog post image" class="w-full h-48 object-cover">
117
- <div class="p-6">
118
- <div class="flex items-center text-sm text-gray-600 mb-2">
119
- <span data-i18n="blog_date">May 15, 2023</span>
120
- <span class="mx-2">•</span>
121
- <span class="text-amber-700" data-i18n="blog_category1">Etymology</span>
 
 
 
 
 
 
 
 
 
 
 
122
  </div>
123
- <h3 class="text-xl font-playfair font-bold mb-3" data-i18n="blog_title1">
124
- The Fiery Origins of Common Phrases
125
- </h3>
126
- <p class="text-gray-700 mb-4" data-i18n="blog_excerpt1">
127
- Exploring how blacksmithing terminology forged its way into everyday language...
128
- </p>
129
- <a href="blog-post1.html" class="text-amber-700 hover:text-amber-600 font-medium flex items-center" data-i18n="blog_readmore">
130
- Read more
131
- <i data-feather="arrow-right" class="ml-2 w-4 h-4"></i>
132
- </a>
133
  </div>
134
- </article>
135
 
136
- <!-- Blog Post 2 -->
137
- <article class="bg-white rounded-lg shadow-md overflow-hidden">
138
- <img src="http://static.photos/technology/640x360/2" alt="Blog post image" class="w-full h-48 object-cover">
139
- <div class="p-6">
140
- <div class="flex items-center text-sm text-gray-600 mb-2">
141
- <span data-i18n="blog_date">April 28, 2023</span>
142
- <span class="mx-2">•</span>
143
- <span class="text-amber-700" data-i18n="blog_category2">Technology</span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
  </div>
145
- <h3 class="text-xl font-playfair font-bold mb-3" data-i18n="blog_title2">
146
- When Machines Translate Poetry
147
- </h3>
148
- <p class="text-gray-700 mb-4" data-i18n="blog_excerpt2">
149
- The challenges and occasional triumphs of AI in literary translation...
150
- </p>
151
- <a href="blog-post2.html" class="text-amber-700 hover:text-amber-600 font-medium flex items-center" data-i18n="blog_readmore">
152
- Read more
153
- <i data-feather="arrow-right" class="ml-2 w-4 h-4"></i>
154
- </a>
155
  </div>
156
- </article>
157
 
158
- <!-- Blog Post 3 -->
159
- <article class="bg-white rounded-lg shadow-md overflow-hidden">
160
- <img src="http://static.photos/people/640x360/3" alt="Blog post image" class="w-full h-48 object-cover">
161
- <div class="p-6">
162
- <div class="flex items-center text-sm text-gray-600 mb-2">
163
- <span data-i18n="blog_date">March 10, 2023</span>
164
- <span class="mx-2">•</span>
165
- <span class="text-amber-700" data-i18n="blog_category3">Culture</span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
  </div>
167
- <h3 class="text-xl font-playfair font-bold mb-3" data-i18n="blog_title3">
168
- Lost in Translation: Cultural Nuances
169
- </h3>
170
- <p class="text-gray-700 mb-4" data-i18n="blog_excerpt3">
171
- How idioms and cultural references present unique challenges for translators...
172
- </p>
173
- <a href="blog-post3.html" class="text-amber-700 hover:text-amber-600 font-medium flex items-center" data-i18n="blog_readmore">
174
- Read more
175
- <i data-feather="arrow-right" class="ml-2 w-4 h-4"></i>
176
- </a>
177
  </div>
178
- </article>
179
- </div>
180
 
181
- <div class="text-center mt-12">
182
- <a href="blog.html" class="inline-block px-8 py-3 bg-amber-700 hover:bg-amber-600 text-white font-medium rounded-lg transition duration-300" data-i18n="blog_viewall">
183
- View all articles
184
- </a>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
185
  </div>
186
  </div>
187
  </section>
188
-
189
- <!-- Contact Section -->
190
  <section id="contact" class="py-20 bg-gray-900 text-white">
191
  <div class="container mx-auto px-4">
192
  <h2 class="text-3xl md:text-4xl font-playfair font-bold text-center mb-4" data-i18n="contact_title">
 
82
  </div>
83
  </div>
84
  </section>
85
+ <!-- Blog Section -->
86
+ <section id="pasiones" class="py-20 bg-gradient-to-b from-amber-50 to-white">
 
87
  <div class="container mx-auto px-4">
88
+ <h2 class="text-4xl md:text-5xl font-playfair font-bold text-center mb-4 text-gray-900" data-i18n="blog_title">
89
+ Más Allá de las Palabras
90
  </h2>
91
+ <div class="w-24 h-1 bg-amber-700 mx-auto mb-4"></div>
92
+ <p class="text-center text-lg text-gray-700 mb-12 max-w-2xl mx-auto" data-i18n="blog_subtitle">
93
+ El mundo que me inspira y enriquece mi trabajo como traductora
94
  </p>
95
 
96
+ <div class="max-w-6xl mx-auto">
97
+ <div class="flex flex-wrap justify-center gap-2 mb-8">
98
+ <button data-category="mitologia" class="flex items-center gap-2 px-4 py-2 bg-amber-700 text-white rounded-lg font-medium">
99
+ <i data-feather="award" class="w-4 h-4"></i>
100
+ <span data-i18n="blog_mythology">Mitología</span>
101
+ </button>
102
+ <button data-category="lectura" class="flex items-center gap-2 px-4 py-2 bg-white text-gray-700 rounded-lg font-medium">
103
+ <i data-feather="book-open" class="w-4 h-4"></i>
104
+ <span data-i18n="blog_reading">Lectura</span>
105
  </button>
106
+ <button data-category="musica" class="flex items-center gap-2 px-4 py-2 bg-white text-gray-700 rounded-lg font-medium">
107
+ <i data-feather="music" class="w-4 h-4"></i>
108
+ <span data-i18n="blog_music">Música</span>
109
  </button>
110
+ <button data-category="etimologia" class="flex items-center gap-2 px-4 py-2 bg-white text-gray-700 rounded-lg font-medium">
111
+ <i data-feather="type" class="w-4 h-4"></i>
112
+ <span data-i18n="blog_etymology">Etimología</span>
113
  </button>
114
+ <button data-category="idiomas" class="flex items-center gap-2 px-4 py-2 bg-white text-gray-700 rounded-lg font-medium">
115
+ <i data-feather="globe" class="w-4 h-4"></i>
116
+ <span data-i18n="blog_languages">Idiomas</span>
117
  </button>
118
  </div>
119
+
120
+ <!-- Mythology Content -->
121
+ <div class="bg-white rounded-xl shadow-lg p-8 md:p-12 mb-12" data-category-content="mitologia">
122
+ <div class="grid md:grid-cols-2 gap-8 items-center">
123
+ <div>
124
+ <h3 class="text-3xl font-playfair font-bold mb-4 text-gray-900" data-i18n="blog_mythology_title">El Poder de los Mitos</h3>
125
+ <p class="text-lg leading-relaxed mb-4" data-i18n="blog_mythology_p1">
126
+ La mitología ha sido mi pasión desde la infancia. Los mitos antiguos no son solo historias
127
+ fascinantes, sino ventanas a la comprensión de diferentes culturas y la psique humana.
128
+ </p>
129
+ <p class="text-lg leading-relaxed mb-4" data-i18n="blog_mythology_p2">
130
+ Cada mito encierra lecciones universales sobre el valor, el amor, la traición y la redención.
131
+ Mi favorito es el mito de Orfeo y Eurídice, una historia sobre el amor que trasciende la muerte
132
+ y el poder transformador de la música.
133
+ </p>
134
+ <p class="text-gray-600 italic" data-i18n="blog_mythology_quote">
135
+ "Los mitos son historias que nunca sucedieron pero siempre están sucediendo." - Salustio
136
+ </p>
137
+ </div>
138
+ <div class="rounded-lg overflow-hidden shadow-xl">
139
+ <img src="http://static.photos/education/1200x630/10" alt="Mitología" class="w-full h-full object-cover">
140
  </div>
 
 
 
 
 
 
 
 
 
 
141
  </div>
142
+ </div>
143
 
144
+ <!-- Blog Posts Grid -->
145
+ <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6">
146
+ <!-- Blog Post 1 -->
147
+ <div class="bg-white rounded-xl shadow-lg overflow-hidden hover:shadow-xl transition-all duration-300 group cursor-pointer">
148
+ <div class="relative h-48 overflow-hidden">
149
+ <img src="http://static.photos/education/640x360/1" alt="Blog post image" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-300">
150
+ <div class="absolute top-4 left-4 flex flex-wrap gap-2">
151
+ <span class="bg-amber-700 text-white px-3 py-1 rounded-full text-xs font-medium">Mitología</span>
152
+ </div>
153
+ </div>
154
+ <div class="p-6">
155
+ <div class="flex items-center text-sm text-gray-600 mb-3">
156
+ <i data-feather="calendar" class="w-4 h-4 mr-2"></i>
157
+ <span data-i18n="blog_date1">May 15, 2023</span>
158
+ </div>
159
+ <h3 class="text-xl font-playfair font-bold mb-3 group-hover:text-amber-700 transition-colors" data-i18n="blog_title1">
160
+ Los Orígenes Ardientes de Frases Comunes
161
+ </h3>
162
+ <p class="text-gray-700 mb-4" data-i18n="blog_excerpt1">
163
+ Explorando cómo la terminología de herrería se forjó en el lenguaje cotidiano...
164
+ </p>
165
+ <div class="flex items-center text-amber-700 font-medium group-hover:gap-2 transition-all">
166
+ <span data-i18n="blog_readmore">Leer más</span>
167
+ <i data-feather="arrow-right" class="w-4 h-4 ml-1 group-hover:translate-x-1 transition-transform"></i>
168
+ </div>
169
  </div>
 
 
 
 
 
 
 
 
 
 
170
  </div>
 
171
 
172
+ <!-- Blog Post 2 -->
173
+ <div class="bg-white rounded-xl shadow-lg overflow-hidden hover:shadow-xl transition-all duration-300 group cursor-pointer">
174
+ <div class="relative h-48 overflow-hidden">
175
+ <img src="http://static.photos/technology/640x360/2" alt="Blog post image" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-300">
176
+ <div class="absolute top-4 left-4 flex flex-wrap gap-2">
177
+ <span class="bg-amber-700 text-white px-3 py-1 rounded-full text-xs font-medium">Tecnología</span>
178
+ </div>
179
+ </div>
180
+ <div class="p-6">
181
+ <div class="flex items-center text-sm text-gray-600 mb-3">
182
+ <i data-feather="calendar" class="w-4 h-4 mr-2"></i>
183
+ <span data-i18n="blog_date2">April 28, 2023</span>
184
+ </div>
185
+ <h3 class="text-xl font-playfair font-bold mb-3 group-hover:text-amber-700 transition-colors" data-i18n="blog_title2">
186
+ Cuando las Máquinas Traducen Poesía
187
+ </h3>
188
+ <p class="text-gray-700 mb-4" data-i18n="blog_excerpt2">
189
+ Los desafíos y ocasionales triunfos de la IA en la traducción literaria...
190
+ </p>
191
+ <div class="flex items-center text-amber-700 font-medium group-hover:gap-2 transition-all">
192
+ <span data-i18n="blog_readmore">Leer más</span>
193
+ <i data-feather="arrow-right" class="w-4 h-4 ml-1 group-hover:translate-x-1 transition-transform"></i>
194
+ </div>
195
  </div>
 
 
 
 
 
 
 
 
 
 
196
  </div>
 
 
197
 
198
+ <!-- Blog Post 3 -->
199
+ <div class="bg-white rounded-xl shadow-lg overflow-hidden hover:shadow-xl transition-all duration-300 group cursor-pointer">
200
+ <div class="relative h-48 overflow-hidden">
201
+ <img src="http://static.photos/people/640x360/3" alt="Blog post image" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-300">
202
+ <div class="absolute top-4 left-4 flex flex-wrap gap-2">
203
+ <span class="bg-amber-700 text-white px-3 py-1 rounded-full text-xs font-medium">Cultura</span>
204
+ </div>
205
+ </div>
206
+ <div class="p-6">
207
+ <div class="flex items-center text-sm text-gray-600 mb-3">
208
+ <i data-feather="calendar" class="w-4 h-4 mr-2"></i>
209
+ <span data-i18n="blog_date3">March 10, 2023</span>
210
+ </div>
211
+ <h3 class="text-xl font-playfair font-bold mb-3 group-hover:text-amber-700 transition-colors" data-i18n="blog_title3">
212
+ Perdido en la Traducción: Matices Culturales
213
+ </h3>
214
+ <p class="text-gray-700 mb-4" data-i18n="blog_excerpt3">
215
+ Cómo los modismos y referencias culturales presentan desafíos únicos para los traductores...
216
+ </p>
217
+ <div class="flex items-center text-amber-700 font-medium group-hover:gap-2 transition-all">
218
+ <span data-i18n="blog_readmore">Leer más</span>
219
+ <i data-feather="arrow-right" class="w-4 h-4 ml-1 group-hover:translate-x-1 transition-transform"></i>
220
+ </div>
221
+ </div>
222
+ </div>
223
+ </div>
224
+
225
+ <div class="text-center mt-12">
226
+ <a href="blog.html" class="inline-flex items-center px-8 py-3 bg-amber-700 hover:bg-amber-600 text-white font-medium rounded-lg transition-all duration-300 group">
227
+ <span data-i18n="blog_viewall">Ver todos los artículos</span>
228
+ <i data-feather="arrow-right" class="w-5 h-5 ml-2 group-hover:translate-x-1 transition-transform"></i>
229
+ </a>
230
+ </div>
231
  </div>
232
  </div>
233
  </section>
234
+ <!-- Contact Section -->
 
235
  <section id="contact" class="py-20 bg-gray-900 text-white">
236
  <div class="container mx-auto px-4">
237
  <h2 class="text-3xl md:text-4xl font-playfair font-bold text-center mb-4" data-i18n="contact_title">
script.js CHANGED
@@ -16,18 +16,28 @@ document.addEventListener('DOMContentLoaded', function() {
16
  });
17
  // Blog filter functionality
18
  const blogFilterButtons = document.querySelectorAll('[data-category]');
 
 
19
  blogFilterButtons.forEach(button => {
20
  button.addEventListener('click', function() {
21
  const category = this.getAttribute('data-category');
22
- filterBlogPosts(category);
23
 
24
- // Update active state
25
  blogFilterButtons.forEach(btn => {
26
  btn.classList.remove('bg-amber-700', 'text-white');
27
- btn.classList.add('bg-white', 'text-gray-700', 'hover:bg-gray-50');
28
  });
29
- this.classList.remove('bg-white', 'text-gray-700', 'hover:bg-gray-50');
30
  this.classList.add('bg-amber-700', 'text-white');
 
 
 
 
 
 
 
 
 
31
  });
32
  });
33
  // Form submission handling
 
16
  });
17
  // Blog filter functionality
18
  const blogFilterButtons = document.querySelectorAll('[data-category]');
19
+ const blogCategoryContents = document.querySelectorAll('[data-category-content]');
20
+
21
  blogFilterButtons.forEach(button => {
22
  button.addEventListener('click', function() {
23
  const category = this.getAttribute('data-category');
 
24
 
25
+ // Update button states
26
  blogFilterButtons.forEach(btn => {
27
  btn.classList.remove('bg-amber-700', 'text-white');
28
+ btn.classList.add('bg-white', 'text-gray-700');
29
  });
30
+ this.classList.remove('bg-white', 'text-gray-700');
31
  this.classList.add('bg-amber-700', 'text-white');
32
+
33
+ // Show/hide category contents
34
+ blogCategoryContents.forEach(content => {
35
+ if(content.getAttribute('data-category-content') === category) {
36
+ content.classList.remove('hidden');
37
+ } else {
38
+ content.classList.add('hidden');
39
+ }
40
+ });
41
  });
42
  });
43
  // Form submission handling
scripts/languages.js CHANGED
@@ -16,16 +16,22 @@ const translations = {
16
  'blog_title': 'Desde la Fragua',
17
  'blog_subtitle': 'Reflexiones sobre lenguaje, traducción y el poder de las palabras',
18
  'blog_date': '15 de mayo, 2023',
19
- 'blog_category1': 'Etimología',
 
 
 
 
 
 
 
 
20
  'blog_title1': 'Los Orígenes Ardientes de Frases Comunes',
21
  'blog_excerpt1': 'Explorando cómo la terminología de herrería se forjó en el lenguaje cotidiano...',
22
- 'blog_category2': 'Tecnología',
23
  'blog_title2': 'Cuando las Máquinas Traducen Poesía',
24
  'blog_excerpt2': 'Los desafíos y ocasionales triunfos de la IA en la traducción literaria...',
25
- 'blog_category3': 'Cultura',
26
  'blog_title3': 'Perdido en la Traducción: Matices Culturales',
27
  'blog_excerpt3': 'Cómo los modismos y referencias culturales presentan desafíos únicos para los traductores...',
28
- 'blog_readmore': 'Leer más',
29
  'blog_viewall': 'Ver todos los artículos',
30
  'contact_title': 'Forjemos Algo Juntos',
31
  'contact_subtitle': 'Envíame un mensaje sobre tu proyecto y responderé en 24 horas',
@@ -78,10 +84,15 @@ const translations = {
78
  'blog_title': 'From the Forge',
79
  'blog_subtitle': 'Thoughts on language, translation, and the power of words',
80
  'blog_date': 'May 15, 2023',
81
- 'blog_category_languages': 'Languages',
82
- 'blog_category_reading': 'Reading',
83
- 'blog_category_music': 'Music',
84
- 'blog_category_other': 'Other',
 
 
 
 
 
85
  'blog_title1': 'The Fiery Origins of Common Phrases',
86
  'blog_excerpt1': 'Exploring how blacksmithing terminology forged its way into everyday language...',
87
  'blog_title2': 'When Machines Translate Poetry',
@@ -141,16 +152,22 @@ const translations = {
141
  'blog_title': 'De la Forge',
142
  'blog_subtitle': 'Réflexions sur le langage, la traduction et le pouvoir des mots',
143
  'blog_date': '15 mai 2023',
144
- 'blog_category1': 'Étymologie',
 
 
 
 
 
 
 
 
145
  'blog_title1': 'Les Origines Ardentes des Expressions Courantes',
146
  'blog_excerpt1': 'Exploration de la façon dont la terminologie de la forge s\'est intégrée dans le langage quotidien...',
147
- 'blog_category2': 'Technologie',
148
  'blog_title2': 'Quand les Machines Traduisent la Poésie',
149
  'blog_excerpt2': 'Les défis et les succès occasionnels de l\'IA dans la traduction littéraire...',
150
- 'blog_category3': 'Culture',
151
  'blog_title3': 'Perdu en Traduction: Nuances Culturelles',
152
  'blog_excerpt3': 'Comment les idiomes et les références culturelles présentent des défis uniques pour les traducteurs...',
153
- 'blog_readmore': 'Lire la suite',
154
  'blog_viewall': 'Voir tous les articles',
155
  'contact_title': 'Forgeons Quelque Chose Ensemble',
156
  'contact_subtitle': 'Envoyez-moi un message sur votre projet et je répondrai dans les 24 heures',
 
16
  'blog_title': 'Desde la Fragua',
17
  'blog_subtitle': 'Reflexiones sobre lenguaje, traducción y el poder de las palabras',
18
  'blog_date': '15 de mayo, 2023',
19
+ 'blog_mythology': 'Mitología',
20
+ 'blog_reading': 'Lectura',
21
+ 'blog_music': 'Música',
22
+ 'blog_etymology': 'Etimología',
23
+ 'blog_languages': 'Idiomas',
24
+ 'blog_mythology_title': 'El Poder de los Mitos',
25
+ 'blog_mythology_p1': 'La mitología ha sido mi pasión desde la infancia...',
26
+ 'blog_mythology_p2': 'Cada mito encierra lecciones universales...',
27
+ 'blog_mythology_quote': '"Los mitos son historias que nunca sucedieron pero siempre están sucediendo." - Salustio',
28
  'blog_title1': 'Los Orígenes Ardientes de Frases Comunes',
29
  'blog_excerpt1': 'Explorando cómo la terminología de herrería se forjó en el lenguaje cotidiano...',
 
30
  'blog_title2': 'Cuando las Máquinas Traducen Poesía',
31
  'blog_excerpt2': 'Los desafíos y ocasionales triunfos de la IA en la traducción literaria...',
 
32
  'blog_title3': 'Perdido en la Traducción: Matices Culturales',
33
  'blog_excerpt3': 'Cómo los modismos y referencias culturales presentan desafíos únicos para los traductores...',
34
+ 'blog_readmore': 'Leer más',
35
  'blog_viewall': 'Ver todos los artículos',
36
  'contact_title': 'Forjemos Algo Juntos',
37
  'contact_subtitle': 'Envíame un mensaje sobre tu proyecto y responderé en 24 horas',
 
84
  'blog_title': 'From the Forge',
85
  'blog_subtitle': 'Thoughts on language, translation, and the power of words',
86
  'blog_date': 'May 15, 2023',
87
+ 'blog_mythology': 'Mythology',
88
+ 'blog_reading': 'Reading',
89
+ 'blog_music': 'Music',
90
+ 'blog_etymology': 'Etymology',
91
+ 'blog_languages': 'Languages',
92
+ 'blog_mythology_title': 'The Power of Myths',
93
+ 'blog_mythology_p1': 'Mythology has been my passion since childhood...',
94
+ 'blog_mythology_p2': 'Each myth contains universal lessons about...',
95
+ 'blog_mythology_quote': '"Myths are stories that never happened but are always happening." - Salustius',
96
  'blog_title1': 'The Fiery Origins of Common Phrases',
97
  'blog_excerpt1': 'Exploring how blacksmithing terminology forged its way into everyday language...',
98
  'blog_title2': 'When Machines Translate Poetry',
 
152
  'blog_title': 'De la Forge',
153
  'blog_subtitle': 'Réflexions sur le langage, la traduction et le pouvoir des mots',
154
  'blog_date': '15 mai 2023',
155
+ 'blog_mythology': 'Mythologie',
156
+ 'blog_reading': 'Lecture',
157
+ 'blog_music': 'Musique',
158
+ 'blog_etymology': 'Étymologie',
159
+ 'blog_languages': 'Langues',
160
+ 'blog_mythology_title': 'Le Pouvoir des Mythes',
161
+ 'blog_mythology_p1': 'La mythologie est ma passion depuis l\'enfance...',
162
+ 'blog_mythology_p2': 'Chaque mythe contient des leçons universelles...',
163
+ 'blog_mythology_quote': '"Les mythes sont des histoires qui ne sont jamais arrivées mais qui arrivent toujours." - Saloustios',
164
  'blog_title1': 'Les Origines Ardentes des Expressions Courantes',
165
  'blog_excerpt1': 'Exploration de la façon dont la terminologie de la forge s\'est intégrée dans le langage quotidien...',
 
166
  'blog_title2': 'Quand les Machines Traduisent la Poésie',
167
  'blog_excerpt2': 'Les défis et les succès occasionnels de l\'IA dans la traduction littéraire...',
 
168
  'blog_title3': 'Perdu en Traduction: Nuances Culturelles',
169
  'blog_excerpt3': 'Comment les idiomes et les références culturelles présentent des défis uniques pour les traducteurs...',
170
+ 'blog_readmore': 'Lire la suite',
171
  'blog_viewall': 'Voir tous les articles',
172
  'contact_title': 'Forgeons Quelque Chose Ensemble',
173
  'contact_subtitle': 'Envoyez-moi un message sur votre projet et je répondrai dans les 24 heures',
style.css CHANGED
@@ -82,11 +82,33 @@ body {
82
  .form-input:focus {
83
  box-shadow: 0 0 0 3px rgba(180, 83, 9, 0.3);
84
  }
85
- /* Blog category buttons */
 
 
 
 
 
 
 
 
 
 
86
  [data-category] {
87
  transition: all 0.3s ease;
 
88
  }
89
 
90
  [data-category]:hover:not(.bg-amber-700) {
91
  background-color: #f3f4f6 !important;
 
 
 
 
 
 
 
 
 
 
92
  }
 
 
82
  .form-input:focus {
83
  box-shadow: 0 0 0 3px rgba(180, 83, 9, 0.3);
84
  }
85
+ /* Blog Section */
86
+ #pasiones {
87
+ scroll-margin-top: 100px;
88
+ }
89
+
90
+ /* Blog Cards */
91
+ #pasiones .bg-white:hover {
92
+ transform: translateY(-5px);
93
+ }
94
+
95
+ /* Category Buttons */
96
  [data-category] {
97
  transition: all 0.3s ease;
98
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
99
  }
100
 
101
  [data-category]:hover:not(.bg-amber-700) {
102
  background-color: #f3f4f6 !important;
103
+ box-shadow: 0 4px 6px rgba(0,0,0,0.1);
104
+ }
105
+
106
+ /* Category Content */
107
+ [data-category-content] {
108
+ display: none;
109
+ }
110
+
111
+ [data-category-content="mitologia"] {
112
+ display: block;
113
  }
114
+