Aqui você encontra o código do template por trás do meu novo site gustavokuze.com
- Rodando o projeto
- Menu Dinâmico
- Portfólio dinâmico
- Estilização
- Gostou do projeto?
- Direito de Cópia e distribuição
-
Instale as dependências com
yarnounpm i -
Execute o projeto com
yarn startounpm run start
NOTA: Caso não queira reconstruir o css do Tailwind toda vez que for iniciar o projeto, execute o script yarn s, que irá apenas iniciar o servidor do React.
Os itens do menu de navegação superior (NavBar) e rodapé (Footer) são definidos de maneira dinâmica no arquivo constants/menu.js.
Esse arquivo de configurações exporta um array de objetos (itens), cada um com as seguintes propriedades:
{
label: 'Mais', // String - Texto que aparecerá no menu
hideInNavbar: false, // Boolean - esconde o item na navbar
hideInFooter: false, // Boolean - esconde o item no rodapé,
items: [ // array de itens - Renderiza um dropdown na Navbar
{
label: 'Anotações',
action: '/tips', // String ou function - rota ou função "onClick"
},
],
},As sessões do portólio são criadas dinamicamente utilizando o componente WorksSection
Esse componente aceitar as seguintes propriedades:
| Propriedade | Tipo | Descrição |
|---|---|---|
| title | string | Título da sessão |
| description | string | Descrição da sessão |
| backgroundClass | string | className aplicado ao container principal |
| invert | boolean | Define se as imagens e informações devem ser intercaladas à cada linha |
| customDivider | React Component | Por padrão, um <hr /> é adicionado ao final de uma sessão. Essa prop lhe permite definir um componente diferente |
| works | array | Array de itens (work) a serem renderizados |
| disclaimer | React Component | Mensagem que irá aparecer ao final da sessão |
Cada work é um objeto com as seguintes propriedades:
{
title: 'Site do Mercadinho da Esquina',
description:
'Uma landing page feita para alavancar o negócio do seu Zé',
img: '/img/projects-previews/imagem_projeto.jpg',
projectLink: 'https://gustavokuze.com', // Endereço de hospedagem do projeto
sourceCodeLink:
'https://github.com/REPO/mercadinho', // Endereço para o repositório do projeto. Caso não seja informado, o botão "Ver código" não é renderizado
year: '2020', // valor mostrado na badge ao lado do título
},- Existem duas formas fáceis de estilizar um componente nesse projeto: Utilizando classes do TailWindCSS, ou utilizando styled-components
- As animações
CSSpuras são definidas no arquivostyles/animations.css - As animações de componentes React são controladas pela biblioteca react-reveal
- Os temas do site são definidos no arquivo
styles/theme.js - Você pode acessar o tema atual através da propriedade
settings.themedo redux - Os temas são salvos em
LocalStorageautomaticamente. Qualquer alteração feita no arquivo de temas exige que oLocalStoragedo seu navegador seja limpo para surtirem efeito - Um tema é dividido em duas partes:
classesecolors. No objetoclassesdevem ser definidas as classes taildwind que serão utilizadas (E.x. "purple-500"), e emcolorsas cores hexadecimais utilizadas porstyled-componentsou estilizações puras. - Atualmente existem dois temas "light" e "dark" (padrão). Mas você pode adicionar mais temas facilmente respeitando as definições do arquivo
styles/theme.js
- Me ajude clicando em
Star⭐ aí em cima 👆 - Compartilhe o projeto no Linkedin
- Me adicione lá também Meu Linkedin 🙋♂️
Você pode utilizar esse código (template) como base em seus projetos pessoais, a fim de criar seu próprio portfólio, contanto que deixe o acesso público ao seu repositório (código aberto) e me dê os devidos créditos. 😉

