/scummvm-web

Main ScummVM website

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

ScummVM-Web

This project is the main ScummVM website located at: https://www.scummvm.org

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

The ScummVM website relies on several tools to install properly. Before installing please make sure you have the following installed:

  • PHP
    • PHP YAML extension. Install via pecl install yaml or sudo apt install php-yaml
    • The version of PHP included with macOS doesn't include PECL, so you'll need to install a different version of PHP through Homebrew or another method
    • Alternatively on macOS you can use MacPorts to install both PHP and yaml (for example to use PHP 8.2 sudo port install php82 php82-yaml php82-iconv php82-intl php82-mbstring php82-sqlite ; sudo port select --set php php82)
  • Composer
  • Python & pip (2.7.9+/3.4+)
  • Node.js & npm
  • Git
  • Glue
  • Redis (Optional)

Installing & Developing

Clone this repo

git clone https://github.com/scummvm/scummvm-web.git

To run the a development version of the site and start a local web server on port 8000, run:

composer develop

To build for production simply run:

composer build

Deployment

To deploy changes to the official ScummVM website, simply go to the website admin page and click the "ScummVM.org manual site update" link.

Updating data

Most data is now managed upstream in a spreadsheet. To re-generate the data files run composer update-data note that this will run automatically on site update but is encouraged for you to do manually to keep track on who's updating the data.

Disabling cache

During development, you can disable data caching by creating a file called .no-cache in the root folder.

Contributing

Similar to ScummVM, please use the appropriate project name when contributing:

  • I10N: Modifications related to translations.
  • CSS: Changes to stylesheets.
  • TEMPLATES: Changes to page and component templates.
  • IMAGES: Site graphics (Icons are excluded).
  • ICONS: New game and platform Icons. Please see the Wiki for updated submission guidelines.
  • DATA: Site data files.
  • BUILD: Files related to building and developing the site.
  • WEB: Catch-all for things that don't fit any of the above, or a mix of multiple components in a single commit.

Code Style

YAML files should adhere to the Flathub YAML Style Guide.

PHP files use phpcbf. Please run composer lint before committing code.