Ce projet contient le code source du site Web yiiframework.com.
Si vous souhaitez contribuer, veuillez nous contacter en utilisant le tracker du problème.
Installez Docker et Docker Compose.
docker-compose build
docker-compose up
Le site sera disponible sur http: // localhost: 81.
Vous pouvez utiliser le script run_pageres.sh à la racine du répertoire source pour générer des captures d'écran.
Ajustez les fichiers de configuration locaux si nécessaire:
config/console-local.php .config/params-local.php .config/web-local.php . Générez un jeton GitHub personnel (à partir de votre section Paramètres de profil GitHub). Collez-les dans un fichier dans le répertoire data (@ app / data) appelé github.token (une ligne, pas de rupture de ligne).
Continuez avec les commandes suivantes:
# 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=0Pour l'importation de données de l'ancien site Web, les étapes suivantes sont nécessaires:
./yii import la commande./yii badge/rebuild./yii user/ranking .Si vous n'avez pas ces données, vous pouvez travailler avec du contenu factice:
./yii fake-data . Vous pouvez l'exécuter plusieurs fois pour générer plus de données../yii badge/rebuild ../yii user/ranking . Pour attribuer aux utilisateurs des autorisations supplémentaires à utiliser ./yii rbac/assign .
Les commandes suivantes doivent être configurées pour s'exécuter régulièrement:
| commande | intervalle | But |
|---|---|---|
| Yii Sitemap / Generate | tous les jours | régénérer le sitemap.xml |
| Contributeurs YII / Génération | hebdomadaire | Mettre à jour la liste des contributeurs sur la page de l'équipe |
| Badge / mise à jour de Yii | de temps | Mettre à jour les badges pour les utilisateurs de Badge_queue |
| yii cron / mise à jour-packagiste | de temps | Mettre à jour les données d'extension Packagist |
| Utilisateur / classement YII | tous les jours | Mettre à jour le classement des utilisateurs |
| yii github-progress | de temps | Mettre à jour les données de progression GitHub |
De plus, queue/listen doit fonctionner comme un démon ou queue/run comme un cronjob.
Cette section couvre les notes pour le déploiement sur un serveur, vous n'en avez peut-être pas besoin pour votre Dev Env. Le système d'exploitation est supposé être Debian "Bullseye".
apt-get install texlive-full python3-pygments git nodejs makeLa liste des contributeurs et les miniatures Avatar sont générées par une commande de console:
./yii contributors/generate Il se connectera à GitHub via l'API et récupérera une liste de contributeurs, générera data/contributors.json et des images miniatures des avatars utilisateur dans data/avatars et enfin invoquer Gulp pour générer une image de sprite et du code SASS.
Ce serait une bonne idée de créer un travail cron pour l'exécuter de temps en temps - peut-être une fois par mois.
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 to Regarder la vue, les changements de fichiers SASS et JS et créez automatiquement des fichiers CSS / JS cibles. Cette commande lancera également une fenêtre de navigateur qui est connectée à BrowseSync.gulp build pour reconstruire manuellement les fichiers CSS / JS cibles à partir des fichiers Source SASS / JS.gulp watchproduction : gulp build --production ou exécution npm run buildassets/src/scss et répertoriés dans assets/src/scss/all.scss .GuideController a un fichier SASS nommé _guide.scss .all.scss . SASS ignorera les fichiers commençant par un soulignement afin qu'un seul fichier CSS soit produit (all.css).all.scss .assets/src/js et répertoriés dans config.yml .GuideController a un fichier JS nommé guide.js .