Skip to content

php-fig/www.php-fig.org

Repository files navigation

This is the source for www.php-fig.org. It is a static site generated with Sculpin.

Contributing

  • 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 in preview as soon as open it.

  • 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.

Clone

Note the --recursive flag to clone the submodule too.

git clone --recursive https://github.com/php-fig/www.php-fig.org

Install and run

The project leverages make and Docker Compose to automate the local environment, so they are required.

Once you have them installed, you can simply type make and the whole site will be built and put on "watch mode", for both PHP and SASS/CSS. You'll then be able to access the site at localhost:8000.

Additionally, you can run make html-proofer to run the same checks that are run during the deploy process. Look into Makefile for additional useful targets.

Note that:

  • you can open a shell inside the PHP container with make shell
  • inside the PHP container, relevant executables are in the global PATH
  • the containers are executed with user and group with id 1000 by default, which will likely match your main host user. You can change the id via the UID and GID build-time variables; you can configure those locally creating a docker-compose.override.yml (which is ignored by Git) containing:
version: '3.5'

services:
  php:
    build:
      args:
        # your custom IDs
        UID: 1234
        GID: 5678

Updating the submodule

This 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.

Using Xdebug

If you need to debug the site build, you can enable Xdebug. To do it, you need to copy docker-compose.override.dist.yml as docker-compose.override.yml so that your local Docker Compose configuration loads that configuration. This (after a container reload) will put Xdebug in debug mode. Once done that, you need to configure your IDE to catch to that. Xdebug will automatically connect back your host system thanks to the host.docker.internal special hostname, with a serverName of PHP-FIG, as defined in docker-compose.yml.