4 Commits

Author SHA1 Message Date
7e3b89bf63 Merge pull request 'Fix #44: CI Pipeline mit PHP/CSS/HTML Linting' (#45) from feature/issue-44-ci-lint-pipeline into main
All checks were successful
Lint / PHP Syntax Check (push) Successful in 34s
Lint / CSS Lint (stylelint) (push) Successful in 1m13s
Lint / HTML Lint (htmlhint) (push) Successful in 1m15s
Reviewed-on: #45
2026-05-19 16:05:46 +02:00
Claw
afbf4ef80e fix(ci): run lint on all branches, not just main
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 25s
Lint / PHP Syntax Check (push) Successful in 32s
Lint / CSS Lint (stylelint) (push) Successful in 1m13s
Lint / HTML Lint (htmlhint) (push) Successful in 1m17s
Lint / PHP Syntax Check (pull_request) Successful in 34s
Lint / CSS Lint (stylelint) (pull_request) Successful in 1m13s
Lint / HTML Lint (htmlhint) (pull_request) Successful in 1m9s
2026-05-19 14:04:59 +00:00
Claw
a0615d10e2 fix(css): kebab-case keyframe name and empty line before rule
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 32s
Lint / PHP Syntax Check (pull_request) Successful in 37s
Lint / CSS Lint (stylelint) (pull_request) Successful in 1m26s
Lint / HTML Lint (htmlhint) (pull_request) Successful in 1m23s
fix(php): duplicate id 'form-result' → 'form-errors' for error container
2026-05-19 13:58:11 +00:00
Claw
a0d89a93a6 feat(ci): add lint pipeline for PHP, CSS and HTML (#44)
Some checks failed
Deploy Feature Branch to Test / deploy (push) Successful in 30s
Lint / PHP Syntax Check (pull_request) Successful in 34s
Lint / CSS Lint (stylelint) (pull_request) Failing after 1m24s
Lint / HTML Lint (htmlhint) (pull_request) Successful in 1m18s
2026-05-19 13:53:46 +00:00
3 changed files with 68 additions and 3 deletions

64
.gitea/workflows/lint.yml Normal file
View File

@@ -0,0 +1,64 @@
name: Lint
on:
push:
pull_request:
jobs:
lint-php:
name: PHP Syntax Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install PHP
run: |
apt-get update -qq && apt-get install -y -qq php-cli > /dev/null 2>&1
- name: PHP Lint
run: |
errors=0
while IFS= read -r file; do
if ! php -l "$file" > /dev/null 2>&1; then
echo "❌ Syntax error in $file"
php -l "$file"
errors=1
fi
done < <(find . -name "*.php" -not -path "./vendor/*")
if [ "$errors" -eq 1 ]; then
echo "::error::PHP lint check failed"
exit 1
fi
echo "✅ All PHP files pass syntax check"
lint-css:
name: CSS Lint (stylelint)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Node.js & stylelint
run: |
apt-get update -qq && apt-get install -y -qq npm nodejs > /dev/null 2>&1
npm install -g stylelint stylelint-config-standard stylelint-prettier > /dev/null 2>&1
- name: CSS Lint
run: |
npx stylelint "**/*.css" --config .stylelintrc.json --allow-empty-input
echo "✅ All CSS files pass lint"
lint-html:
name: HTML Lint (htmlhint)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Node.js & htmlhint
run: |
apt-get update -qq && apt-get install -y -qq npm nodejs > /dev/null 2>&1
npm install -g htmlhint > /dev/null 2>&1
- name: HTML Lint
run: |
npx htmlhint "**/*.html" --config .htmlhintrc
echo "✅ All HTML files pass lint"

View File

@@ -1216,7 +1216,7 @@ footer {
gap: 0;
z-index: 95;
border-bottom: 1px solid var(--warm);
animation: slideDown 0.3s ease;
animation: slide-down 0.3s ease;
}
nav.mobile-open .nav-links a {
@@ -1239,11 +1239,12 @@ footer {
background: transparent;
}
@keyframes slideDown {
@keyframes slide-down {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);

View File

@@ -737,7 +737,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
</div>
<?php else: ?>
<?php if (!empty($formErrors)): ?>
<div id="form-result" class="form-errors">
<div id="form-errors" class="form-errors">
<ul>
<?php foreach ($formErrors as $error): ?>
<li><?= escapeContactValue($error) ?></li>