Este é um projeto de blog desenvolvido com Next.js e Sanity, com suporte a múltiplos idiomas, projetado para ser uma base sólida para projetos futuros.
- Next.js 15: Framework React para renderização no lado do servidor e geração de sites estáticos.
- Sanity v4: CMS headless para gerenciamento de conteúdo.
- Suporte a Múltiplos Idiomas: Com
next-intl. - Sistema de Comentários com Disqus: Integração com Disqus para gerenciamento de comentários.
- Modo Rascunho (Draft Mode): Visualize o conteúdo antes de publicar.
- Tailwind CSS: Para estilização.
- TypeScript: Para um código mais robusto e seguro.
- Zustand: Para gerenciamento de estado.
- ESLint e Prettier: Para manter a qualidade e a consistência do código.
Siga as instruções abaixo para configurar e executar o projeto em seu ambiente local.
-
Clone o repositório:
git clone https://github.com/LordGhapa/blog-with-nextjs.git cd blog-with-nextjs -
Instale as dependências:
pnpm install
-
Configure as variáveis de ambiente:
Crie um arquivo
.envna raiz do projeto, copiando o exemplo de.env.example:cp .env.example .env
Em seguida, preencha as variáveis de ambiente no arquivo
.envcom suas credenciais do Sanity:NEXT_PUBLIC_SANITY_PROJECT_ID=... NEXT_PUBLIC_SANITY_DATASET=... SANITY_API_TOKEN=... SANITY_API_TOKEN_READ=... NEXT_PUBLIC_BASE_URL="http://localhost:3000/" NEXT_PUBLIC_DISQUS=...
Para iniciar o servidor de desenvolvimento, execute:
pnpm devAbra http://localhost:3000 em seu navegador para ver o resultado.
Para acessar o Sanity Studio, navegue para http://localhost:3000/studio.
O sistema de comentários é gerenciado pelo Disqus. Para que os comentários funcionem corretamente, você precisa configurar sua conta no Disqus e adicionar o shortname do seu site no componente DisqusComments.
O componente está localizado em: src/components/DisqusComments.tsx
pnpm dev: Inicia o servidor de desenvolvimento do Next.js.pnpm devt: Inicia o servidor de desenvolvimento do Next.js com Turbopack.pnpm build: Compila o projeto para produção.pnpm start: Inicia o servidor de produção.pnpm lint: Executa o linter para verificar a qualidade do código.pnpm type: Extrai o esquema do Sanity e gera os tipos TypeScript.pnpm commit: Inicia o processo de commit com Commitizen.pnpm prettier: Formata o código com o Prettier.
Para fazer o deploy do seu aplicativo Next.js, a maneira mais fácil é usar a Plataforma Vercel dos criadores do Next.js.
Confira a documentação de deploy do Next.js para mais detalhes.