Este é o repositório do blog da comunidade Craft & Code Club, uma comunidade dedicada ao artesanato de software, onde compartilhamos conhecimento sobre Algoritmos, Estruturas de Dados, System Design, Engenharia de Software Moderna, Domain-Driven Design, Clean Architecture e outros tópicos avançados de desenvolvimento de software.
O Craft & Code Club é uma comunidade de desenvolvedores apaixonados por qualidade de código e boas práticas de desenvolvimento. Nosso objetivo é compartilhar conhecimento e experiências através de:
- 📝 Artigos técnicos no blog
- 🎥 Conteúdo no YouTube
- 💬 Discussões no Discord
- 🤝 Eventos e encontros
- 📖 Clube do Livro
Linkd para participar no Discord:
https://discord.gg/V7hQJZSDYu
Este blog foi desenvolvido como um template open source, e você está convidado a usá-lo! Se você tem uma comunidade de tecnologia ou quer criar seu blog pessoal, sinta-se à vontade para fazer um fork e adaptar às suas necessidades.
- Faça um fork deste repositório
- Personalize como quiser
- Os posts eventos são escritos em Markdown e ficam na pasta
_content/
- Next.js 15 - Framework React com suporte a SSG
- TypeScript - Tipagem estática
- Tailwind CSS - Estilização e design system
- next-themes - Suporte a tema claro/escuro
- remark - Renderização de Markdown
- gray-matter - Parsing de frontmatter dos posts
# Instalar dependências
npm install
# Executar em modo de desenvolvimento
npm run dev
O site estará disponível em http://localhost:3000
Este blog usa exportação estática do Next.js, permitindo hospedagem em qualquer servidor estático:
# Gerar build estático
npm run build
# Os arquivos estáticos estarão na pasta 'out'
- Crie seus posts em Markdown na pasta
_content/posts/
- Crie seus eventos em Markdown na pasta
_content/events/
- Configure os metadados do site em
src/app/layout.tsx
- Ajuste as cores e tema em
tailwind.config.js
- Personalize os componentes e páginas em
src/components/
esrc/app/
Para a ajudar na indexação e SEO, os posts e eventos devem seguir um formato específico dos slugs. O slug é a parte da URL que identifica o post ou evento. O slug deve ser escrito em letras minúsculas, com palavras separadas por hífens. Para manter a consistência, vamos também seguir um padrão de nomenclatura para os arquivos Markdown. A seguir, mostraremos cada um dos padrões de slug tanto para posts quanto para eventos.
Os posts devem ser criados na pasta _content/posts/
seguindo o formato:
---
title: 'Título do Post'
date: '2024-03-20'
description: 'Descrição do post que aparecerá na listagem'
topics: ['tag1', 'tag2', 'tag3']
authors:
- name: 'Nome do Autor'
link: 'https://github.com/nomedautor'
---
Conteúdo do post em Markdown...
<context>-<titulo-do-post>
## Exemplo:
`dsa-dijkstra.md`
- Algoritmos e Estruturas de Dados
ds-<titulo>.md
- System Design
sd-<titulo>.md
sd-<titulo>-<parte>.md
- Outros
<titulo>.md
Os eventos devem ser criados na pasta _content/events/
seguindo o formato:
---
title: 'Título do Evento'
description: 'Descrição do evento que aparecerá na listagem'
date: '2024-03-20'
time: '21:00-22:00'
location: 'Local do Evento'
type: 'online' # ou 'hybrid'
registrationLink: 'https://link-de-inscricao.com'
recordingLink: 'https://link-da-gravacao.com'
postLink: 'https://link-do-post.com'
speakers:
- 'Nome do Palestrante 1'
- 'Nome do Palestrante 2'
<context>-<titulo-do-evento>
## Exemplo:
`dsa-<titulo>.md`
- Algoritmos e Estruturas de Dados
dsa-<titulo>.md
- Clube do Livro de System Design
book-sd-<titulo>.md
- Lives
live-<titulo>.md
- Outros
<titulo>.md
Contribuições são bem-vindas! Se você encontrou um bug ou tem uma sugestão de melhoria:
- Abra uma issue descrevendo o problema/sugestão
- Fork o repositório
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature
) - Commit suas mudanças (
git commit -m 'Adiciona nova feature'
) - Push para a branch (
git push origin feature/MinhaFeature
) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Desenvolvido com 💙 pela comunidade Craft & Code Club