Skip to content

Latest commit

 

History

History
86 lines (58 loc) · 1.86 KB

File metadata and controls

86 lines (58 loc) · 1.86 KB

Desenvolvimento do site

Este repositório contém o código-fonte do site oficial da JSConf Brasil (jsconf.com.br): páginas em Docusaurus, conteúdo multilíngue e um Worker (Cloudflare) para formulários e API. Aqui você encontra como rodar o projeto localmente, traduzir textos e validar o build antes de abrir um PR.


Primeiros passos

npm ci
npm start # Inicia o website e o servidor localmente (pt-BR)

Idiomas

npm run start:en # Inglês
npm run start:es # Espanhol

Tip

Use o componente <Image /> ao invés de <img /> para visualizar as imagens corretamente em todos os idiomas durante o desenvolvimento.

  • O componente <Image /> utiliza loading="lazy" e decoding="async" por padrão.

Traduções (i18n)

Use <Text /> para conteúdo JSX e text() para atributos HTML (aria-label, alt, placeholder, etc.):

<h1>
  <Text id='speakers.title' />
</h1>
<Image alt={text({ id: 'location.venue.imgAlt' })} />

<Text /> e text() são abstrações do <Translate /> do Docusaurus:

  • IDs tipados com autocomplete a partir de i18n/pt-BR/code.json
  • Fallback automático do idioma principal (pt-BR) — não é necessário passar children

Para adicionar um novo texto:

  1. Crie a chave em i18n/pt-BR/code.json
  2. Use <Text id='...' /> ou text({ id: '...' }) no componente
  3. Os tipos são inferidos automaticamente usando i18n/pt-BR/code.json como fonte de verdade

Formatação / Linting

npm run lint:fix

Compilação

npm run build # Compila o website e o worker

Testes

npm test # Testes unitários
npm run typecheck # Verificação de tipos TypeScript
npm run lint # Verificação de linting