Dieses Projekt enthält den Quellcode für die Website yiiframework.com.
Wenn Sie einen Beitrag leisten möchten, setzen Sie sich bitte mit uns mit dem Problem Tracker in Verbindung.
Installieren Sie Docker und Docker Compose.
docker-compose build
docker-compose up
Die Website ist unter http: // localhost: 81 erhältlich.
Sie können das Skript run_pageres.sh am Stamm des Quellverzeichnisses verwenden, um Screenshots zu generieren.
Passen Sie bei Bedarf lokale Konfigurationsdateien an:
config/console-local.php .config/params-local.php .config/web-local.php . Generieren Sie ein persönliches Github -Token (aus Abschnitt mit Github -Profileinstellungen). Fügen Sie es in eine Datei in das data (@App/Data) mit dem Namen github.token (eine Zeile, keine Zeilenausbruch) ein.
Fahren Sie mit den folgenden Befehlen fort:
# 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=0Zum Importieren von Daten von der alten Website sind folgende Schritte erforderlich:
./yii import./yii badge/rebuild./yii user/ranking .Wenn Sie diese Daten nicht haben, können Sie mit Dummy -Inhalten arbeiten:
./yii fake-data ausführen. Sie können es mehrmals ausführen, um mehr Daten zu generieren../yii badge/rebuild ../yii user/ranking . Um den Benutzern zusätzliche Berechtigungen zuzuweisen ./yii rbac/assign
Die folgenden Befehle müssen eingerichtet werden, um regelmäßig ausgeführt zu werden:
| Befehl | Intervall | Zweck |
|---|---|---|
| yii Sitemap/Erzeugen | täglich | regenerieren saitemap.xml |
| YII -Mitwirkende/Erzeugen | wöchentlich | Aktualisieren Sie die Liste der Mitwirkenden auf der Teamseite |
| YII Abzeichen/Update | stündlich | Aktualisieren Sie die Abzeichen für Benutzer in badge_queue |
| Yii Cron/Update-Packagist | stündlich | Aktualisieren Sie Packagist -Erweiterungsdaten |
| yii Benutzer/Ranking | täglich | Aktualisieren Sie das Benutzerranking |
| yii Github-Programm | stündlich | Aktualisieren Sie GitHub -Fortschrittsdaten |
Zusätzlich sollte queue/listen als Dämon oder queue/run als Cronjob ausgeführt werden.
Dieser Abschnitt behandelt Notizen für die Bereitstellung auf einem Server. Sie benötigen dies möglicherweise nicht für Ihre Dev Env. OS wird als Debian "Bullseye" angenommen.
apt-get install texlive-full python3-pygments git nodejs makeDie Liste der Mitwirkenden und die Avatar -Miniaturansichten werden durch einen Konsolenbefehl erzeugt:
./yii contributors/generate Es wird über die API eine Verbindung zu GitHub herstellen und eine Liste von Mitwirkenden abrufen, Daten data/avatars data/contributors.json generieren.
Es wäre eine gute Idee, einen Cron -Job zu errichten, um so ab und zu - vielleicht einmal im Monat, zu leiten.
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 aus, um Ansicht, SASS- und JS -Dateiänderungen zu sehen und automatisch Ziel -CSS/JS -Dateien zu erstellen. Dieser Befehl startet auch ein Browserfenster, das mit BrowserSync verbunden ist.gulp build aus, um die Ziel -CSS/JS -Dateien aus Quell -SASS/JS -Dateien manuell neu zu erstellen.gulp watch ausstellenproduction : gulp build --production oder Run npm run build um die Vermögenswerte für die Produktion zu erstellen.assets/src/scss gestellt und in assets/src/scss/all.scss aufgeführt werden.GuideController eine SASS -Datei mit dem Namen _guide.scss .all.scss , sollten einen führenden Unterstrich im Namen haben. Sass ignoriert Dateien, die mit einem Unterstrich beginnen, so dass nur eine CSS -Datei erstellt wird (All.css).all.scss .assets/src/js gestellt und in config.yml aufgeführt werden.GuideController eine JS -Datei mit dem Namen guide.js .