1
0
Fork 0

Compare commits

..

4 commits

81 changed files with 545 additions and 10507 deletions

4
.gitignore vendored
View file

@ -1,8 +1,8 @@
.DS_Store
/site/accounts
/site/cache
/assets/avatars
/thumbs
/site/sessions
/media
/content
/video

23
.gitmodules vendored
View file

@ -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,10 @@
[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
[submodule "site/plugins/kirbytag-download"]
path = site/plugins/kirbytag-download
url = https://github.com/jbeyerstedt/kirby-kirbytag-download

View file

@ -1,26 +1,39 @@
# Kirby .htaccess
# revision 2020-06-15
# rewrite rules
<IfModule mod_rewrite.c>
# 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,7 +42,24 @@ RewriteRule ^(.*) index.php [L]
</IfModule>
# pass the Authorization header to PHP
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
# compress text file responses
<IfModule mod_deflate.c>
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
</IfModule>
## Custom htaccess
<IfModule mod_rewrite.c>
# block update scripts
RewriteRule ^(.*).sh$ error [R=301,L]
@ -38,26 +68,6 @@ 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
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
<IfModule mod_setenvif.c>
# 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
</IfModule>
<IfModule mod_headers.c>
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>
</IfModule>
# enable browser caching headers

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View file

@ -1,3 +1,3 @@
body{color:#fff}div.site-wrap{background-color:#424242}a{color:#34c501}a:active,a:hover{color:#41f801}main p a:visited{color:#ccc}@media (min-width: 576px){nav ul.nav{color:#fff}nav ul.nav a.section:hover,nav ul.nav a.section:focus{border:none}}@media (max-width: 575.98px){label[for="nav-trigger"]{color:#fff;background-color:#424242}}footer{background-color:#303030;color:#e6e6e6}div.carousel{max-width:1300px;margin:0 auto}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity 0.15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50% / 100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.carousel-inner>.carousel-item>img{width:100%}
body{color:#fff}div.site-wrap{background-color:#424242}a{color:#34c501}a:active,a:hover{color:#41f801}main p a:visited{color:#ccc}@media (min-width: 576px){nav ul.nav{color:#fff}nav ul.nav a.section:hover,nav ul.nav a.section:focus{border:none}}@media (max-width: 575.98px){label[for="nav-trigger"]{color:#fff;background-color:#424242}}footer{background-color:#303030;color:#e6e6e6}div.carousel{max-width:1300px;margin:0 auto}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity 0.15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:50% / 100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.carousel-inner>.carousel-item>img{width:100%}
/*# sourceMappingURL=photo.css.map */

Binary file not shown.

Binary file not shown.

View file

@ -1,3 +1,3 @@
.card{margin-bottom:30px}.card a{color:#000}.card a:active,.card a:hover{color:#000;text-decoration:none}.card a.card-link:active,.card a.card-link:hover{text-decoration:underline}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,0.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,0.03);border-bottom:1px solid rgba(0,0,0,0.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,0.03);border-top:1px solid rgba(0,0,0,0.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:flex;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width: 576px){.card-deck{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:flex;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width: 576px){.card-group{flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width: 576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.card-img-top{width:100%}
.card{margin-bottom:30px}.card a{color:#000}.card a:active,.card a:hover{color:#000;text-decoration:none}.card a.card-link:active,.card a.card-link:hover{text-decoration:underline}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,0.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,0.03);border-bottom:1px solid rgba(0,0,0,0.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,0.03);border-top:1px solid rgba(0,0,0,0.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width: 576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.card-img-top{width:100%}
/*# sourceMappingURL=projects.css.map */

View file

@ -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 */

@ -1 +1 @@
Subproject commit 8fa0d3010112dca5dd6dd501173415856001ba8b
Subproject commit 6ffb0b48e455430f8a5359ed689ad64c1143fac2

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Binary file not shown.

2
assets/vendors/jquery-3.5.1.min.js vendored Normal file

File diff suppressed because one or more lines are too long

@ -1 +1 @@
Subproject commit c6227436cdeef6237652d9bf7d3cf3b6bd9fc252
Subproject commit ef32e09af998d206f563cdf2962cc954c76627b1

View file

@ -1,16 +1,5 @@
<?php
define('DS', DIRECTORY_SEPARATOR);
require 'kirby/bootstrap.php';
// load kirby
require(__DIR__ . DS . 'kirby' . DS . 'bootstrap.php');
// check for a custom site.php
if(file_exists(__DIR__ . DS . 'site.php')) {
require(__DIR__ . DS . 'site.php');
} else {
$kirby = kirby();
}
// render
echo $kirby->launch();
echo (new Kirby)->render();

2
kirby

@ -1 +1 @@
Subproject commit e3bc4e4277859249cff1a67c333a5544766cad31
Subproject commit 551e2f427eaf18e471df1c304552ab3de35e37c6

@ -1 +0,0 @@
Subproject commit 57b4ccd2c12db25860baa8d3486bf42cacce05a6

View file

@ -0,0 +1,28 @@
<?php
# from https://getkirby.com/docs/cookbook/extensions/columns-in-kirbytext
# copied at 2021-01-23
Kirby::plugin('kirby/columns', [
'hooks' => [
'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[] = '<div class="' . $classItem . '">' . $this->kirbytext($column, $data) . '</div>';
}
return '<div class="' . $classContainer . '">' . implode($html) . '</div>';
}, $text);
return $text;
}
]
]);

@ -1 +0,0 @@
Subproject commit 81564cfc343f733e47012895ed249bb69f99b96c

@ -1 +0,0 @@
Subproject commit 9cf8c1e749efdedb3b21c8bc31535bbfbb7a68e9

@ -1 +0,0 @@
Subproject commit d222f4f02eef5574dd7850b40391f86688283f27

@ -1 +1 @@
Subproject commit 5b56892014a01e3e4f602576e4912c54da911648
Subproject commit c17f1c4d6ac66326ca481df8e0ecf720efc29e05

@ -1 +0,0 @@
Subproject commit b9639427e03917b1ac8bb3cd7c35a61fa90b839e

1
panel

@ -1 +0,0 @@
Subproject commit 31a79539294c24f636d2f3af004aa2576eb59040

View file

@ -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
````

View file

@ -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

View file

@ -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

View file

@ -1,47 +0,0 @@
<?php if(!defined('KIRBY')) exit ?>
# 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:<br>
- Alle Bilder müssen dasselbe Seitenverhältnis haben, wenigstens jedoch im **Querformat** vorliegen.<br>
- Diese Seite muss die unter der URL "carousel" abgelegt sein.<br>
- Wenn die Bildergalerie leer bleiben soll, muss diese Seite nicht gelöscht werden, sondern kann auch einfach keine Bilder enthalten.<br>
- Die Reihenfolge der Bilder kann unter "Dateien -> bearbeiten" angepasst werden.<br>
- Um ein Bild mit einer Bildüberschrift zu versehen, einfach die Datei auswählen und die entsprechenden Felder bearbeiten. Speichern nicht vergessen.<br>
- 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

View file

@ -1,12 +0,0 @@
title: default Page
pages: true
files: true
fields:
title:
label: Title
type: text
text:
label: Text
type: textarea

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -0,0 +1 @@
../../../modules/kirby-template-sitemap/blueprints/xmlsitemap.yml

View file

@ -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

View file

@ -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

View file

@ -1,14 +0,0 @@
title: Projects
pages:
template:
- project
files: true
fields:
title:
label: Title
type: text
text:
label: Text
type: textarea

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -1 +0,0 @@
../../modules/kirby-template-sitemap/blueprints/xmlsitemap.php

View file

@ -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);

View file

@ -1,6 +1,7 @@
<?php
if(!function_exists('panel')) {
header("Content-Security-Policy: default-src 'self'; style-src 'self' 'nonce-nRfqpuKWNuYyUAFPTr6WVNZk9' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; frame-src https://www.youtube-nocookie.com; script-src 'self' 'unsafe-eval' 'nonce-nRfqpuKWNuYyUAFPTr6WVNZk9' 'unsafe-inline' https://jannikb.aquila.uberspace.de/piwik/; img-src 'self' data: https://jannikb.aquila.uberspace.de/piwik/");
## script-src unsafe-inline is needed for kirby panel
header("Content-Security-Policy: default-src 'self'; style-src 'self' 'nonce-nRfqpuKWNuYyUAFPTr6WVNZk9'; script-src 'self' 'unsafe-inline'; img-src 'self' data:");
}
//header("X-Content-Type-Options: nosniff"); // enabled at server-side
//header("X-Frame-Options: deny"); // enabled at server-side
@ -8,11 +9,6 @@ if(!function_exists('panel')) {
header("Strict-Transport-Security: max-age=31536000");
header("Referrer-Policy: no-referrer");
/*
License Setup
*/
c::set('license', 'K2-PRO-153c9c6accc73d9547e255a0daba8911');
/*
Kirby Configuration
*/
@ -24,16 +20,12 @@ c::set('smartypants.attr', 2); // -- for en-dash, --- for em-dash
c::set('smartypants.doublequote.open', '&bdquo;');
c::set('smartypants.doublequote.close', '&ldquo;');
c::set('ssl', true);
/*
Modules Configuration
*/
// plg-carousel
c::set('plg_carousel.enable', true);
c::set('plg_carousel.sort', 'sort'); // sortBy parameter: sort, title, etc.
c::set('plg_carousel.dir', 'asc'); // sortBy direction: asc, desc
c::set('plg_carousel.class', 'carousel-fade'); // additional class on top-most div
// plg-masonry
c::set('plg_masonry.enable', true);
@ -45,25 +37,18 @@ c::set('plg_masonry.sort', 'sort'); // sortBy parameter: sort, title, etc.
c::set('plg_masonry.dir', 'asc'); // sortBy direction: asc, desc
c::set('plg_masonry.lightbox', 'swipebox');
// bastians columns.php plugin from https://github.com/getkirby/plugins/tree/master/columns
//c::set('columns.container', 'row');
//c::set('columns.item', 'col-sm-6 columns');
// columns plugin
//c::set('kirby.columns.container', 'columns');
//c::set('kirby.columns.item', 'column');
// enhanced sitemap by Jannik Beyerstedt:
c::set('smap_ignoreSite', array('sitemap', 'error', 'home', 'qr', 'secret', 'test'));
c::set('smap_ignoreTemplate', array('carousel', 'redirect'));
c::set('smap_ignoreTemplate', array('redirect'));
c::set('smap_showHiddenPagesAtRootLevel', true);
c::set('smap_heading_visible', 'Hauptmenü');
c::set('smap_heading_invisible', 'weitere Seiten');
//c::set('smap_column_class_id', 'class="foo" id="bar"');
/*
Piwik Plugin configuration
*/
c::set('spicy.piwik.active', false); /* cookie notice needed! */
c::set('spicy.piwik.url', 'https://jannikb.aquila.uberspace.de/piwik');
c::set('spicy.piwik.id', 2);
/*
Routes
*/
@ -73,21 +58,5 @@ c::set('routes', array(
'action' => 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');
}
}
)
));

View file

@ -1 +0,0 @@
../../modules/columns-plugin

View file

@ -0,0 +1,27 @@
<?php
# copied at 2021-01-23 from https://getkirby.com/docs/cookbook/extensions/columns-in-kirbytext
Kirby::plugin('kirby/columns', [
'hooks' => [
'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[] = '<div class="' . $classItem . '">' . $this->kirbytext($column, $data) . '</div>';
}
return '<div class="' . $classContainer . '">' . implode($html) . '</div>';
}, $text);
return $text;
}
]
]);

@ -0,0 +1 @@
Subproject commit 68bcdea5884143d1e24d902a9cd058a32550dc17

View file

@ -1 +0,0 @@
../../modules/kirby-plugin-kirbytextRaw

View file

@ -1 +0,0 @@
.idea

View file

@ -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
<!-- use this right before closing </body> tag -->
<?php echo piwik(); ?>
```
## Author
Michael Fürmann @ Spicy Web
<https://spicyweb.de>

View file

@ -1,18 +0,0 @@
<?php
/**
* Piwik Plugin
*
* @author Michael Fürmann <michael@spicyweb.de>
* @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);
}
?>

View file

@ -1,15 +0,0 @@
<!-- Piwik -->
<script type="text/javascript" nonce="nRfqpuKWNuYyUAFPTr6WVNZk9">
var _paq = _paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="<?= $url?>/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', <?= $id?>]);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<noscript><p><img src="<?= $url?>/piwik.php?idsite=<?= $id?>" style="border:0;" alt="" /></p></noscript>
<!-- End Piwik Code -->

View file

@ -1 +0,0 @@
../../modules/kirby-plugin-thumbExt

View file

@ -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) {
<nav class="mobile">
<ul class="nav mobileNav">
<li><a href="<?php echo $site->url()?>">Home</a></li>
<?php foreach ($site->children()->visible() as $p) : ?>
<?php foreach ($site->children()->listed() as $p) : ?>
<li><a href="<?php echo $p->url()?>" <?php echo ($page == $p)?'class="active"':'' ?>><?php echo $p->title() ?></a></li>
<?php if ($p->hasVisibleChildren() && $p->template() != 'blog') : ?>
<?php if ($p->hasListedChildren() && $p->template() != 'blog') : ?>
<ul class="">
<?php foreach ($p->children()->visible() as $c) : ?>
<?php foreach ($p->children()->listed() as $c) : ?>
<li><a href="<?php echo $c->url()?>" <?php echo ($page == $c)?'class="active"':'' ?>><?php echo $c->title() ?></a></li>
<?php endforeach; ?>
</ul>
@ -52,12 +52,12 @@ if ($page->depth() == 1) {
<nav aria-hidden="true">
<ul class="nav d-none d-sm-block">
<?php if(!$subnav) : ?>
<?php foreach ($site->children()->visible() as $p) : ?>
<?php foreach ($site->children()->listed() as $p) : ?>
<a href="<?php echo $p->url()?>" <?php echo ($page == $p || $page->parent() == $p)?'class="active"':'' ?>><li><?php echo $p->title() ?></li></a>
<?php endforeach; ?>
<?php else : ?>
<a href="<?php echo $baseSec->url()?>" class="section <?php echo ($page == $baseSec)?'active':'' ?>"><li><?php echo $baseSec->title() ?>:</li></a>
<?php foreach ($baseSec->children()->visible() as $p) : ?>
<?php foreach ($baseSec->children()->listed() as $p) : ?>
<a href="<?php echo $p->url()?>" <?php echo ($page == $p)?'class="active"':'' ?>><li><?php echo $p->title() ?></li></a>
<?php endforeach; ?>
<?php endif; ?>

View file

@ -23,7 +23,7 @@ foreach ($switches as $switch) {
?>
<?php if($jquery) {
echo js('assets/vendors/jquery-2.2.2.min.js');
echo js('assets/vendors/jquery-3.5.1.min.js');
}?>
<!-- Bootstrap core JavaScript-->
@ -64,8 +64,5 @@ echo js('assets/vendors/bootstrap/js/dist/carousel.js');
</script>
<?php endif; ?>
<?php echo piwik(); ?>
</body>
</html>

View file

@ -26,9 +26,9 @@ if( $page->isHomePage() ) {
<meta name="robots" content="<?php echo $page->meta_robots()->html() ?>">
<?php endif; ?>
<?php echo css('assets/css/foundation.css?v1.1') ?>
<?php echo css('assets/css/foundation.css?v2.0') ?>
<?php echo css('assets/css/main.css?v1.1') ?>
<?php echo css('assets/css/main.css?v2.0') ?>
<?php echo css('@auto') ?>

View file

@ -16,7 +16,7 @@ $a = $article;
<a class="more" href="<?php echo $a->url()?>">»</a>
</p>
<div class="meta">
<time datetime="<?php echo $a->date('Y-m-d') ?>"><?php echo $a->date('d. M. Y') ?></time>
<time datetime="<?php echo $a->date()->toDate('Y-m-d') ?>"><?php echo $a->date()->toDate('d. M. Y') ?></time>
<?php echo tags($base_url, $a); ?>
</div>
</article>

View file

@ -1,66 +0,0 @@
<?php
// -------------------------------------------
// kirby snippet GENERAL
// Title: plg-carousel
// funct: twitter bootstap carousel for photos in carousel subpage (folder)
// modified for bootstrap 4 !
// copyright: Jannik Beyerstedt | http://jannikbeyerstedt.de | code@jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// usage:
// snippet('plg-carousel', array('currentPage'=>$page,
// 'preNormal'=>'optional html to add before carousel',
// 'preAlt'=>'html if snippet is not displayed (for other styles)'))
// and set these constants in config.php:
//c::set('plg_carousel.sort', 'sort'); // sortBy parameter: sort, title, etc.
//c::set('plg_carousel.dir', 'asc'); // sortBy direction: asc, desc
// -------------------------------------------
// display carousel only if there are images
$carouselFolder = $currentPage->children()->find('carousel');
if (!isset($preNormal)) {$preNormal="";}
if (!isset($preAlt)) {$preAlt="";}
$sort = c::get('plg_carousel.sort', 'title');
$sdir = c::get('plg_carousel.dir', 'desc');
// if folder exists
if (!(false==$carouselFolder) && ($carouselFolder->hasImages())) : echo $preNormal
?>
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<?php $n=-1; foreach($carouselFolder->images()->sortBy($sort, $sdir) as $image): $n++; ?>
<li data-target="#myCarousel" data-slide-to="<?php echo $n ?>" class="<?php if($n==0) echo ' active' ?>"></li>
<?php endforeach ?>
</ol>
<div class="carousel-inner" role="listbox">
<?php $n=-1; foreach($carouselFolder->images()->sortBy($sort, $sdir) as $image): $n++; ?>
<div class="carousel-item<?php if($n==0) echo ' active' ?>">
<img src="<?php echo $image->url() ?>" alt="<?php echo $image->title()->html() ?>" />
<?php if(($image->heading() != "") || ($image->caption() != "")) : ?>
<div class="carousel-caption">
<?php if($image->heading() != "") : ?><h3><?php echo $image->heading()->kirbytext() ?></h3><?php endif; ?>
<?php echo $image->caption()->kirbytext() ?>
</div>
<?php endif; ?>
</div>
<?php endforeach ?>
</div>
<a class="carousel-control-prev" href="#myCarousel" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#myCarousel" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
<?php else : echo $preAlt ?>
<?php endif ?>

View file

@ -1 +0,0 @@
../../modules/kirby-kirbytag-html5video/html5video.php

View file

@ -1,30 +0,0 @@
<?php
/*
* kirbytag html5youtube
* responsive html5 youtube player embedding
*
* copyright: Jannik Beyerstedt | http://jannikbeyerstedt.de | code@jannikbeyerstedt.de
* license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
*
* version 2.0.2 (12.12.2016)
* changelog:
* - v2.0: kirby 2 support
* - v2.0.1: fix some html validation issues with & symbols
* - v2.0.2: html5 player is now default, so no url param needed any more
*/
kirbytext::$tags['html5youtube'] = array(
'attr' => array(
'options'
),
'html' => function($tag) {
$base = 'https://www.youtube-nocookie.com/embed/';
$end = '?rel=0';
$videoID = $tag->attr('html5youtube');
$options = $tag->attr('options');
return '<div class="video-container"><iframe src="' . $base . $videoID . $end . $options . '" allowfullscreen></iframe></div>';
}
);

View file

@ -23,7 +23,7 @@ function tags($base_url, $article) {
}
}
$articles = $page->children()->visible()->flip();
$articles = $page->children()->listed()->flip();
$title = $page->title()->html();

View file

@ -33,28 +33,28 @@ snippet('base/cont-header');
<h1><?php echo $page->title()->html() ?></h1>
<div class="meta title">
<time datetime="<?php echo $page->date('Y-m-d') ?>"><?php echo $page->date('d. M. Y') ?></time>
<time datetime="<?php echo $page->date()->toDate('Y-m-d') ?>"><?php echo $page->date()->toDate('d. M. Y') ?></time>
</div>
<?php echo $page->text()->kirbytext(); ?>
<?php if ($page->en_masonry()->bool()) : echo snippet('plg/plg-masonry-sb', array('currentPage'=>$page)) ; endif;?>
<?php echo $page->text2()->kirbytext(); ?>
<div class="meta bottom">
<time datetime="<?php echo $page->date('Y-m-d') ?>"><?php echo $page->date('d. M. Y') ?></time>
<time datetime="<?php echo $page->date()->toDate('Y-m-d') ?>"><?php echo $page->date()->toDate('d. M. Y') ?></time>
<?php echo tags($base_url, $page); ?>
</div>
</article>
<?php if($page->hasPrevVisible() || $page->hasNextVisible()): ?>
<?php if($page->hasPrevListed() || $page->hasNextListed()): ?>
<div class="teasers">
<?php if($page->hasNextVisible()) {
echo snippet('blogexcerpt',["article"=>$page->nextVisible(),"length"=>200,"base_url"=>$base_url]);
<?php if($page->hasNextListed()) {
echo snippet('blogexcerpt',["article"=>$page->nextListed(),"length"=>200,"base_url"=>$base_url]);
} ?>
<?php if($page->hasPrevVisible()) {
echo snippet('blogexcerpt',["article"=>$page->prevVisible(),"length"=>200,"base_url"=>$base_url]);
<?php if($page->hasPrevListed()) {
echo snippet('blogexcerpt',["article"=>$page->prevListed(),"length"=>200,"base_url"=>$base_url]);
} ?>
</div>
<?php endif ?>

View file

@ -12,11 +12,11 @@ snippet('base/cont-header');
<main class="section">
<div class="container">
<h1><?php echo $page->title()->html() ?></h1>
<?php echo $page->text()->kirbytext(); ?>
</div>
</main>

View file

@ -12,7 +12,7 @@ snippet('base/cont-header');
<main class="section">
<div class="container">
<div class="home">
<div class="logo">
<span class="firstname">jannik</span>0b 01101010<br>
@ -25,11 +25,11 @@ snippet('base/cont-header');
01110100 01100101<br>
01100100 01110100
</div>
<p><?php echo $page->subtitle()->kirbytextRaw() ?></p>
<p><?php echo $page->subtitle()->kirbytextinline() ?></p>
</div>
<?php echo $page->text()->kirbytext(); ?>
</div>
</main>

View file

@ -11,16 +11,16 @@ snippet('base/cont-header');
?>
<main class="section photo">
<?php echo snippet('plg-carousel', array('currentPage'=>$page,
'preNormal'=>'',
'preAlt'=>'')); ?>
<?php echo snippet('plg/plg-carousel', array('currentPage'=>$page,
'preNormal'=>'',
'preAlt'=>'')); ?>
<div class="container">
<?php echo $page->text()->kirbytext(); ?>
</div>
<?php echo snippet('plg/plg-masonry-sb', array('currentPage'=>$page)) ; ?>
<div class="container">
<?php echo $page->text2()->kirbytext(); ?>
</div>

View file

@ -16,8 +16,8 @@ snippet('base/cont-header');
<?php echo $page->text()->kirbytext(); ?>
</div>
<?php if($page->en_masonry() == '1') echo snippet('plg/plg-masonry-sb', array('currentPage'=>$page)); ?>
<?php if($page->en_masonry()->bool()) echo snippet('plg/plg-masonry-sb', array('currentPage'=>$page)); ?>
<div class="container">
<?php echo $page->text2()->kirbytext(); ?>
</div>

View file

@ -6,7 +6,7 @@
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// -------------------------------------------
$children = $page->children()->visible();
$children = $page->children()->listed();
snippet('base/html-head');
snippet('base/cont-header');
@ -23,12 +23,16 @@ snippet('base/cont-header');
<div class="col-sm-6 col-lg-3"><div class="card">
<a href="<?php echo $c->url(); ?>">
<?php if ($img = $c->images()->find($c->exrpt_img())) {
echo ThumbExt($img, ['width'=>400,'quality'=>70,'class'=>"card-img-top",'inline-size'=>false]);
$imgurl = $img->url();
$srcset = $img->srcset([
'1x' => ['width'=>400, 'quality'=>70],
'2x' => ['width'=>800, 'quality'=>70]
]);
echo '<img src="'.$imgurl.'" class="card-img-top" srcset="'.$srcset.'" />';
} ?>
<div class="card-body">
<h5 class="card-title"><?php echo $c->title()->html(); ?></h5>
<p class="card-text"><?php echo $c->exrpt_text()->kirbytext(); ?></p>
<a href="<?php echo $c->url(); ?>" class="card-link">mehr</a>
<p class="card-text"><?php echo $c->exrpt_text()->kirbytextinline(); ?></p>
</div>
</a>
</div></div>

View file

@ -6,7 +6,7 @@
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// -------------------------------------------
$target = $page->target()->url();
$target = $page->target()->toPage()->url();
if ($page->red_type() == 'temp') {
$code = 302;
}else if ($page->red_type() == 'perm') {

View file

@ -18,11 +18,16 @@ snippet('base/cont-header');
<div class="row featurette">
<div class="col-sm-9 col-12">
<h2 class="featurette-heading"><?php echo $page->featurette_headline()->html() ?></h2>
<p class="lead"><?php echo $page->featurette_text()->kirbytextRaw() ?></p>
<p class="lead"><?php echo $page->featurette_text()->kirbytextinline() ?></p>
</div>
<div class="col-sm-3 col-12">
<?php if ($img = $page->images()->find($page->featurette_img())) {
echo ThumbExt($img, ['width'=>235,'quality'=>70,'class'=>"img-fluid rounded",'alt'=>"Portrait",'inline-size'=>false]);
$imgurl = $img->url();
$srcset = $img->srcset([
'1x' => ['width'=>235, 'quality'=>70],
'2x' => ['width'=>235*2, 'quality'=>70]
]);
echo '<img src="'.$imgurl.'" class="img-fluid rounded" alt="Portrait" srcset="'.$srcset.'" />';
}?>
</div>
</div>