From c63f611e1b0f99c0768b2a20f98bf056543a513d Mon Sep 17 00:00:00 2001 From: Stefan Sterz Date: Fri, 25 Jan 2019 13:45:36 +0100 Subject: [PATCH] update to kirby 3 --- .gitignore | 3 +- .gitmodules | 6 -- .htaccess | 85 +++++++++++------- LICENSE | 0 README.md | 4 +- assets/avatars/sterzy.png | Bin 33577 -> 0 bytes assets/css/main.css | 0 assets/css/mobile.css | 0 assets/css/prism.css | 0 assets/fonts/Montserrat-Regular.ttf | Bin assets/img/bg.jpg | Bin assets/img/icons/LogoPerfektdursichtigPNG.png | Bin .../apple-touch-icon-114x114-precomposed.png | Bin assets/img/icons/favicon.ico | Bin assets/img/icons/favicon.png | Bin assets/img/icons/logo.svg | 0 assets/img/icons/logo100.png | Bin assets/img/icons/logo200.png | Bin assets/img/notes.jpg | Bin assets/img/projects.png | Bin assets/js/components/prism-abap.js | 0 assets/js/components/prism-abap.min.js | 0 assets/js/components/prism-actionscript.js | 0 .../js/components/prism-actionscript.min.js | 0 assets/js/components/prism-ada.js | 0 assets/js/components/prism-ada.min.js | 0 assets/js/components/prism-apacheconf.js | 0 assets/js/components/prism-apacheconf.min.js | 0 assets/js/components/prism-apl.js | 0 assets/js/components/prism-apl.min.js | 0 assets/js/components/prism-applescript.js | 0 assets/js/components/prism-applescript.min.js | 0 assets/js/components/prism-asciidoc.js | 0 assets/js/components/prism-asciidoc.min.js | 0 assets/js/components/prism-aspnet.js | 0 assets/js/components/prism-aspnet.min.js | 0 assets/js/components/prism-autohotkey.js | 0 assets/js/components/prism-autohotkey.min.js | 0 assets/js/components/prism-autoit.js | 0 assets/js/components/prism-autoit.min.js | 0 assets/js/components/prism-bash.js | 0 assets/js/components/prism-bash.min.js | 0 assets/js/components/prism-basic.js | 0 assets/js/components/prism-basic.min.js | 0 assets/js/components/prism-batch.js | 0 assets/js/components/prism-batch.min.js | 0 assets/js/components/prism-bison.js | 0 assets/js/components/prism-bison.min.js | 0 assets/js/components/prism-brainfuck.js | 0 assets/js/components/prism-brainfuck.min.js | 0 assets/js/components/prism-bro.js | 0 assets/js/components/prism-bro.min.js | 0 assets/js/components/prism-c.js | 0 assets/js/components/prism-c.min.js | 0 assets/js/components/prism-clike.js | 0 assets/js/components/prism-clike.min.js | 0 assets/js/components/prism-coffeescript.js | 0 .../js/components/prism-coffeescript.min.js | 0 assets/js/components/prism-cpp.js | 0 assets/js/components/prism-cpp.min.js | 0 assets/js/components/prism-crystal.js | 0 assets/js/components/prism-crystal.min.js | 0 assets/js/components/prism-csharp.js | 0 assets/js/components/prism-csharp.min.js | 0 assets/js/components/prism-css-extras.js | 0 assets/js/components/prism-css-extras.min.js | 0 assets/js/components/prism-css.js | 0 assets/js/components/prism-css.min.js | 0 assets/js/components/prism-d.js | 0 assets/js/components/prism-d.min.js | 0 assets/js/components/prism-dart.js | 0 assets/js/components/prism-dart.min.js | 0 assets/js/components/prism-diff.js | 0 assets/js/components/prism-diff.min.js | 0 assets/js/components/prism-django.js | 0 assets/js/components/prism-django.min.js | 0 assets/js/components/prism-docker.js | 0 assets/js/components/prism-docker.min.js | 0 assets/js/components/prism-eiffel.js | 0 assets/js/components/prism-eiffel.min.js | 0 assets/js/components/prism-elixir.js | 0 assets/js/components/prism-elixir.min.js | 0 assets/js/components/prism-erlang.js | 0 assets/js/components/prism-erlang.min.js | 0 assets/js/components/prism-fortran.js | 0 assets/js/components/prism-fortran.min.js | 0 assets/js/components/prism-fsharp.js | 0 assets/js/components/prism-fsharp.min.js | 0 assets/js/components/prism-gherkin.js | 0 assets/js/components/prism-gherkin.min.js | 0 assets/js/components/prism-git.js | 0 assets/js/components/prism-git.min.js | 0 assets/js/components/prism-glsl.js | 0 assets/js/components/prism-glsl.min.js | 0 assets/js/components/prism-go.js | 0 assets/js/components/prism-go.min.js | 0 assets/js/components/prism-graphql.js | 0 assets/js/components/prism-graphql.min.js | 0 assets/js/components/prism-groovy.js | 0 assets/js/components/prism-groovy.min.js | 0 assets/js/components/prism-haml.js | 0 assets/js/components/prism-haml.min.js | 0 assets/js/components/prism-handlebars.js | 0 assets/js/components/prism-handlebars.min.js | 0 assets/js/components/prism-haskell.js | 0 assets/js/components/prism-haskell.min.js | 0 assets/js/components/prism-haxe.js | 0 assets/js/components/prism-haxe.min.js | 0 assets/js/components/prism-http.js | 0 assets/js/components/prism-http.min.js | 0 assets/js/components/prism-icon.js | 0 assets/js/components/prism-icon.min.js | 0 assets/js/components/prism-inform7.js | 0 assets/js/components/prism-inform7.min.js | 0 assets/js/components/prism-ini.js | 0 assets/js/components/prism-ini.min.js | 0 assets/js/components/prism-j.js | 0 assets/js/components/prism-j.min.js | 0 assets/js/components/prism-jade.js | 0 assets/js/components/prism-jade.min.js | 0 assets/js/components/prism-java.js | 0 assets/js/components/prism-java.min.js | 0 assets/js/components/prism-javascript.js | 0 assets/js/components/prism-javascript.min.js | 0 assets/js/components/prism-jolie.js | 0 assets/js/components/prism-jolie.min.js | 0 assets/js/components/prism-json.js | 0 assets/js/components/prism-json.min.js | 0 assets/js/components/prism-jsx.js | 0 assets/js/components/prism-jsx.min.js | 0 assets/js/components/prism-julia.js | 0 assets/js/components/prism-julia.min.js | 0 assets/js/components/prism-keyman.js | 0 assets/js/components/prism-keyman.min.js | 0 assets/js/components/prism-kotlin.js | 0 assets/js/components/prism-kotlin.min.js | 0 assets/js/components/prism-latex.js | 0 assets/js/components/prism-latex.min.js | 0 assets/js/components/prism-less.js | 0 assets/js/components/prism-less.min.js | 0 assets/js/components/prism-livescript.js | 0 assets/js/components/prism-livescript.min.js | 0 assets/js/components/prism-lolcode.js | 0 assets/js/components/prism-lolcode.min.js | 0 assets/js/components/prism-lua.js | 0 assets/js/components/prism-lua.min.js | 0 assets/js/components/prism-makefile.js | 0 assets/js/components/prism-makefile.min.js | 0 assets/js/components/prism-markdown.js | 0 assets/js/components/prism-markdown.min.js | 0 assets/js/components/prism-markup.js | 0 assets/js/components/prism-markup.min.js | 0 assets/js/components/prism-matlab.js | 0 assets/js/components/prism-matlab.min.js | 0 assets/js/components/prism-mel.js | 0 assets/js/components/prism-mel.min.js | 0 assets/js/components/prism-mizar.js | 0 assets/js/components/prism-mizar.min.js | 0 assets/js/components/prism-monkey.js | 0 assets/js/components/prism-monkey.min.js | 0 assets/js/components/prism-nasm.js | 0 assets/js/components/prism-nasm.min.js | 0 assets/js/components/prism-nginx.js | 0 assets/js/components/prism-nginx.min.js | 0 assets/js/components/prism-nim.js | 0 assets/js/components/prism-nim.min.js | 0 assets/js/components/prism-nix.js | 0 assets/js/components/prism-nix.min.js | 0 assets/js/components/prism-nsis.js | 0 assets/js/components/prism-nsis.min.js | 0 assets/js/components/prism-objectivec.js | 0 assets/js/components/prism-objectivec.min.js | 0 assets/js/components/prism-ocaml.js | 0 assets/js/components/prism-ocaml.min.js | 0 assets/js/components/prism-oz.js | 0 assets/js/components/prism-oz.min.js | 0 assets/js/components/prism-parigp.js | 0 assets/js/components/prism-parigp.min.js | 0 assets/js/components/prism-parser.js | 0 assets/js/components/prism-parser.min.js | 0 assets/js/components/prism-pascal.js | 0 assets/js/components/prism-pascal.min.js | 0 assets/js/components/prism-perl.js | 0 assets/js/components/prism-perl.min.js | 0 assets/js/components/prism-php-extras.js | 0 assets/js/components/prism-php-extras.min.js | 0 assets/js/components/prism-php.js | 0 assets/js/components/prism-php.min.js | 0 assets/js/components/prism-powershell.js | 0 assets/js/components/prism-powershell.min.js | 0 assets/js/components/prism-processing.js | 0 assets/js/components/prism-processing.min.js | 0 assets/js/components/prism-prolog.js | 0 assets/js/components/prism-prolog.min.js | 0 assets/js/components/prism-properties.js | 0 assets/js/components/prism-properties.min.js | 0 assets/js/components/prism-protobuf.js | 0 assets/js/components/prism-protobuf.min.js | 0 assets/js/components/prism-puppet.js | 0 assets/js/components/prism-puppet.min.js | 0 assets/js/components/prism-pure.js | 0 assets/js/components/prism-pure.min.js | 0 assets/js/components/prism-python.js | 0 assets/js/components/prism-python.min.js | 0 assets/js/components/prism-q.js | 0 assets/js/components/prism-q.min.js | 0 assets/js/components/prism-qore.js | 0 assets/js/components/prism-qore.min.js | 0 assets/js/components/prism-r.js | 0 assets/js/components/prism-r.min.js | 0 assets/js/components/prism-reason.js | 0 assets/js/components/prism-reason.min.js | 0 assets/js/components/prism-rest.js | 0 assets/js/components/prism-rest.min.js | 0 assets/js/components/prism-rip.js | 0 assets/js/components/prism-rip.min.js | 0 assets/js/components/prism-roboconf.js | 0 assets/js/components/prism-roboconf.min.js | 0 assets/js/components/prism-ruby.js | 0 assets/js/components/prism-ruby.min.js | 0 assets/js/components/prism-rust.js | 0 assets/js/components/prism-rust.min.js | 0 assets/js/components/prism-sas.js | 0 assets/js/components/prism-sas.min.js | 0 assets/js/components/prism-sass.js | 0 assets/js/components/prism-sass.min.js | 0 assets/js/components/prism-scala.js | 0 assets/js/components/prism-scala.min.js | 0 assets/js/components/prism-scheme.js | 0 assets/js/components/prism-scheme.min.js | 0 assets/js/components/prism-scss.js | 0 assets/js/components/prism-scss.min.js | 0 assets/js/components/prism-smalltalk.js | 0 assets/js/components/prism-smalltalk.min.js | 0 assets/js/components/prism-smarty.js | 0 assets/js/components/prism-smarty.min.js | 0 assets/js/components/prism-sql.js | 0 assets/js/components/prism-sql.min.js | 0 assets/js/components/prism-stylus.js | 0 assets/js/components/prism-stylus.min.js | 0 assets/js/components/prism-swift.js | 0 assets/js/components/prism-swift.min.js | 0 assets/js/components/prism-tcl.js | 0 assets/js/components/prism-tcl.min.js | 0 assets/js/components/prism-textile.js | 0 assets/js/components/prism-textile.min.js | 0 assets/js/components/prism-twig.js | 0 assets/js/components/prism-twig.min.js | 0 assets/js/components/prism-typescript.js | 0 assets/js/components/prism-typescript.min.js | 0 assets/js/components/prism-vbnet.js | 0 assets/js/components/prism-vbnet.min.js | 0 assets/js/components/prism-verilog.js | 0 assets/js/components/prism-verilog.min.js | 0 assets/js/components/prism-vhdl.js | 0 assets/js/components/prism-vhdl.min.js | 0 assets/js/components/prism-vim.js | 0 assets/js/components/prism-vim.min.js | 0 assets/js/components/prism-wiki.js | 0 assets/js/components/prism-wiki.min.js | 0 assets/js/components/prism-xojo.js | 0 assets/js/components/prism-xojo.min.js | 0 assets/js/components/prism-yaml.js | 0 assets/js/components/prism-yaml.min.js | 0 assets/js/prism.js | 0 index.php | 15 +--- kirby | 2 +- panel | 1 - site/blueprints/default.yml | 10 --- site/blueprints/files/default.yml | 6 ++ site/blueprints/note.yml | 18 ---- site/blueprints/notes.yml | 12 --- site/blueprints/pages/default.yml | 18 ++++ site/blueprints/{ => pages}/error.yml | 6 +- site/blueprints/{ => pages}/home.yml | 3 +- site/blueprints/pages/note.yml | 39 ++++++++ site/blueprints/pages/notes.yml | 34 +++++++ site/blueprints/pages/projects.yml | 21 +++++ site/blueprints/projects.yml | 17 ---- site/blueprints/sections/notes.yml | 8 ++ site/blueprints/site.yml | 65 ++++++++------ site/cache/index.html | 0 site/fields/markdown | 1 - site/plugins/feed/feed.php | 58 ------------ site/plugins/feed/readme.md | 29 ------ site/plugins/feed/template.php | 26 ------ site/snippets/header.php | 1 - site/templates/feed.php | 9 -- site/templates/notes.php | 1 - 289 files changed, 228 insertions(+), 270 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 .gitmodules mode change 100644 => 100755 .htaccess mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README.md delete mode 100644 assets/avatars/sterzy.png mode change 100644 => 100755 assets/css/main.css mode change 100644 => 100755 assets/css/mobile.css mode change 100644 => 100755 assets/css/prism.css mode change 100644 => 100755 assets/fonts/Montserrat-Regular.ttf mode change 100644 => 100755 assets/img/bg.jpg mode change 100644 => 100755 assets/img/icons/LogoPerfektdursichtigPNG.png mode change 100644 => 100755 assets/img/icons/apple-touch-icon-114x114-precomposed.png mode change 100644 => 100755 assets/img/icons/favicon.ico mode change 100644 => 100755 assets/img/icons/favicon.png mode change 100644 => 100755 assets/img/icons/logo.svg mode change 100644 => 100755 assets/img/icons/logo100.png mode change 100644 => 100755 assets/img/icons/logo200.png mode change 100644 => 100755 assets/img/notes.jpg mode change 100644 => 100755 assets/img/projects.png mode change 100644 => 100755 assets/js/components/prism-abap.js mode change 100644 => 100755 assets/js/components/prism-abap.min.js mode change 100644 => 100755 assets/js/components/prism-actionscript.js mode change 100644 => 100755 assets/js/components/prism-actionscript.min.js mode change 100644 => 100755 assets/js/components/prism-ada.js mode change 100644 => 100755 assets/js/components/prism-ada.min.js mode change 100644 => 100755 assets/js/components/prism-apacheconf.js mode change 100644 => 100755 assets/js/components/prism-apacheconf.min.js mode change 100644 => 100755 assets/js/components/prism-apl.js mode change 100644 => 100755 assets/js/components/prism-apl.min.js mode change 100644 => 100755 assets/js/components/prism-applescript.js mode change 100644 => 100755 assets/js/components/prism-applescript.min.js mode change 100644 => 100755 assets/js/components/prism-asciidoc.js mode change 100644 => 100755 assets/js/components/prism-asciidoc.min.js mode change 100644 => 100755 assets/js/components/prism-aspnet.js mode change 100644 => 100755 assets/js/components/prism-aspnet.min.js mode change 100644 => 100755 assets/js/components/prism-autohotkey.js mode change 100644 => 100755 assets/js/components/prism-autohotkey.min.js mode change 100644 => 100755 assets/js/components/prism-autoit.js mode change 100644 => 100755 assets/js/components/prism-autoit.min.js mode change 100644 => 100755 assets/js/components/prism-bash.js mode change 100644 => 100755 assets/js/components/prism-bash.min.js mode change 100644 => 100755 assets/js/components/prism-basic.js mode change 100644 => 100755 assets/js/components/prism-basic.min.js mode change 100644 => 100755 assets/js/components/prism-batch.js mode change 100644 => 100755 assets/js/components/prism-batch.min.js mode change 100644 => 100755 assets/js/components/prism-bison.js mode change 100644 => 100755 assets/js/components/prism-bison.min.js mode change 100644 => 100755 assets/js/components/prism-brainfuck.js mode change 100644 => 100755 assets/js/components/prism-brainfuck.min.js mode change 100644 => 100755 assets/js/components/prism-bro.js mode change 100644 => 100755 assets/js/components/prism-bro.min.js mode change 100644 => 100755 assets/js/components/prism-c.js mode change 100644 => 100755 assets/js/components/prism-c.min.js mode change 100644 => 100755 assets/js/components/prism-clike.js mode change 100644 => 100755 assets/js/components/prism-clike.min.js mode change 100644 => 100755 assets/js/components/prism-coffeescript.js mode change 100644 => 100755 assets/js/components/prism-coffeescript.min.js mode change 100644 => 100755 assets/js/components/prism-cpp.js mode change 100644 => 100755 assets/js/components/prism-cpp.min.js mode change 100644 => 100755 assets/js/components/prism-crystal.js mode change 100644 => 100755 assets/js/components/prism-crystal.min.js mode change 100644 => 100755 assets/js/components/prism-csharp.js mode change 100644 => 100755 assets/js/components/prism-csharp.min.js mode change 100644 => 100755 assets/js/components/prism-css-extras.js mode change 100644 => 100755 assets/js/components/prism-css-extras.min.js mode change 100644 => 100755 assets/js/components/prism-css.js mode change 100644 => 100755 assets/js/components/prism-css.min.js mode change 100644 => 100755 assets/js/components/prism-d.js mode change 100644 => 100755 assets/js/components/prism-d.min.js mode change 100644 => 100755 assets/js/components/prism-dart.js mode change 100644 => 100755 assets/js/components/prism-dart.min.js mode change 100644 => 100755 assets/js/components/prism-diff.js mode change 100644 => 100755 assets/js/components/prism-diff.min.js mode change 100644 => 100755 assets/js/components/prism-django.js mode change 100644 => 100755 assets/js/components/prism-django.min.js mode change 100644 => 100755 assets/js/components/prism-docker.js mode change 100644 => 100755 assets/js/components/prism-docker.min.js mode change 100644 => 100755 assets/js/components/prism-eiffel.js mode change 100644 => 100755 assets/js/components/prism-eiffel.min.js mode change 100644 => 100755 assets/js/components/prism-elixir.js mode change 100644 => 100755 assets/js/components/prism-elixir.min.js mode change 100644 => 100755 assets/js/components/prism-erlang.js mode change 100644 => 100755 assets/js/components/prism-erlang.min.js mode change 100644 => 100755 assets/js/components/prism-fortran.js mode change 100644 => 100755 assets/js/components/prism-fortran.min.js mode change 100644 => 100755 assets/js/components/prism-fsharp.js mode change 100644 => 100755 assets/js/components/prism-fsharp.min.js mode change 100644 => 100755 assets/js/components/prism-gherkin.js mode change 100644 => 100755 assets/js/components/prism-gherkin.min.js mode change 100644 => 100755 assets/js/components/prism-git.js mode change 100644 => 100755 assets/js/components/prism-git.min.js mode change 100644 => 100755 assets/js/components/prism-glsl.js mode change 100644 => 100755 assets/js/components/prism-glsl.min.js mode change 100644 => 100755 assets/js/components/prism-go.js mode change 100644 => 100755 assets/js/components/prism-go.min.js mode change 100644 => 100755 assets/js/components/prism-graphql.js mode change 100644 => 100755 assets/js/components/prism-graphql.min.js mode change 100644 => 100755 assets/js/components/prism-groovy.js mode change 100644 => 100755 assets/js/components/prism-groovy.min.js mode change 100644 => 100755 assets/js/components/prism-haml.js mode change 100644 => 100755 assets/js/components/prism-haml.min.js mode change 100644 => 100755 assets/js/components/prism-handlebars.js mode change 100644 => 100755 assets/js/components/prism-handlebars.min.js mode change 100644 => 100755 assets/js/components/prism-haskell.js mode change 100644 => 100755 assets/js/components/prism-haskell.min.js mode change 100644 => 100755 assets/js/components/prism-haxe.js mode change 100644 => 100755 assets/js/components/prism-haxe.min.js mode change 100644 => 100755 assets/js/components/prism-http.js mode change 100644 => 100755 assets/js/components/prism-http.min.js mode change 100644 => 100755 assets/js/components/prism-icon.js mode change 100644 => 100755 assets/js/components/prism-icon.min.js mode change 100644 => 100755 assets/js/components/prism-inform7.js mode change 100644 => 100755 assets/js/components/prism-inform7.min.js mode change 100644 => 100755 assets/js/components/prism-ini.js mode change 100644 => 100755 assets/js/components/prism-ini.min.js mode change 100644 => 100755 assets/js/components/prism-j.js mode change 100644 => 100755 assets/js/components/prism-j.min.js mode change 100644 => 100755 assets/js/components/prism-jade.js mode change 100644 => 100755 assets/js/components/prism-jade.min.js mode change 100644 => 100755 assets/js/components/prism-java.js mode change 100644 => 100755 assets/js/components/prism-java.min.js mode change 100644 => 100755 assets/js/components/prism-javascript.js mode change 100644 => 100755 assets/js/components/prism-javascript.min.js mode change 100644 => 100755 assets/js/components/prism-jolie.js mode change 100644 => 100755 assets/js/components/prism-jolie.min.js mode change 100644 => 100755 assets/js/components/prism-json.js mode change 100644 => 100755 assets/js/components/prism-json.min.js mode change 100644 => 100755 assets/js/components/prism-jsx.js mode change 100644 => 100755 assets/js/components/prism-jsx.min.js mode change 100644 => 100755 assets/js/components/prism-julia.js mode change 100644 => 100755 assets/js/components/prism-julia.min.js mode change 100644 => 100755 assets/js/components/prism-keyman.js mode change 100644 => 100755 assets/js/components/prism-keyman.min.js mode change 100644 => 100755 assets/js/components/prism-kotlin.js mode change 100644 => 100755 assets/js/components/prism-kotlin.min.js mode change 100644 => 100755 assets/js/components/prism-latex.js mode change 100644 => 100755 assets/js/components/prism-latex.min.js mode change 100644 => 100755 assets/js/components/prism-less.js mode change 100644 => 100755 assets/js/components/prism-less.min.js mode change 100644 => 100755 assets/js/components/prism-livescript.js mode change 100644 => 100755 assets/js/components/prism-livescript.min.js mode change 100644 => 100755 assets/js/components/prism-lolcode.js mode change 100644 => 100755 assets/js/components/prism-lolcode.min.js mode change 100644 => 100755 assets/js/components/prism-lua.js mode change 100644 => 100755 assets/js/components/prism-lua.min.js mode change 100644 => 100755 assets/js/components/prism-makefile.js mode change 100644 => 100755 assets/js/components/prism-makefile.min.js mode change 100644 => 100755 assets/js/components/prism-markdown.js mode change 100644 => 100755 assets/js/components/prism-markdown.min.js mode change 100644 => 100755 assets/js/components/prism-markup.js mode change 100644 => 100755 assets/js/components/prism-markup.min.js mode change 100644 => 100755 assets/js/components/prism-matlab.js mode change 100644 => 100755 assets/js/components/prism-matlab.min.js mode change 100644 => 100755 assets/js/components/prism-mel.js mode change 100644 => 100755 assets/js/components/prism-mel.min.js mode change 100644 => 100755 assets/js/components/prism-mizar.js mode change 100644 => 100755 assets/js/components/prism-mizar.min.js mode change 100644 => 100755 assets/js/components/prism-monkey.js mode change 100644 => 100755 assets/js/components/prism-monkey.min.js mode change 100644 => 100755 assets/js/components/prism-nasm.js mode change 100644 => 100755 assets/js/components/prism-nasm.min.js mode change 100644 => 100755 assets/js/components/prism-nginx.js mode change 100644 => 100755 assets/js/components/prism-nginx.min.js mode change 100644 => 100755 assets/js/components/prism-nim.js mode change 100644 => 100755 assets/js/components/prism-nim.min.js mode change 100644 => 100755 assets/js/components/prism-nix.js mode change 100644 => 100755 assets/js/components/prism-nix.min.js mode change 100644 => 100755 assets/js/components/prism-nsis.js mode change 100644 => 100755 assets/js/components/prism-nsis.min.js mode change 100644 => 100755 assets/js/components/prism-objectivec.js mode change 100644 => 100755 assets/js/components/prism-objectivec.min.js mode change 100644 => 100755 assets/js/components/prism-ocaml.js mode change 100644 => 100755 assets/js/components/prism-ocaml.min.js mode change 100644 => 100755 assets/js/components/prism-oz.js mode change 100644 => 100755 assets/js/components/prism-oz.min.js mode change 100644 => 100755 assets/js/components/prism-parigp.js mode change 100644 => 100755 assets/js/components/prism-parigp.min.js mode change 100644 => 100755 assets/js/components/prism-parser.js mode change 100644 => 100755 assets/js/components/prism-parser.min.js mode change 100644 => 100755 assets/js/components/prism-pascal.js mode change 100644 => 100755 assets/js/components/prism-pascal.min.js mode change 100644 => 100755 assets/js/components/prism-perl.js mode change 100644 => 100755 assets/js/components/prism-perl.min.js mode change 100644 => 100755 assets/js/components/prism-php-extras.js mode change 100644 => 100755 assets/js/components/prism-php-extras.min.js mode change 100644 => 100755 assets/js/components/prism-php.js mode change 100644 => 100755 assets/js/components/prism-php.min.js mode change 100644 => 100755 assets/js/components/prism-powershell.js mode change 100644 => 100755 assets/js/components/prism-powershell.min.js mode change 100644 => 100755 assets/js/components/prism-processing.js mode change 100644 => 100755 assets/js/components/prism-processing.min.js mode change 100644 => 100755 assets/js/components/prism-prolog.js mode change 100644 => 100755 assets/js/components/prism-prolog.min.js mode change 100644 => 100755 assets/js/components/prism-properties.js mode change 100644 => 100755 assets/js/components/prism-properties.min.js mode change 100644 => 100755 assets/js/components/prism-protobuf.js mode change 100644 => 100755 assets/js/components/prism-protobuf.min.js mode change 100644 => 100755 assets/js/components/prism-puppet.js mode change 100644 => 100755 assets/js/components/prism-puppet.min.js mode change 100644 => 100755 assets/js/components/prism-pure.js mode change 100644 => 100755 assets/js/components/prism-pure.min.js mode change 100644 => 100755 assets/js/components/prism-python.js mode change 100644 => 100755 assets/js/components/prism-python.min.js mode change 100644 => 100755 assets/js/components/prism-q.js mode change 100644 => 100755 assets/js/components/prism-q.min.js mode change 100644 => 100755 assets/js/components/prism-qore.js mode change 100644 => 100755 assets/js/components/prism-qore.min.js mode change 100644 => 100755 assets/js/components/prism-r.js mode change 100644 => 100755 assets/js/components/prism-r.min.js mode change 100644 => 100755 assets/js/components/prism-reason.js mode change 100644 => 100755 assets/js/components/prism-reason.min.js mode change 100644 => 100755 assets/js/components/prism-rest.js mode change 100644 => 100755 assets/js/components/prism-rest.min.js mode change 100644 => 100755 assets/js/components/prism-rip.js mode change 100644 => 100755 assets/js/components/prism-rip.min.js mode change 100644 => 100755 assets/js/components/prism-roboconf.js mode change 100644 => 100755 assets/js/components/prism-roboconf.min.js mode change 100644 => 100755 assets/js/components/prism-ruby.js mode change 100644 => 100755 assets/js/components/prism-ruby.min.js mode change 100644 => 100755 assets/js/components/prism-rust.js mode change 100644 => 100755 assets/js/components/prism-rust.min.js mode change 100644 => 100755 assets/js/components/prism-sas.js mode change 100644 => 100755 assets/js/components/prism-sas.min.js mode change 100644 => 100755 assets/js/components/prism-sass.js mode change 100644 => 100755 assets/js/components/prism-sass.min.js mode change 100644 => 100755 assets/js/components/prism-scala.js mode change 100644 => 100755 assets/js/components/prism-scala.min.js mode change 100644 => 100755 assets/js/components/prism-scheme.js mode change 100644 => 100755 assets/js/components/prism-scheme.min.js mode change 100644 => 100755 assets/js/components/prism-scss.js mode change 100644 => 100755 assets/js/components/prism-scss.min.js mode change 100644 => 100755 assets/js/components/prism-smalltalk.js mode change 100644 => 100755 assets/js/components/prism-smalltalk.min.js mode change 100644 => 100755 assets/js/components/prism-smarty.js mode change 100644 => 100755 assets/js/components/prism-smarty.min.js mode change 100644 => 100755 assets/js/components/prism-sql.js mode change 100644 => 100755 assets/js/components/prism-sql.min.js mode change 100644 => 100755 assets/js/components/prism-stylus.js mode change 100644 => 100755 assets/js/components/prism-stylus.min.js mode change 100644 => 100755 assets/js/components/prism-swift.js mode change 100644 => 100755 assets/js/components/prism-swift.min.js mode change 100644 => 100755 assets/js/components/prism-tcl.js mode change 100644 => 100755 assets/js/components/prism-tcl.min.js mode change 100644 => 100755 assets/js/components/prism-textile.js mode change 100644 => 100755 assets/js/components/prism-textile.min.js mode change 100644 => 100755 assets/js/components/prism-twig.js mode change 100644 => 100755 assets/js/components/prism-twig.min.js mode change 100644 => 100755 assets/js/components/prism-typescript.js mode change 100644 => 100755 assets/js/components/prism-typescript.min.js mode change 100644 => 100755 assets/js/components/prism-vbnet.js mode change 100644 => 100755 assets/js/components/prism-vbnet.min.js mode change 100644 => 100755 assets/js/components/prism-verilog.js mode change 100644 => 100755 assets/js/components/prism-verilog.min.js mode change 100644 => 100755 assets/js/components/prism-vhdl.js mode change 100644 => 100755 assets/js/components/prism-vhdl.min.js mode change 100644 => 100755 assets/js/components/prism-vim.js mode change 100644 => 100755 assets/js/components/prism-vim.min.js mode change 100644 => 100755 assets/js/components/prism-wiki.js mode change 100644 => 100755 assets/js/components/prism-wiki.min.js mode change 100644 => 100755 assets/js/components/prism-xojo.js mode change 100644 => 100755 assets/js/components/prism-xojo.min.js mode change 100644 => 100755 assets/js/components/prism-yaml.js mode change 100644 => 100755 assets/js/components/prism-yaml.min.js mode change 100644 => 100755 assets/js/prism.js mode change 100644 => 100755 index.php delete mode 160000 panel delete mode 100644 site/blueprints/default.yml create mode 100644 site/blueprints/files/default.yml delete mode 100644 site/blueprints/note.yml delete mode 100644 site/blueprints/notes.yml create mode 100755 site/blueprints/pages/default.yml rename site/blueprints/{ => pages}/error.yml (69%) mode change 100644 => 100755 rename site/blueprints/{ => pages}/home.yml (75%) mode change 100644 => 100755 create mode 100755 site/blueprints/pages/note.yml create mode 100755 site/blueprints/pages/notes.yml create mode 100755 site/blueprints/pages/projects.yml delete mode 100644 site/blueprints/projects.yml create mode 100644 site/blueprints/sections/notes.yml delete mode 100644 site/cache/index.html delete mode 160000 site/fields/markdown delete mode 100644 site/plugins/feed/feed.php delete mode 100644 site/plugins/feed/readme.md delete mode 100644 site/plugins/feed/template.php delete mode 100644 site/templates/feed.php diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index bab3562..d8d6220 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ thumbs assets/avatars wiki piwik - +media +site/sessions \ No newline at end of file diff --git a/.gitmodules b/.gitmodules old mode 100644 new mode 100755 index e84275b..ce79cfb --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,3 @@ -[submodule "site/fields/markdown"] - path = site/fields/markdown - url = https://github.com/JonasDoebertin/kirby-visual-markdown.git [submodule "kirby"] path = kirby url = https://github.com/getkirby/kirby.git -[submodule "panel"] - path = panel - url = https://github.com/getkirby/panel.git diff --git a/.htaccess b/.htaccess old mode 100644 new mode 100755 index 22e251e..b9a738c --- a/.htaccess +++ b/.htaccess @@ -2,49 +2,53 @@ # rewrite rules - # enable awesome urls. i.e.: - # http://yourdomain.com/about-us/team - RewriteEngine on - - RewriteCond %{HTTP_HOST} !^sterzy\.com$ - RewriteRule (.*) https://sterzy.com/$1 [L,R=301] - RewriteCond %{HTTPS} !=on + # enable awesome urls. i.e.: + # http://yourdomain.com/about-us/team + RewriteEngine on + + RewriteCond %{HTTP_HOST} !^sterzy\.com$ + RewriteRule (.*) https://sterzy.com/$1 [L,R=301] - # redirect all trafic to https - RewriteCond %{ENV:HTTPS} !=on - RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] + RewriteCond %{HTTPS} !=on - Redirect 301 /.well-known/carddav /owncloud/remote.php/carddav - Redirect 301 /.well-known/caldav /owncloud/remote.php/caldav + # redirect all trafic to https + RewriteCond %{ENV:HTTPS} !=on + RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] - # 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 + Redirect 301 /.well-known/carddav /owncloud/remote.php/carddav + Redirect 301 /.well-known/caldav /owncloud/remote.php/caldav - # block text files in the content folder from being accessed directly - RewriteRule ^content/(.*)\.(txt|md|mdown)$ index.php [L] + # 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 all files in the site folder from being accessed directly - RewriteRule ^site/(.*) index.php [L] + # 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 - # block all files in the kirby folder from being accessed directly - RewriteRule ^kirby/(.*) index.php [L] + # block text files in the content folder from being accessed directly + RewriteRule ^content/(.*)\.(txt|md|mdown)$ index.php [L] - # make panel links work - RewriteCond %{REQUEST_FILENAME} !-f - RewriteCond %{REQUEST_FILENAME} !-d - RewriteRule ^panel/(.*) panel/index.php [L] + # block all files in the site folder from being accessed directly + RewriteRule ^site/(.*) index.php [L] + + # Enable authentication header + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 + + # block all files in the kirby folder from being accessed directly + RewriteRule ^kirby/(.*) index.php [L] + + # make site links work + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule ^(.*) index.php [L] - # make site links work - RewriteCond %{REQUEST_FILENAME} !-f - RewriteCond %{REQUEST_FILENAME} !-d - RewriteRule ^(.*) index.php [L] # Additional recommended values @@ -63,3 +67,16 @@ ExpiresActive On ExpiresByType application/x-javascript M604800 ExpiresByType text/css M604800 ExpiresByType text/x-javascript M604800 + +# 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 + + \ No newline at end of file diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 index 9f15ed4..b489b45 --- a/README.md +++ b/README.md @@ -6,6 +6,6 @@ The rest of the code is under this license: [License](https://svs.ankaa.uberspac # Installing ``` $ git clone --recursive https://svs.ankaa.uberspace.de/sterzy/sterzycom.git -$ mkdir site/config site/accounts thumbs content assets/avatars +$ mkdir site/config media content ``` -Then [add your license](http://getkirby.com/docs/installation/license-code) and visit yoursite.com/panel. +Then visit yoursite.com/panel. diff --git a/assets/avatars/sterzy.png b/assets/avatars/sterzy.png deleted file mode 100644 index f36d6b87fe50eb0e18e74ec5963c46b63a5558ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33577 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

lceG?K7O1h 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 \ No newline at end of file +echo (new Kirby)->render(); diff --git a/kirby b/kirby index a2678c4..72f01ea 160000 --- a/kirby +++ b/kirby @@ -1 +1 @@ -Subproject commit a2678c41c7f57ef176651e257840861d6c21b653 +Subproject commit 72f01eac0a7db59360894e0cfb44680276260174 diff --git a/panel b/panel deleted file mode 160000 index f3010a2..0000000 --- a/panel +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f3010a2676874464016f47a0eec70009bae1f0a5 diff --git a/site/blueprints/default.yml b/site/blueprints/default.yml deleted file mode 100644 index e8f0fa8..0000000 --- a/site/blueprints/default.yml +++ /dev/null @@ -1,10 +0,0 @@ -title: Page -pages: true -files: true -fields: - title: - label: Title - type: text - text: - label: Text - type: markdown diff --git a/site/blueprints/files/default.yml b/site/blueprints/files/default.yml new file mode 100644 index 0000000..78ab773 --- /dev/null +++ b/site/blueprints/files/default.yml @@ -0,0 +1,6 @@ +title: File + +fields: + alt: + label: Alt Text + type: text \ No newline at end of file diff --git a/site/blueprints/note.yml b/site/blueprints/note.yml deleted file mode 100644 index 153a493..0000000 --- a/site/blueprints/note.yml +++ /dev/null @@ -1,18 +0,0 @@ -icon: file-text - -title: Note -pages: false -files: true -fields: - title: - label: Title - type: text - tags: - label: Tags - type: tags - date: - label: Date - type: date - text: - label: Text - type: markdown diff --git a/site/blueprints/notes.yml b/site/blueprints/notes.yml deleted file mode 100644 index 57a653e..0000000 --- a/site/blueprints/notes.yml +++ /dev/null @@ -1,12 +0,0 @@ -icon: pencil - -title: Page -pages: true -files: true -fields: - title: - label: Title - type: text - text: - label: Text - type: markdown diff --git a/site/blueprints/pages/default.yml b/site/blueprints/pages/default.yml new file mode 100755 index 0000000..762be85 --- /dev/null +++ b/site/blueprints/pages/default.yml @@ -0,0 +1,18 @@ +title: Page +drafts: + headline: Sub-Pages + type: pages + status: all + templates: note +sections: + files: + headline: Files + type: files +files: true +fields: + title: + label: Title + type: text + text: + label: Text + type: textarea diff --git a/site/blueprints/error.yml b/site/blueprints/pages/error.yml old mode 100644 new mode 100755 similarity index 69% rename from site/blueprints/error.yml rename to site/blueprints/pages/error.yml index 3ceff5c..ceadc86 --- a/site/blueprints/error.yml +++ b/site/blueprints/pages/error.yml @@ -1,11 +1,11 @@ +icon: alert + title: Error -pages: false -files: false fields: title: label: Title type: text text: label: Text - type: markdown + type: textarea size: large diff --git a/site/blueprints/home.yml b/site/blueprints/pages/home.yml old mode 100644 new mode 100755 similarity index 75% rename from site/blueprints/home.yml rename to site/blueprints/pages/home.yml index 65f8376..4ef0eac --- a/site/blueprints/home.yml +++ b/site/blueprints/pages/home.yml @@ -1,10 +1,9 @@ title: Home -pages: false fields: title: label: Title type: text text: label: Text - type: markdown + type: textarea size: large diff --git a/site/blueprints/pages/note.yml b/site/blueprints/pages/note.yml new file mode 100755 index 0000000..b69e3b5 --- /dev/null +++ b/site/blueprints/pages/note.yml @@ -0,0 +1,39 @@ +title: Note +num: date +icon: draft + +status: + draft: + label: Draft + text: Drafts can only be seen by logged in users. + unlisted: + label: In Review + text: The article is online and can be visited with the direct URL. + listed: + label: Published + text: The article is online and listed on the page. + +columns: + - width: 2/3 + fields: + title: + label: Title + type: text + tags: + label: Tags + type: tags + date: + label: Date + type: date + text: + label: Text + type: textarea + - width: 1/3 + sections: + files: + headline: Files + type: files + layout: list + info: "{{ file.dimensions }}" + image: + back: black diff --git a/site/blueprints/pages/notes.yml b/site/blueprints/pages/notes.yml new file mode 100755 index 0000000..eda894a --- /dev/null +++ b/site/blueprints/pages/notes.yml @@ -0,0 +1,34 @@ +icon: edit + +title: Notes +columns: + - width: 1 + fields: + title: + label: Title + type: text + text: + label: Text + type: textarea + size: medium + + - width: 1/3 + sections: + drafts: + extends: sections/notes + headline: Drafts + status: draft + + - width: 1/3 + sections: + unlisted: + extends: sections/notes + headline: In Review + status: unlisted + + - width: 1/3 + sections: + listed: + extends: sections/notes + headline: Published + status: listed diff --git a/site/blueprints/pages/projects.yml b/site/blueprints/pages/projects.yml new file mode 100755 index 0000000..80473fd --- /dev/null +++ b/site/blueprints/pages/projects.yml @@ -0,0 +1,21 @@ +icon: document +columns: + - width: 2/3 + fields: + title: + label: Title + type: text + intro: + label: Intro + type: textarea + size: small + text: + label: Text + type: textarea + size: large + - width: 1/3 + sections: + files: + headline: Files + type: files + layout: cards diff --git a/site/blueprints/projects.yml b/site/blueprints/projects.yml deleted file mode 100644 index 12c2e9e..0000000 --- a/site/blueprints/projects.yml +++ /dev/null @@ -1,17 +0,0 @@ -icon: file - -title: Projects -pages: false -files: true -fields: - title: - label: Title - type: text - intro: - label: Intro - type: textarea - size: small - text: - label: Text - type: markdown - size: large \ No newline at end of file diff --git a/site/blueprints/sections/notes.yml b/site/blueprints/sections/notes.yml new file mode 100644 index 0000000..bc9fcad --- /dev/null +++ b/site/blueprints/sections/notes.yml @@ -0,0 +1,8 @@ +type: pages +headline: Notes +info: "{{ page.date.toDate('d.m.Y') }}" +template: note +empty: No Notes +sortBy: date desc +image: + back: black \ No newline at end of file diff --git a/site/blueprints/site.yml b/site/blueprints/site.yml index 97fd9e0..9eaffa2 100644 --- a/site/blueprints/site.yml +++ b/site/blueprints/site.yml @@ -1,26 +1,41 @@ title: Site -files: false -pages: default -fields: - title: - label: Title - type: text - width: 2/3 - author: - label: Author - type: text - width: 1/3 - keywords: - label: Keywords - type: tags - description: - label: Description - type: markdown - copyright: - label: Copyright - type: markdown - width: 1/2 - footerinfo: - label: Footer - type: markdown - width: 1/2 + +columns: + - width: 2/3 + fields: + title: + label: Title + type: text + author: + label: Author + type: text + width: 1/2 + keywords: + label: Keywords + type: tags + width: 1/2 + description: + label: Description + type: textarea + size: large + copyright: + label: Copyright + type: textarea + width: 1/2 + size: medium + footerinfo: + label: Footer + type: textarea + width: 1/2 + size: medium + - width: 1/3 + sections: + pages: + type: pages + create: default + template: + - notes + - error + - projects + - default + - imprint diff --git a/site/cache/index.html b/site/cache/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/site/fields/markdown b/site/fields/markdown deleted file mode 160000 index 785fb4f..0000000 --- a/site/fields/markdown +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 785fb4f37b98ebabb2e95ea717b47ca3e814c0fb diff --git a/site/plugins/feed/feed.php b/site/plugins/feed/feed.php deleted file mode 100644 index 5a1117b..0000000 --- a/site/plugins/feed/feed.php +++ /dev/null @@ -1,58 +0,0 @@ - - * @version 2.0.0 - */ -Pages::$methods['feed'] = function($pages, $params = array()) { - - // set all default values - $defaults = array( - 'url' => url(), - 'title' => 'Feed', - 'description' => '', - 'link' => url(), - 'datefield' => 'date', - 'textfield' => 'text', - 'modified' => time(), - 'excerpt' => false, - 'generator' => kirby()->option('feed.generator', 'Kirby'), - 'header' => true, - 'snippet' => false, - ); - - // merge them with the user input - $options = array_merge($defaults, $params); - - // sort by date - $items = $pages->sortBy($options['datefield'], 'desc'); - - // add the items - $options['items'] = $items; - $options['link'] = url($options['link']); - - // fetch the modification date - if($options['datefield'] == 'modified') { - $options['modified'] = $items->first()->modified(); - } else { - $options['modified'] = $items->first()->date(false, $options['datefield']); - } - - // send the xml header - if($options['header']) header::type('text/xml'); - - // echo the doctype - $html = '' . PHP_EOL; - - // custom snippet - if($options['snippet']) { - $html .= snippet($options['snippet'], $options, true); - } else { - $html .= tpl::load(__DIR__ . DS . 'template.php', $options); - } - - return $html; - -}; \ No newline at end of file diff --git a/site/plugins/feed/readme.md b/site/plugins/feed/readme.md deleted file mode 100644 index 96f8ad0..0000000 --- a/site/plugins/feed/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# RSS Feed Plugin - -This is a plugin for [Kirby](http://getkirby.com/) that generates RSS feeds for any set of pages. - -## Installation - -Put the `feed` folder in `/site/plugins`. - -## How to use it - -You can use this in a template for a dedicated feed page or in a template controller. - -## Example usage - -```php -children()->visible()->flip()->limit(10)->feed(array( - 'title' => 'Latest articles', - 'description' => 'Read the latest news about our company', - 'link' => 'blog' -)); -``` - -Check out the $defaults array in feed.php for more options. - -## Author - -Bastian Allgeier diff --git a/site/plugins/feed/template.php b/site/plugins/feed/template.php deleted file mode 100644 index d126425..0000000 --- a/site/plugins/feed/template.php +++ /dev/null @@ -1,26 +0,0 @@ - - - - - <?php echo xml($title) ?> - - - - - - - - - - - - <?php echo xml($item->title()) ?> - url()) ?> - id()) ?> - modified('r') : $item->date('r', $datefield) ?> - {$textfield}()->kirbytext() ?>]]> - - - - - \ No newline at end of file diff --git a/site/snippets/header.php b/site/snippets/header.php index 6524c6d..dfa5893 100644 --- a/site/snippets/header.php +++ b/site/snippets/header.php @@ -10,7 +10,6 @@ - diff --git a/site/templates/feed.php b/site/templates/feed.php deleted file mode 100644 index a7f1eed..0000000 --- a/site/templates/feed.php +++ /dev/null @@ -1,9 +0,0 @@ -children()->visible()->flip()->limit(10)->feed(array( - 'title' => $page->title(), - 'description' => $page->description(), - 'link' => 'notes', -)); - -?> \ No newline at end of file diff --git a/site/templates/notes.php b/site/templates/notes.php index 867bff3..6077d2d 100644 --- a/site/templates/notes.php +++ b/site/templates/notes.php @@ -9,7 +9,6 @@