1
0
Fork 0

[SITE] merge finished design and structure

* feature/draft:
  [SITE] move img-Tags to new thumb syntax
  [SITE CONFIG] exclude more pages form sitemap + moved some css from head to end
  [SITE CONFIG] redirect old feature urls to new urls + exclude redirect pages from sitemap
  [SITE CSS] add code style to main.scss + add image and text size to blog.scss + enable smartypants
  [SITE] blog: add meta (date, tags) to blogarticle as well
  [SITE] add template, blueprint, css for the blog
  [SITE] activate js files in html-end separately for each template
  [SITE CSS] set colors as variables + base on 2 colors
  [SITE] eliminate font-awesome
  [SITE CSS] add more margin between content and footer
  [SITE] add template, blueprint, css for webdesign page
  [SITE] show title image (if it exists)
  [SITE] add template, blueprint, css for project pages and projects page
  [GIT] update kirby + update bootstrap
  [SITE CSS] add style for kirbytags + darken footer color at photo pages
  [FIX] fix blueprint titles + new head title format
  [SITE] add template, blueprint, css for photo pages
  [SITE CSS] add bootstrap style for code
  [SITE] finish nav for mobile and second level
  [SITE] home and footer finished + nav for top level
This commit is contained in:
Jannik Beyerstedt 2016-04-22 23:44:14 +02:00
commit 77a1e27445
62 changed files with 4876 additions and 128 deletions

View file

@ -5,8 +5,10 @@
"sass.enabled": true, "sass.enabled": true,
"sass.options": { "sass.options": {
"outputDir": "../css/", "outputDir": "../css/",
"includePaths": [], "includePaths": [
"sourceComments": true, "../vendors/bootstrap/scss/"
],
"sourceComments": false,
"outputStyle": "nested" "outputStyle": "nested"
} }
}, },
@ -14,8 +16,10 @@
"sass.enabled": true, "sass.enabled": true,
"sass.options": { "sass.options": {
"outputDir": "../../css/templates", "outputDir": "../../css/templates",
"includePaths": [], "includePaths": [
"sourceComments": true, "../../vendors/bootstrap/scss/"
],
"sourceComments": false,
"outputStyle": "nested" "outputStyle": "nested"
} }
}, },
@ -24,7 +28,7 @@
"sass.options": { "sass.options": {
"outputDir": "../../../css/twbs/", "outputDir": "../../../css/twbs/",
"includePaths": [], "includePaths": [],
"sourceComments": true, "sourceComments": false,
"outputStyle": "nested" "outputStyle": "nested"
} }
} }

83
assets/css/blog.css Normal file
View file

@ -0,0 +1,83 @@
/* STYLE for jannikbeyerstedt.de
* for specific template
*/
h2 {
margin-bottom: 5px; }
a:hover, a:active, a:focus {
text-decoration: none; }
figure {
text-align: center; }
figure img {
max-width: 100%; }
main.blog .container {
max-width: 700px; }
main.blog h1 a {
color: inherit; }
main.blog article div.meta {
color: #a6a6a6;
font-size: 0.85em; }
main.blog article div.meta span.tags {
margin-left: 5px;
border-left: 1px solid #a6a6a6;
padding-left: 6px; }
main.blog article div.meta span.tags a {
color: inherit; }
main.blog article div.meta span.tags a:after {
content: ','; }
main.blog article div.meta span.tags a:last-child:after {
content: ''; }
main.blog article.excerpt {
font-size: 1.05em;
padding-bottom: 30px;
margin-top: 25px;
border-bottom: 1px solid #a6a6a6;
margin-bottom: 20px; }
main.blog article.excerpt a.more {
font-size: 1.7em;
line-height: 1rem;
position: relative;
top: 0.03em; }
main.blog article.blogarticle {
font-size: 1.15em;
margin-top: 30px;
padding-bottom: 15px;
border-bottom: 2px solid silver;
margin-bottom: 50px; }
main.blog article.blogarticle h1 {
margin-bottom: 0; }
main.blog article.blogarticle div.meta.title {
margin-bottom: 20px; }
main.blog article.blogarticle div.meta.bottom {
margin-top: 45px; }
main.blog div.teasers article.excerpt:last-child {
border-bottom: none; }
nav.pagination {
float: none;
text-align: center;
height: 45px;
color: #a6a6a6; }
nav.pagination a.button {
display: inline-block;
padding: 5px 14px;
background-color: #fff;
border: 1px solid #d9d9d9;
border-radius: 10px;
color: inherit; }
nav.pagination a.button.older {
float: left; }
nav.pagination a.button.newer {
float: right; }
nav.pagination span.num-pages {
position: relative;
top: 0.5em; }
/*# sourceMappingURL=blog.css.map */

BIN
assets/css/blog.css.map Normal file

Binary file not shown.

2324
assets/css/foundation.css vendored Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

267
assets/css/main.css Normal file
View file

@ -0,0 +1,267 @@
/* STYLE for jannikbeyerstedt.de
* generic styles
*/
body {
margin: 0;
font-family: 'Alegreya Sans', "Verdana", "Arial", sans-serif;
min-width: 300px; }
h1, h2, h3, h4 {
margin-bottom: 18px;
font-family: 'Crimson Text', serif; }
h5 {
margin-bottom: 8px; }
h6 {
margin-bottom: 5px; }
p {
margin-top: 0;
line-height: 1.5em; }
a {
color: #2da301; }
a:active, a:hover, a:focus {
color: #1f7001; }
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 {
margin-bottom: 10px; }
header img {
width: 75px;
height: 75px;
float: left; }
nav {
box-sizing: border-box; }
nav ul.nav {
margin: 0;
padding-left: 0; }
nav ul.nav a {
text-decoration: none;
background-color: inherit;
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: 544px) {
nav {
float: right;
height: 75px; }
nav ul.nav a {
float: left;
text-align: center;
font-size: 16px;
padding: 45px 0 5px;
width: 109px; }
nav ul.nav a:hover, nav ul.nav a:focus, nav ul.nav a.active {
color: #fff;
background-color: #0060e3; }
nav ul.nav.home {
color: #fff; }
nav ul.nav.home a {
background-color: #1779ff;
border-right: 1px solid #0055ca; }
nav ul.nav.home a:last-child {
border-right: 0; }
nav ul.nav.home a.active {
color: #fff;
border-bottom: 4px solid #2da301;
padding-bottom: 1px; }
nav ul.nav.main, nav ul.nav.second {
height: 37.5px; }
nav ul.nav.main a, nav ul.nav.second a {
padding: 8px 0 5.5px; }
nav ul.nav.main {
color: #1779ff; }
nav ul.nav.main a.active {
color: #fff;
border-bottom: 4px solid #2da301;
padding-bottom: 1.5px; }
nav ul.nav.second {
color: #fff; }
nav ul.nav.second a {
background-color: #1779ff; }
nav ul.nav.second a.active {
border-bottom: 4px solid #2da301;
padding-bottom: 1.5px; } }
@media (max-width: 543px) {
nav button.navbar-toggler {
float: right;
margin-top: 10px;
font-family: inherit;
font-weight: 300; }
nav ul.mobileNav a {
font-size: 18px;
font-weight: 300; }
nav ul.mobileNav a.active {
color: #4a96ff;
font-weight: 700; }
.navbar-toggler {
padding: 0.5rem 0.75rem;
font-size: 1.25rem;
line-height: 1;
background: none;
border: 1px solid transparent;
border-radius: 0.25rem; }
.navbar-toggler:focus,
.navbar-toggler:hover {
text-decoration: none; } }
footer {
margin-top: 20px;
padding-top: 20px;
padding-bottom: 20px;
background-color: #bebebe;
color: #000; }
footer p {
margin-bottom: 0; }
@media (max-width: 543px) {
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; }
/* make footer sticky */
html {
position: relative;
min-height: 100%; }
@media (min-width: 544px) {
body {
/* Margin bottom by footer height */
margin-bottom: 115px; }
footer {
position: absolute;
bottom: 0;
width: 100%;
height: 85px; } }
@media (max-width: 543px) {
body {
/* Margin bottom by footer height */
margin-bottom: 192px; }
footer {
position: absolute;
bottom: 0;
width: 100%;
height: 162px; } }
/*
* HELPERS
*/
.right {
text-align: right; }
.center {
text-align: center; }
@media (max-width: 543px) {
.col-xxs-12.right, .col-xxs-12.center {
text-align: inherit; } }
/* to break down col-xs */
.visible-xxs {
display: none !important; }
@media (max-width: 543px) {
.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; } }
/*
* KIRBYTAGS
*/
.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 */

BIN
assets/css/main.css.map Normal file

Binary file not shown.

View file

@ -0,0 +1,19 @@
/* STYLE for jannikbeyerstedt.de
* for specific template
*/
main div.home {
text-align: center;
margin-top: 20%;
margin-bottom: 20%; }
main div.home h1 {
margin: 0;
font-family: 'Alegreya Sans', "Verdana", "Arial", sans-serif;
font-weight: 100;
font-size: 60px;
margin-top: 15px;
margin-bottom: 15px; }
main div.home p {
margin: 0;
font-size: 20px; }
/*# sourceMappingURL=home.css.map */

Binary file not shown.

View file

@ -0,0 +1,220 @@
/* STYLE for jannikbeyerstedt.de
* for specific template
*/
body {
background-color: #424242;
color: #fff; }
a {
color: #34bc01; }
a:active, a:hover {
color: #42ef01; }
@media (min-width: 544px) {
nav ul.nav.main {
color: #fff; } }
footer {
background-color: #303030;
color: #e6e6e6; }
div.carousel {
max-width: 1300px;
margin: 0 auto; }
.img-fluid, .carousel-inner > .carousel-item > img,
.carousel-inner > .carousel-item > a > img {
display: block;
max-width: 100%;
height: auto; }
.img-rounded {
border-radius: 0.3rem; }
.img-thumbnail {
padding: 0.25rem;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 0.25rem;
transition: all 0.2s ease-in-out;
display: inline-block;
max-width: 100%;
height: auto; }
.img-circle {
border-radius: 50%; }
.figure {
display: inline-block; }
.figure-img {
margin-bottom: 0.5rem;
line-height: 1; }
.figure-caption {
font-size: 90%;
color: #818a91; }
.carousel {
position: relative; }
.carousel-inner {
position: relative;
width: 100%;
overflow: hidden; }
.carousel-inner > .carousel-item {
position: relative;
display: none;
transition: .6s ease-in-out left; }
.carousel-inner > .carousel-item > img,
.carousel-inner > .carousel-item > a > img {
line-height: 1; }
@media all and (transform-3d), (-webkit-transform-3d) {
.carousel-inner > .carousel-item {
transition: transform 0.6s ease-in-out;
backface-visibility: hidden;
perspective: 1000px; }
.carousel-inner > .carousel-item.next,
.carousel-inner > .carousel-item.active.right {
left: 0;
transform: translate3d(100%, 0, 0); }
.carousel-inner > .carousel-item.prev,
.carousel-inner > .carousel-item.active.left {
left: 0;
transform: translate3d(-100%, 0, 0); }
.carousel-inner > .carousel-item.next.left,
.carousel-inner > .carousel-item.prev.right,
.carousel-inner > .carousel-item.active {
left: 0;
transform: translate3d(0, 0, 0); } }
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
display: block; }
.carousel-inner > .active {
left: 0; }
.carousel-inner > .next,
.carousel-inner > .prev {
position: absolute;
top: 0;
width: 100%; }
.carousel-inner > .next {
left: 100%; }
.carousel-inner > .prev {
left: -100%; }
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
left: 0; }
.carousel-inner > .active.left {
left: -100%; }
.carousel-inner > .active.right {
left: 100%; }
.carousel-control {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 15%;
font-size: 20px;
color: #fff;
text-align: center;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
opacity: 0.5; }
.carousel-control.left {
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); }
.carousel-control.right {
right: 0;
left: auto;
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); }
.carousel-control:focus,
.carousel-control:hover {
color: #fff;
text-decoration: none;
outline: 0;
opacity: .9; }
.carousel-control .icon-prev,
.carousel-control .icon-next {
position: absolute;
top: 50%;
z-index: 5;
display: inline-block;
width: 20px;
height: 20px;
margin-top: -10px;
font-family: serif;
line-height: 1; }
.carousel-control .icon-prev {
left: 50%;
margin-left: -10px; }
.carousel-control .icon-next {
right: 50%;
margin-right: -10px; }
.carousel-control .icon-prev::before {
content: "\2039"; }
.carousel-control .icon-next::before {
content: "\203a"; }
.carousel-indicators {
position: absolute;
bottom: 10px;
left: 50%;
z-index: 15;
width: 60%;
padding-left: 0;
margin-left: -30%;
text-align: center;
list-style: none; }
.carousel-indicators li {
display: inline-block;
width: 10px;
height: 10px;
margin: 1px;
text-indent: -999px;
cursor: pointer;
background-color: transparent;
border: 1px solid #fff;
border-radius: 10px; }
.carousel-indicators .active {
width: 12px;
height: 12px;
margin: 0;
background-color: #fff; }
.carousel-caption {
position: absolute;
right: 15%;
bottom: 20px;
left: 15%;
z-index: 10;
padding-top: 20px;
padding-bottom: 20px;
color: #fff;
text-align: center;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }
.carousel-caption .btn {
text-shadow: none; }
@media (min-width: 544px) {
.carousel-control .icon-prev,
.carousel-control .icon-next {
width: 30px;
height: 30px;
margin-top: -15px;
font-size: 30px; }
.carousel-control .icon-prev {
margin-left: -15px; }
.carousel-control .icon-next {
margin-right: -15px; }
.carousel-caption {
right: 20%;
left: 20%;
padding-bottom: 30px; }
.carousel-indicators {
bottom: 20px; } }
/*# sourceMappingURL=photo.css.map */

Binary file not shown.

View file

@ -0,0 +1,36 @@
/* STYLE for jannikbeyerstedt.de
* for specific template
*/
.img-fluid {
display: block;
max-width: 100%;
height: auto; }
.img-rounded {
border-radius: 0.3rem; }
.img-thumbnail {
padding: 0.25rem;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 0.25rem;
transition: all 0.2s ease-in-out;
display: inline-block;
max-width: 100%;
height: auto; }
.img-circle {
border-radius: 50%; }
.figure {
display: inline-block; }
.figure-img {
margin-bottom: 0.5rem;
line-height: 1; }
.figure-caption {
font-size: 90%;
color: #818a91; }
/*# sourceMappingURL=project.css.map */

Binary file not shown.

View file

@ -0,0 +1,257 @@
/* STYLE for jannikbeyerstedt.de
* for specific template
*/
.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 {
display: block;
max-width: 100%;
height: auto; }
.img-rounded {
border-radius: 0.3rem; }
.img-thumbnail {
padding: 0.25rem;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 0.25rem;
transition: all 0.2s ease-in-out;
display: inline-block;
max-width: 100%;
height: auto; }
.img-circle {
border-radius: 50%; }
.figure {
display: inline-block; }
.figure-img {
margin-bottom: 0.5rem;
line-height: 1; }
.figure-caption {
font-size: 90%;
color: #818a91; }
.card {
position: relative;
display: block;
margin-bottom: 0.75rem;
background-color: #fff;
border-radius: 0.25rem;
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.125); }
.card-block {
padding: 1.25rem; }
.card-block::after {
content: "";
display: table;
clear: both; }
.card-title {
margin-bottom: 0.75rem; }
.card-subtitle {
margin-top: -0.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 > .list-group:first-child .list-group-item:first-child {
border-top-left-radius: 0.25rem;
border-top-right-radius: 0.25rem; }
.card > .list-group:last-child .list-group-item:last-child {
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem; }
.card-header {
padding: 0.75rem 1.25rem;
background-color: #f5f5f5;
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.125); }
.card-header::after {
content: "";
display: table;
clear: both; }
.card-header:first-child {
border-radius: 0.25rem 0.25rem 0 0; }
.card-footer {
padding: 0.75rem 1.25rem;
background-color: #f5f5f5;
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.125); }
.card-footer::after {
content: "";
display: table;
clear: both; }
.card-footer:last-child {
border-radius: 0 0 0.25rem 0.25rem; }
.card-header-tabs {
margin-right: -0.625rem;
margin-bottom: -0.75rem;
margin-left: -0.625rem;
border-bottom: 0; }
.card-header-tabs .nav-item {
margin-bottom: 0; }
.card-header-pills {
margin-right: -0.625rem;
margin-left: -0.625rem; }
.card-primary {
background-color: #0275d8;
border-color: #0275d8; }
.card-success {
background-color: #5cb85c;
border-color: #5cb85c; }
.card-info {
background-color: #5bc0de;
border-color: #5bc0de; }
.card-warning {
background-color: #f0ad4e;
border-color: #f0ad4e; }
.card-danger {
background-color: #d9534f;
border-color: #d9534f; }
.card-outline-primary {
background-color: transparent;
border-color: #0275d8; }
.card-outline-secondary {
background-color: transparent;
border-color: #ccc; }
.card-outline-info {
background-color: transparent;
border-color: #5bc0de; }
.card-outline-success {
background-color: transparent;
border-color: #5cb85c; }
.card-outline-warning {
background-color: transparent;
border-color: #f0ad4e; }
.card-outline-danger {
background-color: transparent;
border-color: #d9534f; }
.card-inverse .card-header,
.card-inverse .card-footer {
border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
.card-inverse .card-header,
.card-inverse .card-footer,
.card-inverse .card-title,
.card-inverse .card-blockquote {
color: #fff; }
.card-inverse .card-link,
.card-inverse .card-text,
.card-inverse .card-blockquote > footer {
color: rgba(255, 255, 255, 0.65); }
.card-inverse .card-link:focus,
.card-inverse .card-link:hover {
color: #fff; }
.card-blockquote {
padding: 0;
margin-bottom: 0;
border-left: 0; }
.card-img {
border-radius: 0.25rem; }
.card-img-overlay {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
padding: 1.25rem; }
.card-img-top {
border-radius: 0.25rem 0.25rem 0 0; }
.card-img-bottom {
border-radius: 0 0 0.25rem 0.25rem; }
@media (min-width: 544px) {
.card-deck {
display: table;
table-layout: fixed;
border-spacing: 1.25rem 0; }
.card-deck .card {
display: table-cell;
width: 1%;
vertical-align: top; }
.card-deck-wrapper {
margin-right: -1.25rem;
margin-left: -1.25rem; } }
@media (min-width: 544px) {
.card-group {
display: table;
width: 100%;
table-layout: fixed; }
.card-group .card {
display: table-cell;
vertical-align: top; }
.card-group .card + .card {
margin-left: 0;
border-left: 0; }
.card-group .card:first-child {
border-bottom-right-radius: 0;
border-top-right-radius: 0; }
.card-group .card:first-child .card-img-top {
border-top-right-radius: 0; }
.card-group .card:first-child .card-img-bottom {
border-bottom-right-radius: 0; }
.card-group .card:last-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0; }
.card-group .card:last-child .card-img-top {
border-top-left-radius: 0; }
.card-group .card:last-child .card-img-bottom {
border-bottom-left-radius: 0; }
.card-group .card:not(:first-child):not(:last-child) {
border-radius: 0; }
.card-group .card:not(:first-child):not(:last-child) .card-img-top,
.card-group .card:not(:first-child):not(:last-child) .card-img-bottom {
border-radius: 0; } }
@media (min-width: 544px) {
.card-columns {
column-count: 3;
column-gap: 1.25rem; }
.card-columns .card {
display: inline-block;
width: 100%; } }
.card-img-top {
width: 100%; }
/*# sourceMappingURL=projects.css.map */

Binary file not shown.

View file

@ -0,0 +1,52 @@
/* STYLE for jannikbeyerstedt.de
* for specific template
*/
main.webdesign .container {
margin-top: 30px; }
.featurette h2 {
font-family: inherit;
margin-top: 10px; }
@media (max-width: 767px) {
.featurette img {
margin-top: 50px; } }
@media (max-width: 543px) {
.featurette img {
margin: 0 auto;
max-height: 200px; } }
.img-fluid {
display: block;
max-width: 100%;
height: auto; }
.img-rounded {
border-radius: 0.3rem; }
.img-thumbnail {
padding: 0.25rem;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 0.25rem;
transition: all 0.2s ease-in-out;
display: inline-block;
max-width: 100%;
height: auto; }
.img-circle {
border-radius: 50%; }
.figure {
display: inline-block; }
.figure-img {
margin-bottom: 0.5rem;
line-height: 1; }
.figure-caption {
font-size: 90%;
color: #818a91; }
/*# sourceMappingURL=webdesign.css.map */

Binary file not shown.

BIN
assets/images/css3icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
assets/images/html5icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
assets/images/kirbyicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 139.7 158.6" enable-background="new 0 0 139.7 158.6" xml:space="preserve">
<path fill="#000000" d="M69.9,0L0,39.7V119l69.9,39.7l69.9-39.7V39.7L69.9,0z M101,81L81.4,91.6V93H101v15.3H38.7V93h19.6v-1.5
L38.7,81V62l31.2,16.8L101,62V81z"/>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 626 B

View file

@ -0,0 +1,23 @@
$color_font: #000;
$color_bg: #fff;
$color_base: #1779ff;
$color_accent: #2da301;
$link_color: $color_accent;
$link_active: darken($color_accent, 10%);
$col_xxs_bp: 543px;
$nav_bgColor: $color_base;
$nav_borderColor: darken($nav_bgColor, 15%);
$nav_fgColor: #fff;
$nav_textXsWidth: 80px;
$nav_textSmWidth: 109px;
$footer_color_bg: #bebebe;
$color_bg_inv: #424242;
$color_font_inv: #fff;
$link_color_inv: lighten($color_accent, 5%);
$link_active_inv: lighten($color_accent, 15%);

126
assets/scss/blog.scss Normal file
View file

@ -0,0 +1,126 @@
/* STYLE for jannikbeyerstedt.de
* for specific template
*/
@import "custom";
@import "variables";
@import "mixins";
@import "mainvariables";
$blog_color_meta: #a6a6a6;
// change main.scss behavior
body {
}
h2 {
margin-bottom: 5px;
}
a:hover, a:active, a:focus {
text-decoration: none;
}
figure {
text-align: center;
img {
max-width: 100%;
}
}
// additional css
main.blog {
.container {
max-width: 700px;
}
h1 a {
color: inherit;
}
article {
div.meta {
color: $blog_color_meta;
font-size: 0.85em;
span.tags {
margin-left: 5px;
border-left: 1px solid $blog_color_meta;
padding-left: 6px;
a {color: inherit;}
a:after {content: ',';}
a:last-child:after {content: '';}
}
}
}
article.excerpt {
font-size: 1.05em;
padding-bottom: 30px;
margin-top: 25px;
border-bottom: 1px solid $blog_color_meta;
margin-bottom: 20px;
a.more {
font-size: 1.7em;
line-height: 1rem;
position: relative;
top: 0.03em;
}
}
article.blogarticle {
font-size: 1.15em;
margin-top: 30px;
h1 {
margin-bottom: 0;
}
div.meta.title {
margin-bottom: 20px;
}
padding-bottom: 15px;
border-bottom: 2px solid lighten($blog_color_meta, 10%);
margin-bottom: 50px;
div.meta.bottom {
margin-top: 45px;
}
}
div.teasers {
article.excerpt:last-child {
border-bottom: none;
}
}
}
nav.pagination {
float: none;
text-align: center;
height: 45px;
color: $blog_color_meta;
a.button {
display: inline-block;
padding: 5px 14px;
background-color: #fff;
border: 1px solid lighten($blog_color_meta, 20%);
border-radius: 10px;
color: inherit;
&.older {
float: left;
}
&.newer {
float: right;
}
}
span.num-pages {
position: relative;
top: 0.5em;
}
}
// ---- from boostrap ----
//@import "images";

60
assets/scss/foundation.scss vendored Normal file
View file

@ -0,0 +1,60 @@
/* STYLE for jannikbeyerstedt.de
* used parts of bootstrap
*/
// Core variables and mixins
@import "custom";
@import "variables";
@import "mixins";
// Reset and dependencies
//@import "normalize";
@import "print";
// Core CSS
@import "reboot"; // needed for correct grid behaviour
@import "type";
//@import "images";
//@import "code";
@import "grid";
//@import "tables";
//@import "forms";
@import "buttons";
// Components
@import "animation";
//@import "dropdown";
//@import "button-group";
//@import "input-group";
//@import "custom-forms";
//@import "nav";
//@import "navbar";
//@import "card";
//@import "breadcrumb";
//@import "pagination";
//@import "tags";
//@import "jumbotron";
//@import "alert";
//@import "progress";
//@import "media";
//@import "list-group";
//@import "responsive-embed";
//@import "close";
// Components w/ JavaScript
//@import "modal";
//@import "tooltip";
//@import "popover";
//@import "carousel";
// Utility classes
@import "utilities";
// bugfixes:
@include media-breakpoint-down(xs) {
.row {
margin-left: 0;
margin-right: 0;
}
}

347
assets/scss/main.scss Normal file
View file

@ -0,0 +1,347 @@
/* STYLE for jannikbeyerstedt.de
* generic styles
*/
@import "custom";
@import "variables";
@import "mixins";
@import "mainvariables";
body {
margin: 0;
font-family: 'Alegreya Sans', "Verdana", "Arial", sans-serif;
min-width: 300px;
}
h1, h2, h3, h4 {
margin-bottom: 18px;
font-family: 'Crimson Text', serif;
}
h5 {
margin-bottom: 8px;
}
h6 {
margin-bottom: 5px;
}
p {
margin-top: 0;
line-height: 1.5em;
}
a {
color: $link_color;
&:active, &:hover, &:focus {
color: $link_active;
}
}
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;
code {
margin: 0;
padding: 0;
white-space: pre;
border: none;
background: transparent;
}
}
main div.container {
margin-top: 10px;
@include media-breakpoint-up(lg) {
max-width: 940px;
}
}
$header_logoSize: 75px;
header {
margin-bottom: 10px;
img {
width: $header_logoSize;
height: $header_logoSize;
float: left;
}
}
nav {
box-sizing: border-box;
ul.nav {
margin: 0; // reset
padding-left: 0; // reset
a {
text-decoration: none;
background-color: inherit;
color: inherit;
}
li {
list-style-type: none; // reset
}
a:hover, a:focus {
text-decoration: none; // reset
}
}
}
@include media-breakpoint-up(sm) {
nav {
float: right;
height: $header_logoSize;
ul.nav {
a {
float: left;
text-align: center;
font-size: 16px;
padding: 45px 0 5px;
width: $nav_textSmWidth;
}
a:hover, a:focus, a.active {
color: $nav_fgColor;
background-color: darken($nav_bgColor, 10%);
}
}
ul.nav.home {
color: $nav_fgColor;
a {
background-color: $nav_bgColor;
border-right: 1px solid $nav_borderColor;
}
a:last-child {
border-right: 0;
}
a.active {
color: $nav_fgColor;
border-bottom: 4px solid $color_accent;
padding-bottom: 1px;
}
}
ul.nav.main, ul.nav.second {
height: $header_logoSize/2;
a {
padding: 8px 0 5.5px;
}
}
ul.nav.main {
color: $nav_bgColor;
a.active {
color: $nav_fgColor;
border-bottom: 4px solid $color_accent;
padding-bottom: 1.5px;
}
}
ul.nav.second {
color: $nav_fgColor;
a {
background-color: $nav_bgColor;
}
a.active {
border-bottom: 4px solid $color_accent;
padding-bottom: 1.5px;
}
}
}
}
@include media-breakpoint-down(xs) {
nav {
button.navbar-toggler {
float: right;
margin-top: 10px;
font-family: inherit;
font-weight: 300;
}
ul.mobileNav {
a {
font-size: 18px;
font-weight: 300;
}
a.active {
color: lighten($nav_bgColor, 10%);
font-weight: 700;
}
}
}
// ---- from boostrap ----
// @requires animation.scss and collapse.js, util.js
.navbar-toggler {
padding: .5rem .75rem;
font-size: $font-size-lg;
line-height: 1;
background: none;
border: $border-width solid transparent;
@include border-radius($btn-border-radius);
@include hover-focus {
text-decoration: none;
}
}
}
$footer_logoHeight: 1.4rem;
footer {
margin-top: 20px;
padding-top: 20px;
padding-bottom: 20px;
background-color: $footer_color_bg;
color: $color_font;
p {
margin-bottom: 0;
}
@media (max-width: $col_xxs_bp) {
text-align: center;
p {
margin-bottom: 10px;
}
}
i.fa {
color: $color_font;
font-size: $footer_logoHeight;
padding-right: 0.2em;
}
a > svg {
height: $footer_logoHeight;
width: $footer_logoHeight;
position: relative; top: 0.18rem;
image {
height: $footer_logoHeight;
width: $footer_logoHeight;
}
}
img {
height: $footer_logoHeight;
padding-right: 0.2em;
}
}
/* make footer sticky */
$footer_height: 85px;
$footer_height_xs: 162px;
$footer_margin: 30px;
html {
position: relative;
min-height: 100%;
}
@include media-breakpoint-up(sm) {
body {
/* Margin bottom by footer height */
margin-bottom: $footer_height + $footer_margin;
}
footer {
position: absolute;
bottom: 0;
width: 100%;
height: $footer_height;
}
}
@include media-breakpoint-down(xs) {
body {
/* Margin bottom by footer height */
margin-bottom: $footer_height_xs + $footer_margin;
}
footer {
position: absolute;
bottom: 0;
width: 100%;
height: $footer_height_xs;
}
}
/*
* HELPERS
*/
.right {
text-align: right;
}
.center {
text-align: center;
}
@media (max-width: $col_xxs_bp) {
.col-xxs-12.right, .col-xxs-12.center {
text-align: inherit;
}
}
/* to break down col-xs */
.visible-xxs {
display: none!important;
}
@media (max-width: $col_xxs_bp) {
.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;
}
}
/*
* KIRBYTAGS
*/
.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;
}

View file

@ -0,0 +1,23 @@
/* STYLE for jannikbeyerstedt.de
* for specific template
*/
main {
div.home {
text-align: center;
margin-top: 20%;
margin-bottom: 20%;
h1 {
margin: 0;
font-family: 'Alegreya Sans', "Verdana", "Arial", sans-serif;
font-weight: 100;
font-size: 60px;
margin-top: 15px;
margin-bottom: 15px;
}
p {
margin: 0;
font-size: 20px;
}
}
}

View file

@ -0,0 +1,52 @@
/* STYLE for jannikbeyerstedt.de
* for specific template
*/
@import "custom";
@import "variables";
@import "mixins";
@import "../mainvariables";
// change main.scss behavior - inverted color style
body {
background-color: $color_bg_inv;
color: $color_font_inv;
}
a {
color: $link_color_inv;
&:active, &:hover {
color: $link_active_inv;
}
}
@include media-breakpoint-up(sm) {
nav {
ul.nav.main {
color: $nav_fgColor;
}
}
}
footer {
background-color: darken($color_bg_inv, 7%);
color: darken($color_font_inv, 10%);
}
// additional css
main.photo {
.container {
}
}
div.carousel {
max-width: 1300px;
margin: 0 auto;
}
// ---- from boostrap ----
@import "images";
// @requires animation.scss (already in main.scss) and carousel.js, util.js
@import "carousel";

View file

@ -0,0 +1,26 @@
/* STYLE for jannikbeyerstedt.de
* for specific template
*/
@import "custom";
@import "variables";
@import "mixins";
@import "../mainvariables";
// change main.scss behavior
body {
}
// additional css
main.project {
.container {
}
}
// ---- from boostrap ----
@import "images";

View file

@ -0,0 +1,45 @@
/* STYLE for jannikbeyerstedt.de
* for specific template
*/
@import "custom";
@import "variables";
@import "mixins";
@import "../mainvariables";
// change main.scss behavior
body {
}
// additional css
main.projects {
.container {
}
}
.card a {
color: $color_font;
&:active, &:hover {
color: $color_font;
text-decoration: none;
}
&.card-link {
&:active, &:hover {
text-decoration: underline;
}
}
}
// ---- from boostrap ----
@import "images";
@import "card";
.card-img-top {
width: 100%;
}

View file

@ -0,0 +1,46 @@
/* STYLE for jannikbeyerstedt.de
* for specific template
*/
@import "custom";
@import "variables";
@import "mixins";
@import "../mainvariables";
// change main.scss behavior
body {
}
// additional css
main.webdesign {
.container {
margin-top: 30px;
}
}
.featurette {
h2 {
font-family: inherit;
margin-top: 10px;
}
@include media-breakpoint-down(sm) {
img {
margin-top: 50px;
}
}
@include media-breakpoint-down(xs) {
img {
margin: 0 auto;
max-height: 200px;
}
}
}
// ---- from boostrap ----
@import "images";

@ -1 +1 @@
Subproject commit 064fda0e802679e56e88db2910fdf5369dde6e4c Subproject commit 26a6dc1d16c0efb9783889076e351d15b644ea83

2
kirby

@ -1 +1 @@
Subproject commit e19eaa0acf3bedd85f75d6626e14251ddf0cf85b Subproject commit 25fa64c91219cb9801622c416a1b00631a569257

2
panel

@ -1 +1 @@
Subproject commit 227a18cf302eba44f9bc8bd6bde79350685c86ab Subproject commit d63ff1b90daf62951a657fe6a5e96b55e1b09bab

16
site/blueprints/blog.yaml Normal file
View file

@ -0,0 +1,16 @@
title: Blog
pages:
template:
- blogarticle
num: date
sort: flip
files: false
fields:
title:
label: Title
type: text
text:
label: Text
type: textarea

View file

@ -0,0 +1,23 @@
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
meta-robots:
label: Metatag robots
type: text

View file

@ -1,6 +1,8 @@
title: Page title: default Page
pages: true pages: true
files: true files: true
fields: fields:
title: title:
label: Title label: Title

18
site/blueprints/home.yaml Normal file
View file

@ -0,0 +1,18 @@
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,22 @@
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

@ -0,0 +1,25 @@
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
text2:
label: Text below masonry
type: textarea

View file

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

View file

@ -0,0 +1,19 @@
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

@ -3,6 +3,7 @@ Title: Site
pages: pages:
template: template:
- default - default
- redirect
fields: fields:
title: title:
@ -32,15 +33,25 @@ fields:
en: header image / logo (drag and drop) en: header image / logo (drag and drop)
de: Logo für Kopf der Seite (drag and drop) de: Logo für Kopf der Seite (drag and drop)
type: image type: image
copyright:
line:
type: line
footer_left:
label: label:
en: Copyright (footer) en: footer left
de: Copyright (für Footertext) de: Footer links
type: text type: textarea
width: 1/2 width: 1/3
webdesigner: footer_center:
label: label:
en: Webdesign by (footer text right) en: footer center
de: Webdesign von (rechter Footertext) de: Footer Mitte
type: text type: textarea
width: 1/2 width: 1/3
footer_right:
label:
en: footer right
de: Footer rechts
type: textarea
width: 1/3

View file

@ -0,0 +1,23 @@
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,5 +1,5 @@
<?php <?php
header("Content-Security-Policy: default-src 'self'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; frame-src https://*.youtube-nocookie.com; script-src 'self' 'unsafe-inline' https://jannikb.aquila.uberspace.de/piwik/; img-src 'self' https://jannikb.aquila.uberspace.de/piwik/"); header("Content-Security-Policy: default-src 'self'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; frame-src https://*.youtube-nocookie.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://jannikb.aquila.uberspace.de/piwik/; img-src 'self' https://jannikb.aquila.uberspace.de/piwik/");
//header("X-Content-Type-Options: nosniff"); // enabled at server-side //header("X-Content-Type-Options: nosniff"); // enabled at server-side
//header("X-Frame-Options: deny"); // enabled at server-side //header("X-Frame-Options: deny"); // enabled at server-side
//header("X-Xss-Protection: 1; mode=block"); // enabled at server-side //header("X-Xss-Protection: 1; mode=block"); // enabled at server-side
@ -15,6 +15,10 @@ Kirby Configuration
c::set('cache', true); c::set('cache', true);
c::set('cache.ignore', array('sitemap')); c::set('cache.ignore', array('sitemap'));
c::set('smartypants', true);
c::set('smartypants.doublequote.open', '&bdquo;');
c::set('smartypants.doublequote.close', '&ldquo;');
c::set('ssl', true); c::set('ssl', true);
c::set('routes', array( c::set('routes', array(
@ -23,6 +27,22 @@ c::set('routes', array(
'action' => function() { 'action' => function() {
return site()->visit('sitemap'); 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');
}
}
) )
)); ));
@ -31,30 +51,25 @@ Modules Configuration
*/ */
// plg-carousel // plg-carousel
//c::set('plg_carousel.enable', true); c::set('plg_carousel.enable', true);
//c::set('plg_carousel.sort', 'sort'); // sortBy parameter: sort, title, etc. 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.dir', 'asc'); // sortBy direction: asc, desc
// plg-masonry // plg-masonry
//c::set('plg_masonry.enable', true); c::set('plg_masonry.enable', true);
//c::set('plg_masonry.width', 170); c::set('plg_masonry.width', 170);
//c::set('plg_masonry.sizelimit', 1300); // limit the source image size (long edge) //c::set('plg_masonry.sizelimit', 1300); // limit the source image size (long edge)
//c::set('plg_masonry.sort', 'sort'); // sortBy parameter: sort, title, etc. 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.dir', 'asc'); // sortBy direction: asc, desc
//c::set('plg_masonry.lightbox', 'swipebox'); c::set('plg_masonry.lightbox', 'swipebox');
// plg-navbar style:
//c::set('navbar-class', 'navbar-inverse navbar-fixed-top');
//c::set('navbar-ignoreChildren', true);
//c::set('navbar-affix', true);
// bastians columns.php plugin from https://github.com/getkirby/plugins/tree/master/columns // bastians columns.php plugin from https://github.com/getkirby/plugins/tree/master/columns
//c::set('columns.container', 'row'); c::set('columns.container', 'row');
//c::set('columns.item', 'col-sm-6 columns'); c::set('columns.item', 'col-sm-6 columns');
// enhanced sitemap by Jannik Beyerstedt: // enhanced sitemap by Jannik Beyerstedt:
c::set('smap_ignoreSite', array('sitemap', 'error', 'home')); c::set('smap_ignoreSite', array('sitemap', 'error', 'home', 'qr', 'secret', 'test'));
c::set('smap_ignoreTemplate', array('carousel')); c::set('smap_ignoreTemplate', array('carousel', 'redirect'));
c::set('smap_heading_visible', 'Hauptmenü'); c::set('smap_heading_visible', 'Hauptmenü');
c::set('smap_heading_invisible', 'weitere Seiten'); c::set('smap_heading_invisible', 'weitere Seiten');
//c::set('smap_column_class_id', 'class="foo" id="bar"'); //c::set('smap_column_class_id', 'class="foo" id="bar"');

View file

@ -6,10 +6,25 @@
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License // license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// ------------------------------------------- // -------------------------------------------
?> ?>
<footer class="section" id="footer" role="contentinfo"> <footer class="section">
<div class="container"> <div class="container">
<p id="copyright"><?php echo $site->copyright()->kirbytextRaw() ?></p> <div class="row">
<p id="info"><?php echo $site->webdesigner()->kirbytextRaw() ?></p> <div class="col-xs-4 col-xxs-12">
<div class="clearfix"></div> <?php echo $site->footer_left()->kirbytext(); ?>
</div>
<div class="col-xs-4 col-xxs-12 center">
<?php echo $site->footer_center()->kirbytext(); ?>
</div>
<div class="col-xs-4 col-xxs-12 right">
<a href="https://github.com/jbeyerstedt"><img src="<?php echo $site->url()?>/assets/images/githubicon.png" alt="github icon"></a>
<img src="<?php echo $site->url()?>/assets/images/html5icon.png" alt="html5 icon">
<img src="<?php echo $site->url()?>/assets/images/css3icon.png" alt="css3 icon">
<a href="https://getkirby.com"><img src="<?php echo $site->url()?>/assets/images/kirbyicon-bl.png" alt="kirby icon"></a>
<?php echo $site->footer_right()->kirbytext(); ?>
</div>
</div>
</div> </div>
</footer> </footer>

View file

@ -5,11 +5,66 @@
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de // copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License // license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// ------------------------------------------- // -------------------------------------------
$subnav = false;
if ($page->depth() == 1) {
$baseSec = $page;
if ( $page->isVisible() && $baseSec->hasVisibleChildren() && $page->template() != 'blog' ) {
$subnav = true;
}
}else if ($page->depth() == 2) {
$baseSec = $page->parent();
if ( $page->isVisible() && $baseSec->hasVisibleChildren() && $page->template() != 'blogarticle' ) {
$subnav = true;
}
}
?> ?>
<header class="section" id="header" role="banner">
<div class="collapse hidden-sm-up" id="exCollapsingNavbar">
<div class="bg-inverse p-a-1">
<nav>
<ul class="nav mobileNav">
<?php foreach ($site->children()->visible() as $p) : ?>
<a href="<?php echo $p->url()?>" <?php echo ($page == $p)?'class="active"':'' ?>><li><?php echo $p->title() ?></li></a>
<?php if ($p->hasVisibleChildren() && $p->template() != 'blog') : ?>
<ul class="">
<?php foreach ($p->children()->visible() as $c) : ?>
<a href="<?php echo $c->url()?>" <?php echo ($page == $c)?'class="active"':'' ?>><li><?php echo $c->title() ?></li></a>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php endforeach; ?>
</ul>
</nav>
</div>
</div>
<header class="section">
<div class="container"> <div class="container">
<?php if ($img = $site->images()->find($site->title_image())) : ?>
<a class="logo" href="<?php echo url() ?>"> <a class="logo" href="<?php echo url() ?>">
<h1 id="logo">Jannik Beyerstedt</h1> <img src="<?php echo $site->title_image()->url() ?>" alt="Logo">
</a> </a>
<?php endif; ?>
<nav aria-hidden="true">
<button class="navbar-toggler hidden-sm-up" type="button" data-toggle="collapse" data-target="#exCollapsingNavbar">
Menü <i class="fa fa-bars"></i>
</button>
<ul class="nav hidden-xs-down <?php echo ($subnav)?'main':'home' ?>">
<?php foreach ($site->children()->visible() 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; ?>
</ul>
<?php if($subnav) : ?>
<ul class="nav hidden-xs-down second">
<?php foreach ($baseSec->children()->visible() as $p) : ?>
<a href="<?php echo $p->url()?>" <?php echo ($page == $p)?'class="active"':'' ?>><li><?php echo $p->title() ?></li></a>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</nav>
</div> </div>
</header> </header>

View file

@ -4,48 +4,50 @@
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de // copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License // license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// set switches, to enable parts of the code. All disabled by default!
// ------------------------------------------- // -------------------------------------------
// available switches:
$switches = array("bs_util", "bs_collapse", "bs_carousel", "plg_masonry");
$jquery = false;
foreach ($switches as $switch) {
if (isset(${$switch}) && ${$switch}==true) {
$jquery = true;
${$switch} = true;
}else {
${$switch} = false;
}
}
?> ?>
<?php if($jquery) {
echo js('assets/vendors/jquery-2.2.2.min.js');
}?>
<!-- Bootstrap core JavaScript--> <!-- Bootstrap core JavaScript-->
<?php echo js('assets/vendors/jquery-2.2.2.min.js') ?> <?php
<?php //echo js('assets/vendors/bootstrap/js/bootstrap.min.js') ?> if($bs_util) {
echo js('assets/vendors/bootstrap/js/dist/util.js');
}
if($bs_collapse) {
echo js('assets/vendors/bootstrap/js/dist/collapse.js');
}
if($bs_carousel) {
echo js('assets/vendors/bootstrap/js/dist/carousel.js');
}
?>
<?php if (c::get('navbar-affix')) : ?> <?php if (c::get('plg_masonry.enable') && $plg_masonry==true) : $width = c::get('plg_masonry.width');?>
<script> <style>
$('.navbar-wrapper').affix({ #masonry {margin: 0 auto;}
offset: { .masonryitem { width: <?php echo $width ?>px; margin-bottom: 10px;}
top: $('header').height() .masonryitem.w2 { width: 40%; }
} </style>
});
</script>
<?php endif; ?>
<?php if (c::get('plg_masonry.enable')) { <?php echo js('assets/vendors/masonry/dist/masonry.pkgd.min.js');?>
echo js('assets/vendors/masonry/dist/masonry.pkgd.min.js');
}?>
<?php if (c::get('plg_masonry.lightbox')=='swipebox') {
echo js('assets/vendors/swipebox/src/js/jquery.swipebox.min.js');
}?>
<?php if (c::get('plg_carousel.enable')) : ?>
<script type="text/javascript">
$(document).ready(function () {
$('.carousel').carousel('cycle');
});
</script>
<?php endif; ?>
<?php if ((c::get('plg_masonry.lightbox')=='swipebox')) : ?>
<script type="text/javascript">
$(document).ready(function () {
$('.swipebox' ).swipebox();
});
</script>
<?php endif; ?>
<?php if (c::get('plg_masonry.enable')) : ?>
<script type="text/javascript"> <script type="text/javascript">
$('#masonry').masonry({ $('#masonry').masonry({
isFitWidth: true, isFitWidth: true,
@ -54,8 +56,18 @@
itemSelector: '.masonryitem' itemSelector: '.masonryitem'
}); });
</script> </script>
<?php echo js('assets/vendors/swipebox/src/js/jquery.swipebox.min.js');?>
<?php echo css('assets/vendors/swipebox/src/css/swipebox.css') ?>
<script type="text/javascript">
$(document).ready(function () {
$('.swipebox' ).swipebox();
});
</script>
<?php endif; ?> <?php endif; ?>
<?php echo piwik(); ?> <?php echo piwik(); ?>
</body> </body>

View file

@ -5,17 +5,21 @@
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de // copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License // license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// ------------------------------------------- // -------------------------------------------
if( $page->isHomePage() ) {
$title = $site->title()->html();
}else if ($page->depth() == 2) {
$title = $page->parent()->title()->html().': '.$page->title()->html().' | '.$site->title()->html();
}else {
$title = $page->title()->html().' | '.$site->title()->html();
}
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="de"> <html lang="de">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<?php if( $page->isHomePage() ) : ?> <title><?php echo $title ?> </title>
<title><?php echo $site->title()->html() ?> </title>
<?php else : ?>
<title><?php echo $site->title()->html() ?> | <?php echo $page->title()->html() ?></title>
<?php endif; ?>
<meta name="description" content="<?php echo $site->description()->html() ?>"> <meta name="description" content="<?php echo $site->description()->html() ?>">
<meta name="keywords" content="<?php echo $site->keywords()->html() ?>"> <meta name="keywords" content="<?php echo $site->keywords()->html() ?>">
<meta name="author" content="<?php echo $site->author()->html() ?>" > <meta name="author" content="<?php echo $site->author()->html() ?>" >
@ -23,26 +27,15 @@
<meta name="robots" content="<?php echo $page->meta_robots()->html() ?>"> <meta name="robots" content="<?php echo $page->meta_robots()->html() ?>">
<?php endif; ?> <?php endif; ?>
<?php echo css('assets/vendors/font-awesome/css/font-awesome.min.css') ?> <?php echo css('assets/css/foundation.css') ?>
<?php echo css('assets/css/main.css') ?> <?php echo css('assets/css/main.css') ?>
<?php echo css('@auto') ?> <?php echo css('@auto') ?>
<!-- Google web fonts --> <!-- Google web fonts -->
<link href='https://fonts.googleapis.com/css?family=Alegreya+Sans:400,100,300,400italic,500,500italic,700' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Crimson+Text:400,700' rel='stylesheet' type='text/css'>
<?php if (c::get('plg_masonry.enable')) : $width = c::get('plg_masonry.width'); ?>
<style>
#masonry {margin: 0 auto;}
.masonryitem { width: <?php echo $width ?>px; margin-bottom: 10px;}
.masonryitem.w2 { width: 40%; }
</style>
<?php endif; ?>
<?php if (c::get('plg_masonry.lightbox')=='swipebox') : ?>
<?php echo css('assets/vendors/swipebox/src/css/swipebox.css') ?>
<?php endif; ?>
</head> </head>
<body> <body>

View file

@ -0,0 +1,40 @@
<?php
// -------------------------------------------
// kirby snippet FOR jannikbeyerstedt.de
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// -------------------------------------------
if( $page->isHomePage() ) {
$title = $site->title()->html();
}else if ($page->depth() == 2) {
$title = $page->parent()->title()->html().': '.$page->title()->html();
}else {
$title = $page->title()->html().' | '.$site->title()->html();
}
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title><?php echo $title ?> </title>
<meta name="description" content="<?php echo $site->description()->html() ?>">
<meta name="keywords" content="<?php echo $page->tags()->html() ?>">
<meta name="author" content="<?php echo $site->author()->html() ?>" >
<?php if ($page->meta_robots()->html() != "") : ?>
<meta name="robots" content="<?php echo $page->meta_robots()->html() ?>">
<?php endif; ?>
<?php echo css('assets/css/foundation.css') ?>
<?php echo css('assets/css/main.css') ?>
<?php echo css('assets/css/blog.css') ?>
<!-- Google web fonts -->
<link href='https://fonts.googleapis.com/css?family=Alegreya+Sans:400,100,300,400italic,500,500italic,700' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Crimson+Text:400,700' rel='stylesheet' type='text/css'>
</head>
<body>

View file

@ -0,0 +1,22 @@
<?php
// -------------------------------------------
// kirby snippet FOR jannikbeyerstedt.de
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// usage: snippet('blogexcerpt',["article"=>$article,"length"=>200,"base_url"=>$base_url])
// -------------------------------------------
$a = $article;
?>
<article class="excerpt">
<h2><a href="<?php echo $a->url()?>"><?php echo $a->title()->html() ?></a></h2>
<p><?php echo $a->text()->excerpt($length) ?>
<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>
<?php echo tags($base_url, $a); ?>
</div>
</article>

View file

@ -0,0 +1,58 @@
<?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() ?>" />
<div class="carousel-caption">
<h3><?php echo $image->heading()->kirbytext() ?></h3>
<?php echo $image->caption()->kirbytext() ?>
</div>
</div>
<?php endforeach ?>
</div>
<a class="left carousel-control" href="#myCarousel" data-slide="prev"><span class="glyphicon glyphicon-chevron-left"></span></a>
<a class="right carousel-control" href="#myCarousel" data-slide="next"><span class="glyphicon glyphicon-chevron-right"></span></a>
</div>
<?php else : echo $preAlt ?>
<?php endif ?>

83
site/templates/blog.php Normal file
View file

@ -0,0 +1,83 @@
<?php
// -------------------------------------------
// kirby template FOR jannikbeyerstedt.de
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// -------------------------------------------
$base_url = $site->find('blog')->url();
function tags($base_url, $article) {
$tags = explode(',',(string)$article->tags());
if (!empty($tags[0])) {
$return_val = '<span class="tags">';
foreach ($tags as $tag) {
$url = $base_url.'/tag:'.$tag;
$return_val .= '<a href="'.$url.'">' . $tag . '</a> ';
}
$return_val .= '</span>';
return $return_val;
} else {
return '';
}
}
$articles = $page->children()->visible()->flip();
$title = $page->title()->html();
if($tag = param('tag')) {
$articles = $articles->filterBy('tags', $tag, ',');
$title .= ' - '.$tag;
}
$articles = $articles->paginate(6);
$pagination = $articles->pagination();
snippet('blog-htmlhead');
snippet('base/cont-header');
?>
<main class="section blog">
<div class="container">
<h1><a href="<?php echo $base_url ?>"><?php echo $title ?></a></h1>
<?php echo $page->text()->kirbytext(); ?>
<?php if($pagination->hasPages() && $pagination->page() != 1): ?>
<nav class="pagination">
<?php if($pagination->hasNextPage()): ?>
<a class="button older" href="<?php echo $pagination->nextPageURL() ?>">&lsaquo; älter</a>
<?php endif ?>
<span class="num-pages">Seite <?php echo $pagination->page() ?> von <?php echo $pagination->pages() ?></span>
<?php if($pagination->hasPrevPage()): ?>
<a class="button newer" href="<?php echo $pagination->prevPageURL() ?>">neuer &rsaquo;</a>
<?php endif ?>
</nav>
<?php endif ?>
<?php foreach($articles as $a) {
echo snippet('blogexcerpt',["article"=>$a,"length"=>200,"base_url"=>$base_url]);
}?>
<?php if($pagination->hasPages()): ?>
<nav class="pagination">
<?php if($pagination->hasNextPage()): ?>
<a class="button older" href="<?php echo $pagination->nextPageURL() ?>">&lsaquo; älter</a>
<?php endif ?>
<span class="num-pages">Seite <?php echo $pagination->page() ?> von <?php echo $pagination->pages() ?></span>
<?php if($pagination->hasPrevPage()): ?>
<a class="button newer" href="<?php echo $pagination->prevPageURL() ?>">neuer &rsaquo;</a>
<?php endif ?>
</nav>
<?php endif ?>
</div>
</main>
<?php snippet('base/cont-footer') ?>
<?php snippet('base/html-end', ["bs_util"=>1,
"bs_collapse"=>1]) ?>

View file

@ -0,0 +1,65 @@
<?php
// -------------------------------------------
// kirby template FOR jannikbeyerstedt.de
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// -------------------------------------------
$base_url = $site->find('blog')->url();
function tags($base_url, $article) {
$tags = explode(',',(string)$article->tags());
if (!empty($tags[0])) {
$return_val = '<span class="tags">';
foreach ($tags as $tag) {
$url = $base_url.'/tag:'.$tag;
$return_val .= '<a href="'.$url.'">' . $tag . '</a> ';
}
$return_val .= '</span>';
return $return_val;
} else {
return '';
}
}
snippet('blog-htmlhead');
snippet('base/cont-header');
?>
<main class="section blog">
<div class="container">
<article class="blogarticle">
<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>
</div>
<?php echo $page->text()->kirbytext(); ?>
<div class="meta bottom">
<time datetime="<?php echo $page->date('Y-m-d') ?>"><?php echo $page->date('d. M. Y') ?></time>
<?php echo tags($base_url, $page); ?>
</div>
</article>
<?php if($page->hasPrevVisible() || $page->hasNextVisible()): ?>
<div class="teasers">
<?php if($page->hasNextVisible()) {
echo snippet('blogexcerpt',["article"=>$page->nextVisible(),"length"=>200,"base_url"=>$base_url]);
} ?>
<?php if($page->hasPrevVisible()) {
echo snippet('blogexcerpt',["article"=>$page->prevVisible(),"length"=>200,"base_url"=>$base_url]);
} ?>
</div>
<?php endif ?>
</div>
</main>
<?php snippet('base/cont-footer') ?>
<?php snippet('base/html-end', ["bs_util"=>1,
"bs_collapse"=>1]) ?>

View file

@ -8,12 +8,18 @@
snippet('base/html-head'); snippet('base/html-head');
snippet('base/cont-header'); snippet('base/cont-header');
?> ?>
<h1><?php echo $page->title()->html() ?></h1> <main class="section">
<div class="container">
<?php echo $page->text()->kirbytext() ?> <h1><?php echo $page->title()->html() ?></h1>
<?php echo $page->text()->kirbytext(); ?>
</div>
</main>
<?php snippet('base/cont-footer') ?> <?php snippet('base/cont-footer') ?>
<?php snippet('base/html-end') ?> <?php snippet('base/html-end', ["bs_util"=>1,
"bs_collapse"=>1]) ?>

28
site/templates/home.php Normal file
View file

@ -0,0 +1,28 @@
<?php
// -------------------------------------------
// kirby template FOR jannikbeyerstedt.de
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// -------------------------------------------
snippet('base/html-head');
snippet('base/cont-header');
?>
<main class="section">
<div class="container">
<div class="home">
<h1><?php echo $page->hero_text()->kirbytextRaw() ?></h1>
<p><?php echo $page->subtitle()->kirbytextRaw() ?></p>
</div>
<?php echo $page->text()->kirbytext(); ?>
</div>
</main>
<?php snippet('base/cont-footer') ?>
<?php snippet('base/html-end', ["bs_util"=>1,
"bs_collapse"=>1]) ?>

33
site/templates/photo.php Normal file
View file

@ -0,0 +1,33 @@
<?php
// -------------------------------------------
// kirby template FOR jannikbeyerstedt.de
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// -------------------------------------------
snippet('base/html-head');
snippet('base/cont-header');
?>
<main class="section photo">
<?php echo snippet('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>
</main>
<?php snippet('base/cont-footer') ?>
<?php snippet('base/html-end', ["bs_util"=>1,
"bs_collapse"=>1,
"bs_carousel"=>1,
"plg_masonry"=>1]) ?>

View file

@ -0,0 +1,30 @@
<?php
// -------------------------------------------
// kirby template FOR jannikbeyerstedt.de
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// -------------------------------------------
snippet('base/html-head');
snippet('base/cont-header');
?>
<main class="section project">
<div class="container">
<h1><?php echo $page->title()->kirbytext(); ?></h1>
<?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>
</main>
<?php snippet('base/cont-footer') ?>
<?php snippet('base/html-end', ["bs_util"=>1,
"bs_collapse"=>1,
"bs_carousel"=>0,
"plg_masonry"=>1]) ?>

View file

@ -0,0 +1,45 @@
<?php
// -------------------------------------------
// kirby template FOR jannikbeyerstedt.de
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// -------------------------------------------
$children = $page->children();
snippet('base/html-head');
snippet('base/cont-header');
?>
<main class="section projects">
<div class="container">
<h1><?php echo $page->title()->kirbytext(); ?></h1>
<?php echo $page->text()->kirbytext(); ?>
</div>
<div class="container"><div class="row">
<?php $i=0; foreach($children as $c) : $i++; ?>
<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 html::img($img->width(400)->quality(70)->url(), ['class'=>"card-img-top"]);
} ?>
<div class="card-block">
<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>
</div>
</a>
</div></div>
<?php
echo ($i%2 == 0)?'<div class="clearfix hidden-lg-up"></div>':'';
echo ($i%4 == 0)?'<div class="clearfix hidden-md-down"></div>':''
?>
<?php endforeach; ?>
</div></div>
</main>
<?php snippet('base/cont-footer') ?>
<?php snippet('base/html-end', ["bs_util"=>1,
"bs_collapse"=>1]) ?>

View file

@ -0,0 +1,18 @@
<?php
// -------------------------------------------
// kirby template FOR jannikbeyerstedt.de
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// -------------------------------------------
$target = $page->target()->url();
if ($page->red_type() == 'temp') {
$code = 302;
}else if ($page->red_type() == 'perm') {
$code = 301;
}else {
$code = 302;
}
header::redirect($target, $code);
?>

View file

@ -0,0 +1,37 @@
<?php
// -------------------------------------------
// kirby template FOR jannikbeyerstedt.de
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
// -------------------------------------------
$img = $page->images()->find($page->featurette_img());
snippet('base/html-head');
snippet('base/cont-header');
?>
<main class="section webdesign">
<div class="container">
<div class="row featurette">
<div class="col-sm-9">
<h2 class="featurette-heading"><?php echo $page->featurette_headline()->html() ?></h2>
<p class="lead"><?php echo $page->featurette_text()->kirbytextRaw() ?></p>
</div>
<div class="col-sm-3">
<?php if ($img = $page->images()->find($page->featurette_img())) {
echo html::img($img->width(235)->quality(70)->url(), ['class'=>"img-fluid img-rounded", 'alt'=>"Portrait"]);
}?>
</div>
</div>
<?php echo $page->text()->kirbytext(); ?>
</div>
</main>
<?php snippet('base/cont-footer') ?>
<?php snippet('base/html-end', ["bs_util"=>1,
"bs_collapse"=>1]) ?>