diff --git a/.gitignore b/.gitignore index 2b57c96..834721c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,8 @@ .DS_Store /site/accounts /site/cache -/assets/avatars -/thumbs +/site/sessions +/media /content /video diff --git a/.gitmodules b/.gitmodules index 08e1ce4..381ce9d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,18 +1,6 @@ [submodule "kirby"] path = kirby - url = https://github.com/getkirby-v2/kirby -[submodule "panel"] - path = panel - url = https://github.com/getkirby-v2/panel -[submodule "modules/kirby-template-sitemap"] - path = modules/kirby-template-sitemap - url = https://github.com/jbeyerstedt/kirby-template-sitemap -[submodule "modules/kirby-plugin-thumbExt"] - path = modules/kirby-plugin-thumbExt - url = https://github.com/jbeyerstedt/kirby-plugin-thumbExt.git -[submodule "modules/kirby-plugin-kirbytextRaw"] - path = modules/kirby-plugin-kirbytextRaw - url = https://github.com/jbeyerstedt/kirby-plugin-kirbytextRaw + url = https://github.com/getkirby/kirby.git [submodule "modules/kirby-site-snippets"] path = modules/kirby-site-snippets url = https://github.com/jbeyerstedt/kirby-site-snippets.git @@ -22,13 +10,7 @@ [submodule "assets/vendors/masonry"] path = assets/vendors/masonry url = https://github.com/desandro/masonry.git -[submodule "modules/kirby-kirbytag-html5video"] - path = modules/kirby-kirbytag-html5video - url = https://github.com/jbeyerstedt/kirby-kirbytag-html5video.git [submodule "assets/vendors/bootstrap"] path = assets/vendors/bootstrap url = https://github.com/twbs/bootstrap.git branch = v4-dev -[submodule "modules/columns-plugin"] - path = modules/columns-plugin - url = https://github.com/getkirby-v2/columns-plugin diff --git a/.htaccess b/.htaccess index 84d2441..55e518c 100644 --- a/.htaccess +++ b/.htaccess @@ -1,26 +1,39 @@ # Kirby .htaccess +# revision 2020-06-15 +# 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 / -# 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 content folder from being accessed directly +RewriteRule ^content/(.*) index.php [L] # block all files in the site folder from being accessed directly -# except for requests to plugin assets files -RewriteRule ^assets/plugins/([a-zA-Z0-9\.\-_%=]+)/(.*)$ site/plugins/$1/assets/$2 [L,N] -RewriteCond $1 !^plugins/[a-zA-Z0-9\.\-_%=]+/assets/.* RewriteRule ^site/(.*) index.php [L] -# block direct access to kirby and the panel sources -RewriteRule ^(kirby|panel\/app|panel\/tests)/(.*) index.php [L] - -# make panel links work -RewriteCond %{REQUEST_FILENAME} !-f -RewriteCond %{REQUEST_FILENAME} !-d -RewriteRule ^panel/(.*) panel/index.php [L] +# block direct access to Kirby and the Panel sources +RewriteRule ^kirby/(.*) index.php [L] # make site links work RewriteCond %{REQUEST_FILENAME} !-f @@ -29,57 +42,16 @@ RewriteRule ^(.*) index.php [L] +# pass the Authorization header to PHP +SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 -# block update scripts -RewriteRule ^(.*).sh$ error [R=301,L] - -# block git repo -RewriteRule ^.git/(.*) error [R=301,L] -RewriteRule ^.gitattributes error [R=301,L] -RewriteRule ^.gitignore error [R=301,L] -RewriteRule ^.gitmodules error [R=301,L] - - -# enable gzip compressed transfer +# compress text file responses - SetOutputFilter DEFLATE - - # Netscape 4.x has some problems... - BrowserMatch ^Mozilla/4 gzip-only-text/html - - # Netscape 4.06-4.08 have some more problems - BrowserMatch ^Mozilla/4\.0[678] no-gzip - - # Don't compress images - #SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary - - - - # Make sure proxies don't deliver the wrong content - Header append Vary User-Agent env=!dont-vary - - - -# enable browser caching headers -AddType image/svg+xml .svg -AddType application/vnd.ms-fontobject .eot -AddType application/x-font-opentype .otf -AddType application/x-font-ttf .ttf -AddType application/font-woff .woff - - ExpiresActive On - ExpiresDefault "access plus 1 seconds" - ExpiresByType text/html "access plus 1 hour" - ExpiresByType text/xml "access plus 1 hour" - ExpiresByType text/css "access plus 1 month" - ExpiresByType image/gif "access plus 1 year" - ExpiresByType image/jpeg "access plus 1 year" - ExpiresByType image/png "access plus 1 year" - ExpiresByType image/svg+xml "access plus 1 year" - ExpiresByType text/javascript "access plus 1 month" - ExpiresByType application/javascript "access plus 1 month" - ExpiresByType application/vnd.ms-fontobject "access plus 1 year" - ExpiresByType application/x-font-opentype "access plus 1 year" - ExpiresByType application/x-font-ttf "access plus 1 year" - ExpiresByType application/font-woff "access plus 1 year" +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 diff --git a/assets/css/main.css b/assets/css/main.css index 35a5f91..f5c68c1 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -1,3 +1,3 @@ -@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:100;src:local("Alegreya Sans Thin"),local("AlegreyaSans-Thin"),url("../fonts/alegreya-sans-v8-latin-100.woff2") format("woff2"),url("../fonts/alegreya-sans-v8-latin-100.woff") format("woff")}@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:300;src:local("Alegreya Sans Light"),local("AlegreyaSans-Light"),url("../fonts/alegreya-sans-v8-latin-300.woff2") format("woff2"),url("../fonts/alegreya-sans-v8-latin-300.woff") format("woff")}@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:400;src:url("../fonts/alegreya-sans-v8-latin-regular.woff2") format("woff2"),url("../fonts/alegreya-sans-v8-latin-regular.woff") format("woff")}@font-face{font-family:'Alegreya Sans';font-style:italic;font-weight:400;src:local("Alegreya Sans Italic"),local("AlegreyaSans-Italic"),url("../fonts/alegreya-sans-v8-latin-italic.woff2") format("woff2"),url("../fonts/alegreya-sans-v8-latin-italic.woff") format("woff")}@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:500;src:local("Alegreya Sans Medium"),local("AlegreyaSans-Medium"),url("../fonts/alegreya-sans-v8-latin-500.woff2") format("woff2"),url("../fonts/alegreya-sans-v8-latin-500.woff") format("woff")}@font-face{font-family:'Alegreya Sans';font-style:italic;font-weight:500;src:local("Alegreya Sans Medium Italic"),local("AlegreyaSans-MediumItalic"),url("../fonts/alegreya-sans-v8-latin-500italic.woff2") format("woff2"),url("../fonts/alegreya-sans-v8-latin-500italic.woff") format("woff")}@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:700;src:local("Alegreya Sans Bold"),local("AlegreyaSans-Bold"),url("../fonts/alegreya-sans-v8-latin-700.woff2") format("woff2"),url("../fonts/alegreya-sans-v8-latin-700.woff") format("woff")}@font-face{font-family:'Crimson Text';font-style:normal;font-weight:400;src:url("../fonts/crimson-text-v8-latin-regular.woff2") format("woff2"),url("../fonts/crimson-text-v8-latin-regular.woff") format("woff")}@font-face{font-family:'Crimson Text';font-style:normal;font-weight:700;src:url("../fonts/crimson-text-v8-latin-700.woff2") format("woff2"),url("../fonts/crimson-text-v8-latin-700.woff") format("woff")}body{margin:0;font-family:'Alegreya Sans', "Verdana", "Arial", sans-serif;min-width:300px;overflow-x:hidden}div.site-wrap{background-color:#fff}h1,h2,h3,h4{margin-bottom:18px;margin-top:1em;font-family:'Crimson Text', serif}main h1:first-child,main div.container:first-child{margin-top:0}h5{margin-bottom:8px}h6{margin-bottom:5px}p{margin-top:0;line-height:1.5em}a{color:#2dac01}a:active,a:hover,a:focus{color:#207901}main p a{text-decoration:underline}main p a:visited{color:#999}blockquote{font-size:1.4em;border-left:4px solid #dddddd;padding:0 15px;color:#777777}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}code{padding:0 5px;white-space:nowrap;border:1px solid #eaeaea;background-color:#f8f8f8;border-radius:3px}pre{background-color:#f8f8f8;border:1px solid #cccccc;font-size:14px;line-height:19px;overflow:auto;padding:6px 10px;border-radius:3px}pre code{margin:0;padding:0;white-space:pre;border:none;background:transparent}main div.container{margin-top:10px}@media (min-width: 992px){main div.container{max-width:940px}}header a{display:inline-block}header img{width:75px;height:75px;margin-top:4px;float:left}.nav-trigger{display:none}nav{box-sizing:border-box}nav ul.nav{margin:0;padding-left:0}nav ul.nav a{text-decoration:none;color:inherit}nav ul.nav li{list-style-type:none}nav ul.nav a:hover,nav ul.nav a:focus{text-decoration:none}@media (min-width: 576px){nav{float:right}nav ul.nav a{float:left;text-align:center;font-size:18px;font-weight:300;margin:30px 7px 1px}nav ul.nav a:hover,nav ul.nav a:focus,nav ul.nav a.active{border-bottom:1px solid #2dac01}nav ul.nav a.section{font-weight:500}}@media (min-width: 768px){nav ul.nav a{margin:30px 9px 1px}}nav.mobile{width:200px;height:100%;position:fixed;right:-200px;z-index:0}.site-wrap{position:relative;left:0;z-index:1}@media (max-width: 575.98px){label[for="nav-trigger"]{position:absolute;right:15px;top:24px;z-index:2;padding:.5rem .75rem;font-size:1.25rem;line-height:1;font-family:inherit;font-weight:300;color:#373a3c;background-color:#fff}nav.mobile{background-color:#424242}nav.mobile ul.mobileNav{color:#fff;padding:1rem 1rem;padding-top:28px}nav.mobile ul.mobileNav li{margin-bottom:0.4em}nav.mobile ul.mobileNav li a{font-size:20px;font-weight:300}nav.mobile ul.mobileNav li a.active{color:#2dac01;font-weight:700}nav.mobile ul.mobileNav ul>li{margin-bottom:0.2em}.nav-trigger:checked+label{right:215px}.nav-trigger:checked ~ .site-wrap{left:-200px;box-shadow:0 0 5px 5px rgba(0,0,0,0.5)}.nav-trigger:checked ~ nav.mobile{right:0}.nav-trigger+label,nav.mobile{transition:right 0.2s;-webkit-transition:right 0.2s;-moz-transition:right 0.2s;-o-transition:right 0.2s}.site-wrap{transition:left 0.2s;-webkit-transition:left 0.2s;-moz-transition:left 0.2s;-o-transition:left 0.2s}}footer{margin-top:25px;padding-top:15px;padding-bottom:10px;height:70px;min-width:inherit;background-color:#bebebe;color:#000}footer p{margin-bottom:0}@media (max-width: 575px){footer{text-align:center}footer p{margin-bottom:10px}}footer i.fa{color:#000;font-size:1.4rem;padding-right:0.2em}footer a>svg{height:1.4rem;width:1.4rem;position:relative;top:0.18rem}footer a>svg image{height:1.4rem;width:1.4rem}footer img{height:1.4rem;padding-right:0.2em}@media (max-width: 575.98px){footer{height:175px}}@media (min-width: 576px){main{min-height:calc(100vh - 87px - 70px - 25px)}}@media (max-width: 575.98px){main{min-height:calc(100vh - 87px - 25px)}}.columns{margin-right:-15px;margin-left:-15px}.columns:before{display:table;content:" "}.columns:after{clear:both;display:table;content:" "}.column{padding-right:15px;padding-left:15px;display:block;float:left;position:relative;min-height:1px}.columns-1 .column{width:100%}.columns-2 .column{width:50%}@media (max-width: 600px){.columns-2 .column{width:100%}}.columns-3 .column{width:33.33%}@media (max-width: 600px){.columns-3 .column{width:100%}}.columns-4 .column{width:25%}@media (max-width: 1200px){.columns-4 .column{width:50%}}@media (max-width: 600px){.columns-4 .column{width:100%}}.columns-5 .column{width:20%}.visible-xxs{display:none !important}@media (max-width: 575px){.col-xxs-12{float:none;width:100%;position:relative;left:0;right:0;min-height:1px;padding-right:15px;padding-left:15px}.hidden-xxs{display:none !important}.visible-xxs{display:block !important}}.html5player{width:100%;height:auto;background-color:black}div.video-container{position:relative;width:100%;height:auto;max-width:100%;padding-bottom:53%;padding-top:30px;overflow:hidden}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.columns ul{padding-left:25px} +@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:100;src:local("Alegreya Sans Thin"),local("AlegreyaSans-Thin"),url("../fonts/alegreya-sans-v8-latin-100.woff2") format("woff2"),url("../fonts/alegreya-sans-v8-latin-100.woff") format("woff")}@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:300;src:local("Alegreya Sans Light"),local("AlegreyaSans-Light"),url("../fonts/alegreya-sans-v8-latin-300.woff2") format("woff2"),url("../fonts/alegreya-sans-v8-latin-300.woff") format("woff")}@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:400;src:url("../fonts/alegreya-sans-v8-latin-regular.woff2") format("woff2"),url("../fonts/alegreya-sans-v8-latin-regular.woff") format("woff")}@font-face{font-family:'Alegreya Sans';font-style:italic;font-weight:400;src:local("Alegreya Sans Italic"),local("AlegreyaSans-Italic"),url("../fonts/alegreya-sans-v8-latin-italic.woff2") format("woff2"),url("../fonts/alegreya-sans-v8-latin-italic.woff") format("woff")}@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:500;src:local("Alegreya Sans Medium"),local("AlegreyaSans-Medium"),url("../fonts/alegreya-sans-v8-latin-500.woff2") format("woff2"),url("../fonts/alegreya-sans-v8-latin-500.woff") format("woff")}@font-face{font-family:'Alegreya Sans';font-style:italic;font-weight:500;src:local("Alegreya Sans Medium Italic"),local("AlegreyaSans-MediumItalic"),url("../fonts/alegreya-sans-v8-latin-500italic.woff2") format("woff2"),url("../fonts/alegreya-sans-v8-latin-500italic.woff") format("woff")}@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:700;src:local("Alegreya Sans Bold"),local("AlegreyaSans-Bold"),url("../fonts/alegreya-sans-v8-latin-700.woff2") format("woff2"),url("../fonts/alegreya-sans-v8-latin-700.woff") format("woff")}@font-face{font-family:'Crimson Text';font-style:normal;font-weight:400;src:url("../fonts/crimson-text-v8-latin-regular.woff2") format("woff2"),url("../fonts/crimson-text-v8-latin-regular.woff") format("woff")}@font-face{font-family:'Crimson Text';font-style:normal;font-weight:700;src:url("../fonts/crimson-text-v8-latin-700.woff2") format("woff2"),url("../fonts/crimson-text-v8-latin-700.woff") format("woff")}body{margin:0;font-family:'Alegreya Sans', "Verdana", "Arial", sans-serif;min-width:300px;overflow-x:hidden}div.site-wrap{background-color:#fff}h1,h2,h3,h4{margin-bottom:18px;margin-top:1em;font-family:'Crimson Text', serif}main h1:first-child,main div.container:first-child{margin-top:0}h5{margin-bottom:8px}h6{margin-bottom:5px}p{margin-top:0;line-height:1.5em}a{color:#2dac01}a:active,a:hover,a:focus{color:#207901}main p a{text-decoration:underline}main p a:visited{color:#999}blockquote{font-size:1.4em;border-left:4px solid #dddddd;padding:0 15px;color:#777777}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}code{padding:0 5px;white-space:nowrap;border:1px solid #eaeaea;background-color:#f8f8f8;border-radius:3px}pre{background-color:#f8f8f8;border:1px solid #cccccc;font-size:14px;line-height:19px;overflow:auto;padding:6px 10px;border-radius:3px}pre code{margin:0;padding:0;white-space:pre;border:none;background:transparent}main div.container{margin-top:10px}@media (min-width: 992px){main div.container{max-width:940px}}header a{display:inline-block}header img{width:75px;height:75px;margin-top:4px;float:left}.nav-trigger{display:none}nav{box-sizing:border-box}nav ul.nav{margin:0;padding-left:0}nav ul.nav a{text-decoration:none;color:inherit}nav ul.nav li{list-style-type:none}nav ul.nav a:hover,nav ul.nav a:focus{text-decoration:none}@media (min-width: 576px){nav{float:right}nav ul.nav a{float:left;text-align:center;font-size:18px;font-weight:300;margin:30px 7px 1px}nav ul.nav a:hover,nav ul.nav a:focus,nav ul.nav a.active{border-bottom:1px solid #2dac01}nav ul.nav a.section{font-weight:500}}@media (min-width: 768px){nav ul.nav a{margin:30px 9px 1px}}nav.mobile{width:200px;height:100%;position:fixed;right:-200px;z-index:0}.site-wrap{position:relative;left:0;z-index:1}@media (max-width: 575.98px){label[for="nav-trigger"]{position:absolute;right:15px;top:24px;z-index:2;padding:.5rem .75rem;font-size:1.25rem;line-height:1;font-family:inherit;font-weight:300;color:#373a3c;background-color:#fff}nav.mobile{background-color:#424242}nav.mobile ul.mobileNav{color:#fff;padding:1rem 1rem;padding-top:28px}nav.mobile ul.mobileNav li{margin-bottom:0.4em}nav.mobile ul.mobileNav li a{font-size:20px;font-weight:300}nav.mobile ul.mobileNav li a.active{color:#2dac01;font-weight:700}nav.mobile ul.mobileNav ul>li{margin-bottom:0.2em}.nav-trigger:checked+label{right:215px}.nav-trigger:checked ~ .site-wrap{left:-200px;box-shadow:0 0 5px 5px rgba(0,0,0,0.5)}.nav-trigger:checked ~ nav.mobile{right:0}.nav-trigger+label,nav.mobile{transition:right 0.2s;-webkit-transition:right 0.2s;-moz-transition:right 0.2s;-o-transition:right 0.2s}.site-wrap{transition:left 0.2s;-webkit-transition:left 0.2s;-moz-transition:left 0.2s;-o-transition:left 0.2s}}footer{margin-top:25px;padding-top:15px;padding-bottom:10px;height:70px;min-width:inherit;background-color:#bebebe;color:#000}footer p{margin-bottom:0}@media (max-width: 575px){footer{text-align:center}footer p{margin-bottom:10px}}footer i.fa{color:#000;font-size:1.4rem;padding-right:0.2em}footer a>svg{height:1.4rem;width:1.4rem;position:relative;top:0.18rem}footer a>svg image{height:1.4rem;width:1.4rem}footer img{height:1.4rem;padding-right:0.2em}@media (max-width: 575.98px){footer{height:175px}}@media (min-width: 576px){main{min-height:calc(100vh - 87px - 70px - 25px)}}@media (max-width: 575.98px){main{min-height:calc(100vh - 87px - 25px)}}.columns{display:flex;flex-wrap:wrap;justify-content:flex-start;margin-left:-15px;margin-right:-15px}.column{flex:0 1 100%;margin-left:15px;margin-right:15px;max-width:100%}@media (min-width: 600px){.column{flex:1}}.visible-xxs{display:none !important}@media (max-width: 575px){.col-xxs-12{float:none;width:100%;position:relative;left:0;right:0;min-height:1px;padding-right:15px;padding-left:15px}.hidden-xxs{display:none !important}.visible-xxs{display:block !important}}.html5player{width:100%;height:auto;background-color:black}div.video-container{position:relative;width:100%;height:auto;max-width:100%;padding-bottom:53%;padding-top:30px;overflow:hidden}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.columns ul{padding-left:25px} /*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/assets/css/main.css.map b/assets/css/main.css.map index 2b73592..fb900a1 100644 Binary files a/assets/css/main.css.map and b/assets/css/main.css.map differ diff --git a/assets/scss/main.scss b/assets/scss/main.scss index 1dcb37d..660ae0b 100644 --- a/assets/scss/main.scss +++ b/assets/scss/main.scss @@ -310,61 +310,30 @@ $header_height: 2*$header_logoPadg + $header_logoSize + 4px; // + weird "padding */ /* - * KIRBY PLUGIN columns by Bastians Allgeier + * KIRBY PLUGIN columns */ $cols-breakdown-width: 600px; $cols-pad: 15px; .columns { - margin-right: -$cols-pad; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; margin-left: -$cols-pad; - - &:before { - display: table; - content: " "; - } - &:after { - clear: both; - display: table; - content: " "; - } + margin-right: -$cols-pad; } + .column { - padding-right: $cols-pad; - padding-left: $cols-pad; + flex: 0 1 100%; + margin-left: $cols-pad; + margin-right: $cols-pad; + max-width: 100%; +} - display: block; - float: left; - position: relative; - min-height: 1px; -} -.columns-1 .column { - width: 100%; -} -.columns-2 .column { - width: 50%; - - @media(max-width: $cols-breakdown-width) { - width: 100%; +@media (min-width: $cols-breakdown-width) { + .column { + flex: 1; } } -.columns-3 .column { - width: 33.33%; - @media(max-width: $cols-breakdown-width) { - width: 100%; - } -} -.columns-4 .column { - width: 25%; - @media(max-width: $cols-breakdown-width*2) { - width: 50%; - } - @media(max-width: $cols-breakdown-width) { - width: 100%; - } -} -.columns-5 .column { - width: 20%; -} /* to break down col-xs */ diff --git a/index.php b/index.php index feef4bf..87ed01d 100644 --- a/index.php +++ b/index.php @@ -1,16 +1,5 @@ launch(); \ No newline at end of file +echo (new Kirby)->render(); diff --git a/kirby b/kirby index e3bc4e4..551e2f4 160000 --- a/kirby +++ b/kirby @@ -1 +1 @@ -Subproject commit e3bc4e4277859249cff1a67c333a5544766cad31 +Subproject commit 551e2f427eaf18e471df1c304552ab3de35e37c6 diff --git a/modules/columns-plugin b/modules/columns-plugin deleted file mode 160000 index 57b4ccd..0000000 --- a/modules/columns-plugin +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 57b4ccd2c12db25860baa8d3486bf42cacce05a6 diff --git a/modules/columns-plugin/index.php b/modules/columns-plugin/index.php new file mode 100644 index 0000000..1d7646a --- /dev/null +++ b/modules/columns-plugin/index.php @@ -0,0 +1,28 @@ + [ + 'kirbytags:before' => function ($text, array $data = []) { + + $text = preg_replace_callback('!\(columns(…|\.{3})\)(.*?)\((…|\.{3})columns\)!is', function($matches) use($text, $data) { + + $columns = preg_split('!(\n|\r\n)\+{4}\s+(\n|\r\n)!', $matches[2]); + $html = []; + $classItem = $this->option('kirby.columns.item', 'column'); + $classContainer = $this->option('kirby.columns.container', 'columns'); + + foreach ($columns as $column) { + $html[] = '
' . $this->kirbytext($column, $data) . '
'; + } + + return '
' . implode($html) . '
'; + + }, $text); + + return $text; + } + + ] +]); diff --git a/modules/kirby-kirbytag-html5video b/modules/kirby-kirbytag-html5video deleted file mode 160000 index 81564cf..0000000 --- a/modules/kirby-kirbytag-html5video +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 81564cfc343f733e47012895ed249bb69f99b96c diff --git a/modules/kirby-plugin-kirbytextRaw b/modules/kirby-plugin-kirbytextRaw deleted file mode 160000 index 9cf8c1e..0000000 --- a/modules/kirby-plugin-kirbytextRaw +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9cf8c1e749efdedb3b21c8bc31535bbfbb7a68e9 diff --git a/modules/kirby-plugin-thumbExt b/modules/kirby-plugin-thumbExt deleted file mode 160000 index d222f4f..0000000 --- a/modules/kirby-plugin-thumbExt +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d222f4f02eef5574dd7850b40391f86688283f27 diff --git a/modules/kirby-site-snippets b/modules/kirby-site-snippets index 5b56892..c17f1c4 160000 --- a/modules/kirby-site-snippets +++ b/modules/kirby-site-snippets @@ -1 +1 @@ -Subproject commit 5b56892014a01e3e4f602576e4912c54da911648 +Subproject commit c17f1c4d6ac66326ca481df8e0ecf720efc29e05 diff --git a/modules/kirby-template-sitemap b/modules/kirby-template-sitemap deleted file mode 160000 index b963942..0000000 --- a/modules/kirby-template-sitemap +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b9639427e03917b1ac8bb3cd7c35a61fa90b839e diff --git a/panel b/panel deleted file mode 160000 index 31a7953..0000000 --- a/panel +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 31a79539294c24f636d2f3af004aa2576eb59040 diff --git a/readme.md b/readme.md index 8744cf4..958b937 100644 --- a/readme.md +++ b/readme.md @@ -26,8 +26,7 @@ Im Folgenden wird `$git-url` als Platzhalter für die echte Git-URL verwendet. git clone --recursive $git-url /path/to/documentroot cd /path/to/documentroot mkdir content -mkdir thumbs -mkdir site/accounts +mkdir media mkdir site/cache ```` diff --git a/site/blueprints/blog.yml b/site/blueprints/blog.yml deleted file mode 100644 index 37c249f..0000000 --- a/site/blueprints/blog.yml +++ /dev/null @@ -1,16 +0,0 @@ -title: Blog -pages: - template: - - blogarticle - num: date - sort: flip - -files: false - -fields: - title: - label: Title - type: text - text: - label: Text - type: textarea diff --git a/site/blueprints/blogarticle.yml b/site/blueprints/blogarticle.yml deleted file mode 100644 index 1cafc14..0000000 --- a/site/blueprints/blogarticle.yml +++ /dev/null @@ -1,29 +0,0 @@ -title: Blog Article -pages: false - -files: true - -fields: - title: - label: Title - type: text - date: - label: Date - type: date - width: 1/4 - tags: - label: Tags - type: tags - width: 3/4 - text: - label: Text - type: textarea - en_masonry: - text: enable masonry - type: checkbox - text2: - label: Text below masonry - type: textarea - meta-robots: - label: Metatag robots - type: text diff --git a/site/blueprints/carousel.yml b/site/blueprints/carousel.yml deleted file mode 100644 index c6e7101..0000000 --- a/site/blueprints/carousel.yml +++ /dev/null @@ -1,47 +0,0 @@ - - -# carousel pseudo-site blueprint - -title: Foto-Diashow -pages: false -preview: parent -files: - sortable: true - fields: - title: - label: Titel (z.Zt. nicht benutzt) - type: text - heading: - label: Bildüberschrift - type: text - caption: - label: Bildtext - type: textarea - header1: h3 - header2: h4 -options: - preview: true - status: false - template: false - url: false - delete: true - -fields: - info: - label: HINWEIS - type: info - text: > - Auf dieser "Seite" werden die Bilder abgelegt, die in der großen Bildergalerie oben auf der Seite dargestellt werden sollen. - Dabei sind ein paar Dinge zu beachten:
- - Alle Bilder müssen dasselbe Seitenverhältnis haben, wenigstens jedoch im **Querformat** vorliegen.
- - Diese Seite muss die unter der URL "carousel" abgelegt sein.
- - Wenn die Bildergalerie leer bleiben soll, muss diese Seite nicht gelöscht werden, sondern kann auch einfach keine Bilder enthalten.
- - Die Reihenfolge der Bilder kann unter "Dateien -> bearbeiten" angepasst werden.
- - Um ein Bild mit einer Bildüberschrift zu versehen, einfach die Datei auswählen und die entsprechenden Felder bearbeiten. Speichern nicht vergessen.
- - HINWEIS: Bei sehr großen Bildern kann es vorkommen, dass keine Vorschau angezeigt wird. - - title: - label: - en: Title (has no fuction) - de: Seitenüberschrift (hat keine Funktion) - type: text diff --git a/site/blueprints/default.yml b/site/blueprints/default.yml deleted file mode 100644 index 00259f3..0000000 --- a/site/blueprints/default.yml +++ /dev/null @@ -1,12 +0,0 @@ -title: default Page -pages: true - -files: true - -fields: - title: - label: Title - type: text - text: - label: Text - type: textarea diff --git a/site/blueprints/files/default.yml b/site/blueprints/files/default.yml new file mode 100644 index 0000000..7a80da6 --- /dev/null +++ b/site/blueprints/files/default.yml @@ -0,0 +1,14 @@ +Title: File + +fields: + alt: + label: Alt Text + type: text + heading: + label: Bildüberschrift + type: text + caption: + label: Bildtext + type: textarea + header1: h3 + header2: h4 diff --git a/site/blueprints/home.yml b/site/blueprints/home.yml deleted file mode 100644 index 8376f38..0000000 --- a/site/blueprints/home.yml +++ /dev/null @@ -1,18 +0,0 @@ -title: Home -pages: true - -files: true - -fields: - title: - label: Title - type: text - hero_text: - label: main text - type: textarea - subtitle: - label: subtitle - type: text - text: - label: text - type: textarea diff --git a/site/blueprints/pages/blog.yml b/site/blueprints/pages/blog.yml new file mode 100644 index 0000000..1efe54c --- /dev/null +++ b/site/blueprints/pages/blog.yml @@ -0,0 +1,32 @@ +title: Blog + +columns: + main: + width: 2/3 + sections: + + content: + type: fields + fields: + text: + label: Text + type: textarea + + sidebar: + width: 1/3 + sections: + + drafts: + headline: Drafts + type: pages + status: draft + create: + - blogarticle + + published: + headline: Published Articles + type: pages + status: listed + sortBy: date desc + + files: false diff --git a/site/blueprints/pages/blogarticle.yml b/site/blueprints/pages/blogarticle.yml new file mode 100644 index 0000000..33f5617 --- /dev/null +++ b/site/blueprints/pages/blogarticle.yml @@ -0,0 +1,39 @@ +title: Blog Article + +num: '{{ page.date.toDate("Ymd") }}' + +columns: + main: + width: 2/3 + sections: + + content: + type: fields + fields: + date: + label: Date + type: date + width: 1/4 + tags: + label: Tags + type: tags + width: 3/4 + text: + label: Text + type: textarea + en_masonry: + label: Masonry + type: toggle + text: enable + text2: + label: Text below masonry + type: textarea + meta-robots: + label: Metatag robots + type: text + + sidebar: + width: 1/3 + sections: + + files: true diff --git a/site/blueprints/pages/default.yml b/site/blueprints/pages/default.yml new file mode 100644 index 0000000..5ee2a32 --- /dev/null +++ b/site/blueprints/pages/default.yml @@ -0,0 +1,21 @@ +title: default Page + +columns: + main: + width: 2/3 + sections: + + content: + type: fields + fields: + text: + label: Text + type: textarea + + sidebar: + width: 1/3 + sections: + + pages: true + + files: true diff --git a/site/blueprints/pages/home.yml b/site/blueprints/pages/home.yml new file mode 100644 index 0000000..46eb210 --- /dev/null +++ b/site/blueprints/pages/home.yml @@ -0,0 +1,28 @@ +title: Home + +columns: + main: + width: 2/3 + sections: + + content: + type: fields + fields: + hero_text: + label: main text + type: textarea + subtitle: + label: subtitle + type: text + text: + label: text + type: textarea + + + sidebar: + width: 1/3 + sections: + + pages: true + + files: true diff --git a/site/blueprints/pages/photo.yml b/site/blueprints/pages/photo.yml new file mode 100644 index 0000000..89709d5 --- /dev/null +++ b/site/blueprints/pages/photo.yml @@ -0,0 +1,44 @@ +title: Photo + +tabs: + content: + label: Content + icon: text + columns: + main: + width: 2/3 + sections: + + content: + type: fields + fields: + text: + label: Text + type: textarea + text2: + label: Text below masonry + type: textarea + + sidebar: + width: 1/3 + sections: + + carousel: + type: fields + fields: + carousel: + label: Carousel + type: files + query: page.images + max: 10 + + masonry: + label: Images + icon: image + sections: + gallery: + headline: Masonry + type: files + layout: cards + limit: 50 + sortable: false diff --git a/site/blueprints/pages/project.yml b/site/blueprints/pages/project.yml new file mode 100644 index 0000000..c44d70d --- /dev/null +++ b/site/blueprints/pages/project.yml @@ -0,0 +1,37 @@ +title: Project + +columns: + main: + width: 2/3 + sections: + + content: + type: fields + fields: + exrpt_img: + label: Excerpt image + type: files + multiple: false + width: 1/2 + exrpt_text: + label: Excerpt for overview + type: textarea + width: 1/2 + text: + label: Text + type: textarea + en_masonry: + label: Masonry + type: toggle + text: enable + text2: + label: Text below masonry + type: textarea + + sidebar: + width: 1/3 + sections: + + pages: false + + files: true diff --git a/site/blueprints/pages/projects.yml b/site/blueprints/pages/projects.yml new file mode 100644 index 0000000..b8186ba --- /dev/null +++ b/site/blueprints/pages/projects.yml @@ -0,0 +1,23 @@ +title: Projects + +columns: + main: + width: 2/3 + sections: + + content: + type: fields + fields: + text: + label: Text + type: textarea + + sidebar: + width: 1/3 + sections: + + pages: + type: pages + create: project + + files: true diff --git a/site/blueprints/pages/redirect.yml b/site/blueprints/pages/redirect.yml new file mode 100644 index 0000000..a0b85b1 --- /dev/null +++ b/site/blueprints/pages/redirect.yml @@ -0,0 +1,29 @@ +title: redirect + +columns: + main: + width: 2/3 + sections: + + content: + type: fields + fields: + target: + label: Target + type: pages + multiple: false + red_type: + label: Redirect Type + type: radio + default: temporarly + options: + temp: temporarly (302) + perm: permanent (301) + + sidebar: + width: 1/3 + sections: + + pages: true + + files: true diff --git a/site/blueprints/pages/webdesign.yml b/site/blueprints/pages/webdesign.yml new file mode 100644 index 0000000..efd1cee --- /dev/null +++ b/site/blueprints/pages/webdesign.yml @@ -0,0 +1,33 @@ +title: Webdesign + +columns: + main: + width: 2/3 + sections: + + content: + type: fields + fields: + featurette_headline: + label: Featurette Headline + type: text + featurette_text: + label: Featurette Text + type: textarea + width: 1/2 + featurette_img: + label: Featurette Image + type: files + multiple: false + width: 1/2 + text: + label: Text + type: textarea + + sidebar: + width: 1/3 + sections: + + pages: true + + files: true diff --git a/site/blueprints/pages/xmlsitemap.yml b/site/blueprints/pages/xmlsitemap.yml new file mode 120000 index 0000000..57274e0 --- /dev/null +++ b/site/blueprints/pages/xmlsitemap.yml @@ -0,0 +1 @@ +../../../modules/kirby-template-sitemap/blueprints/xmlsitemap.yml \ No newline at end of file diff --git a/site/blueprints/photo.yml b/site/blueprints/photo.yml deleted file mode 100644 index bf6d498..0000000 --- a/site/blueprints/photo.yml +++ /dev/null @@ -1,22 +0,0 @@ -title: Photo -pages: - build: - - title: carousel - uid: carousel - template: carousel - template: - - photo - - carousel - -files: true - -fields: - title: - label: Title - type: text - text: - label: Text - type: textarea - text2: - label: Text below masonry - type: textarea diff --git a/site/blueprints/project.yml b/site/blueprints/project.yml deleted file mode 100644 index 2ae5d01..0000000 --- a/site/blueprints/project.yml +++ /dev/null @@ -1,28 +0,0 @@ -title: Project -pages: - template: - - project - -files: true - -fields: - title: - label: Title - type: text - exrpt_img: - label: Excerpt image - type: image - width: 1/2 - exrpt_text: - label: Excerpt for overview - type: textarea - width: 1/2 - text: - label: Text - type: textarea - en_masonry: - type: checkbox - text: Enable masonry - text2: - label: Text below masonry - type: textarea diff --git a/site/blueprints/projects.yml b/site/blueprints/projects.yml deleted file mode 100644 index a23cd4d..0000000 --- a/site/blueprints/projects.yml +++ /dev/null @@ -1,14 +0,0 @@ -title: Projects -pages: - template: - - project - -files: true - -fields: - title: - label: Title - type: text - text: - label: Text - type: textarea diff --git a/site/blueprints/redirect.yml b/site/blueprints/redirect.yml deleted file mode 100644 index c752dca..0000000 --- a/site/blueprints/redirect.yml +++ /dev/null @@ -1,19 +0,0 @@ -title: redirect -pages: true - -files: false - -fields: - title: - label: Title (not used) - type: text - target: - label: Target - type: page - red_type: - label: Redirect Type - type: radio - default: temporarly - options: - temp: temporarly (302) - perm: permanent (301) diff --git a/site/blueprints/site.yml b/site/blueprints/site.yml index 6e1a389..ff9e272 100644 --- a/site/blueprints/site.yml +++ b/site/blueprints/site.yml @@ -1,53 +1,61 @@ -Title: Site -pages: - template: - - default - - redirect +columns: + main: + width: 2/3 + sections: -fields: - title: - label: - en: Title (shown in browser tab) - de: Titel der Website (im Browser Tab) - type: text + content: + type: fields + fields: + author: + label: + en: Author (for meta data) + de: Autor (für Metadaten) + type: text + description: + label: + en: Description (short text at Google search result) + de: Beschreibung (kurzer Text beim Google-Suchergebnis) + type: textarea + validate: + maxLength: 160 - author: - label: - en: Author (for meta data) - de: Autor (für Metadaten) - type: text - description: - label: - en: Description (short text at Google search result) - de: Beschreibung (kurzer Text beim Google-Suchergebnis) - type: textarea - validate: - maxLength: 160 + title_image: + label: + en: Header image / logo (drag and drop) + de: Logo für Kopf der Seite (drag and drop) + type: files + multiple: false - title_image: - label: - en: header image / logo (drag and drop) - de: Logo für Kopf der Seite (drag and drop) - type: image + line: + type: line - line: - type: line + footer_left: + label: + en: Footer left + de: Footer links + type: textarea + width: 1/3 + footer_center: + label: + en: Footer center + de: Footer Mitte + type: textarea + width: 1/3 + footer_right: + label: + en: Footer right + de: Footer rechts + type: textarea + width: 1/3 - footer_left: - label: - en: footer left - de: Footer links - type: textarea - width: 1/3 - footer_center: - label: - en: footer center - de: Footer Mitte - type: textarea - width: 1/3 - footer_right: - label: - en: footer right - de: Footer rechts - type: textarea + sidebar: width: 1/3 + sections: + + pages: + type: pages + create: + - default + - redirect + + files: true diff --git a/site/blueprints/webdesign.yml b/site/blueprints/webdesign.yml deleted file mode 100644 index 383cbcf..0000000 --- a/site/blueprints/webdesign.yml +++ /dev/null @@ -1,23 +0,0 @@ -title: Webdesign -pages: true - -files: true - -fields: - title: - label: Title - type: text - featurette_headline: - label: Featurette Headline - type: text - featurette_text: - label: Featurette Text - type: textarea - width: 1/2 - featurette_img: - label: Featurette Image - type: image - width: 1/2 - text: - label: Text - type: textarea diff --git a/site/blueprints/xmlsitemap.php b/site/blueprints/xmlsitemap.php deleted file mode 120000 index 4664fc8..0000000 --- a/site/blueprints/xmlsitemap.php +++ /dev/null @@ -1 +0,0 @@ -../../modules/kirby-template-sitemap/blueprints/xmlsitemap.php \ No newline at end of file diff --git a/site/config/config.localhost.php b/site/config/config.localhost.php index efb54dd..b87c217 100644 --- a/site/config/config.localhost.php +++ b/site/config/config.localhost.php @@ -4,10 +4,3 @@ c::set('debug', true); c::set('cache', false); - -c::set('ssl', false); - -/* -Piwik Plugin configuration -*/ -c::set('spicy.piwik.active', false); diff --git a/site/config/config.php b/site/config/config.php index 83ae472..279cac2 100644 --- a/site/config/config.php +++ b/site/config/config.php @@ -1,6 +1,7 @@ function() { return site()->visit('sitemap'); } - ), - - // redirect legacy urls: - // feature/webdesign -> webdesign - // feature/fotografie -> fotografie - // feature/fotografie/(:any) -> fotografie/(:any) - array( - 'pattern' => 'feature/(:all)', - 'action' => function($uid) { - if (site()->find($uid)) { - $target = site()->find($uid)->url(); - header::redirect($target, 301); - }else { - go('error'); - } - } ) )); diff --git a/site/plugins/columns b/site/plugins/columns deleted file mode 120000 index e3e66df..0000000 --- a/site/plugins/columns +++ /dev/null @@ -1 +0,0 @@ -../../modules/columns-plugin \ No newline at end of file diff --git a/site/plugins/columns/index.php b/site/plugins/columns/index.php new file mode 100644 index 0000000..b378ced --- /dev/null +++ b/site/plugins/columns/index.php @@ -0,0 +1,27 @@ + [ + 'kirbytags:before' => function ($text, array $data = []) { + + $text = preg_replace_callback('!\(columns(…|\.{3})\)(.*?)\((…|\.{3})columns\)!is', function($matches) use($text, $data) { + + $columns = preg_split('!(\n|\r\n)\+{4}\s+(\n|\r\n)!', $matches[2]); + $html = []; + $classItem = $this->option('kirby.columns.item', 'column'); + $classContainer = $this->option('kirby.columns.container', 'columns'); + + foreach ($columns as $column) { + $html[] = '
' . $this->kirbytext($column, $data) . '
'; + } + + return '
' . implode($html) . '
'; + + }, $text); + + return $text; + } + + ] +]); diff --git a/site/plugins/kirbytextraw b/site/plugins/kirbytextraw deleted file mode 120000 index 71aeb31..0000000 --- a/site/plugins/kirbytextraw +++ /dev/null @@ -1 +0,0 @@ -../../modules/kirby-plugin-kirbytextRaw \ No newline at end of file diff --git a/site/plugins/piwik/.gitignore b/site/plugins/piwik/.gitignore deleted file mode 100755 index 485dee6..0000000 --- a/site/plugins/piwik/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.idea diff --git a/site/plugins/piwik/Readme.md b/site/plugins/piwik/Readme.md deleted file mode 100755 index f9869b0..0000000 --- a/site/plugins/piwik/Readme.md +++ /dev/null @@ -1,33 +0,0 @@ -# Piwik plugin - -A plugin for [Kirby CMS](http://getkirby.com) that generates piwik analytics code to use in your templates. - -## Installation - -Put the `piwik` folder in `/site/plugins`. - -Configure piwik URL and site id in your page config. - -### Config Variables - -- spicy.piwik.active: true / false (Default: true) -- spicy.piwik.url: 'stats.yourpage.com' -- spicy.piwik.id: 1 (replace with the page ID in your piwik installation) - -## How to use it - -You can use this in a template file. - -## Example usage - -### Snippets - -```php - - -``` - -## Author - -Michael Fürmann @ Spicy Web - \ No newline at end of file diff --git a/site/plugins/piwik/piwik.php b/site/plugins/piwik/piwik.php deleted file mode 100755 index 30d44bc..0000000 --- a/site/plugins/piwik/piwik.php +++ /dev/null @@ -1,18 +0,0 @@ - - * @version 1.0.0 - */ - -function piwik($options = array()) { - if(!c::get('spicy.piwik.active', true) || !c::get('spicy.piwik.url') || !c::get('spicy.piwik.id')) - return; - $options['url'] = c::get('spicy.piwik.url'); - $options['id'] = c::get('spicy.piwik.id'); - // Return template HTML - return tpl::load(__DIR__ . DS . 'template.php', $options); -} -?> \ No newline at end of file diff --git a/site/plugins/piwik/template.php b/site/plugins/piwik/template.php deleted file mode 100755 index e6deb85..0000000 --- a/site/plugins/piwik/template.php +++ /dev/null @@ -1,15 +0,0 @@ - - - - diff --git a/site/plugins/thumbext b/site/plugins/thumbext deleted file mode 120000 index e18ced0..0000000 --- a/site/plugins/thumbext +++ /dev/null @@ -1 +0,0 @@ -../../modules/kirby-plugin-thumbExt \ No newline at end of file diff --git a/site/snippets/base/cont-header.php b/site/snippets/base/cont-header.php index fc1445b..7dfd17e 100644 --- a/site/snippets/base/cont-header.php +++ b/site/snippets/base/cont-header.php @@ -9,12 +9,12 @@ $subnav = false; if ($page->depth() == 1) { $baseSec = $page; - if ( $page->isVisible() && $baseSec->hasVisibleChildren() && $page->template() != 'blog' ) { + if ( $page->isListed() && $baseSec->hasListedChildren() && $page->template() != 'blog' ) { $subnav = true; } }else if ($page->depth() == 2) { $baseSec = $page->parent(); - if ( $page->isVisible() && $baseSec->hasVisibleChildren() && $page->template() != 'blogarticle' ) { + if ( $page->isListed() && $baseSec->hasListedChildren() && $page->template() != 'blogarticle' ) { $subnav = true; } } @@ -26,11 +26,11 @@ if ($page->depth() == 1) {