velxio/frontend/src/utils
David Montero 07a0bfef6e seo: emit trailing-slash canonical + sitemap URLs
Static/docs/example routes are served as <route>/index.html and nginx
301-redirects the slash-less form to add the trailing slash. The sitemap
generator, the prerender canonical/og:url, and the client useSEO canonical
all emitted the slash-LESS form, so every sitemap URL was fetched as a
redirect (filed under 'Page with redirect' in Search Console) and each
canonical pointed at a redirecting URL.

Align all three to the trailing-slash form so sitemap URL == canonical ==
served URL == 200, with no redirect hop.

- generate-sitemap.mjs: append '/' to every <loc> (root stays '/')
- prerender-seo.mjs: withSlash() on canonical + og:url (routes + examples)
- useSEO.ts: withTrailingSlash() on canonical + og:url (covers dynamic
  project pages too)
2026-06-15 06:10:32 +02:00
..
analytics.ts
boardPinMapping.ts feat(boards): add 6 STM32 boards (F4 Discovery, Olimex H405, Netduino 2/+2, Pill variants) 2026-05-31 03:19:26 -03:00
boardProtocols.ts fix(interconnect): classify Arduino Mega UART/I2C function-label pins 2026-06-12 08:29:03 +02:00
captureCanvasPreview.ts
compilationLogger.ts feat(editor): per-target compilation console — a section per board/chip 2026-06-04 07:56:54 +02:00
countryFlag.ts
esp32ImageParser.ts
exampleToBuildNetlistInput.ts feat(sim): Phase 1d #2 + #9 — convergence helpers in Worker + enable LM358 subckt 2026-05-15 22:17:06 +02:00
fatImage.ts feat(microsd): SD-over-SPI card storage for AVR, RP2040 and ESP32 2026-06-11 03:59:53 +02:00
firmwareLoader.ts
generateExamplePreview.tsx
hexParser.ts
importProject.ts feat(import): unify project import — accept .vlx and .zip in both entry points 2026-05-22 20:55:06 +02:00
loadExample.ts feat(library-manifest): per-board manifests + autocomplete 2026-06-07 06:07:48 +02:00
pinPositionCalculator.ts fix(canvas): wires off pins after rotation — wrapper offset was (4,6) instead of (6,6) 2026-05-26 15:16:04 +02:00
projectPayload.ts feat(library-manifest): per-board manifests + autocomplete 2026-06-07 06:07:48 +02:00
reservedUsernames.ts
sdCardFiles.ts feat(microsd): SD-over-SPI card storage for AVR, RP2040 and ESP32 2026-06-11 03:59:53 +02:00
useSEO.ts seo: emit trailing-slash canonical + sitemap URLs 2026-06-15 06:10:32 +02:00
useTouchDevice.ts feat: add touch-friendly components for improved mobile usability 2026-05-08 11:12:26 -03:00
uuid.ts fix(frontend): polyfill crypto.randomUUID for non-secure contexts 2026-05-05 13:41:30 -03:00
vlxFile.ts feat(editor): rename boards & custom chips; show which target owns each file 2026-06-04 06:22:25 +02:00
wireColors.ts
wireHitDetection.ts
wireUtils.ts
wokwiZip.ts