Skip to content

Commit cb5e3ca

Browse files
author
mcarbonell
committed
refactor: Eliminar prefijo tools/ de slugs y sincronizar con extensión
1 parent 8b38c62 commit cb5e3ca

File tree

8 files changed

+527
-394
lines changed

8 files changed

+527
-394
lines changed

extension/data/tools-index-unified.json

Lines changed: 166 additions & 33 deletions
Large diffs are not rendered by default.

generate-site.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ async function generateIndex(toolsIndex, lang) {
180180
items.forEach(item => {
181181
const cardClass = cat === 'IA' ? 'card h-100 border-primary' : 'card h-100';
182182
// For non-default languages, use relative path from /es/ directory
183-
const toolUrl = item.slug.replace('tools/', '');
183+
const toolUrl = item.slug;
184184
toolsGridHtml += `
185185
<div class="col-md-6 col-lg-4">
186186
<div class="${cardClass}">
@@ -315,7 +315,7 @@ async function generateTools(toolsIndex, lang) {
315315
];
316316

317317
for (const tool of toolsIndex) {
318-
const toolSlug = tool.slug.replace('tools/', '');
318+
const toolSlug = tool.slug;
319319
const toolFileName = tool.id;
320320

321321
const headPath = path.join(toolsContentDir, `${toolFileName}-head.html`);

scripts/generate-category-pages.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ async function generateCategoryPages() {
8383
title: tool.title[lang] || tool.title.en,
8484
description: tool.description[lang] || tool.description.en,
8585
icon: tool.icon,
86-
slug: tool.slug.replace('tools/', '')
86+
slug: tool.slug
8787
}));
8888

8989
let toolsGrid = '';

web/data/tools-index-unified.json

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@
121121
"tools": [
122122
{
123123
"id": "image-resizer",
124-
"slug": "tools/image-resizer.html",
124+
"slug": "image-resizer.html",
125125
"title": {
126126
"es": "Redimensionar imagen",
127127
"en": "Resize Image"
@@ -136,7 +136,7 @@
136136
},
137137
{
138138
"id": "convert-image",
139-
"slug": "tools/convert-image.html",
139+
"slug": "convert-image.html",
140140
"title": {
141141
"es": "Convertir formato de imagen",
142142
"en": "Convert Image Format"
@@ -151,7 +151,7 @@
151151
},
152152
{
153153
"id": "json-formatter",
154-
"slug": "tools/json-formatter.html",
154+
"slug": "json-formatter.html",
155155
"title": {
156156
"es": "Formatear JSON",
157157
"en": "Format JSON"
@@ -166,7 +166,7 @@
166166
},
167167
{
168168
"id": "csv-json",
169-
"slug": "tools/csv-json.html",
169+
"slug": "csv-json.html",
170170
"title": {
171171
"es": "CSV ↔ JSON",
172172
"en": "CSV ↔ JSON"
@@ -181,7 +181,7 @@
181181
},
182182
{
183183
"id": "pdf-to-text",
184-
"slug": "tools/pdf-to-text.html",
184+
"slug": "pdf-to-text.html",
185185
"title": {
186186
"es": "Extraer texto de PDF",
187187
"en": "Extract Text from PDF"
@@ -196,7 +196,7 @@
196196
},
197197
{
198198
"id": "merge-pdfs",
199-
"slug": "tools/merge-pdfs.html",
199+
"slug": "merge-pdfs.html",
200200
"title": {
201201
"es": "Unir PDFs",
202202
"en": "Merge PDFs"
@@ -211,7 +211,7 @@
211211
},
212212
{
213213
"id": "split-pdf",
214-
"slug": "tools/split-pdf.html",
214+
"slug": "split-pdf.html",
215215
"title": {
216216
"es": "Dividir PDF",
217217
"en": "Split PDF"
@@ -226,7 +226,7 @@
226226
},
227227
{
228228
"id": "compress-pdf",
229-
"slug": "tools/compress-pdf.html",
229+
"slug": "compress-pdf.html",
230230
"title": {
231231
"es": "Comprimir PDF",
232232
"en": "Compress PDF"
@@ -241,7 +241,7 @@
241241
},
242242
{
243243
"id": "pdf-to-image",
244-
"slug": "tools/pdf-to-image.html",
244+
"slug": "pdf-to-image.html",
245245
"title": {
246246
"es": "PDF a Imagen",
247247
"en": "PDF to Image"
@@ -256,7 +256,7 @@
256256
},
257257
{
258258
"id": "image-to-pdf",
259-
"slug": "tools/image-to-pdf.html",
259+
"slug": "image-to-pdf.html",
260260
"title": {
261261
"es": "Imagen a PDF",
262262
"en": "Image to PDF"
@@ -271,7 +271,7 @@
271271
},
272272
{
273273
"id": "color-palette-generator",
274-
"slug": "tools/color-palette-generator.html",
274+
"slug": "color-palette-generator.html",
275275
"title": {
276276
"es": "Generador de Paleta de Colores",
277277
"en": "Color Palette Generator"
@@ -286,7 +286,7 @@
286286
},
287287
{
288288
"id": "exif-viewer-cleaner",
289-
"slug": "tools/exif-viewer-cleaner.html",
289+
"slug": "exif-viewer-cleaner.html",
290290
"title": {
291291
"es": "Visor y Limpiador EXIF",
292292
"en": "EXIF Viewer & Cleaner"
@@ -301,7 +301,7 @@
301301
},
302302
{
303303
"id": "lorem-ipsum-generator",
304-
"slug": "tools/lorem-ipsum-generator.html",
304+
"slug": "lorem-ipsum-generator.html",
305305
"title": {
306306
"es": "Generador de Lorem Ipsum",
307307
"en": "Lorem Ipsum Generator"
@@ -316,7 +316,7 @@
316316
},
317317
{
318318
"id": "image-cropper",
319-
"slug": "tools/image-cropper.html",
319+
"slug": "image-cropper.html",
320320
"title": {
321321
"es": "Recortar Imagen",
322322
"en": "Crop Image"
@@ -331,7 +331,7 @@
331331
},
332332
{
333333
"id": "text-cleaner",
334-
"slug": "tools/text-cleaner.html",
334+
"slug": "text-cleaner.html",
335335
"title": {
336336
"es": "Limpiar texto",
337337
"en": "Clean Text"
@@ -346,7 +346,7 @@
346346
},
347347
{
348348
"id": "url-encoder",
349-
"slug": "tools/url-encoder.html",
349+
"slug": "url-encoder.html",
350350
"title": {
351351
"es": "Codificar/Decodificar URL",
352352
"en": "Encode/Decode URL"
@@ -361,7 +361,7 @@
361361
},
362362
{
363363
"id": "base64",
364-
"slug": "tools/base64.html",
364+
"slug": "base64.html",
365365
"title": {
366366
"es": "Codificar/Decodificar Base64",
367367
"en": "Encode/Decode Base64"
@@ -376,7 +376,7 @@
376376
},
377377
{
378378
"id": "html-encoder",
379-
"slug": "tools/html-encoder.html",
379+
"slug": "html-encoder.html",
380380
"title": {
381381
"es": "Codificar/Decodificar HTML",
382382
"en": "Encode/Decode HTML"
@@ -391,7 +391,7 @@
391391
},
392392
{
393393
"id": "diff",
394-
"slug": "tools/diff.html",
394+
"slug": "diff.html",
395395
"title": {
396396
"es": "Comparar Textos",
397397
"en": "Compare Texts"
@@ -406,7 +406,7 @@
406406
},
407407
{
408408
"id": "yaml-json",
409-
"slug": "tools/yaml-json.html",
409+
"slug": "yaml-json.html",
410410
"title": {
411411
"es": "YAML ↔ JSON",
412412
"en": "YAML ↔ JSON"
@@ -421,7 +421,7 @@
421421
},
422422
{
423423
"id": "xml-json",
424-
"slug": "tools/xml-json.html",
424+
"slug": "xml-json.html",
425425
"title": {
426426
"es": "XML ↔ JSON",
427427
"en": "XML ↔ JSON"
@@ -436,7 +436,7 @@
436436
},
437437
{
438438
"id": "toml-json",
439-
"slug": "tools/toml-json.html",
439+
"slug": "toml-json.html",
440440
"title": {
441441
"es": "TOML ↔ JSON",
442442
"en": "TOML ↔ JSON"
@@ -451,7 +451,7 @@
451451
},
452452
{
453453
"id": "qr-generator",
454-
"slug": "tools/qr-generator.html",
454+
"slug": "qr-generator.html",
455455
"title": {
456456
"es": "Generador de QR",
457457
"en": "QR Generator"
@@ -466,7 +466,7 @@
466466
},
467467
{
468468
"id": "password-generator",
469-
"slug": "tools/password-generator.html",
469+
"slug": "password-generator.html",
470470
"title": {
471471
"es": "Generador de contraseñas",
472472
"en": "Password Generator"
@@ -481,7 +481,7 @@
481481
},
482482
{
483483
"id": "hash-calculator",
484-
"slug": "tools/hash-calculator.html",
484+
"slug": "hash-calculator.html",
485485
"title": {
486486
"es": "Calculadora de Hashes",
487487
"en": "Hash Calculator"
@@ -496,7 +496,7 @@
496496
},
497497
{
498498
"id": "image-compressor",
499-
"slug": "tools/image-compressor.html",
499+
"slug": "image-compressor.html",
500500
"title": {
501501
"es": "Comprimir Imagen",
502502
"en": "Compress Image"
@@ -511,7 +511,7 @@
511511
},
512512
{
513513
"id": "color-picker-converter",
514-
"slug": "tools/color-picker-converter.html",
514+
"slug": "color-picker-converter.html",
515515
"title": {
516516
"es": "Selector y Conversor de Color",
517517
"en": "Color Picker & Converter"
@@ -526,7 +526,7 @@
526526
},
527527
{
528528
"id": "stopwatch-timer",
529-
"slug": "tools/stopwatch-timer.html",
529+
"slug": "stopwatch-timer.html",
530530
"title": {
531531
"es": "Cronómetro y Temporizador",
532532
"en": "Stopwatch & Timer"
@@ -541,7 +541,7 @@
541541
},
542542
{
543543
"id": "chat-ai",
544-
"slug": "tools/chat-ai.html",
544+
"slug": "chat-ai.html",
545545
"title": {
546546
"es": "Chat con IA",
547547
"en": "AI Chat"
@@ -556,7 +556,7 @@
556556
},
557557
{
558558
"id": "summarize-text-ai",
559-
"slug": "tools/summarize-text-ai.html",
559+
"slug": "summarize-text-ai.html",
560560
"title": {
561561
"es": "Resumir Texto con IA",
562562
"en": "Summarize Text with AI"
@@ -571,7 +571,7 @@
571571
},
572572
{
573573
"id": "improve-text-ai",
574-
"slug": "tools/improve-text-ai.html",
574+
"slug": "improve-text-ai.html",
575575
"title": {
576576
"es": "Mejorar Texto con IA",
577577
"en": "Improve Text with AI"
@@ -586,7 +586,7 @@
586586
},
587587
{
588588
"id": "chat-pdf",
589-
"slug": "tools/chat-pdf.html",
589+
"slug": "chat-pdf.html",
590590
"title": {
591591
"es": "Chat con PDF",
592592
"en": "Chat with PDF"
@@ -601,7 +601,7 @@
601601
},
602602
{
603603
"id": "edit-image-ai",
604-
"slug": "tools/edit-image-ai.html",
604+
"slug": "edit-image-ai.html",
605605
"title": {
606606
"es": "Editar Imagen con IA",
607607
"en": "Edit Image with AI"
@@ -616,7 +616,7 @@
616616
},
617617
{
618618
"id": "meta-tags-analyzer",
619-
"slug": "tools/meta-tags-analyzer.html",
619+
"slug": "meta-tags-analyzer.html",
620620
"title": {
621621
"es": "Analizador de Meta Tags",
622622
"en": "Meta Tags Analyzer"
@@ -631,7 +631,7 @@
631631
},
632632
{
633633
"id": "heading-structure-checker",
634-
"slug": "tools/heading-structure-checker.html",
634+
"slug": "heading-structure-checker.html",
635635
"title": {
636636
"es": "Verificador de Estructura de Encabezados",
637637
"en": "Heading Structure Checker"
@@ -646,7 +646,7 @@
646646
},
647647
{
648648
"id": "robots-txt-validator",
649-
"slug": "tools/robots-txt-validator.html",
649+
"slug": "robots-txt-validator.html",
650650
"title": {
651651
"es": "Validador de Robots.txt",
652652
"en": "Robots.txt Validator"
@@ -661,7 +661,7 @@
661661
},
662662
{
663663
"id": "sitemap-validator",
664-
"slug": "tools/sitemap-validator.html",
664+
"slug": "sitemap-validator.html",
665665
"title": {
666666
"es": "Validador de Sitemap XML",
667667
"en": "XML Sitemap Validator"
@@ -676,7 +676,7 @@
676676
},
677677
{
678678
"id": "broken-links-checker",
679-
"slug": "tools/broken-links-checker.html",
679+
"slug": "broken-links-checker.html",
680680
"title": {
681681
"es": "Detector de Enlaces Rotos",
682682
"en": "Broken Links Checker"
@@ -691,7 +691,7 @@
691691
},
692692
{
693693
"id": "open-graph-preview",
694-
"slug": "tools/open-graph-preview.html",
694+
"slug": "open-graph-preview.html",
695695
"title": {
696696
"es": "Vista Previa Open Graph",
697697
"en": "Open Graph Preview"
@@ -706,7 +706,7 @@
706706
},
707707
{
708708
"id": "schema-validator",
709-
"slug": "tools/schema-validator.html",
709+
"slug": "schema-validator.html",
710710
"title": {
711711
"es": "Validador de Schema.org",
712712
"en": "Schema.org Validator"
@@ -721,7 +721,7 @@
721721
},
722722
{
723723
"id": "seo-score-calculator",
724-
"slug": "tools/seo-score-calculator.html",
724+
"slug": "seo-score-calculator.html",
725725
"title": {
726726
"es": "Calculadora de Puntuación SEO",
727727
"en": "SEO Score Calculator"

0 commit comments

Comments
 (0)