diff --git a/.forgejo/workflows/phplint.yaml b/.forgejo/workflows/phplint.yaml index e2d7069..4f2bade 100644 --- a/.forgejo/workflows/phplint.yaml +++ b/.forgejo/workflows/phplint.yaml @@ -3,8 +3,9 @@ on: [push] jobs: phplint: runs-on: docker + container: + image: cytopia/phplint:debian + entrypoint: sh steps: - uses: actions/checkout@v3 - - uses: docker://cytopia/phplint:alpine - with: - cmd: -i ./vendor/.* *.php \ No newline at end of file + - run: ./docker-entrypoint.sh -i ./vendor/.* *.php \ No newline at end of file diff --git a/.htaccess b/.htaccess index 094dd6c..294b415 100644 --- a/.htaccess +++ b/.htaccess @@ -1,6 +1,9 @@ +DirectoryIndex index.php + RewriteEngine On RewriteBase / -RewriteCond %{REQUEST_URI} !^/?static/.* -RewriteRule (.*) router.php +RewriteCond %{REQUEST_URI} !^/www.* +RewriteCond %{REQUEST_URI} !^www.* +RewriteRule (.*) /www/$0 [END] diff --git a/composer.json b/composer.json index 6130261..8d8c008 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,5 @@ { "require": { - "twig/twig": "^3.0", - "twig/markdown-extra": "^3.6", - "league/commonmark": "^2.4" + "twig/twig": "^3.0" } } diff --git a/composer.lock b/composer.lock index b8538ec..616caf9 100644 --- a/composer.lock +++ b/composer.lock @@ -4,536 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "785c1dec442cd0287ada9cb48a31d45c", + "content-hash": "6a6772df2521c6860a448e9115f2793a", "packages": [ - { - "name": "dflydev/dot-access-data", - "version": "v3.0.2", - "source": { - "type": "git", - "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "f41715465d65213d644d3141a6a93081be5d3549" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", - "reference": "f41715465d65213d644d3141a6a93081be5d3549", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.42", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", - "scrutinizer/ocular": "1.6.0", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Dflydev\\DotAccessData\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dragonfly Development Inc.", - "email": "info@dflydev.com", - "homepage": "http://dflydev.com" - }, - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" - }, - { - "name": "Carlos Frutos", - "email": "carlos@kiwing.it", - "homepage": "https://github.com/cfrutos" - }, - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com" - } - ], - "description": "Given a deep data structure, access data by dot notation.", - "homepage": "https://github.com/dflydev/dflydev-dot-access-data", - "keywords": [ - "access", - "data", - "dot", - "notation" - ], - "support": { - "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", - "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" - }, - "time": "2022-10-27T11:44:00+00:00" - }, - { - "name": "league/commonmark", - "version": "2.4.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/commonmark.git", - "reference": "d44a24690f16b8c1808bf13b1bd54ae4c63ea048" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d44a24690f16b8c1808bf13b1bd54ae4c63ea048", - "reference": "d44a24690f16b8c1808bf13b1bd54ae4c63ea048", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "league/config": "^1.1.1", - "php": "^7.4 || ^8.0", - "psr/event-dispatcher": "^1.0", - "symfony/deprecation-contracts": "^2.1 || ^3.0", - "symfony/polyfill-php80": "^1.16" - }, - "require-dev": { - "cebe/markdown": "^1.0", - "commonmark/cmark": "0.30.0", - "commonmark/commonmark.js": "0.30.0", - "composer/package-versions-deprecated": "^1.8", - "embed/embed": "^4.4", - "erusev/parsedown": "^1.0", - "ext-json": "*", - "github/gfm": "0.29.0", - "michelf/php-markdown": "^1.4 || ^2.0", - "nyholm/psr7": "^1.5", - "phpstan/phpstan": "^1.8.2", - "phpunit/phpunit": "^9.5.21", - "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", - "unleashedtech/php-coding-standard": "^3.1.1", - "vimeo/psalm": "^4.24.0 || ^5.0.0" - }, - "suggest": { - "symfony/yaml": "v2.3+ required if using the Front Matter extension" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - } - }, - "autoload": { - "psr-4": { - "League\\CommonMark\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com", - "role": "Lead Developer" - } - ], - "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", - "homepage": "https://commonmark.thephpleague.com", - "keywords": [ - "commonmark", - "flavored", - "gfm", - "github", - "github-flavored", - "markdown", - "md", - "parser" - ], - "support": { - "docs": "https://commonmark.thephpleague.com/", - "forum": "https://github.com/thephpleague/commonmark/discussions", - "issues": "https://github.com/thephpleague/commonmark/issues", - "rss": "https://github.com/thephpleague/commonmark/releases.atom", - "source": "https://github.com/thephpleague/commonmark" - }, - "funding": [ - { - "url": "https://www.colinodell.com/sponsor", - "type": "custom" - }, - { - "url": "https://www.paypal.me/colinpodell/10.00", - "type": "custom" - }, - { - "url": "https://github.com/colinodell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/commonmark", - "type": "tidelift" - } - ], - "time": "2023-03-24T15:16:10+00:00" - }, - { - "name": "league/config", - "version": "v1.2.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/config.git", - "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", - "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", - "shasum": "" - }, - "require": { - "dflydev/dot-access-data": "^3.0.1", - "nette/schema": "^1.2", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.8.2", - "phpunit/phpunit": "^9.5.5", - "scrutinizer/ocular": "^1.8.1", - "unleashedtech/php-coding-standard": "^3.1", - "vimeo/psalm": "^4.7.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.2-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Config\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com", - "role": "Lead Developer" - } - ], - "description": "Define configuration arrays with strict schemas and access values with dot notation", - "homepage": "https://config.thephpleague.com", - "keywords": [ - "array", - "config", - "configuration", - "dot", - "dot-access", - "nested", - "schema" - ], - "support": { - "docs": "https://config.thephpleague.com/", - "issues": "https://github.com/thephpleague/config/issues", - "rss": "https://github.com/thephpleague/config/releases.atom", - "source": "https://github.com/thephpleague/config" - }, - "funding": [ - { - "url": "https://www.colinodell.com/sponsor", - "type": "custom" - }, - { - "url": "https://www.paypal.me/colinpodell/10.00", - "type": "custom" - }, - { - "url": "https://github.com/colinodell", - "type": "github" - } - ], - "time": "2022-12-11T20:36:23+00:00" - }, - { - "name": "nette/schema", - "version": "v1.2.3", - "source": { - "type": "git", - "url": "https://github.com/nette/schema.git", - "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", - "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", - "shasum": "" - }, - "require": { - "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", - "php": ">=7.1 <8.3" - }, - "require-dev": { - "nette/tester": "^2.3 || ^2.4", - "phpstan/phpstan-nette": "^1.0", - "tracy/tracy": "^2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0-only", - "GPL-3.0-only" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" - } - ], - "description": "📐 Nette Schema: validating data structures against a given Schema.", - "homepage": "https://nette.org", - "keywords": [ - "config", - "nette" - ], - "support": { - "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.2.3" - }, - "time": "2022-10-13T01:24:26+00:00" - }, - { - "name": "nette/utils", - "version": "v3.2.9", - "source": { - "type": "git", - "url": "https://github.com/nette/utils.git", - "reference": "c91bac3470c34b2ecd5400f6e6fdf0b64a836a5c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/c91bac3470c34b2ecd5400f6e6fdf0b64a836a5c", - "reference": "c91bac3470c34b2ecd5400f6e6fdf0b64a836a5c", - "shasum": "" - }, - "require": { - "php": ">=7.2 <8.3" - }, - "conflict": { - "nette/di": "<3.0.6" - }, - "require-dev": { - "jetbrains/phpstorm-attributes": "dev-master", - "nette/tester": "~2.0", - "phpstan/phpstan": "^1.0", - "tracy/tracy": "^2.3" - }, - "suggest": { - "ext-gd": "to use Image", - "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", - "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", - "ext-json": "to use Nette\\Utils\\Json", - "ext-mbstring": "to use Strings::lower() etc...", - "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", - "ext-xml": "to use Strings::length() etc. when mbstring is not available" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0-only", - "GPL-3.0-only" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" - } - ], - "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", - "homepage": "https://nette.org", - "keywords": [ - "array", - "core", - "datetime", - "images", - "json", - "nette", - "paginator", - "password", - "slugify", - "string", - "unicode", - "utf-8", - "utility", - "validation" - ], - "support": { - "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v3.2.9" - }, - "time": "2023-01-18T03:26:20+00:00" - }, - { - "name": "psr/event-dispatcher", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], - "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" - }, - "time": "2019-01-08T18:20:26+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v2.5.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-01-02T09:53:40+00:00" - }, { "name": "symfony/polyfill-ctype", "version": "v1.27.0", @@ -699,157 +171,6 @@ ], "time": "2022-11-03T14:55:06+00:00" }, - { - "name": "symfony/polyfill-php80", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "twig/markdown-extra", - "version": "v3.6.0", - "source": { - "type": "git", - "url": "https://github.com/twigphp/markdown-extra.git", - "reference": "8f1179e279cea6ef14066a4560b859df58acd5d8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/8f1179e279cea6ef14066a4560b859df58acd5d8", - "reference": "8f1179e279cea6ef14066a4560b859df58acd5d8", - "shasum": "" - }, - "require": { - "php": ">=7.1.3", - "twig/twig": "^2.7|^3.0" - }, - "require-dev": { - "erusev/parsedown": "^1.7", - "league/commonmark": "^1.0|^2.0", - "league/html-to-markdown": "^4.8|^5.0", - "michelf/php-markdown": "^1.8|^2.0", - "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Twig\\Extra\\Markdown\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - } - ], - "description": "A Twig extension for Markdown", - "homepage": "https://twig.symfony.com", - "keywords": [ - "html", - "markdown", - "twig" - ], - "support": { - "source": "https://github.com/twigphp/markdown-extra/tree/v3.6.0" - }, - "funding": [ - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/twig/twig", - "type": "tidelift" - } - ], - "time": "2023-02-09T06:45:16+00:00" - }, { "name": "twig/twig", "version": "v3.6.0", diff --git a/docker_dev/Dockerfile b/docker_dev/Dockerfile deleted file mode 100644 index 60a6a66..0000000 --- a/docker_dev/Dockerfile +++ /dev/null @@ -1,17 +0,0 @@ -FROM composer -WORKDIR /app - -COPY composer.* . -RUN composer install - -FROM php:apache -WORKDIR /var/www/html - -COPY --from=0 /app/ ./ -RUN chmod -R a+r ./vendor - -RUN a2enmod rewrite -RUN a2enmod headers - -COPY . . -RUN chmod -R a+r $(ls -I vendor) diff --git a/docker_dev/apache2.conf b/docker_dev/apache2.conf deleted file mode 100644 index 27d8173..0000000 --- a/docker_dev/apache2.conf +++ /dev/null @@ -1,225 +0,0 @@ -# This is the main Apache server configuration file. It contains the -# configuration directives that give the server its instructions. -# See http://httpd.apache.org/docs/2.4/ for detailed information about -# the directives and /usr/share/doc/apache2/README.Debian about Debian specific -# hints. -# -# -# Summary of how the Apache 2 configuration works in Debian: -# The Apache 2 web server configuration in Debian is quite different to -# upstream's suggested way to configure the web server. This is because Debian's -# default Apache2 installation attempts to make adding and removing modules, -# virtual hosts, and extra configuration directives as flexible as possible, in -# order to make automating the changes and administering the server as easy as -# possible. - -# It is split into several files forming the configuration hierarchy outlined -# below, all located in the /etc/apache2/ directory: -# -# /etc/apache2/ -# |-- apache2.conf -# | `-- ports.conf -# |-- mods-enabled -# | |-- *.load -# | `-- *.conf -# |-- conf-enabled -# | `-- *.conf -# `-- sites-enabled -# `-- *.conf -# -# -# * apache2.conf is the main configuration file (this file). It puts the pieces -# together by including all remaining configuration files when starting up the -# web server. -# -# * ports.conf is always included from the main configuration file. It is -# supposed to determine listening ports for incoming connections which can be -# customized anytime. -# -# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/ -# directories contain particular configuration snippets which manage modules, -# global configuration fragments, or virtual host configurations, -# respectively. -# -# They are activated by symlinking available configuration files from their -# respective *-available/ counterparts. These should be managed by using our -# helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See -# their respective man pages for detailed information. -# -# * The binary is called apache2. Due to the use of environment variables, in -# the default configuration, apache2 needs to be started/stopped with -# /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not -# work with the default configuration. - - -# Global configuration -# - -# -# ServerRoot: The top of the directory tree under which the server's -# configuration, error, and log files are kept. -# -# NOTE! If you intend to place this on an NFS (or otherwise network) -# mounted filesystem then please read the Mutex documentation (available -# at ); -# you will save yourself a lot of trouble. -# -# Do NOT add a slash at the end of the directory path. -# -#ServerRoot "/etc/apache2" - -# -# The accept serialization lock file MUST BE STORED ON A LOCAL DISK. -# -#Mutex file:${APACHE_LOCK_DIR} default - -# -# The directory where shm and other runtime files will be stored. -# - -DefaultRuntimeDir ${APACHE_RUN_DIR} - -# -# PidFile: The file in which the server should record its process -# identification number when it starts. -# This needs to be set in /etc/apache2/envvars -# -PidFile ${APACHE_PID_FILE} - -# -# Timeout: The number of seconds before receives and sends time out. -# -Timeout 300 - -# -# KeepAlive: Whether or not to allow persistent connections (more than -# one request per connection). Set to "Off" to deactivate. -# -KeepAlive On - -# -# MaxKeepAliveRequests: The maximum number of requests to allow -# during a persistent connection. Set to 0 to allow an unlimited amount. -# We recommend you leave this number high, for maximum performance. -# -MaxKeepAliveRequests 100 - -# -# KeepAliveTimeout: Number of seconds to wait for the next request from the -# same client on the same connection. -# -KeepAliveTimeout 5 - - -# These need to be set in /etc/apache2/envvars -User ${APACHE_RUN_USER} -Group ${APACHE_RUN_GROUP} - -# -# HostnameLookups: Log the names of clients or just their IP addresses -# e.g., www.apache.org (on) or 204.62.129.132 (off). -# The default is off because it'd be overall better for the net if people -# had to knowingly turn this feature on, since enabling it means that -# each client request will result in AT LEAST one lookup request to the -# nameserver. -# -HostnameLookups Off - -# ErrorLog: The location of the error log file. -# If you do not specify an ErrorLog directive within a -# container, error messages relating to that virtual host will be -# logged here. If you *do* define an error logfile for a -# container, that host's errors will be logged there and not here. -# -ErrorLog ${APACHE_LOG_DIR}/error.log - -# -# LogLevel: Control the severity of messages logged to the error_log. -# Available values: trace8, ..., trace1, debug, info, notice, warn, -# error, crit, alert, emerg. -# It is also possible to configure the log level for particular modules, e.g. -# "LogLevel info ssl:warn" -# -LogLevel warn - -# Include module configuration: -IncludeOptional mods-enabled/*.load -IncludeOptional mods-enabled/*.conf - -# Include list of ports to listen on -Include ports.conf - - -# Sets the default security model of the Apache2 HTTPD server. It does -# not allow access to the root filesystem outside of /usr/share and /var/www. -# The former is used by web applications packaged in Debian, -# the latter may be used for local directories served by the web server. If -# your system is serving content from a sub-directory in /srv you must allow -# access here, or in any related virtual host. - - Options FollowSymLinks - AllowOverride None - Require all denied - - - - AllowOverride None - Require all granted - - - - Options Indexes FollowSymLinks - AllowOverride None - Require all granted - - -# -# Options Indexes FollowSymLinks -# AllowOverride None -# Require all granted -# - - - - -# AccessFileName: The name of the file to look for in each directory -# for additional configuration directives. See also the AllowOverride -# directive. -# -AccessFileName .htaccess - -# -# The following lines prevent .htaccess and .htpasswd files from being -# viewed by Web clients. -# - - Require all denied - - - -# -# The following directives define some format nicknames for use with -# a CustomLog directive. -# -# These deviate from the Common Log Format definitions in that they use %O -# (the actual bytes sent including headers) instead of %b (the size of the -# requested file), because the latter makes it impossible to detect partial -# requests. -# -# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended. -# Use mod_remoteip instead. -# -LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined -LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined -LogFormat "%h %l %u %t \"%r\" %>s %O" common -LogFormat "%{Referer}i -> %U" referer -LogFormat "%{User-agent}i" agent - -# Include of directories ignores editors' and dpkg's backup files, -# see README.Debian for details. - -# Include generic snippets of statements -IncludeOptional conf-enabled/*.conf - -# Include the virtual host configurations: -IncludeOptional sites-enabled/*.conf diff --git a/docker_dev/compose.yaml b/docker_dev/compose.yaml deleted file mode 100644 index 5e8c99b..0000000 --- a/docker_dev/compose.yaml +++ /dev/null @@ -1,26 +0,0 @@ -services: - app: - build: - context: .. - dockerfile: docker_dev/Dockerfile - ports: - - 8081:80 - develop: - watch: - - path: ./ - action: rebuild - - path: ../. - action: sync - target: /usr/local/apache2/htdocs/ - mysql: - image: mysql:8.0-debian - # NOTE: use of "mysql_native_password" is not recommended: https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password - # (this is just an example, not intended to be a production configuration) - command: --default-authentication-plugin=mysql_native_password - restart: always - environment: - MYSQL_ROOT_PASSWORD: example - volumes: - - sqlvolume:/var/lib/mysql -volumes: - sqlvolume: {} diff --git a/docker_dev/my-httpd.conf b/docker_dev/my-httpd.conf deleted file mode 100644 index e69de29..0000000 diff --git a/router.php b/router.php deleted file mode 100644 index 9e2c99d..0000000 --- a/router.php +++ /dev/null @@ -1,43 +0,0 @@ - true]); -$twig->addExtension(new Twig\Extra\Markdown\MarkdownExtension()); - -use Twig\Extra\Markdown\DefaultMarkdown; -use Twig\Extra\Markdown\MarkdownRuntime; -use Twig\RuntimeLoader\RuntimeLoaderInterface; - -$twig->addRuntimeLoader(new class implements RuntimeLoaderInterface { - public function load($class) { - if (MarkdownRuntime::class === $class) { - return new MarkdownRuntime(new DefaultMarkdown()); - } - } -}); - -if($_SERVER['REQUEST_URI'] == '/') { - echo $twig->render('root.html'); -} elseif(preg_match('/^\/about(.html)?$/', $_SERVER['REQUEST_URI'])) { - echo $twig->render('about.html'); -} elseif(preg_match('/^\/gallery\/([^\?]+)/', $_SERVER['REQUEST_URI'])) { - echo $twig->render('/gallery/gallery_entry.html', [ - 'image_url' => '/static/banner/0.png', - 'image_title' => 'Test!', - 'image_desc' => 'A soft piece made by a dear friend', - 'artist_name' => 'Doggonaut', - 'artist_src_link' => 'https://twitter.com/doggonaut' - ]); -} else { - echo $twig->render('rrror.html',[ - "error_code" => '404 Hoard not found!', - "error_description" => "Well, we searched - far and wide for `" . $_SERVER['REQUEST_URI'] . "` but - somehow it must have gotten lost... Sorry!" - ]); -} - -?> diff --git a/static/.htaccess b/static/.htaccess deleted file mode 100644 index 5997760..0000000 --- a/static/.htaccess +++ /dev/null @@ -1,9 +0,0 @@ -Allow from all - - - Header set Cache-Control "max-age=315360, public" - - - - Header set Cache-Control "max-age=315360, public" - \ No newline at end of file diff --git a/static/banner.js b/static/banner.js deleted file mode 100644 index 256d683..0000000 --- a/static/banner.js +++ /dev/null @@ -1,69 +0,0 @@ - -const banner_show_time = 600 * 1000.0 -const banner_animated_style = "opacity 0.8s linear, transform 0.1s linear" - -var banner_current_src = localStorage.getItem('main_banner_img') - -function getBannerTime() { - return (new Date()).getTime() / banner_show_time -} -function getBannerSrc() { - return "/static/banner/" + Math.floor(getBannerTime() + 1000/banner_show_time) % 2 + ".png" -} -function update_banner_top(banner, banner_container) { - const banner_top_max = 0 - const banner_top_min = -banner.clientHeight + banner_container.clientHeight - - const banner_top = (1-(getBannerTime()%1)) * banner_top_min - banner.style.transform = "translateY(" + banner_top + 'px' + ")" -} - -let banner_update_src = banner_current_src -function update_banner(banner, banner_container) { - - image_select = getBannerSrc() - - update_banner_top(banner, banner_container) - - if(image_select != banner_update_src) { - banner.style.opacity = 0 - - setTimeout(() => { - banner.src = image_select - }, 1000) - - banner_update_src = image_select - localStorage.setItem('main_banner_img', image_select) - - document.getElementById("main_banner_img_link").href = "/gallery/test" - } -} - -const banner_container = document.getElementById("main_header") -const banner = document.getElementById("main_banner_img") - - -banner.addEventListener('load', () => { - update_banner_top(banner, banner_container) - - const next_banner_src = getBannerSrc() - - if(banner_current_src != next_banner_src) { - banner.style.transition = banner_animated_style - setTimeout(() => banner.style.opacity = 0.3, 1000) - } - else { - banner.style.opacity = 0.3 - setTimeout(() => banner.style.transition = banner_animated_style, 0) - } - - banner_current_src = next_banner_src -}) - -document.addEventListener("DOMContentLoaded", function () { - banner.src = getBannerSrc() - document.getElementById("main_banner_img_link").href = "/gallery/test" -}) - -setInterval(() => update_banner(banner, banner_container), 100) -addEventListener("resize", () => update_banner(banner, banner_container)); diff --git a/static/banner/0.png b/static/banner/0.png deleted file mode 100644 index a79fb89..0000000 Binary files a/static/banner/0.png and /dev/null differ diff --git a/static/banner/1.png b/static/banner/1.png deleted file mode 100644 index 6e5069f..0000000 Binary files a/static/banner/1.png and /dev/null differ diff --git a/static/banner/banner0.jpeg b/static/banner/banner0.jpeg deleted file mode 100644 index cc7e480..0000000 Binary files a/static/banner/banner0.jpeg and /dev/null differ diff --git a/static/dergstyle.css b/static/dergstyle.css deleted file mode 100644 index 9bf4f29..0000000 --- a/static/dergstyle.css +++ /dev/null @@ -1,134 +0,0 @@ - -* { - box-sizing: border-box; - margin: 0; - padding: 0; -} - -body { - color: #B0B0B0; - background: #201c2a; - margin: 0px; - - position: relative; - - min-height: 100vh; - padding-bottom: 4em; -} - -:link { - color: cyan; - font-style: italic; - text-decoration: none; - - transition: color 0.2s; -} -a:visited { - color: cyan; -} -a:hover { - color: lightblue; -} - -#main_header { - overflow: hidden; - position: relative; - - padding-bottom: 0.7em; -} -#main_banner_img { - position: absolute; - left: 0px; - right: 0px; - - width: 100vw; - - z-index: -1; - - opacity: 0; - top: 0px; -} -#main_banner_img_link { - position: absolute; - right: 2vw; - bottom: 0.5em; - - font-size: 0.8em; -} - -#nav_bar { - display: flex; - flex-direction: row; - justify-content: center; - - list-style-type: none; - margin-top: 1em; - padding: 0px; -} -#nav_bar li { - padding: 0em 0.3em 0em 0.3em; -} - -#big_title { - text-align: center; - font-size: 2.5em; - margin-bottom: 0.2em; -} -#main_header h2 { - text-align: center; - font-size: 2em; - margin-bottom: 0.2em; -} - -#title_separator { - height: 1.5px; - background-color: #ddd; - opacity: 0.5; - margin-left: 2em; - margin-right: 2em; -} - -#main_content_wrapper { - padding: 3vmin 1em 1em 1em; - width: auto; - margin-left: max(0.75em, min(max(20vmin, 50vw - 30rem), 50vw - 25rem)); - margin-right: max(0.75em, min(max(20vmin, 50vw - 30rem), 50vw - 25rem)); - - min-height: 100%; - - background: #3e355479; -} - -#main_content_wrapper article { - background: #3e3554; - color: #c6c3c3; - border-radius: 0.3em; - box-shadow: 3px 7px 7px 0px #00000040; - - padding: 0.75em; -} -#main_content_wrapper article h1 { - text-align: left; - padding-left: 3vmin; - margin-bottom: 0.2em; - - border-bottom: solid 1px darkgrey; -} - -#main_footer { - display: flex; - - height: 2.5em; - text-align: center; - background-color: #3a3a3a; - margin: 0px; - - position: absolute; - bottom: 0px; - width: 100%; -} - -#main_footer span { - align-self: flex-end; - width: 100%; -} diff --git a/static/gallerystyle.css b/static/gallerystyle.css deleted file mode 100644 index bb7ba01..0000000 --- a/static/gallerystyle.css +++ /dev/null @@ -1,26 +0,0 @@ - - -article { - margin-top: 0.8em; - margin-left: 10%; - margin-right: 10%; -} - -figcaption { - text-align: center; - - border-bottom: solid 3px darkgrey; - font-size: 2em; - - margin-bottom: 0.3em; -} - -#gallery_image { - display: block; - max-width: 100%; - - max-height: 80vh; - - margin-left: auto; - margin-right: auto; -} \ No newline at end of file diff --git a/static/icon.jpeg b/static/icon.jpeg deleted file mode 100644 index cc7e480..0000000 Binary files a/static/icon.jpeg and /dev/null differ diff --git a/static/rrrorstyle.css b/static/rrrorstyle.css deleted file mode 100644 index c9f4de8..0000000 --- a/static/rrrorstyle.css +++ /dev/null @@ -1,13 +0,0 @@ - - -#rrr_header { - font-size: 2em; - - border-bottom: 1px solid grey; - padding-bottom: 0.2em; - margin-bottom: 0.3em; -} - -#rrr_code { - font-size: 1.5em; -} \ No newline at end of file diff --git a/templates/about.html b/templates/about.html index 16352aa..c8bd6f5 100644 --- a/templates/about.html +++ b/templates/about.html @@ -1,13 +1,3 @@ -{% extends "root.html" %} - -{% block second_title %} -

Abouts

-{% endblock %} - -{%block main_content%} -
- {{ include('about.md')|markdown_to_html }} -
-{%endblock%} +{{ }} diff --git a/templates/gallery/gallery_entry.html b/templates/gallery/gallery_entry.html deleted file mode 100644 index 991901d..0000000 --- a/templates/gallery/gallery_entry.html +++ /dev/null @@ -1,28 +0,0 @@ - -{% extends "root.html" %} - -{% block extra_head %} - -{% endblock %} - -{% block second_title %} -

Gallery

-{% endblock %} - -{%block main_content%} -
- - - - - - -
-{%endblock%} diff --git a/templates/gallery/gallery_overview.html b/templates/gallery/gallery_overview.html deleted file mode 100644 index 91543b9..0000000 --- a/templates/gallery/gallery_overview.html +++ /dev/null @@ -1,18 +0,0 @@ - -{% extends "root.html" %} - -{% block extra_head %} - -{% endblock %} - -{% block second_title %} -

Gallery

-{% endblock %} - -{%block main_content%} -