- PHP 38%
- Twig 32.4%
- CSS 14.2%
- SCSS 10.1%
- Shell 2.7%
- Other 2.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .ddev | ||
| .setup | ||
| config/sync | ||
| deploy | ||
| docker | ||
| docs | ||
| resources | ||
| web | ||
| .dockerignore | ||
| .gitignore | ||
| .woodpecker.yml | ||
| CLAUDE.md | ||
| composer.json | ||
| composer.lock | ||
| Dockerfile | ||
| README.md | ||
slkh-website
Website for Sint-Lukas Kunsthumaniora, a secondary school for arts in Belgium. Built on Drupal 11.
Requirements
- DDEV for local development
- Docker
Local development
# Clone the repo, then:
ddev start
ddev composer install
ddev snapshot # back up whatever DB is already in the volume
ddev snapshot restore rebuild-20260926 # or import a recent dump
ddev drush cim -y # apply committed config from config/sync
ddev drush cr
ddev launch
Add this line to web/sites/default/settings.php, above the DDEV include, so config exports go to config/sync/:
$settings['config_sync_directory'] = '../config/sync';
After changing config in the UI: ddev drush cex -y and commit config/sync/.
One-time login link:
ddev drush uli
Note:
sites/default/files/is gitignored. After restoring a DB snapshot, some subdirectories (e.g.languages/) may be missing. Runddev drush crto regenerate them, or create them manually if needed.
Content
resources/content/*.json holds the content extracted from the old site (blog.sintlukaskunsthumaniora.be); .setup/install-15-content.php imports it. The downloaded images (resources/content/images/, ~100 MB) are not in git — the importer fetches missing ones from the old site.
Setup from scratch
The .setup/ directory contains numbered shell scripts to build the site from scratch. See CLAUDE.md for details.
Deployment
Woodpecker builds and deploys on push, as for sintlukasbasisschool.be: staging → staging, main → production. Secrets, database, Pangolin/DNS, loading content and the go-live checklist: docs/deployment.md.