feat(cases): mídia no topo, títulos de busca curtos e CreativeWork

Case com mídia ao lado do título e play acessível; problema de cada cliente reescrito com base nos dados; serviços relacionados em 2 cards; FAQ antes do próximo passo e bloco 'Onde já apliquei isso'; Apolo citada em IoT e arquitetura. metaTitle até 43 caracteres e descrições até 155 com teste; JSON-LD CreativeWork; imagens de compartilhamento abaixo de 100 KB; 404 e robots corrigidos; server-only nos módulos com node:.
This commit is contained in:
Evandro Fonseca Junior committed 2026-10-14 14:15:25 -03:00
1 parent c9a0b80656
commit e80f73d075
52 files changed
+2593 -439

No files matched your search

+41
View File
@@ -0,0 +1,41 @@
import { portfolio } from "./portfolio-data";
describe("public/portfolio-data.json", () => {
it("writes the Innovo company name with the correct accents and case", () => {
const innovo = portfolio.experiences.find(
({ id }) => id === "innovo-tecnologia",
);
expect(innovo?.company).toBe("Innovo Tecnologia da Informação Ltda.");
expect(JSON.stringify(portfolio)).not.toMatch(/Informacao|Da Informa/);
});
it("keeps the kind of every project, which separates client work from the laboratory", () => {
expect(
portfolio.projects.map(({ id, kind }) => [id, kind] as const),
).toEqual([
["sev-modaintima", "cliente"],
["lavacao-047", "cliente"],
["nutriscan", "laboratorio"],
["twins-lab", "laboratorio"],
["reddit-explorer", "laboratorio"],
["sc-plus", "cliente"],
["gcc-installer", "laboratorio"],
["as-servicos", "cliente"],
]);
});
it("describes each project in a subtitle a business owner understands", () => {
const subtitles = Object.fromEntries(
portfolio.projects.map(({ id, subtitle }) => [id, subtitle]),
);
expect(subtitles["sc-plus"]).toBe(
"Site institucional com áreas, projetos e contato",
);
expect(subtitles["gcc-installer"]).toBe(
"Instalador do compilador GCC para Windows",
);
expect(Object.values(subtitles).join(" ")).not.toMatch(
/Next\.js|MongoDB|MinGW|Gêmeo Digital|gerada em código/,
);
});
});