Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork108
Source code for official Yii website
License
yiisoft-contrib/yiiframework.com
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This project contains the source code for theyiiframework.com Website.
If you want to contribute, please get in touch with us using theissue tracker.
InstallDocker.
make upThe site will be available athttp://localhost:81.
You can use the scriptrun_pageres.sh at the root of the source directory to generate screenshots.
Adjust local config files if needed:
config/console-local.php.config/params-local.php.config/web-local.php.
if you do not see the*-local.php oryii files, then run./init
Generate a personal GitHub token (from your GitHub profile settings section). Paste it in a file in thedata directory(@app/data) calledgithub.token (one line, no line-break). If the file does not exist, just create it ad put the token in it.
Continue with the following commands:
# 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=0
For importing data from the old website, the following steps are necessary:
- import data by running
./yii importcommand - rebuild user badges by running
./yii badge/rebuild - calculate user ranking
./yii user/ranking.
If you don't have that data, you can work with dummy content:
- To fill the database with dummy content, you may run the command
./yii fake-data.You may run it multiple times to generate more data. - rebuild user badges by running
./yii badge/rebuild. - calculate user ranking
./yii user/ranking.
To assign users extra permissions use./yii rbac/assign.
The following commands need to be set up to run on a regular basis:
| command | interval | Purpose |
|---|---|---|
| yii sitemap/generate | daily | regenerate sitemap.xml |
| yii contributors/generate | weekly | update contributors list on team page |
| yii badge/update | hourly | update badges for users in badge_queue |
| yii cron/update-packagist | hourly | update packagist extension data |
| yii user/ranking | daily | update user ranking |
| yii github-progress | hourly | update Github progress data |
Additionally,queue/listen should run as a daemon orqueue/run as a cronjob.
This section covers notes for deployment on a server, you may not need this for your dev env. OS is assumed to be Debian"bullseye".
apt-get install texlive-full python3-pygments git nodejs make
The contributor list and the avatar thumbnails are generated by a console command:
./yii contributors/generate
It will connect to GitHub via the API and fetch a list of contributors, generatedata/contributors.json and thumbnailimages of the user avatars indata/avatars and finally invoke Gulp to generate a sprite image and Sass code.
It would be a good idea to set up a Cron job to run that once in a while—perhaps once each month.
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- During development, run
gulpto watch view, Sass and JS file changes and automatically build target CSS/JS files.This command will also launch a browser window which is connected to browsersync. - At any time, run
gulp buildto manually rebuild target CSS/JS files from source Sass/JS files. - If you only want to watch for changes, you can issue the command
gulp watch - To build the assets for production, specify the
productionflag:gulp build --productionor runnpm run build
- Use Sass files to define CSS styles.
- All Sass files should be put under
assets/src/scssand listed inassets/src/scss/all.scss. - Usually each controller corresponds to a single Sass file whose name is the same as the controller ID.For example, the
GuideControllerhas a Sass file named_guide.scss. - All Sass source files, except
all.scssshould have a leading underscore in the name. Sass will ignore files starting with an underscore so that only one CSS file will be produced (all.css). - For information about where each file should be put, please consult the master include file
all.scss.
- All JS files should be put under
assets/src/jsand listed inconfig.yml. - Usually each controller corresponds to a single JS file whose name is the same as the controller ID.For example, the
GuideControllerhas a JS file namedguide.js.
About
Source code for official Yii website
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
