Este projeto contém o código -fonte do site yiiframework.com.
Se você deseja contribuir, entre em contato conosco usando o rastreador de problemas.
Instale o Docker e o Docker Compose.
docker-compose build
docker-compose up
O site estará disponível em http: // localhost: 81.
Você pode usar o script run_pageres.sh na raiz do diretório de origem para gerar capturas de tela.
Ajuste os arquivos de configuração local, se necessário:
config/console-local.php .config/params-local.php .config/web-local.php . Gere um token github pessoal (na seção Configurações do perfil do GitHub). Cole-o em um arquivo no diretório data (@app/dados) chamado github.token (uma linha, sem quebra de linha).
Continue com os seguintes comandos:
# run migrations
./yii migrate
# fill RBAC
./yii rbac/up
# build contributors page (this may take some time as it downloads a lot of user avatars from github)
./yii contributors/generate
# If you're on Windows you have to manually symlink or copy
# %appdata%/npm/node_modules/browser-sync to your app's node_modules
# The next step is for building the API documentation and the Guide files.
# It is optional for the site to be working but you will have no API docs and Guide.
# This step includes cloning the Yii 1 and Yii 2 repositories and a lot of computation,
# so you might want to skip it on the first install.
#
# This also requires an instance of elasticsearch to be configured and running
# (if you do not have it, it will still run, but the site search will not work).
# It also assumes you have pdflatex installed for building PDF guide docs.
#
# You may also build only parts of the docs, run make help for the available commands.
make docs
# If you are using Docker image, you need to additionally pass VENDOR_DIR:
make docs VENDOR_DIR= $VENDOR_DIR
# Yii 1.0 API docs generation. They are already included in VCS. Run this only if layout has changed.
docker build -f Dockerfile.yii-1.0 -t yiiframeworkcom-yii-1.0 .
docker run -it -v $PWD /data/api-1.0:/code/data/api-1.0 yiiframeworkcom-yii-1.0
# populate the search index by running
./yii search/rebuild
/code/vendor/bin/apidoc guide data/yii-2.0/docs/guide-ru data/docs-offline/yii-docs-2.0-ru --interactive=0
./yii guide " 2.0 " --interactive=0Para importar dados do site antigo, são necessárias as seguintes etapas:
./yii import comando./yii badge/rebuild./yii user/ranking .Se você não tiver esses dados, pode trabalhar com conteúdo fictício:
./yii fake-data . Você pode executá -lo várias vezes para gerar mais dados../yii badge/rebuild ../yii user/ranking . Para atribuir aos usuários Permissões extras, use ./yii rbac/assign .
Os seguintes comandos precisam ser configurados para executar regularmente:
| comando | intervalo | Propósito |
|---|---|---|
| yii sitemap/gere | diário | Regenerar sitemap.xml |
| YII Colaboradores/Gere | semanalmente | Atualizar lista os colaboradores na página da equipe |
| Yii emblema/atualização | a cada hora | Atualize crachás para usuários em badge_queue |
| yii cron/packagist de atualização | a cada hora | Atualizar dados de extensão Packagist |
| Yii Usuário/classificação | diário | Atualize a classificação do usuário |
| Yii Github-Progresso | a cada hora | Atualizar dados de progresso do github |
Além disso, queue/listen deve ser executada como daemon ou queue/run como um cronjob.
Esta seção abrange notas para implantação em um servidor, você pode não precisar disso para o seu Dev Env. Supõe -se que o sistema operacional seja o Debian "Bullseye".
apt-get install texlive-full python3-pygments git nodejs makeA lista dos colaboradores e as miniaturas do Avatar são geradas por um comando do console:
./yii contributors/generate Ele se conectará ao GitHub através da API e buscará uma lista de colaboradores, gerará data/contributors.json e imagens de miniatura dos avatares do usuário em data/avatars e, finalmente, invocaram Gulp para gerar uma imagem sprite e um código SASS.
Seria uma boa ideia criar um trabalho de cron para executar isso de vez em quando - talvez uma vez por mês.
commands/ contains console commands (controllers)
config/ contains application configurations
controllers/ contains Web controller classes
data/ contains important data generated by different commands
env/ contains environment-dependent files
assets/
src/
fonts/ contains fonts
scss/ contains Sass source files
js/ contains JS source files
mail/ contains view files for e-mails
models/ contains model classes
node_modules/ contains installed NPM packages
runtime/ contains files generated during runtime
scripts/ contains shell scripts
vendor/ contains dependent 3rd-party packages
views/ contains view files for the Web application
web/ contains the entry script and Web resources
gulp para assistir à exibição, alterações de arquivos SASS e JS e crie automaticamente os arquivos CSS/JS de destino. Este comando também iniciará uma janela do navegador que está conectada ao BrowSerSync.gulp build para reconstruir manualmente os arquivos CSS/JS dos arquivos SASS/JS de origem.gulp watchproduction : gulp build --production ou Run npm run buildassets/src/scss e listados em assets/src/scss/all.scss .GuideController possui um arquivo SASS chamado _guide.scss .all.scss . O SASS ignorará os arquivos começando com um sublinhado para que apenas um arquivo CSS seja produzido (All.css).all.scss .assets/src/js e listados em config.yml .GuideController possui um arquivo JS chamado guide.js