phprio / novo-site Goto Github PK
View Code? Open in Web Editor NEWNovo site da comunidade PHPRio
License: GNU Affero General Public License v3.0
Novo site da comunidade PHPRio
License: GNU Affero General Public License v3.0
Descrição:
Um projeto no GitHub, ou em qualquer outro lugar, precisa de uma licença que defina claramente os termos e condições de uso do código-fonte. Isso é essencial para que as pessoas saibam como podem utilizar o projeto, mesmo que o código esteja disponível abertamente.
Definição de Pronto:
Esta issue tem o objetivo de garantir a transparência e a legalidade do uso do código do projeto, tornando-o acessível para outras pessoas interessadas, ao mesmo tempo em que define claramente os direitos e obrigações de acordo com a licença AGPL.
Aparentemente é necessário executar o Jigsaw a partir da raiz do projeto para que o autoload funcione corretamente:
root@f187cebb98bc:/# /var/www/html/vendor/bin/jigsaw
Fatal error: Uncaught Error: Class "TightenCo\Jigsaw\Container" not found in /var/www/html/vendor/tightenco/jigsaw/jigsaw on line 14
Error: Class "TightenCo\Jigsaw\Container" not found in /var/www/html/vendor/tightenco/jigsaw/jigsaw on line 14
Call Stack:
0.0002 475152 1. {main}() /var/www/html/vendor/bin/jigsaw:0
0.0002 481656 2. include('/var/www/html/vendor/tightenco/jigsaw/jigsaw') /var/www/html/vendor/bin/jigsaw:119
root@f187cebb98bc:/# cd /var/www/html
root@f187cebb98bc:/var/www/html# ./vendor/bin/jigsaw
Jigsaw 1.7.1
Usage:
command [options] [arguments]
Options:
-h, --help Display help for the given command. When no command is given display help for the list command
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
build Build your site.
completion Dump the shell completion script
help Display help for a command
init Scaffold a new Jigsaw project.
list List commands
serve Serve local site with php built-in server.
Nossa meta é criar um ambiente de desenvolvimento para a próxima versão do nosso site, permitindo que nossa equipe visualize o progresso enquanto implementamos o novo design. Para isso, vamos utilizar o GitHub Pages, a funcionalidade de hospedagem de sites estáticos do GitHub. Como estamos usando um gerador de site estático (SSG), é essencial compilar os templates e arquivos fonte em HTML a cada commit. Para automatizar esse processo, vamos configurar um fluxo de trabalho do GitHub Actions.
Atualmente o entrypoint não executa o comando composer install
para instalar as dependências do projeto, resultando no seguinte erro ao subir o container:
novo-site-backend-1 | Could not open input file: /var/www/html/vendor/bin/jigsaw
Inspirado nas ótimas imagens do projeto LinuxServer.io, tenho feito essas duas coisas nos meus ambientes de desenvolvimento Docker nos últimos anos:
/app
para ter o código em um caminho simples, direto, que não existe dentro do container e que faz sentido para o desenvolvimento de qualquer tipo de projeto.www-data
que é /var/www
, mas pertence ao usuário root
.Não há nenhuma urgência nessa issue.
O novo site da comunidade será feito utilizando o gerador de sites estáticos Jigsaw.
No momento o repositório está vazio, precisamos iniciar um novo projeto usando o comando init
do gerador.
init
. Note que não usaremos os starter templates oferecidos pela ferramenta.git push
) a branch para o GitHub e abrir um PR (proposta de contribuição)Atualmente temos dois apelidos sendo criados na imagem Docker para simplificar os comandos de desenvolvimento e produção do site:
Lines 23 to 24 in 2f6169d
Porém, esses aliases estão sendo criados no .bashrc
da home do usuário atual no momento do build (usuário root), e o container é executado em outro usuário (www-data
). Por esse motivo, os aliases não estão funcionando.
Para desenvolver o novo projeto de forma consistente e facilitar a colaboração entre os membros da comunidade PHP Rio, é essencial ter um ambiente de desenvolvimento padronizado e isolado. O uso de contêineres Docker permite que todos os desenvolvedores tenham a mesma configuração, reduzindo problemas de compatibilidade e facilitando a escalabilidade do ambiente.
Atualmente o serviço está sendo executado como root, o que causa problemas de permissão para os arquivos criados por comandos executados nele (dependências do Composer e saída do Jigsaw):
$ docker compose exec backend ls -l /var/www/html -- | grep root
drwxr-xr-x 3 root root 4096 Dec 6 17:59 build_local
drwxr-xr-x 24 root root 4096 Dec 6 17:59 vendor
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.