Skip to content

Commit f80f37d

Browse files
author
Anne-Julia Seitz
committed
Automate homepage with dynamic content and improve site features
- Replace static homepage config with dynamic event loading - Homepage now shows latest event automatically as "Next Event" - Recent Talks section loads from actual events instead of dummy data - Archive Stats show total counts (events, speakers, topics) not per-page - Add Berlin PHP logos to Recent Talks cards with consistent heights - Create contact and imprint pages with proper templates - Improve speaker sorting (most talks first) on taxonomy pages - Add event metadata (time, meetup_url) to latest events - Clean up homepage content structure and styling
1 parent 7d5e210 commit f80f37d

122 files changed

Lines changed: 3726 additions & 140 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/settings.local.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,13 @@
99
"Bash(zola serve:*)",
1010
"Bash(git add:*)",
1111
"mcp__playwright__browser_navigate",
12-
"WebFetch(domain:www.meetup.com)"
12+
"WebFetch(domain:www.meetup.com)",
13+
"Bash(rg:*)",
14+
"Bash(zola build:*)",
15+
"WebFetch(domain:127.0.0.1)",
16+
"Bash(grep:*)"
1317
],
14-
"deny": []
18+
"deny": [],
19+
"defaultMode": "acceptEdits"
1520
}
1621
}

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config.toml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,7 @@ paths_keep_dates = true
4040
mastodon_url = "https://phpc.social/@bephpug"
4141
twitter_url = "https://twitter.com/berlinphp"
4242
github_url = "https://github.com/berlinphp"
43-
flickr_url = "https://www.flickr.com/groups/bephpug/"
44-
meetup_url = "https://www.meetup.com/de-DE/berlin-php-usergroup/"
45-
46-
# Default meetup location
47-
default_location = "Co-Up Berlin"
48-
default_address = "Adalbertstraße 8, 10999 Berlin"
43+
meetup_url = "https://www.meetup.com/berlin-php-usergroup/"
4944

5045
# Analytics (optional)
5146
# google_analytics = "UA-XXXXXXXX-X"

content/_index.md

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -2,55 +2,6 @@
22
title = "Berlin PHP Usergroup"
33
description = "Monthly meetups for PHP developers in Berlin. Join our community for talks, networking, and learning about PHP, web development, and related technologies."
44

5-
[extra.next_meetup]
6-
title = "Democratic Architecture & TBA"
7-
date = "September 17, 2025"
8-
time = "18:30h - 21:00h"
9-
location = "c-base space station"
10-
address = "Rungestraße 20, 10179 Berlin"
11-
meetup_url = "https://www.meetup.com/berlin-php-usergroup/events/298123456/"
12-
13-
[[extra.next_meetup.talks]]
14-
title = "Democratic Architecture"
15-
speaker = "Stephan Priebsch"
16-
description = "Learn how embracing Democratic Architecture can lead to the creation of adaptable and resilient systems, as well as collaborative development cultures where architecture provides guidance rather than dictation. By decoupling architecture from implementation, we can better accommodate evolving requirements and technological shifts, thereby ensuring the long-term viability of systems and their alignment with business goals."
17-
18-
[[extra.next_meetup.talks]]
19-
title = "TBA"
20-
speaker = "tba"
21-
description = "Stay tuned for the second talk announcement!"
22-
23-
[[extra.recent_talks]]
24-
title = "Building Scalable APIs with Laravel"
25-
speaker = "Max Mustermann"
26-
date = "December 2023"
27-
description = "Learn best practices for creating robust, scalable APIs using Laravel's powerful features."
28-
url = "/archive/2023-12-21-scalable-apis-laravel/"
29-
tags = ["Laravel", "API", "Architecture"]
30-
31-
[[extra.recent_talks]]
32-
title = "Modern PHP Testing Strategies"
33-
speaker = "Sarah Schmidt"
34-
date = "November 2023"
35-
description = "Comprehensive guide to testing PHP applications with PHPUnit, Pest, and integration testing."
36-
url = "/archive/2023-11-16-modern-php-testing/"
37-
tags = ["Testing", "PHPUnit", "Quality"]
38-
39-
[[extra.recent_talks]]
40-
title = "Docker for PHP Developers"
41-
speaker = "Thomas Weber"
42-
date = "October 2023"
43-
description = "Containerizing PHP applications: from development to production deployment."
44-
url = "/archive/2023-10-19-docker-php-developers/"
45-
tags = ["Docker", "DevOps", "Deployment"]
46-
47-
[[extra.recent_talks]]
48-
title = "PHP Performance Optimization"
49-
speaker = "Lisa Hoffmann"
50-
date = "September 2023"
51-
description = "Techniques and tools for optimizing PHP application performance and scalability."
52-
url = "/archive/2023-09-21-php-performance-optimization/"
53-
tags = ["Performance", "Optimization", "Profiling"]
545
+++
556

567
## Welcome to Berlin PHP
@@ -65,7 +16,6 @@ Every month, we gather for **free meetups** featuring:
6516
- **Lightning talks** for quick knowledge sharing
6617
- **Networking opportunities** with fellow developers
6718
- **Q&A sessions** and open discussions
68-
- **Job board** for PHP-related positions in Berlin
6919

7020
### Who Should Join?
7121

content/events/2012-11-06-nginx-statsd-fortrabbit-libraries/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
+++
22
title = "Meetup on the 6th November, 2012 // Treffen am 6. November, 2012"
3-
description = "November 2012 meetup featuring Nginx & php-fpm by Volker Dusch, StatsD metrics by Till Klampaeckel, fortrabbit PaaS introduction, and essential PHP libraries by Gordon Franke."
3+
description = "November 2012 meetup featuring Nginx & php-fpm by Volker Dusch, StatsD metrics by Till Klampäckel, fortrabbit PaaS introduction, and essential PHP libraries by Gordon Franke."
44
date = "2012-11-06"
55

66
[taxonomies]
7-
speaker = ["Volker Dusch", "Till Klampaeckel", "fortrabbit", "Gordon Franke"]
7+
speaker = ["Volker Dusch", "Till Klampäckel", "fortrabbit", "Gordon Franke"]
88
topic = ["Nginx", "PHP-FPM", "StatsD", "Metrics", "Librato", "PaaS", "fortrabbit", "PHP Libraries", "Web Server", "Monitoring"]
99

1010
[extra]
@@ -14,7 +14,7 @@ location = "co.up Coworking Space, Adalbertstr. 7-8, 10999 Berlin"
1414
## English
1515

1616
* [Volker Dusch](http://twitter.com/__edorian): Nginx and php-fpm — the webserver you might actually like
17-
* [Till Klampaeckel](http://twitter.com/klimpong): Using statsd to collect metrics in your applications, charting the results with Librato
17+
* [Till Klampäckel](http://twitter.com/klimpong): Using statsd to collect metrics in your applications, charting the results with Librato
1818
* [fortrabbit](http://fortrabbit.com/): Introduction to the PHP PaaS
1919
* Gordon Franke: PHP libraries you should know
2020

@@ -26,7 +26,7 @@ Looking forward to seeing all of you.
2626
## Deutsch
2727

2828
* [Volker Dusch](http://twitter.com/__edorian): Nginx und php-fpm
29-
* [Till Klampaeckel](http://twitter.com/klimpong): Mit StatsD Metriken aus der Anwendungen sammeln, und mit Librato Graphen bauen
29+
* [Till Klampäckel](http://twitter.com/klimpong): Mit StatsD Metriken aus der Anwendungen sammeln, und mit Librato Graphen bauen
3030
* [fortrabbit](http://fortrabbit.com/): Vorstellung der Plattform
3131
* Gordon Franke: PHP Bibliotheken die man kennen sollte
3232

content/events/2014-09-02-vagrant-ansible-deployment/index.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
+++
22
title = "Meetup on the 2nd of September, 2014"
3-
description = "September 2014 meetup featuring Vagrant development environments by Daniel Fahlke and Ansible deployment automation by Michael Lämmermeyer."
3+
description = "September 2014 meetup featuring Vagrant development environments by Daniel Fahlke, Ansible deployment automation by Michael Lämmermeyer and Anne-Julia Seitz will give insights on why naming is considered hard."
44
date = "2014-09-02"
55

66
[taxonomies]
7-
speaker = ["Daniel Fahlke", "Michael Lämmermeyer"]
8-
topic = ["Vagrant", "Development Environment", "Virtualization", "Ansible", "Deployment", "Automation", "Configuration Management", "DevOps"]
7+
speaker = ["Daniel Fahlke", "Michael Lämmermeyer", "Anne-Julia Seitz"]
8+
topic = ["Vagrant", "Development Environment", "Virtualization", "Ansible", "Deployment", "Automation", "Configuration Management", "DevOps", "Naming Things"]
99

1010
[extra]
1111
location = "co.up Coworking Space, Adalbertstr. 7-8, 10999 Berlin"
@@ -21,4 +21,12 @@ by [Daniel Fahlke aka Flyingmana](https://twitter.com/Flyingmana)
2121

2222
Automating application deployment and server configuration.
2323

24-
by [Michael Lämmermeyer](https://twitter.com/lampmi)
24+
by [Michael Lämmermeyer](https://twitter.com/lampmi)
25+
26+
## Talk 3: Naming Things Considered Hard
27+
28+
About creating meaning by giving a thing a context.
29+
30+
Slides: [https://speakerdeck.com/dazz/nomen-est-omen-naming-things-considered-hard](https://speakerdeck.com/dazz/nomen-est-omen-naming-things-considered-hard)
31+
32+
by Anne-Julia Seitz

content/events/2024-09-18-s6-overlay-symfony-php84-property-hooks/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ speaker = ["Anne-Julia Seitz", "Volker Dusch"]
88
topic = ["s6-overlay", "Symfony", "Containers", "Multi-process", "PHP 8.4", "Property Hooks", "Docker", "Deployment"]
99

1010
[extra]
11-
location = "c-base Raumstation, Rungestrasse 20, (2nd backyard), Berlin"
11+
location = "c-base Raumstation, Rungestrasse 20, (2nd backyard), 10179 Berlin"
1212
+++
1313

1414
## Talk 1: s6-overlay: symfony in a multi-process container

content/events/2025-02-28-teamwork-specs-composer-internals/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
+++
2-
title = "Meetup on the 28th of February, 2025"
2+
title = "Specing out teamwork & Composer Behind the Scenes"
33
description = "February 2025 meetup featuring Symfony team development strategies and Composer behind the scenes insights."
44
date = "2025-02-28"
55

@@ -8,7 +8,7 @@ speaker = ["Stiven Llupa", "Nils Adermann"]
88
topic = ["Teamwork", "Symfony", "Team Development", "Collaboration", "Composer", "Package Management", "Performance"]
99

1010
[extra]
11-
location = "c-base Raumstation, Rungestrasse 20, (2nd backyard), Berlin"
11+
location = "c-base Raumstation, Rungestrasse 20, (2nd backyard), 10179 Berlin"
1212
+++
1313

1414
## Talk 1: Specing out teamwork
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
+++
2+
title = "Agentic Applications with Symfony & Cache Invalidation, Solved"
3+
description = "May 2025 meetup featuring agentic applications with Symfony and cache invalidation strategies, including a live demo of the Symfony Cache component."
4+
date = "2025-05-07"
5+
6+
[taxonomies]
7+
speaker = ["Christopher Hertel", "Asmir Mustafic"]
8+
topic = ["Symfony", "Cache Invalidation", "Agentic Applications", "LLMs", "AI Integration"]
9+
+++
10+
11+
## Talk 1:"Agentic Applications with Symfony" by Christopher Hertel
12+
13+
A chat interface is by far not all what you could build with Symfony and Large Language Models. And agentic applications are the next level of integrating AI - not only in your code, but also in your business.
14+
Let's have a look together on some basic concepts and hands-on examples of letting AI take over more responsibilities in a well-defined and automated manner.
15+
16+
## Talk 2: "Cache Invalidation, Solved" by Asmir Mustafic
17+
18+
Learn how to use cache tags in your application cache layer (no http, no varnish), reducing the needed code to handle the cache invalidation and taking advantage of the probabilistic cache expiration.

content/events/2025-06-25-refactor-code-yourself-cakephp-anniversary/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
+++
2-
title = "Meetup on the 25th of June, 2025"
2+
title = "Refactor your code - refactor yourself & 30 years PHP, 20 years CakePHP"
33
description = "June 2025 meetup featuring refactoring mindset for personal growth and celebrating 30 years PHP, 20 years CakePHP."
44
date = "2025-06-25"
55

@@ -8,7 +8,7 @@ speaker = ["Peter Dietrich", "Mark Scherer"]
88
topic = ["Refactoring", "Personal Development", "Legacy Code", "PHP Anniversary", "CakePHP", "Web Development History", "Self-Improvement"]
99

1010
[extra]
11-
location = "c-base Raumstation, Rungestrasse 20, (2nd backyard), Berlin"
11+
location = "c-base Raumstation, Rungestrasse 20, (2nd backyard), 10179 Berlin"
1212
+++
1313

1414
## Talk 1: Refactor your code - refactor yourself

0 commit comments

Comments
 (0)