This is the source for www.php-fig.org. It is a static site generated with Sculpin.
-
If you notice something missing, please open an issue on GitHub.
-
If you'd like to fix it yourself, simply edit the file on GitHub and open a pull request. The site will be recompiled as soon as your pull request is merged.
-
If you'd like to run the site locally o generate the HTML files, you'll need to install the dependencies. The templates are built by directly including the Markdown sources from the fig standards repo, which is provided as a git submodule.
Note the --recursive flag to clone the submodule too.
git clone --recursive https://github.com/php-fig/www.php-fig.orgWhile the project was ported from Jekyll to Sculpin to use PHP, some Ruby dependencies are still present. This will probably change in the future.
bin/install.shwill install both PHP Composer packages and Ruby bundled gems.
bin/build.shwill compile the sources into output_dev.
vendor/bin/sculpin serveThis site uses the master branch of the main PHP-FIG repository as a Git submodule to pull content from it.
If you need to update it, you can use the bin/update_submodule.sh script to pull new commits. Afterwards, you can commit
the differences in this repo, to push the updates afterwards.
A multistage Dockerfile is provided, in case you want to build and/or run everything without installing any dependency whatsoever. Docker version 17.09.0-ce or newer is required.
The final image is a simple NGINX instance:
docker build . -t fig-website
docker run --rm -p 80:80 fig-website
# browse the website at http://localhostHowever, you can use the dev target, which provides an interactive terminal to access a fully provisioned PHP+Ruby environment.
If you want to develop in the Docker runtime, you'll have mount the project root as a volume, expose port 8000, explicitly run the install/build process, and run the PHP built-in server:
docker build . --target dev -t fig-website-dev
docker run --rm -ti -p 8000:8000 -v $PWD:/fig-website fig-website-dev
# inside the container terminal
install.sh
build.sh
sculpin serveNote that:
- inside the container, relevant executables are in the global
PATH - the container is executed with user and group with id
1000by default, which will likely match your main host user. You can change the id via theUIDandGIDbuild-time variables (--build-arg).