Caso você não tenha conhecimentos sobre git, virtualenv, pelican, markdown e outras ferramentas que utilizamos no site, você ainda assim poderá contribuir com publicações em nosso blog da seguinte forma:
- Crie uma conta no GitHub
- Crie uma issue no repositório do projeto contendo em sua descrição o texto da nova publicação e quaisquer outros arquivos em anexo (como fotos).
- Espere que algum membro do projeto revise sua publicação e a inclua no projeto.
Caso você já conheça essas ferramentas (ou queira aprender a usá-las), continue lendo.
Você precisa ter Python 3, git e make instalados em seu sistema. Os comandos abaixo funcionarão em sistemas UNIX-like (GNU/Linux, MAC OS X, FreeBSD etc.) - caso utilize Windows, algumas alterações precisam ser feitas.
- Faça um fork do projeto em sua conta no GitHub.
- Clone o fork em sua máquina:
git clone [email protected]:SEU-USARIO/grupypr.github.io.git
- Crie um virtualenv dentro do repositório do projeto:
cd grupypr.github.io
virtualenv --python=$(which python3) .venv
- Ative o virtualenv:
source .venv/bin/activate
- Instale as dependências do projeto:
pip install -r requirements.txt
- Carregue o repositório do tema:
git submodule init
git submodule update
- Acesse o diretório do projeto:
cd grupypr.github.io
- Ative o virtualenv:
source .venv/bin/activate
- Gere os arquivos estáticos e rode o servidor HTTP do
pelican:
make up
- Acesse localhost:8000 em seu navegador.
- Crie uma branch para as contribuições que deseja fazer:
git checkout -b NOME-DO-BRANCH
- Realize as contruibuições (caso seja uma publicação no blog, veja abaixo os passos). :)
- Adicione os arquivos que você criou/alterou para o commit:
git add arquivo1 arquivo2 ... arquivoN
- Realize o commit para gravar as alterações no histórico do repositório:
git commit -m "Coloque aqui uma mensagem explícita sobre as alterações"
- Envie as alterações para seu repositório remoto:
git push origin NOME-DO-BRANCH
Para criar uma publicação no blog:
- Adicione o arquivo com a publicação em
content/ANO/ANO-MES-DIA-titulo.md
, com o conteúdo em markdown. Utilize como base os arquivos que estão emcontent/2017
; - Adicione fotos em
content/images/
com o nomeANO-MES-DIA-titulo.jpg
e suas respectivas miniaturas (as miniaturas devem conter no máximo 600px de largura) emcontent/images/thumbnail/
.
Dica: caso sejam muitas alterações, divida-as em diversos commits, isso facilitará o trabalho de quem for revisar suas alterações. :)
O repositório oficial do site (upstream) será sempre atualizado com contribuições de diversos membros e, com isso, o repositório de seu fork pode ficar desatualizado. É importante atualizá-lo com as últimas alteraçoes do upstream para que você possa fazer contribuições com base no código mais novo disponível. Siga os seguintes passos para atualizar seu fork:
- Acesse o diretório do projeto:
cd grupypr.github.io
- Adicione um remote que aponte para o repositório de origem:
git remote add upstream https://github.com/GruPyPR/grupypr.github.io.git
- Baixe as alterações do remote upstream:
git fetch upstream
- Acesse a branch src local:
git checkout src
- Faça o merge da branch src do upstream com o seu repositório local:
git rebase upstream/src
- E finalmente, salve as alterações no seu repositório remoto:
git push