Skip to content

Commit 1cb71fd

Browse files
author
mcarbonell
committed
Google verification Tag
1 parent a51065b commit 1cb71fd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+754
-394
lines changed

web/es/index.html

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<meta name="keywords"
1111
content="online tools, image converter, json formatter, pdf text extractor, browser based, privacy">
1212
<meta name="author" content="FastTools">
13+
<meta name="google-site-verification" content="WSJXel7QJlceUUBQkZ_0drXA8dNvtKoTgG2qPZStZHs" />
1314
<!-- Open Graph / Facebook -->
1415
<meta property="og:type" content="website">
1516
<meta property="og:url" content="https://fasttools.tools/">
@@ -32,7 +33,7 @@
3233
<meta name="apple-mobile-web-app-title" content="FastTools">
3334
<link rel="apple-touch-icon" href="/icons/icon-192x192.png">
3435
<!-- Hreflang tags for i18n -->
35-
<link rel="alternate" hreflang="en" href="https://fasttools.tools/">
36+
<link rel="alternate" hreflang="en" href="https://fasttools.tools/">
3637
<link rel="alternate" hreflang="es" href="https://fasttools.tools/es/">
3738
<link rel="alternate" hreflang="x-default" href="https://fasttools.tools/">
3839

@@ -41,7 +42,7 @@
4142
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
4243
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;900&display=swap" rel="stylesheet">
4344
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined" rel="stylesheet">
44-
45+
4546
<!-- Styles -->
4647
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
4748
<link rel="stylesheet" href="css/style.css">
@@ -60,18 +61,21 @@
6061
<ul class="navbar-nav ms-auto">
6162
<li class="nav-item"><a class="nav-link" href="#" id="navHome">Inicio</a></li>
6263
<li class="nav-item"><a class="nav-link" href="#tools" id="navTools">Herramientas</a></li>
63-
<li class="nav-item"><div id="languageSelector" class="nav-link p-0"></div></li>
64+
<li class="nav-item">
65+
<div id="languageSelector" class="nav-link p-0"></div>
66+
</li>
6467
</ul>
6568
</div>
6669
</div>
6770
</nav>
6871

6972
<header class="py-5 bg-light border-bottom">
7073
<div class="container">
71-
<h1 class="display-6" id="heroTitle">QuickTools</h1>
74+
<h1 class="display-6" id="heroTitle">FastTools</h1>
7275
<p class="lead" id="heroSubtitle">33 herramientas potentes que funcionan 100% en tu navegador. Sin subidas, sin registro, privacidad completa.</p>
7376
<div class="alert alert-success mt-3">
74-
<strong id="newBadge">🎉 ¡NUEVO!</strong> <span id="aiAnnouncement">Herramientas con IA: Chat, resumir, editar imágenes y más.</span> <a href="#IA" class="alert-link" id="aiLink">Ver herramientas IA →</a>
77+
<strong id="newBadge">🎉 ¡NUEVO!</strong> <span id="aiAnnouncement">AI-powered tools: Chat, summarize, edit
78+
images and more.</span> <a href="#IA" class="alert-link" id="aiLink">Ver herramientas IA →</a>
7579
</div>
7680
</div>
7781
</header>
@@ -437,39 +441,18 @@ <h5 class="card-title">Editar Imagen con IA</h5>
437441
</div>
438442
</main>
439443

440-
<footer>
441-
<div class="container text-center">
442-
<div style="margin-bottom: 1rem;">
443-
<strong style="font-size: 1.25rem; color: var(--primary);">FastTools</strong>
444-
</div>
445-
<div class="small" style="color: var(--text-secondary);">
446-
© 2025 FastTools — <span id="footerTagline">Herramientas en tu navegador</span>
447-
</div>
448-
<div class="small" style="margin-top: 0.5rem;">
449-
<a href="privacy.html" id="footerPrivacy">Política de Privacidad</a>
450-
<a href="mailto:contact@fasttools.tools" id="footerContact">Contacto</a>
451-
</div>
444+
<footer class="bg-light py-4 mt-auto border-top">
445+
<div class="container text-center small">
446+
© FastTools — <span id="footerTagline">Herramientas en tu navegador</span>. <a href="privacy.html"
447+
id="footerPrivacy">Privacy</a><a href="#" id="footerContact">Contacto</a>
452448
</div>
453449
</footer>
454450

455451
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
456452
<script src="/i18n/language-selector.js"></script>
457453
<script src="js/main.js"></script>
458-
<script src="/js/animations.js"></script>
459454
<script src="/js/cookie-consent.js"></script>
460455
<script src="/js/analytics.js"></script>
461-
462-
<!-- Navbar scroll effect -->
463-
<script>
464-
window.addEventListener('scroll', () => {
465-
const navbar = document.querySelector('.navbar');
466-
if (window.scrollY > 50) {
467-
navbar.classList.add('scrolled');
468-
} else {
469-
navbar.classList.remove('scrolled');
470-
}
471-
});
472-
</script>
473456

474457
<!-- Service Worker Registration -->
475458
<script>

web/es/tools/ai/chat-ai.html

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,17 @@
5656

5757
<body>
5858
<div class="container py-4">
59-
<div class="d-flex justify-content-between align-items-center mb-3">
60-
<a href="/index.html" id="backLink">← Back</a>
59+
<div class="d-flex justify-content-between align-items-center mb-4">
60+
<a href="/index.html" class="btn btn-secondary btn-sm" id="backLink">
61+
<span class="material-symbols-outlined" style="font-size: 18px;">arrow_back</span>
62+
Back
63+
</a>
6164
<div id="languageSelector"></div>
6265
</div>
63-
<h1 class="h4 mt-3">Chat con IA</h1>
64-
<p class="text-muted">Conversa con Google Gemini. Usa tu propia API key, 100% privado en tu navegador.</p>
66+
<div class="tool-header">
67+
<h1>Chat con IA</h1>
68+
<p class="text-muted">Conversa con Google Gemini. Usa tu propia API key, 100% privado en tu navegador.</p>
69+
</div>
6570

6671
<div id="apiKeySetup" class="api-key-setup">
6772
<h5>⚙️ Configuración inicial</h5>
@@ -249,6 +254,7 @@ <h5>⚙️ Configuración inicial</h5>
249254
</script>
250255

251256
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
257+
<script src="/js/toast.js"></script>
252258
<script src="/i18n/language-selector.js"></script>
253259
<script src="/js/cookie-consent.js"></script>
254260
<script src="/js/analytics.js"></script>

web/es/tools/ai/chat-pdf.html

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,17 @@
5151

5252
<body>
5353
<div class="container py-4">
54-
<div class="d-flex justify-content-between align-items-center mb-3">
55-
<a href="/index.html" id="backLink">← Back</a>
54+
<div class="d-flex justify-content-between align-items-center mb-4">
55+
<a href="/index.html" class="btn btn-secondary btn-sm" id="backLink">
56+
<span class="material-symbols-outlined" style="font-size: 18px;">arrow_back</span>
57+
Back
58+
</a>
5659
<div id="languageSelector"></div>
5760
</div>
58-
<h1 class="h4 mt-3">Chat con PDF</h1>
59-
<p class="text-muted">Sube un PDF y haz preguntas sobre su contenido con IA. Todo procesado localmente.</p>
61+
<div class="tool-header">
62+
<h1>Chat con PDF</h1>
63+
<p class="text-muted">Sube un PDF y haz preguntas sobre su contenido con IA. Todo procesado localmente.</p>
64+
</div>
6065

6166
<div id="apiKeySetup" class="alert alert-warning">
6267
<p class="mb-2">⚙️ Necesitas configurar tu API key de Google Gemini.</p>
@@ -174,6 +179,7 @@ <h1 class="h4 mt-3">Chat con PDF</h1>
174179
</script>
175180

176181
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
182+
<script src="/js/toast.js"></script>
177183
<script src="/i18n/language-selector.js"></script>
178184
<script src="/js/cookie-consent.js"></script>
179185
<script src="/js/analytics.js"></script>

web/es/tools/ai/edit-image.html

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,17 @@
5151

5252
<body>
5353
<div class="container py-4">
54-
<div class="d-flex justify-content-between align-items-center mb-3">
55-
<a href="/index.html" id="backLink">← Back</a>
54+
<div class="d-flex justify-content-between align-items-center mb-4">
55+
<a href="/index.html" class="btn btn-secondary btn-sm" id="backLink">
56+
<span class="material-symbols-outlined" style="font-size: 18px;">arrow_back</span>
57+
Back
58+
</a>
5659
<div id="languageSelector"></div>
5760
</div>
58-
<h1 class="h4 mt-3">Editar Imagen con IA</h1>
59-
<p class="text-muted">Edita imágenes con instrucciones de texto usando Gemini 2.5 Flash Image (Nano Banana).</p>
61+
<div class="tool-header">
62+
<h1>Editar Imagen con IA</h1>
63+
<p class="text-muted">Edita imágenes con instrucciones de texto usando Gemini 2.5 Flash Image (Nano Banana).</p>
64+
</div>
6065

6166
<div id="apiKeySetup" class="alert alert-warning">
6267
<p class="mb-2">⚙️ Necesitas configurar tu API key de Google Gemini.</p>
@@ -193,6 +198,7 @@ <h1 class="h4 mt-3">Editar Imagen con IA</h1>
193198
</script>
194199

195200
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
201+
<script src="/js/toast.js"></script>
196202
<script src="/i18n/language-selector.js"></script>
197203
<script src="/js/cookie-consent.js"></script>
198204
<script src="/js/analytics.js"></script>

web/es/tools/ai/improve-text.html

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,17 @@
4444

4545
<body>
4646
<div class="container py-4">
47-
<div class="d-flex justify-content-between align-items-center mb-3">
48-
<a href="/index.html" id="backLink">← Back</a>
47+
<div class="d-flex justify-content-between align-items-center mb-4">
48+
<a href="/index.html" class="btn btn-secondary btn-sm" id="backLink">
49+
<span class="material-symbols-outlined" style="font-size: 18px;">arrow_back</span>
50+
Back
51+
</a>
4952
<div id="languageSelector"></div>
5053
</div>
51-
<h1 class="h4 mt-3">Mejorar Texto con IA</h1>
52-
<p class="text-muted">Mejora gramática, estilo y claridad de tus textos con IA. Soporte multiidioma.</p>
54+
<div class="tool-header">
55+
<h1>Mejorar Texto con IA</h1>
56+
<p class="text-muted">Mejora gramática, estilo y claridad de tus textos con IA. Soporte multiidioma.</p>
57+
</div>
5358

5459
<div id="apiKeySetup" class="alert alert-warning">
5560
<p class="mb-2">⚙️ Necesitas configurar tu API key de Google Gemini.</p>
@@ -160,6 +165,7 @@ <h1 class="h4 mt-3">Mejorar Texto con IA</h1>
160165
</script>
161166

162167
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
168+
<script src="/js/toast.js"></script>
163169
<script src="/i18n/language-selector.js"></script>
164170
<script src="/js/cookie-consent.js"></script>
165171
<script src="/js/analytics.js"></script>

web/es/tools/ai/summarize.html

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,17 @@
4444

4545
<body>
4646
<div class="container py-4">
47-
<div class="d-flex justify-content-between align-items-center mb-3">
48-
<a href="/index.html" id="backLink">← Back</a>
47+
<div class="d-flex justify-content-between align-items-center mb-4">
48+
<a href="/index.html" class="btn btn-secondary btn-sm" id="backLink">
49+
<span class="material-symbols-outlined" style="font-size: 18px;">arrow_back</span>
50+
Back
51+
</a>
4952
<div id="languageSelector"></div>
5053
</div>
51-
<h1 class="h4 mt-3">Resumir Texto con IA</h1>
52-
<p class="text-muted">Resume textos largos automáticamente con IA. Varios tipos de resumen disponibles.</p>
54+
<div class="tool-header">
55+
<h1>Resumir Texto con IA</h1>
56+
<p class="text-muted">Resume textos largos automáticamente con IA. Varios tipos de resumen disponibles.</p>
57+
</div>
5358

5459
<div id="apiKeySetup" class="alert alert-warning">
5560
<p class="mb-2">⚙️ Necesitas configurar tu API key de Google Gemini.</p>
@@ -147,6 +152,7 @@ <h1 class="h4 mt-3">Resumir Texto con IA</h1>
147152
</script>
148153

149154
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
155+
<script src="/js/toast.js"></script>
150156
<script src="/i18n/language-selector.js"></script>
151157
<script src="/js/cookie-consent.js"></script>
152158
<script src="/js/analytics.js"></script>

web/es/tools/data/csv-json.html

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,17 @@
4444

4545
<body>
4646
<div class="container py-4">
47-
<div class="d-flex justify-content-between align-items-center mb-3">
48-
<a href="/index.html" id="backLink">← Back</a>
47+
<div class="d-flex justify-content-between align-items-center mb-4">
48+
<a href="/index.html" class="btn btn-secondary btn-sm" id="backLink">
49+
<span class="material-symbols-outlined" style="font-size: 18px;">arrow_back</span>
50+
Back
51+
</a>
4952
<div id="languageSelector"></div>
5053
</div>
51-
<h1 class="h4 mt-3">CSV ↔ JSON</h1>
52-
<p class="text-muted">Convierte CSV a JSON y JSON a CSV en el navegador. Soporta arrastrar y soltar.</p>
54+
<div class="tool-header">
55+
<h1>CSV ↔ JSON</h1>
56+
<p class="text-muted">Convierte CSV a JSON y JSON a CSV en el navegador. Soporta arrastrar y soltar.</p>
57+
</div>
5358

5459
<div id="dropZone" class="drop-zone mb-3">
5560
<input type="file" id="fileInput" accept="text/csv,application/vnd.ms-excel" class="d-none">
@@ -98,6 +103,7 @@ <h1 class="h4 mt-3">CSV ↔ JSON</h1>
98103
<script src="/js/lib/csv-parser.js"></script>
99104
<script src="/js/tools/csv-json.js"></script>
100105
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
106+
<script src="/js/toast.js"></script>
101107
<script src="/i18n/language-selector.js"></script>
102108
<script src="/js/cookie-consent.js"></script>
103109
<script src="/js/analytics.js"></script>

web/es/tools/data/json-formatter.html

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,17 @@
4444

4545
<body>
4646
<div class="container py-4">
47-
<div class="d-flex justify-content-between align-items-center mb-3">
48-
<a href="/index.html" id="backLink">← Back</a>
47+
<div class="d-flex justify-content-between align-items-center mb-4">
48+
<a href="/index.html" class="btn btn-secondary btn-sm" id="backLink">
49+
<span class="material-symbols-outlined" style="font-size: 18px;">arrow_back</span>
50+
Back
51+
</a>
4952
<div id="languageSelector"></div>
5053
</div>
51-
<h1 class="h4 mt-3">Formatear JSON</h1>
52-
<p class="text-muted">Formatea, valida y minifica JSON al instante.</p>
54+
<div class="tool-header">
55+
<h1>Formatear JSON</h1>
56+
<p class="text-muted">Formatea, valida y minifica JSON al instante.</p>
57+
</div>
5358

5459
<div class="position-relative">
5560
<textarea id="jsonInput" rows="12" class="form-control mb-2" placeholder='{"key": "value"}'></textarea>
@@ -78,6 +83,7 @@ <h1 class="h4 mt-3">Formatear JSON</h1>
7883
</script>
7984
<script src="/js/tools/json-formatter.js"></script>
8085
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
86+
<script src="/js/toast.js"></script>
8187
<script src="/i18n/language-selector.js"></script>
8288
<script src="/js/cookie-consent.js"></script>
8389
<script src="/js/analytics.js"></script>

web/es/tools/data/toml-json.html

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,17 @@
4444

4545
<body>
4646
<div class="container py-4">
47-
<div class="d-flex justify-content-between align-items-center mb-3">
48-
<a href="/index.html" id="backLink">← Back</a>
47+
<div class="d-flex justify-content-between align-items-center mb-4">
48+
<a href="/index.html" class="btn btn-secondary btn-sm" id="backLink">
49+
<span class="material-symbols-outlined" style="font-size: 18px;">arrow_back</span>
50+
Back
51+
</a>
4952
<div id="languageSelector"></div>
5053
</div>
51-
<h1 class="h4 mt-3">TOML ↔ JSON</h1>
52-
<p class="text-muted">Convierte TOML a JSON y JSON a TOML en el navegador.</p>
54+
<div class="tool-header">
55+
<h1>TOML ↔ JSON</h1>
56+
<p class="text-muted">Convierte TOML a JSON y JSON a TOML en el navegador.</p>
57+
</div>
5358

5459
<div class="mb-3">
5560
<label for="inputText" class="form-label">Entrada (TOML o JSON)</label>
@@ -80,6 +85,7 @@ <h1 class="h4 mt-3">TOML ↔ JSON</h1>
8085
<script src="/js/vendor/toml-lib.js"></script>
8186
<script src="/js/tools/toml-json.js"></script>
8287
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
88+
<script src="/js/toast.js"></script>
8389
<script src="/i18n/language-selector.js"></script>
8490
<script src="/js/cookie-consent.js"></script>
8591
<script src="/js/analytics.js"></script>

web/es/tools/data/xml-json.html

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,17 @@
4444

4545
<body>
4646
<div class="container py-4">
47-
<div class="d-flex justify-content-between align-items-center mb-3">
48-
<a href="/index.html" id="backLink">← Back</a>
47+
<div class="d-flex justify-content-between align-items-center mb-4">
48+
<a href="/index.html" class="btn btn-secondary btn-sm" id="backLink">
49+
<span class="material-symbols-outlined" style="font-size: 18px;">arrow_back</span>
50+
Back
51+
</a>
4952
<div id="languageSelector"></div>
5053
</div>
51-
<h1 class="h4 mt-3">XML ↔ JSON</h1>
52-
<p class="text-muted">Convierte XML a JSON y JSON a XML en el navegador.</p>
54+
<div class="tool-header">
55+
<h1>XML ↔ JSON</h1>
56+
<p class="text-muted">Convierte XML a JSON y JSON a XML en el navegador.</p>
57+
</div>
5358

5459
<div class="mb-3">
5560
<label for="inputText" class="form-label">Entrada (XML o JSON)</label>
@@ -83,6 +88,7 @@ <h1 class="h4 mt-3">XML ↔ JSON</h1>
8388
<script src="https://cdn.jsdelivr.net/npm/fast-xml-parser@4.3.0/dist/fast-xml-parser.min.js"></script>
8489
<script src="/js/tools/xml-json.js"></script>
8590
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
91+
<script src="/js/toast.js"></script>
8692
<script src="/i18n/language-selector.js"></script>
8793
<script src="/js/cookie-consent.js"></script>
8894
<script src="/js/analytics.js"></script>

0 commit comments

Comments
 (0)