From bedb05c13e948def89fc333d630c7b195e541cd4 Mon Sep 17 00:00:00 2001 From: Lukas Bestle Date: Sun, 25 Aug 2019 16:33:32 +0200 Subject: [PATCH] Initial commit --- .gitignore | 17 + .postdeploy.sh | 2 + composer.json | 12 + composer.lock | 634 ++++++++++++++++++++++++++++++++ content/error/error.txt | 7 + content/home/1_do/codesignd.svg | 1 + content/home/1_do/kirby.svg | 1 + content/home/1_do/linklist.txt | 22 ++ content/home/2_did/hvf.svg | 1 + content/home/2_did/linklist.txt | 16 + content/home/home.txt | 0 content/legal/default.txt | 33 ++ content/site.txt | 1 + public/.htaccess | 62 ++++ public/assets/logo.sketch | Bin 0 -> 43595 bytes public/assets/logo.svg | 1 + public/assets/styles.css | 279 ++++++++++++++ public/index.php | 15 + public/media/index.html | 0 public/pgp.asc | 298 +++++++++++++++ public/yadis.xml | 15 + site/config/config.php | 5 + site/plugins/qdated/index.php | 28 ++ site/snippets/footer.php | 7 + site/snippets/header.php | 36 ++ site/templates/default.php | 10 + site/templates/error.php | 10 + site/templates/home.php | 23 ++ site/templates/linklist.php | 3 + 29 files changed, 1539 insertions(+) create mode 100644 .gitignore create mode 100755 .postdeploy.sh create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 content/error/error.txt create mode 100644 content/home/1_do/codesignd.svg create mode 100644 content/home/1_do/kirby.svg create mode 100644 content/home/1_do/linklist.txt create mode 100644 content/home/2_did/hvf.svg create mode 100644 content/home/2_did/linklist.txt create mode 100644 content/home/home.txt create mode 100644 content/legal/default.txt create mode 100644 content/site.txt create mode 100644 public/.htaccess create mode 100644 public/assets/logo.sketch create mode 100644 public/assets/logo.svg create mode 100644 public/assets/styles.css create mode 100644 public/index.php create mode 100644 public/media/index.html create mode 100644 public/pgp.asc create mode 100644 public/yadis.xml create mode 100644 site/config/config.php create mode 100644 site/plugins/qdated/index.php create mode 100644 site/snippets/footer.php create mode 100644 site/snippets/header.php create mode 100644 site/templates/default.php create mode 100644 site/templates/error.php create mode 100644 site/templates/home.php create mode 100644 site/templates/linklist.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bf90373 --- /dev/null +++ b/.gitignore @@ -0,0 +1,17 @@ +# System files +# ------------ + +Icon +.DS_Store + +# Temporary files +# --------------- + +/public/media/* +!/public/media/index.html + +# Dependencies +# ------------ + +/kirby +/vendor diff --git a/.postdeploy.sh b/.postdeploy.sh new file mode 100755 index 0000000..df86182 --- /dev/null +++ b/.postdeploy.sh @@ -0,0 +1,2 @@ +composer update +killall php-cgi diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..03ce37c --- /dev/null +++ b/composer.json @@ -0,0 +1,12 @@ +{ + "name": "lukasbestle/lukasbestle.com", + "type": "project", + "homepage": "https://lukasbestle.com", + "require": { + "php": ">=7.1.0", + "getkirby/cms": "^3.0" + }, + "config": { + "optimize-autoloader": true + } +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..e832a5e --- /dev/null +++ b/composer.lock @@ -0,0 +1,634 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "28dfd8b792fc3f2c44458611fca3148c", + "packages": [ + { + "name": "claviska/simpleimage", + "version": "3.3.3", + "source": { + "type": "git", + "url": "https://github.com/claviska/SimpleImage.git", + "reference": "31ba5b8358e1663a2813e2ada7242fa8d97a96dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/claviska/SimpleImage/zipball/31ba5b8358e1663a2813e2ada7242fa8d97a96dc", + "reference": "31ba5b8358e1663a2813e2ada7242fa8d97a96dc", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "league/color-extractor": "0.3.*", + "php": ">=5.6.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "claviska": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cory LaViska", + "role": "Developer", + "homepage": "http://www.abeautifulsite.net/" + } + ], + "description": "A PHP class that makes working with images as simple as possible.", + "time": "2017-09-12T09:03:56+00:00" + }, + { + "name": "filp/whoops", + "version": "2.3.1", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "bc0fd11bc455cc20ee4b5edabc63ebbf859324c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/bc0fd11bc455cc20ee4b5edabc63ebbf859324c7", + "reference": "bc0fd11bc455cc20ee4b5edabc63ebbf859324c7", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0", + "psr/log": "^1.0.1" + }, + "require-dev": { + "mockery/mockery": "^0.9 || ^1.0", + "phpunit/phpunit": "^4.8.35 || ^5.7", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "role": "Developer", + "homepage": "https://github.com/filp" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "time": "2018-10-23T09:00:00+00:00" + }, + { + "name": "getkirby/cms", + "version": "3.2.3", + "source": { + "type": "git", + "url": "https://github.com/getkirby/kirby.git", + "reference": "03d6e96aa27f631e5311cb6c2109e1510505cab7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/getkirby/kirby/zipball/03d6e96aa27f631e5311cb6c2109e1510505cab7", + "reference": "03d6e96aa27f631e5311cb6c2109e1510505cab7", + "shasum": "" + }, + "require": { + "claviska/simpleimage": "3.3.3", + "ext-ctype": "*", + "ext-mbstring": "*", + "filp/whoops": "2.3.1", + "getkirby/composer-installer": "^1.0", + "michelf/php-smartypants": "1.8.1", + "mustangostang/spyc": "0.6.2", + "php": ">=7.1.0", + "phpmailer/phpmailer": "6.0.7", + "true/punycode": "2.1.1", + "zendframework/zend-escaper": "2.6.0" + }, + "type": "kirby-cms", + "autoload": { + "files": [ + "config/setup.php" + ], + "classmap": [ + "dependencies/" + ], + "psr-4": { + "Kirby\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "authors": [ + { + "name": "Kirby Team", + "email": "support@getkirby.com", + "homepage": "https://getkirby.com" + } + ], + "description": "The Kirby 3 core", + "homepage": "https://getkirby.com", + "keywords": [ + "cms", + "core", + "kirby" + ], + "time": "2019-08-06T08:13:08+00:00" + }, + { + "name": "getkirby/composer-installer", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/getkirby/composer-installer.git", + "reference": "2d6b8f5601a31caeeea45623e1643fbb437eb94e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/getkirby/composer-installer/zipball/2d6b8f5601a31caeeea45623e1643fbb437eb94e", + "reference": "2d6b8f5601a31caeeea45623e1643fbb437eb94e", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0" + }, + "require-dev": { + "composer/composer": "^1.8", + "phpunit/phpunit": "^7.0" + }, + "type": "composer-plugin", + "extra": { + "class": "Kirby\\ComposerInstaller\\Plugin" + }, + "autoload": { + "psr-4": { + "Kirby\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Kirby's custom Composer installer for the Kirby CMS and for Kirby plugins", + "homepage": "https://getkirby.com", + "time": "2019-02-11T20:27:36+00:00" + }, + { + "name": "league/color-extractor", + "version": "0.3.2", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/color-extractor.git", + "reference": "837086ec60f50c84c611c613963e4ad2e2aec806" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/color-extractor/zipball/837086ec60f50c84c611c613963e4ad2e2aec806", + "reference": "837086ec60f50c84c611c613963e4ad2e2aec806", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "php": ">=5.4.0" + }, + "replace": { + "matthecat/colorextractor": "*" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2", + "phpunit/phpunit": "~5" + }, + "type": "library", + "autoload": { + "psr-4": { + "": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mathieu Lechat", + "role": "Developer", + "email": "math.lechat@gmail.com", + "homepage": "http://matthecat.com" + } + ], + "description": "Extract colors from an image as a human would do.", + "homepage": "https://github.com/thephpleague/color-extractor", + "keywords": [ + "color", + "extract", + "human", + "image", + "palette" + ], + "time": "2016-12-15T09:30:02+00:00" + }, + { + "name": "michelf/php-smartypants", + "version": "1.8.1", + "source": { + "type": "git", + "url": "https://github.com/michelf/php-smartypants.git", + "reference": "47d17c90a4dfd0ccf1f87e25c65e6c8012415aad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/michelf/php-smartypants/zipball/47d17c90a4dfd0ccf1f87e25c65e6c8012415aad", + "reference": "47d17c90a4dfd0ccf1f87e25c65e6c8012415aad", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Michelf": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Michel Fortin", + "role": "Developer", + "email": "michel.fortin@michelf.ca", + "homepage": "https://michelf.ca/" + }, + { + "name": "John Gruber", + "homepage": "https://daringfireball.net/" + } + ], + "description": "PHP SmartyPants", + "homepage": "https://michelf.ca/projects/php-smartypants/", + "keywords": [ + "dashes", + "quotes", + "spaces", + "typographer", + "typography" + ], + "time": "2016-12-13T01:01:17+00:00" + }, + { + "name": "mustangostang/spyc", + "version": "0.6.2", + "source": { + "type": "git", + "url": "https://github.com/mustangostang/spyc.git", + "reference": "23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mustangostang/spyc/zipball/23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d", + "reference": "23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d", + "shasum": "" + }, + "require": { + "php": ">=5.3.1" + }, + "require-dev": { + "phpunit/phpunit": "4.3.*@dev" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.5.x-dev" + } + }, + "autoload": { + "files": [ + "Spyc.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "mustangostang", + "email": "vlad.andersen@gmail.com" + } + ], + "description": "A simple YAML loader/dumper class for PHP", + "homepage": "https://github.com/mustangostang/spyc/", + "keywords": [ + "spyc", + "yaml", + "yml" + ], + "time": "2017-02-24T16:06:33+00:00" + }, + { + "name": "phpmailer/phpmailer", + "version": "v6.0.7", + "source": { + "type": "git", + "url": "https://github.com/PHPMailer/PHPMailer.git", + "reference": "0c41a36d4508d470e376498c1c0c527aa36a2d59" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/0c41a36d4508d470e376498c1c0c527aa36a2d59", + "reference": "0c41a36d4508d470e376498c1c0c527aa36a2d59", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-filter": "*", + "php": ">=5.5.0" + }, + "require-dev": { + "doctrine/annotations": "1.2.*", + "friendsofphp/php-cs-fixer": "^2.2", + "phpdocumentor/phpdocumentor": "2.*", + "phpunit/phpunit": "^4.8 || ^5.7", + "zendframework/zend-eventmanager": "3.0.*", + "zendframework/zend-i18n": "2.7.3", + "zendframework/zend-serializer": "2.7.*" + }, + "suggest": { + "ext-mbstring": "Needed to send email in multibyte encoding charset", + "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", + "league/oauth2-google": "Needed for Google XOAUTH2 authentication", + "psr/log": "For optional PSR-3 debug logging", + "stevenmaguire/oauth2-microsoft": "Needed for Microsoft XOAUTH2 authentication", + "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPMailer\\PHPMailer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1" + ], + "authors": [ + { + "name": "Jim Jagielski", + "email": "jimjag@gmail.com" + }, + { + "name": "Marcus Bointon", + "email": "phpmailer@synchromedia.co.uk" + }, + { + "name": "Andy Prevost", + "email": "codeworxtech@users.sourceforge.net" + }, + { + "name": "Brent R. Matzelle" + } + ], + "description": "PHPMailer is a full-featured email creation and transfer class for PHP", + "time": "2019-02-01T15:04:28+00:00" + }, + { + "name": "psr/log", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2018-11-20T15:27:04+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.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": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2019-08-06T08:03:45+00:00" + }, + { + "name": "true/punycode", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/true/php-punycode.git", + "reference": "a4d0c11a36dd7f4e7cd7096076cab6d3378a071e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/true/php-punycode/zipball/a4d0c11a36dd7f4e7cd7096076cab6d3378a071e", + "reference": "a4d0c11a36dd7f4e7cd7096076cab6d3378a071e", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "symfony/polyfill-mbstring": "^1.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.7", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "TrueBV\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Renan Gonçalves", + "email": "renan.saddam@gmail.com" + } + ], + "description": "A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)", + "homepage": "https://github.com/true/php-punycode", + "keywords": [ + "idna", + "punycode" + ], + "time": "2016-11-16T10:37:54+00:00" + }, + { + "name": "zendframework/zend-escaper", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-escaper.git", + "reference": "31d8aafae982f9568287cb4dce987e6aff8fd074" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/31d8aafae982f9568287cb4dce987e6aff8fd074", + "reference": "31d8aafae982f9568287cb4dce987e6aff8fd074", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6.x-dev", + "dev-develop": "2.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Escaper\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", + "keywords": [ + "ZendFramework", + "escaper", + "zf" + ], + "time": "2018-04-25T15:48:53+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=7.1.0" + }, + "platform-dev": [] +} diff --git a/content/error/error.txt b/content/error/error.txt new file mode 100644 index 0000000..3f050d6 --- /dev/null +++ b/content/error/error.txt @@ -0,0 +1,7 @@ +Title: oh no! 😕 + +---- + +Text: Sorry, something went wrong. + +(link: / text: Continue on the homepage?) diff --git a/content/home/1_do/codesignd.svg b/content/home/1_do/codesignd.svg new file mode 100644 index 0000000..a2b1835 --- /dev/null +++ b/content/home/1_do/codesignd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/home/1_do/kirby.svg b/content/home/1_do/kirby.svg new file mode 100644 index 0000000..1890ffc --- /dev/null +++ b/content/home/1_do/kirby.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/home/1_do/linklist.txt b/content/home/1_do/linklist.txt new file mode 100644 index 0000000..09870d2 --- /dev/null +++ b/content/home/1_do/linklist.txt @@ -0,0 +1,22 @@ +Title: what I do + +---- + +Featured: true + +---- + +Links: + +- + title: codesignd – code & design as a service + desc: freelance work + subtitle: + image: codesignd.svg + link: https://codesignd.com +- + title: Kirby CMS + desc: development & QA + subtitle: + image: kirby.svg + link: https://getkirby.com diff --git a/content/home/2_did/hvf.svg b/content/home/2_did/hvf.svg new file mode 100644 index 0000000..f0d5400 --- /dev/null +++ b/content/home/2_did/hvf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/home/2_did/linklist.txt b/content/home/2_did/linklist.txt new file mode 100644 index 0000000..4632567 --- /dev/null +++ b/content/home/2_did/linklist.txt @@ -0,0 +1,16 @@ +Title: what I did + +---- + +Featured: false + +---- + +Links: + +- + title: Hochschule für öffentliche Verwaltung und Finanzen Ludwigsburg – University of Applied Sciences + desc: interactive bachelor’s thesis + subtitle: 2019 + image: hvf.svg + link: https://bachelor.lukasbestle.com diff --git a/content/home/home.txt b/content/home/home.txt new file mode 100644 index 0000000..e69de29 diff --git a/content/legal/default.txt b/content/legal/default.txt new file mode 100644 index 0000000..5ae5871 --- /dev/null +++ b/content/legal/default.txt @@ -0,0 +1,33 @@ +Title: legal information + +---- + +Text: + +### Author + +**Lukas Bestle** +Seidenstr. 7 +72764 Reutlingen + +USt-IdNr.: DE 300 983 590 + +### Contact + +(qdated:) + +This email address is valid for one week, after which it expires. Emails to this address are received by me personally and are responded to as fast as possible. Together with my reply, you will get my permanently valid email address. + +This process protects the email address against automated spam. Thank you for your understanding. + +### Privacy + +Visiting this website temporarily stores the following information: + +- date and time of visit +- truncated IP address +- visited URL +- referrer (URL of the site you came from) +- version information of browser and operating system + +The data is stored on the author's server only. No data is circulated or combined with other data. All data is automatically deleted after four weeks. diff --git a/content/site.txt b/content/site.txt new file mode 100644 index 0000000..36b1e1f --- /dev/null +++ b/content/site.txt @@ -0,0 +1 @@ +Title: Lukas Bestle diff --git a/public/.htaccess b/public/.htaccess new file mode 100644 index 0000000..cc73b3c --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,62 @@ +# Kirby .htaccess + +# rewrite rules + + +# enable awesome urls. i.e.: +# http://yourdomain.com/about-us/team +RewriteEngine on + +# make sure to set the RewriteBase correctly +# if you are running the site in a subfolder. +# Otherwise links or the entire site will break. +# +# If your homepage is http://yourdomain.com/mysite +# Set the RewriteBase to: +# +# RewriteBase /mysite + +# In some environments it's necessary to +# set the RewriteBase to: +# +RewriteBase / + +# Rewrite OpenID clients to YADIS file +RewriteCond %{HTTP_ACCEPT} ^application/xrds\+xml [NC] +RewriteRule ^$ /yadis.xml [PT] + +# block files and folders beginning with a dot, such as .git +# except for the .well-known folder, which is used for Let's Encrypt and security.txt +RewriteRule (^|/)\.(?!well-known\/) index.php [L] + +# block text files in the content folder from being accessed directly +RewriteRule ^content/(.*)\.(txt|md|mdown)$ index.php [L] + +# block all files in the site folder from being accessed directly +# except for requests to plugin assets files +RewriteRule ^site/(.*) index.php [L] + +# Enable authentication header +SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 + +# block direct access to kirby and the panel sources +RewriteRule ^kirby/(.*) index.php [L] + +# make site links work +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteRule ^(.*) index.php [L] + + + +# compress text file responses + +AddOutputFilterByType DEFLATE text/plain +AddOutputFilterByType DEFLATE text/html +AddOutputFilterByType DEFLATE text/css +AddOutputFilterByType DEFLATE text/javascript +AddOutputFilterByType DEFLATE application/json +AddOutputFilterByType DEFLATE application/javascript +AddOutputFilterByType DEFLATE application/x-javascript +AddOutputFilterByType DEFLATE image/svg+xml + diff --git a/public/assets/logo.sketch b/public/assets/logo.sketch new file mode 100644 index 0000000000000000000000000000000000000000..4942de3fd0207b52051688f1d8eb88903557dbff GIT binary patch literal 43595 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 z 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 literal 0 HcmV?d00001 diff --git a/public/assets/logo.svg b/public/assets/logo.svg new file mode 100644 index 0000000..a369d2c --- /dev/null +++ b/public/assets/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/styles.css b/public/assets/styles.css new file mode 100644 index 0000000..e3c6539 --- /dev/null +++ b/public/assets/styles.css @@ -0,0 +1,279 @@ +/* Reset */ +html { + box-sizing: border-box; +} + +*, *::before, *::after { + margin: 0; + padding: 0; + + box-sizing: inherit; + + text-decoration: none; + list-style: none; + border: none; +} + +/* General Typography */ +:root { + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + font-size: 18px; + line-height: 1.4; +} + +h2 { + font-size: 1.6rem; + font-weight: 500; + text-align: center; + + margin-top: 3rem; + margin-bottom: 1.5rem; +} +h2:before, h2:after { + content: ""; + + height: 2px; + width: 10%; + max-width: 2em; + background: #ddd; + display: inline-block; + vertical-align: middle; +} +h2:before { + margin-right: 0.5rem; +} +h2:after { + margin-left: 0.5rem; +} + +a { + color: #043788 !important; +} + +article h3 { + font-size: 1.3rem; + margin-bottom: 0.8rem; +} + +article p, article ul { + margin-bottom: 1rem; +} + +article ul { + margin-left: 1.2rem; +} +article li { + list-style: square; +} + +.article--error { + text-align: center; +} + +/* Container styling */ +html { + height: 100%; +} + +body { + max-width: 45rem; + margin: 0 auto; + padding: 4rem 4rem 2rem; + + display: flex; + min-height: 100vh; + flex-direction: column; +} + +main { + flex: 1 0 0; /* Fill all available vertical space */ +} + +/* Header */ +.header { + display: flex; + justify-content: space-between; +} + +.header__logo { + width: 13rem; + max-width: 100%; + + margin-right: 1rem; +} +.header__logo img { + display: block; + filter: drop-shadow(0 0 3px #bbb); +} + +.header__aside { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: flex-end; +} + +.header__aside span { + font-weight: 600; + font-size: 1.5rem; + text-align: right; + + margin-bottom: 1rem; +} + +.header__links { + display: flex; +} +.header__links a { + display: block; + width: 2rem; + height: 2rem; +} +.header__links a:not(:first-child) { + margin-left: 0.8rem; +} + +/* Main content */ +.linklist { + display: -ms-grid; + display: grid; + -ms-grid-columns: 1fr 3rem 1fr 3rem 1fr; + grid-template-columns: 1fr 1fr 1fr; + grid-auto-flow: row; + + justify-items: center; + grid-gap: 3rem; +} +.linklist--featured { + -ms-grid-columns: 1fr 1fr; + grid-template-columns: 1fr 1fr; +} + +.linklist li { + text-align: center; + font-weight: 500; + font-size: 1.1rem; +} + +.linklist small { + display: block; + font-weight: normal; + font-size: 0.9rem; + margin-top: 0.2rem; +} + +.linklist img { + width: 100%; + height: 4rem; + + display: block; + margin: 0 auto; + margin-bottom: 0.8rem; + + transition: transform ease 0.1s; +} +.linklist a:hover img, .linklist a:focus img { + transform: scale(1.05); +} + +/* Footer */ +footer { + margin-top: 3rem; + + text-align: center; + font-size: 0.9rem; +} + +/* Media queries */ +@media (max-width: 600px) { + body { + padding: 2rem 2rem 1rem; + } +} + +@media (max-width: 500px) { + .header { + flex-direction: column; + } + + .header__aside { + margin-top: 1.5rem; + flex-direction: row; + align-items: flex-start; + } + + .header__aside span { + text-align: left; + + margin-bottom: 0; + margin-right: 2rem; + } +} + +@media (max-width: 420px) { + .linklist { + -ms-grid-columns: 1fr; + grid-template-columns: 1fr; + grid-gap: 2rem; + } +} + +@media (max-width: 380px) { + .header__aside { + flex-direction: column; + } + + .header__aside span { + margin-right: 0; + margin-bottom: 0.5rem; + } +} + +@media (max-width: 350px) { + h2:before, h2:after { + content: initial; + } +} + +/* Grid auto-placement polyfill for IE11 */ +.linklist li:nth-child(2) { + -ms-grid-row: 1; + -ms-grid-column: 2; +} +.linklist li:nth-child(3) { + -ms-grid-row: 1; + -ms-grid-column: 3; +} +.linklist li:nth-child(4) { + -ms-grid-row: 2; + -ms-grid-column: 1; +} +.linklist li:nth-child(5) { + -ms-grid-row: 2; + -ms-grid-column: 2; +} +.linklist li:nth-child(6) { + -ms-grid-row: 2; + -ms-grid-column: 3; +} + +.linklist--featured li:nth-child(2) { + -ms-grid-row: 1; + -ms-grid-column: 2; +} +.linklist--featured li:nth-child(3) { + -ms-grid-row: 2; + -ms-grid-column: 1; +} +.linklist--featured li:nth-child(4) { + -ms-grid-row: 2; + -ms-grid-column: 2; +} +.linklist--featured li:nth-child(5) { + -ms-grid-row: 3; + -ms-grid-column: 1; +} +.linklist--featured li:nth-child(6) { + -ms-grid-row: 3; + -ms-grid-column: 2; +} diff --git a/public/index.php b/public/index.php new file mode 100644 index 0000000..4212a24 --- /dev/null +++ b/public/index.php @@ -0,0 +1,15 @@ + [ + 'index' => $index, + 'assets' => __DIR__ . '/assets', + 'media' => __DIR__ . '/media' + ] +]); + +echo $kirby->render(); diff --git a/public/media/index.html b/public/media/index.html new file mode 100644 index 0000000..e69de29 diff --git a/public/pgp.asc b/public/pgp.asc new file mode 100644 index 0000000..242dd42 --- /dev/null +++ b/public/pgp.asc @@ -0,0 +1,298 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +0rkW0xLAQiVeN+M2gyMJgUhr/d8BWK+ls28= +=qAnb +-----END PGP PUBLIC KEY BLOCK----- diff --git a/public/yadis.xml b/public/yadis.xml new file mode 100644 index 0000000..b845027 --- /dev/null +++ b/public/yadis.xml @@ -0,0 +1,15 @@ + + + + + http://specs.openid.net/auth/2.0/signon + https://id.lukasbestle.com/ + http://lukasbestle.com/ + + + http://openid.net/signon/1.0 + https://id.lukasbestle.com/ + http://lukasbestle.com/ + + + diff --git a/site/config/config.php b/site/config/config.php new file mode 100644 index 0000000..ca5d8ed --- /dev/null +++ b/site/config/config.php @@ -0,0 +1,5 @@ + [ + 'qdated' => [ + 'html' => function($tag) { + $qdated = qdated(); + return '' . $qdated . ''; + } + ] + ] +]); + +/** + * Returns the current qdated address + * If qdated is not available, returns null + * + * @return string + */ +function qdated() { + $path = $_SERVER['HOME'] . DS . '.qdated-current'; + if(!is_file($path)) return null; + + return 'dated-' . trim(F::read($path)) . '@' . Url::host(); +} diff --git a/site/snippets/footer.php b/site/snippets/footer.php new file mode 100644 index 0000000..2e6994b --- /dev/null +++ b/site/snippets/footer.php @@ -0,0 +1,7 @@ + is('legal')): ?> + + + + diff --git a/site/snippets/header.php b/site/snippets/header.php new file mode 100644 index 0000000..e40e551 --- /dev/null +++ b/site/snippets/header.php @@ -0,0 +1,36 @@ + + + + + + + + <?= $site->title() ?><?php if(!$page->is('home')): ?> ~ <?= $page->title() ?><?php endif ?> + + is('home')): ?> + + + + + + + +
+

+ is('home')): ?> + lukas bestle + + lukas bestle + +

+ + +
diff --git a/site/templates/default.php b/site/templates/default.php new file mode 100644 index 0000000..a7e9858 --- /dev/null +++ b/site/templates/default.php @@ -0,0 +1,10 @@ + + +
+
+

title() ?>

+ text()->kirbytext() ?> +
+
+ + diff --git a/site/templates/error.php b/site/templates/error.php new file mode 100644 index 0000000..32b3e96 --- /dev/null +++ b/site/templates/error.php @@ -0,0 +1,10 @@ + + +
+
+

title() ?>

+ text()->kirbytext() ?> +
+
+ + diff --git a/site/templates/home.php b/site/templates/home.php new file mode 100644 index 0000000..70c8373 --- /dev/null +++ b/site/templates/home.php @@ -0,0 +1,23 @@ + + +
+ children() as $list): ?> +

title() ?>

+ + +
+ + diff --git a/site/templates/linklist.php b/site/templates/linklist.php new file mode 100644 index 0000000..db0a54b --- /dev/null +++ b/site/templates/linklist.php @@ -0,0 +1,3 @@ +parent());