Improve SEO and update svelte and vite deps

This commit is contained in:
Leonardo Murça 2025-03-28 18:07:36 -03:00
parent cfb4a8663e
commit 99c2745ae5
6 changed files with 1456 additions and 482 deletions

View file

@ -5,9 +5,8 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="author" content="Leonardo Murça" />
<meta name="description" content="Free online embroidery viewer.">
<meta name="keywords"
content="Free Emrbroidery Viewer, embroidery design, sewing machine, preview .pes files, preview embroider designs, brother machine.">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
<script defer src="https://umami.leomurca.xyz/script.js" data-website-id="bd4c0533-36e6-402d-ac04-577993aaf43a"></script>
@ -25,12 +24,8 @@
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/manifest.json">
<link rel="canonical" href="https://embroideryviewer.xyz/">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
<title>Embroidery Viewer</title>
</head>
<body>

1895
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -11,7 +11,7 @@
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^2.4.1",
"svelte": "^3.59.1",
"vite": "^4.3.9"
"svelte": "4.2.19",
"vite": "6.2.3"
}
}

View file

@ -1,9 +1,11 @@
<script>
import Head from "./lib/Head.svelte";
import Header from "./lib/Header.svelte";
import FileViewer from "./lib/FileViewer.svelte";
import Footer from "./lib/Footer.svelte";
</script>
<Head/>
<Header />
<main>
<FileViewer />

View file

@ -1,5 +1,10 @@
export default {
en: {
"head.title": "Free Online Embroidery File Viewer Open PES, DST, EXP & More",
"head.description": "View multiple embroidery files online for free! Open PES, DST, EXP, JEF & more without software. Upload and preview multiple files in a card list format. Try now!",
"head.keywords": "free embroidery file viewer, open PES files online, view DST files, embroidery file preview, EXP file viewer, multiple embroidery files",
"head.ogtitle": "Free Online Embroidery File Viewer Open PES, DST & More",
"head.ogdescription": "Upload and preview multiple embroidery files like PES, DST, and EXP online for free. No software needed!",
"main.title": "Upload files",
"main.languageSwitch": "Mudar para Português",
"main.fileSize": "Max file size is <strong>{{fileSize}}kb</strong>.",
@ -15,6 +20,11 @@ export default {
"main.version": "Version: {{version}}"
},
pt: {
"head.title": "Visualizador de arquivos de bordado online gratuito Abra PES, DST, EXP e mais",
"head.description": "Visualize vários arquivos de bordado online gratuitamente! Abra PES, DST, EXP, JEF e mais sem software. Carregue e visualize vários arquivos em um formato de lista de cartões. Experimente agora!",
"head.keywords": "visualizador de arquivos de bordado grátis, abra arquivos PES online, visualize arquivos DST, pré-visualização de arquivos de bordado, visualizador de arquivos EXP, vários arquivos de bordado",
"head.ogtitle": "Visualizador de arquivos de bordado online gratuito Abra PES, DST e mais",
"head.ogdescription": "Carregue e visualize vários arquivos de bordado como PES, DST e EXP online gratuitamente. Não precisa de software!",
"main.title": "Carregar arquivos",
"main.languageSwitch": "Switch to English",
"main.fileSize": "O tamanho máximo do arquivo é <strong>{{fileSize}}kb</strong>.",

16
src/lib/Head.svelte Normal file
View file

@ -0,0 +1,16 @@
<script>
import { t, locale } from "../i18n";
import thumbnail from "../assets/thumbnail.webp";
$: document.documentElement.lang = $locale;
</script>
<svelte:head>
<title>{$t("head.title")}</title>
<meta name="description" content="{$t('head.description')}" />
<meta name="keywords" content="{$t('head.keywords')}">
<meta property="og:title" content="{$t('head.ogtitle')}">
<meta property="og:description" content="{$t('head.ogdescription')}">
<meta property="og:url" content="https://embroideryviewer.xyz/">
<meta property="og:type" content="website">
<meta property="og:image" content="{thumbnail}">
</svelte:head>