Merge branch 'master' of git.fsfe.org:FSFE/fsfe-website
This commit is contained in:
10
.drone.yml
10
.drone.yml
@@ -21,7 +21,11 @@ steps:
|
||||
- export FSFE_WEBSITE_HOST_SOURCE_CODE=$(docker container inspect "$HOSTNAME" --format '{{ range .Mounts }}{{ if eq .Destination "/drone/src" }}{{ .Source }}{{ end }}{{ end }}')
|
||||
- docker ps && echo "tampered with"
|
||||
- echo "DRONE_COMMIT_BRANCH ${DRONE_COMMIT_BRANCH}"
|
||||
- docker compose -p fsfe-website-pre-commit run --remove-orphans --build pre-commit "origin/${DRONE_COMMIT_BRANCH}"
|
||||
- echo "DRONE_COMMIT_REF ${DRONE_COMMIT_REF}"
|
||||
- PROJECT="$(echo "fsfe-website-pre-commit-${DRONE_COMMIT_REF}" | tr "/" "-")"
|
||||
- docker compose -p "$PROJECT" down
|
||||
- docker compose -p "$PROJECT" run --remove-orphans --build pre-commit "origin/${DRONE_COMMIT_BRANCH}"
|
||||
- docker compose -p "$PROJECT" down
|
||||
|
||||
# Test building the deploy docker image
|
||||
- name: test-build-docker-image
|
||||
@@ -82,6 +86,7 @@ steps:
|
||||
# Ideally the cron would set the flag itself, but drone does not support that.
|
||||
- if [ "$DRONE_BUILD_EVENT" = "cron" ]; then EXTRA_FLAGS="--full"; fi
|
||||
- docker compose -p "$PROJECT" run --remove-orphans --build build --target "$TARGET" $EXTRA_FLAGS
|
||||
- docker compose -p "$PROJECT" down
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
@@ -116,6 +121,7 @@ steps:
|
||||
# Ideally the cron would set the flag itself, but drone does not support that.
|
||||
- if [ "$DRONE_BUILD_EVENT" = "cron" ]; then EXTRA_FLAGS="--full"; fi
|
||||
- docker compose -p "$PROJECT" run --remove-orphans --build build --target "$TARGET" $EXTRA_FLAGS
|
||||
- docker compose -p "$PROJECT" down
|
||||
when:
|
||||
branch:
|
||||
- test
|
||||
@@ -142,6 +148,6 @@ volumes:
|
||||
path: /run/user/1001/docker.sock
|
||||
---
|
||||
kind: signature
|
||||
hmac: 3db8e2103b4160f172248b54c7e21aabd22956f2b3fbf6492e38f9bd5d338e8f
|
||||
hmac: aa5d8fd7cd515e165b861345495517924992c4e1ff86e16c9b1ed293fed7a565
|
||||
|
||||
...
|
||||
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -10,7 +10,8 @@ output
|
||||
__pycache__
|
||||
#Nltk
|
||||
.nltk_data
|
||||
|
||||
#phpcsfixer cache
|
||||
.php-cs-fixer.cache
|
||||
# Secrets
|
||||
# docker compose
|
||||
.env
|
||||
|
||||
@@ -31,5 +31,3 @@ COPY build.entrypoint.sh ./
|
||||
WORKDIR /website-source
|
||||
|
||||
ENTRYPOINT ["bash", "/website-source-during-build/build.entrypoint.sh"]
|
||||
|
||||
|
||||
|
||||
5
composer.json
Normal file
5
composer.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"require": {
|
||||
"php": "^8.4"
|
||||
}
|
||||
}
|
||||
@@ -55,6 +55,7 @@
|
||||
<donor since="2021">Julian Rüth GmbH</donor>
|
||||
<donor>Liferay International</donor>
|
||||
<donor since="2009">LIHAS - LinuxHaus Stuttgart</donor><!-- Adrian Reyer -->
|
||||
<donor since="2021">Matteo Settenvini</donor>
|
||||
<donor>Matomo.org</donor>
|
||||
<donor>SUSE</donor>
|
||||
<donor since="2016">sysmocom - systems for mobile communications</donor>
|
||||
|
||||
23
fsfe.org/events/2025/event-20251215-01.de.xml
Normal file
23
fsfe.org/events/2025/event-20251215-01.de.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<eventset>
|
||||
<version>1</version>
|
||||
<event start="2025-12-15T19:00:00Z" end="2025-12-15T21:00:00Z">
|
||||
<title>Rhein/Main Regular Meeting in Frankfurt am Main, Germany</title>
|
||||
<group>
|
||||
<name>Rhein/Main</name>
|
||||
<url></url>
|
||||
</group>
|
||||
|
||||
<body>
|
||||
<p>Wir Treffen uns am <strong>Montag den 15. Dezember 2025 ab 19:00 Uhr</strong> beim <a href="https://ccc-ffm.de/hackerspace">CCC-FFM</a>, Hohenstaufenstraße 8, 60327 Frankfurt am Main (<a href="https://www.openstreetmap.org/node/3342079613">Openstreetmap</a>). Der Eingang befindet sich im Hof über eine Überdachte Treppe.</p>
|
||||
</body>
|
||||
|
||||
<link>https://docs.fsfe.org/e/en/LocalGroups/Active/RheinMain</link>
|
||||
<tags>
|
||||
<tag key="de">
|
||||
Germany </tag>
|
||||
<tag key="localgroup"/>
|
||||
<tag key="front-page"/>
|
||||
</tags>
|
||||
</event>
|
||||
</eventset>
|
||||
23
fsfe.org/events/2025/event-20251215-01.en.xml
Normal file
23
fsfe.org/events/2025/event-20251215-01.en.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<eventset>
|
||||
<version>1</version>
|
||||
<event start="2025-12-15T19:00:00Z" end="2025-12-15T21:00:00Z">
|
||||
<title>Rhein/Main Regular Meeting in Frankfurt am Main, Germany</title>
|
||||
<group>
|
||||
<name>Rhein/Main</name>
|
||||
<url></url>
|
||||
</group>
|
||||
|
||||
<body>
|
||||
<p>We meet on <strong>Monday, December 15, 2025, from 7:00 p.m.</strong> at the <a href="https://ccc-ffm.de/hackerspace">CCC-FFM</a>, Hohenstaufenstraße 8, 60327 Frankfurt am Main (<a href="https://www.openstreetmap.org/node/3342079613">Openstreetmap</a>). The entrance is located in the courtyard above a covered staircase.</p>
|
||||
</body>
|
||||
|
||||
<link>https://docs.fsfe.org/e/en/LocalGroups/Active/RheinMain</link>
|
||||
<tags>
|
||||
<tag key="de">
|
||||
Germany </tag>
|
||||
<tag key="localgroup"/>
|
||||
<tag key="front-page"/>
|
||||
</tags>
|
||||
</event>
|
||||
</eventset>
|
||||
76
fsfe.org/news/2025/news-20251204-01.en.xhtml
Normal file
76
fsfe.org/news/2025/news-20251204-01.en.xhtml
Normal file
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<html newsdate="2025-12-04">
|
||||
<version>1</version>
|
||||
|
||||
<head>
|
||||
<title>Opening the cage: the FSFE flies away from X (Twitter)</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<h1>Opening the cage: the FSFE flies away from X (Twitter)</h1>
|
||||
|
||||
<p>The Free Software Foundation Europe deleted its account on X. The
|
||||
platform never aligned with our values and no longer serves as a space
|
||||
for communication. What initially intended to be a place for dialogue and
|
||||
information exchange has turned into a centralised arena of hostility,
|
||||
misinformation, and profit-driven control, far removed from the ideals
|
||||
of freedom we stand for.</p>
|
||||
|
||||
<figure>
|
||||
<img src="https://pics.fsfe.org/uploads/medium/fd/a7/5c9070674249d3725da40535df2f.png"
|
||||
alt="A split image shows the Twitter bird icon dissolving into digital fragments on the left and a colorful decentralized network on the right, with bright light at the center."/>
|
||||
</figure>
|
||||
|
||||
<p>Since Elon Musk acquired the social network formerly known as
|
||||
Twitter and rebranded it as X, the Free Software Foundation Europe
|
||||
(FSFE) has been closely monitoring the developments of this proprietary
|
||||
platform, a space we were never comfortable joining, yet one that was
|
||||
once important for reaching members of society who were not active in
|
||||
our preferred spaces for interaction. Over time, it has become
|
||||
increasingly hostile, with misinformation, harassment, and hate speech
|
||||
more visible than ever.</p>
|
||||
|
||||
<p>The FSFE initially joined Twitter as it offered a space to promote
|
||||
the Free Software values and to interact with policymakers,
|
||||
journalists, and above all, reaching to people who were not yet
|
||||
familiar with Free Software and its benefits. The social network was
|
||||
another tool the FSFE used to share information about our initiatives,
|
||||
to explain to users their right to control our technology, and to
|
||||
promote software freedom across society, while also encouraging the use
|
||||
of alternative, decentralised social media networks.</p>
|
||||
|
||||
<p>However, the current platform direction and climate combined with an algorithm
|
||||
that prioritises hatred, polarisation, and sensationalism, alongside
|
||||
growing privacy and data protection concerns, has led us to the
|
||||
decision to part ways with this platform.</p>
|
||||
|
||||
<p><strong>Consequently, the FSFE decided to permanently delete its account on
|
||||
X</strong>. We keep being active on some other proprietary platforms in order
|
||||
to reach a wider part of society, journalists, and decision makers.</p>
|
||||
|
||||
<p>At the same time, we strongly encourage everyone who shares our
|
||||
commitment to digital freedom and decentralisation to join us in the
|
||||
Fediverse. Unlike proprietary platforms driven by profit and
|
||||
centralised control, the Fediverse empowers users to choose how and
|
||||
where they connect, ensuring transparency, autonomy, and resilience.
|
||||
Follow the FSFE on <a
|
||||
href="https://mastodon.social/deck/@fsfe">Mastodon</a> and <a
|
||||
href="https://media.fsfe.org/">Peertube</a>!</p>
|
||||
|
||||
</body>
|
||||
|
||||
<tags>
|
||||
<tag key="news">News</tag>
|
||||
<tag key="front-page"/>
|
||||
<tag key="community">Community</tag>
|
||||
<tag key="fediverse">Fediverse</tag>
|
||||
<tag key="highlights">Highlights</tag>
|
||||
|
||||
</tags>
|
||||
|
||||
<discussion href="https://mastodon.social/deck/@fsfe/115661347143283604"/>
|
||||
|
||||
<image url="https://pics.fsfe.org/uploads/medium/fd/a7/5c9070674249d3725da40535df2f.png"
|
||||
alt="A split image shows the Twitter bird icon dissolving into digital fragments on the left and a colorful decentralized network on the right, with bright light at the center. "/>
|
||||
</html>
|
||||
@@ -18,7 +18,7 @@
|
||||
<li><a href="#tshirt">T-Shirts</a></li>
|
||||
<li><a href="#slimfit">Slimfit T-Shirts</a></li>
|
||||
<!-- li><a href="#hooded">Kapuzenshirts</a></li -->
|
||||
<li><a href="#socks">Socken</a></li>
|
||||
<!-- li><a href="#socks">Socken</a></li -->
|
||||
<!-- li><a href="#baby-clothes">Babykleidung</a></li -->
|
||||
<li><a href="#other">Andere Artikel</a></li>
|
||||
</ul>
|
||||
@@ -52,9 +52,9 @@
|
||||
|
||||
<dynamic-content type="hoodie"/ -->
|
||||
|
||||
<h2 id="socks">Socken</h2>
|
||||
<!-- h2 id="socks">Socken</h2>
|
||||
|
||||
<dynamic-content type="socks"/>
|
||||
<dynamic-content type="socks"/ -->
|
||||
|
||||
<!-- h2 id="baby-clothes">Babykleidung</h2>
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<li><a href="#tshirt">T-shirts</a></li>
|
||||
<li><a href="#slimfit">Slimfit T-Shirts</a></li>
|
||||
<!-- li><a href="#hooded">Hoodies</a></li -->
|
||||
<li><a href="#socks">Socks</a></li>
|
||||
<!-- li><a href="#socks">Socks</a></li -->
|
||||
<!-- li><a href="#baby-clothes">Baby Clothes</a></li -->
|
||||
<li><a href="#other">Other Items</a></li>
|
||||
</ul>
|
||||
@@ -51,9 +51,9 @@
|
||||
|
||||
<dynamic-content type="hoodie"/ -->
|
||||
|
||||
<h2 id="socks">Socks</h2>
|
||||
<!-- h2 id="socks">Socks</h2>
|
||||
|
||||
<dynamic-content type="socks"/>
|
||||
<dynamic-content type="socks"/ -->
|
||||
|
||||
<!-- h2 id="baby-clothes">Baby Clothes</h2>
|
||||
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
<li><a href="#tshirt">Camisetas</a></li>
|
||||
<li><a href="#slimfit">Camiseta slim fit</a></li>
|
||||
<!-- li><a href="#hooded">Camisetas con capucha</a></li -->
|
||||
<li><a href="#socks">Calcetines</a></li>
|
||||
<!-- li><a href="#baby-clothes">Ropa de bebé</a></li -->
|
||||
<!-- li><a href="#socks">Calcetines</a></li -->
|
||||
<!-- li><a href="#baby-clothes">Ropa de bebé</a></li -->
|
||||
<li><a href="#other">Otros artículos</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -51,9 +51,9 @@
|
||||
|
||||
<dynamic-content type="hoodie"/ -->
|
||||
|
||||
<h2 id="socks">Calcetines</h2>
|
||||
<!-- h2 id="socks">Calcetines</h2>
|
||||
|
||||
<dynamic-content type="socks"/>
|
||||
<dynamic-content type="socks"/ -->
|
||||
|
||||
<!-- h2 id="baby-clothes">Ropa de bebé</h2>
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<li><a href="#tshirt">T-shirts</a></li>
|
||||
<li><a href="#slimfit">T-shirt cintré</a></li>
|
||||
<!-- li><a href="#hooded">Sweat-shirts à capuche</a></li -->
|
||||
<li><a href="#socks">Chaussettes</a></li>
|
||||
<!-- li><a href="#socks">Chaussettes</a></li -->
|
||||
<!-- li><a href="#baby-clothes">Vêtements pour bébé</a></li -->
|
||||
<li><a href="#other">Autres articles</a></li>
|
||||
</ul>
|
||||
@@ -51,9 +51,9 @@
|
||||
|
||||
<dynamic-content type="hoodie"/ -->
|
||||
|
||||
<h2 id="socks">Chaussettes</h2>
|
||||
<!-- h2 id="socks">Chaussettes</h2>
|
||||
|
||||
<dynamic-content type="socks"/>
|
||||
<dynamic-content type="socks"/ -->
|
||||
|
||||
<!-- h2 id="baby-clothes">Vêtements pour bébé</h2>
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<li><a href="#tshirt">Magliette</a></li>
|
||||
<li><a href="#slimfit">Magliette slimfit</a></li>
|
||||
<!-- li><a href="#hooded">Felpe con cappuccio</a></li -->
|
||||
<li><a href="#socks">Calzini</a></li>
|
||||
<!-- li><a href="#socks">Calzini</a></li -->
|
||||
<!-- li><a href="#baby-clothes">Vestiti per bambini</a></li -->
|
||||
<li><a href="#other">Altri prodotti</a></li>
|
||||
</ul>
|
||||
@@ -51,9 +51,9 @@
|
||||
|
||||
<dynamic-content type="hoodie"/ -->
|
||||
|
||||
<h2 id="socks">Calzini</h2>
|
||||
<!-- h2 id="socks">Calzini</h2>
|
||||
|
||||
<dynamic-content type="socks"/>
|
||||
<dynamic-content type="socks"/ -->
|
||||
|
||||
<!-- h2 id="baby-clothes">Vestiti per bambini</h2>
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<li><a href="#tshirt">T-Shirts</a></li>
|
||||
<li><a href="#slimfit">Nauwsluitende T-shirts</a></li>
|
||||
<!-- li><a href="#hooded">Shirts met kap (hoodies)</a></li -->
|
||||
<li><a href="#socks">Sokken</a></li>
|
||||
<!-- li><a href="#socks">Sokken</a></li -->
|
||||
<!-- li><a href="#baby-clothes">Babykleding</a></li -->
|
||||
<li><a href="#other">Andere artikelen</a></li>
|
||||
</ul>
|
||||
@@ -53,9 +53,9 @@
|
||||
|
||||
<dynamic-content type="hoodie"/ -->
|
||||
|
||||
<h2 id="socks">Sokken</h2>
|
||||
<!-- h2 id="socks">Sokken</h2>
|
||||
|
||||
<dynamic-content type="socks"/>
|
||||
<dynamic-content type="socks"/ -->
|
||||
|
||||
<!-- h2 id="baby-clothes">Babykleding</h2>
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ pre-commit:
|
||||
glob: "*.php"
|
||||
exclude:
|
||||
- "fsfe.org/cgi-bin/PHPMailer/*.php"
|
||||
run: for file in {staged_files}; do php-cs-fixer fix "$file"; done
|
||||
run: for file in {staged_files}; do php-cs-fixer --no-interaction fix "$file"; done
|
||||
stage_fixed: true
|
||||
fail_on_changes: "ci"
|
||||
shfmt:
|
||||
|
||||
@@ -5,12 +5,9 @@ COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
||||
# Install deps
|
||||
RUN apt-get update && apt-get install --yes --no-install-recommends \
|
||||
composer \
|
||||
coreutils \
|
||||
curl \
|
||||
file \
|
||||
findutils \
|
||||
git \
|
||||
grep \
|
||||
libxml2 \
|
||||
libxml2-utils \
|
||||
libxslt1.1 \
|
||||
@@ -20,7 +17,6 @@ npm \
|
||||
perl-base \
|
||||
php-zip \
|
||||
rsync \
|
||||
sed \
|
||||
shfmt \
|
||||
xsltproc
|
||||
|
||||
@@ -50,5 +46,3 @@ COPY pre-commit.entrypoint.sh ./
|
||||
WORKDIR /website-source
|
||||
|
||||
ENTRYPOINT ["bash", "/website-source-during-build/pre-commit.entrypoint.sh"]
|
||||
|
||||
|
||||
|
||||
@@ -11,6 +11,10 @@
|
||||
<h2>Service Status</h2>
|
||||
<div class="incidentstatus">
|
||||
<div class="incident">
|
||||
<dl>
|
||||
<dt class="service">Network problems in one datacenter (<span class="since">2025-12-07 08:20h</span>)</dt>
|
||||
<dd class="description">At one datacenter of our server locations we experience network problems after they did some maintenance work on Sunday Dec. 7th. Services located in the DC include email, Nextcloud, git. The DC support is looking into the problem.</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt class="service">planet.fsfe.org (<span class="since">2025-09-01</span>)</dt>
|
||||
<dd class="description">The blog aggregator is currently not available. Reasons are being investigated.</dd>
|
||||
|
||||
Reference in New Issue
Block a user