1. Como contribuir na construção deste site

Este site é estático. Isso significa que ele não é gerado dinamicamente por um servidor e é previamente construído com o uso de algumas ferramentas. No caso, essas ferramentas são o Awestruct e Asciidoctor. Elas dependem de um ambiente Ruby para serem executadas. Após construído, ele é hospedado gratuitamente no GitHub Pages.

Esta página explica como você pode montar, rapidamente, um ambiente preparado para editar este site, adicionando, removendo ou alterando conteúdo.

1.1. Faça um fork do repositório

Para contribuir na construção deste site, você deve possuir uma conta no GitHub. Em seguida, deve criar um fork do repositório sislegis-site para essa tua conta. Para saber o que estamos priorizando no desenvolvimento, verifique as issues abertas. É claro que você também pode sugerir mudanças fazendo pull requests mesmo para issues ainda não existentes! ;)

1.2. Baixe uma imagem Docker

A forma mais fácil e rápida de você preparar teu ambiente para fazer a construção deste site, é utilizar o Docker. Com ele você buscará uma imagem que contém todas as ferramentas necessárias, já pré-instaladas e prontas para a execução.

Após instalar o Docker, crie um contêiner:

docker run -it -p 4242:4242 paulojeronimo/judcon-2014-brazil /bin/bash

Em alguns sistemas, como no Fedora, o docker deve ser executado como root. Então, se você tiver experimentado um erro na execução do comando acima, tente executá-lo novamente com o seguinte comando: sudo !!.

Se desejar saber detalhes sobre como a imagem paulojeronimo/judcon-2014-brazil foi criada, leia o tutorial de Docker do Paulo Jerônimo.

1.3. Configure o contêiner

O contêiner que você criou com o comando acima já possui quase tudo o que é necessário. Mas, ainda não tem o código do teu fork deste site e também não tem as configurações do teu usuário no GitHub para fazer commits de tuas alterações. Então, execute o script a seguir que ele fará as configurações necessárias para deixar teu contêiner preparado para construir este site:

bash <(curl -L http://pensandoodireito.github.io/sislegis-site/configurar-conteiner.sh)

1.4. Edite o site e teste-o localmente

Logue-se com o teu usuário (su - $GHUSER) e vá para o diretório sislegis-site.

Teste a edição local do site criando um arquivo teste.adoc:

cat > teste.adoc <<EOF
= Teste
:page-layout: base

Essa é uma página de teste

// vim: set syntax=asciidoc:
EOF

Execute o comando rake e acesse a URL http://localhost:4242/teste.html. Se tudo der certo, parabéns, você acaba de criar uma nova página local para o sislegis-site. Agora, você precisa fazer a adição dessa página ao teu fork e, logo após, um commit.

git add teste.adoc
git commit -m 'testando uma contribuição'

O script configurar-conteiner.sh já prepara para você o remoto upstream apontando para o repositório original sislegis-site. Você pode executar a instrução a seguir para verificar isso:

git remote -v

Como uma boa prática, sempre, antes de fazer um push e um pull request, faça um fetch e um merge das mudanças de upstream para o teu fork executando as instruções a seguir:

git fetch upstream
git merge upstream/master

Assim as alterações de outras pessoas na branch master desse projeto serão atualizadas na branch master do teu fork.

Se tuas alterações foram realizadas diretamente na branch master do teu fork (uma possibilidade) e não ocorreram conflitos no merge você pode, agora, fazer um push.

git push

Finalmente, faça um pull request, através da interface administrativa do GitHub, para que os administradores do projeto avaliem se o teu commit é útil e pode ser mesclado ao projeto!

2. Como este site é gerado?

Este site é construído colaborativamente pelos seus desenvolvedores. Sua geração é feita automaticamente, após cada merge de um pull request no repositório GitHub do projeto, pelo uso da ferramenta de integração contínua Travis CI. Quando o site é gerado através dessa ferramenta o estado de sua construção é apresentado na página http://travis-ci.org/pensandoodireito/sislegis-site/builds.