add stuff from untracked projects
10
.gitignore
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
.DS_Store
|
||||
site/accounts
|
||||
site/config
|
||||
pad
|
||||
owncloud
|
||||
h-projects
|
||||
.well-known
|
||||
old
|
||||
content
|
||||
thumbs
|
46
.htaccess
Normal file
|
@ -0,0 +1,46 @@
|
|||
# Kirby .htaccess
|
||||
|
||||
# rewrite rules
|
||||
<IfModule mod_rewrite.c>
|
||||
Redirect 301 /.well-known/carddav /owncloud/remote.php/carddav
|
||||
|
||||
# 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
|
||||
|
||||
# block text files in the content folder from being accessed directly
|
||||
RewriteRule ^content/(.*)\.(txt|md|mdown)$ index.php [L]
|
||||
|
||||
# block all files in the site folder from being accessed directly
|
||||
RewriteRule ^site/(.*) index.php [L]
|
||||
|
||||
# block all files in the kirby folder from being accessed directly
|
||||
RewriteRule ^kirby/(.*) index.php [L]
|
||||
|
||||
# make panel links work
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteRule ^panel/(.*) panel/index.php [L]
|
||||
|
||||
# make site links work
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteRule ^(.*) index.php [L]
|
||||
|
||||
</IfModule>
|
||||
|
||||
# Additional recommended values
|
||||
# Remove comments for those you want to use.
|
||||
#
|
||||
# AddDefaultCharset UTF-8
|
||||
#
|
||||
# php_flag short_open_tag on
|
BIN
assets/avatars/sterzy.png
Normal file
After Width: | Height: | Size: 33 KiB |
572
assets/css/main.css
Normal file
|
@ -0,0 +1,572 @@
|
|||
/* Font Import */
|
||||
@font-face {
|
||||
font-family: 'Montserrat';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url(../fonts/Montserrat-Regular.ttf);
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Oxygen';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url(../fonts/Oxygen-Regular.ttf);
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Oxygen';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
src: url(../fonts/Oxygen-Bold.ttf);
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Oxygen';
|
||||
font-style: normal;
|
||||
font-weight: 200;
|
||||
src: url(../fonts/Oxygen-Light.ttf);
|
||||
}
|
||||
|
||||
/* Global Reset */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
border: 0;
|
||||
position: relative;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
/* Omnipresent */
|
||||
html {
|
||||
background-color: #fff;
|
||||
font-family: "Oxygen", sans-serif;
|
||||
font-size: 14pt;
|
||||
color: #222;
|
||||
-moz-hyphens: auto;
|
||||
-webkit-hyphens: auto;
|
||||
-ms-hyphens: auto;
|
||||
hyphens: auto;
|
||||
text-rendering: optimizelegibility;
|
||||
}
|
||||
|
||||
html, body{
|
||||
z-index: -99999;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.preload a , .preload .menu li, .preload a .notesf h1, .preload a .projectsf h1 {
|
||||
-webkit-transition: none !important;
|
||||
transition: none !important;
|
||||
}
|
||||
|
||||
/* Pics */
|
||||
img {
|
||||
display: block;
|
||||
margin: 30px -2.6%;
|
||||
max-width: 105.2%;
|
||||
}
|
||||
|
||||
iframe {
|
||||
width: 105.6% !important;
|
||||
margin: 30px -2.6%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Links */
|
||||
a {
|
||||
color: #222;
|
||||
text-decoration: none;
|
||||
-webkit-transition: color .3s, background .3s, border .3s;
|
||||
transition: color .3s, background .3s, border .3s;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #0567fa;
|
||||
}
|
||||
|
||||
p a, .tagslocal a, .feed, .text a {
|
||||
border-bottom: 2px solid #ddd;
|
||||
}
|
||||
|
||||
p a:hover, .tagslocal a:hover, .feed:hover, .text a:hover {
|
||||
border-bottom: 2px solid #222;
|
||||
}
|
||||
|
||||
/* Additional */
|
||||
p, .description p:last-child {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.articles article:last-child,
|
||||
.articles article p:last-child,
|
||||
p:last-child,
|
||||
blockquote:last-child {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin: 30px -2.6%;
|
||||
max-width: 105.2%;
|
||||
padding: 5%;
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 5px solid #059cfa;
|
||||
padding-left: 2.5%;
|
||||
margin: 30px 0 30px -2.6%;
|
||||
font-weight: 400;
|
||||
max-width: 102.6%;
|
||||
}
|
||||
|
||||
.video {
|
||||
margin: 30px -2.6%;
|
||||
max-width: 105.2%;
|
||||
display: block;
|
||||
position: relative;
|
||||
padding-bottom: 56.25%;
|
||||
padding-top: 30px;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.video iframe,
|
||||
.video object,
|
||||
.video embed {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.text li {
|
||||
line-height: 1.7em;
|
||||
}
|
||||
|
||||
/* Headlines */
|
||||
h1 {
|
||||
font-family: "Montserrat", serif;
|
||||
font-weight: 400;
|
||||
font-size: 26pt;
|
||||
border: none !important;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-family: "Oxygen", serif;
|
||||
font-weight: 200;
|
||||
font-size: 18pt;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-family: "Montserrat", serif;
|
||||
font-weight: 400;
|
||||
font-size: 18pt;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-family: "Montserrat", serif;
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
font-size: 17pt;
|
||||
color: #888;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-family: "Oxygen", serif;
|
||||
font-weight: 200;
|
||||
font-style: italic;
|
||||
color: #777;
|
||||
font-size: 16pt;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
.header {
|
||||
width: 100%;
|
||||
height: 450px;
|
||||
background-image: url(../img/bg.jpg);
|
||||
background-size: cover;
|
||||
background-position: center center;
|
||||
z-index: 0 !important;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
.header .shader {
|
||||
padding: 2.5% 0 0 0;
|
||||
background-color: rgba(0,0,0,0.3);
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.header .description {
|
||||
max-width: 1000px;
|
||||
margin: 10px auto 0 auto;
|
||||
padding: 2.5% 2.5% 0;
|
||||
color: #fff;
|
||||
font-size: 14pt;
|
||||
}
|
||||
|
||||
.header .description a {
|
||||
color: #fff;
|
||||
border-color: #999;
|
||||
}
|
||||
|
||||
.header .description a:hover {
|
||||
color: #0567fa;
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
/* Navigation */
|
||||
.navigation {
|
||||
margin: 0px auto ;
|
||||
color: #fff;
|
||||
max-width: 1000px;
|
||||
padding: 0 0 40px;
|
||||
}
|
||||
|
||||
.navigation .active li{
|
||||
background-color: #0567fa;
|
||||
}
|
||||
|
||||
.menu {
|
||||
border-top: 2px solid #fff;
|
||||
border-bottom: 2px solid #fff;
|
||||
}
|
||||
.menu li {
|
||||
border: none;
|
||||
display: inline-block;
|
||||
width: 50%;
|
||||
text-align: center;
|
||||
padding: 1% 0;
|
||||
-webkit-transition: color .3s, background .3s, border .3s;
|
||||
transition: color .3s, background .3s, border .3s;
|
||||
}
|
||||
|
||||
.menu li, .menu a{
|
||||
background-color: transparent;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.menu li:hover {
|
||||
background-color: #0567fa;
|
||||
}
|
||||
|
||||
/* Main */
|
||||
main {
|
||||
width: 100% !important;
|
||||
background-color: #fff;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.mainwrapper {
|
||||
max-width: 1000px;
|
||||
margin: 450px auto 0;
|
||||
padding: 2.5% 2.5% 0 2.5%;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* Home */
|
||||
.bp {
|
||||
width: 50%;
|
||||
display: inline-block;
|
||||
padding: 0 0 0 20px;
|
||||
background-color: #fff;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.bp.left{
|
||||
border-right: 2px solid #ddd;
|
||||
padding: 0 20px 0 0;
|
||||
float: none;
|
||||
}
|
||||
|
||||
.notesf, .projectsf {
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
padding: 22% 0;
|
||||
margin: 0 0 10px 0;
|
||||
border-radius: 5px;
|
||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.notesf h1, .projectsf h1{
|
||||
margin: auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.notesf {
|
||||
background-image: url(../img/notes.jpg);
|
||||
}
|
||||
.projectsf {
|
||||
background-image: url(../img/projects.png);
|
||||
background-position: center center;
|
||||
}
|
||||
|
||||
a .notesf h1, a .projectsf h1{
|
||||
color: #fff;
|
||||
-webkit-transition: color .3s, background .3s, border .3s;
|
||||
transition: color .3s, background .3s, border .3s;
|
||||
}
|
||||
|
||||
a .notesf h1:hover, a .projectsf h1:hover{
|
||||
color: #056bfa;
|
||||
}
|
||||
|
||||
/* Blog/Notes */
|
||||
.articleinfo {
|
||||
margin-bottom: 30px;
|
||||
font-weight: 200;
|
||||
}
|
||||
|
||||
.articles, .tagcloud {
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
border-right: 2px solid #ddd;
|
||||
}
|
||||
|
||||
.articles article {
|
||||
padding: 0 30px 0 0;
|
||||
margin-bottom: 70px;
|
||||
}
|
||||
|
||||
.articles article img,
|
||||
.articles article pre,
|
||||
.articles article blockquote,
|
||||
.articles article .video,
|
||||
.articles article iframe {
|
||||
|
||||
max-width: 102.6%;
|
||||
margin-right: 0;
|
||||
|
||||
}
|
||||
|
||||
.text p,
|
||||
article p {
|
||||
text-align: justify;
|
||||
text-indent: 30px;
|
||||
}
|
||||
|
||||
.tagcloud {
|
||||
width: 29%;
|
||||
float: right;
|
||||
padding-left: 20px;
|
||||
margin-top: 5px;
|
||||
line-height: 2.2em;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.tagcloud li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.tagcloud li a {
|
||||
border: 2px solid;
|
||||
padding: 5px 8px;
|
||||
border-radius: 20px;
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
/* Pagination */
|
||||
nav.pagination {
|
||||
width: 100%;
|
||||
padding: 0 2,5%;
|
||||
margin: 40px auto 0;
|
||||
background-color: #fff;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
}
|
||||
.pagination .prev {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.pagination .next {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.pagination a {
|
||||
border: 2px solid #ddd;
|
||||
border-radius: 20px;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
.pagination a:hover {
|
||||
border: 2px solid #333;
|
||||
}
|
||||
|
||||
/* Footer */
|
||||
footer {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
padding: 30px 0.5% 0;
|
||||
margin: 0 auto 40px;
|
||||
}
|
||||
|
||||
.footerwrapper {
|
||||
max-width: 1000px;
|
||||
margin: auto;
|
||||
border-top: 2px solid #ddd;
|
||||
background-color: #fff;
|
||||
padding: 2.5%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.footerinfo, .copyright {
|
||||
width: 33%;
|
||||
padding: 0 2.5% 0 0;
|
||||
display: inline-block;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.footerinfo {
|
||||
float: none;
|
||||
}
|
||||
|
||||
/* Logo Transformation */
|
||||
#holders {
|
||||
width: 130px;
|
||||
height: 130px;
|
||||
border-radius: 130px;
|
||||
margin: 0px auto 0px auto;
|
||||
position: relative;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.pulses {
|
||||
width: 130px;
|
||||
height: 130px;
|
||||
position: relative;
|
||||
background-color: transparent;
|
||||
background-image: url(../img/icons/logo.svg);
|
||||
background-size: 80px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
border: 7px solid #eee;
|
||||
-webkit-border-radius: 130px;
|
||||
-moz-border-radius: 130px;
|
||||
border-radius: 130px;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.dots {
|
||||
height: 130px;
|
||||
width: 130px;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
opacity: 0;
|
||||
background: transparent;
|
||||
border: 10px solid #ccc;
|
||||
-webkit-border-radius: 130px;
|
||||
-moz-border-radius: 130px;
|
||||
-ms-border-radius: 130px;
|
||||
border-radius: 130px;
|
||||
-webkit-animation: pulses 3s ease-out;
|
||||
-moz-animation: pulses 3s ease-out;
|
||||
-ms-animation: pulses 3s ease-out;
|
||||
animation: pulses 3s ease-out;
|
||||
-webkit-animation-iteration-count: infinite;
|
||||
-moz-animation-iteration-count: infinite;
|
||||
-ms-animation-iteration-count: infinite;
|
||||
animation-iteration-count: infinite;
|
||||
z-index: auto;
|
||||
}
|
||||
|
||||
@-moz-keyframes pulses {
|
||||
0% {
|
||||
-moz-transform: scale(0);
|
||||
opacity: 0.0;
|
||||
}
|
||||
25% {
|
||||
-moz-transform: scale(0);
|
||||
opacity: 0.1;
|
||||
}
|
||||
50% {
|
||||
-moz-transform: scale(0.1);
|
||||
opacity: 0.3;
|
||||
}
|
||||
75% {
|
||||
-moz-transform: scale(0.5);
|
||||
opacity: 0.5;
|
||||
}
|
||||
100% {
|
||||
-moz-transform: scale(1);
|
||||
opacity: 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes "pulses" {
|
||||
0% {
|
||||
-webkit-transform: scale(0);
|
||||
opacity: 0.0;
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: scale(0);
|
||||
opacity: 0.1;
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: scale(0.1);
|
||||
opacity: 0.3;
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: scale(0.5);
|
||||
opacity: 0.5;
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
@-ms-keyframes "pulses" {
|
||||
0% {
|
||||
-ms-transform: scale(0);
|
||||
opacity: 0.0;
|
||||
}
|
||||
25% {
|
||||
-ms-transform: scale(0);
|
||||
opacity: 0.1;
|
||||
}
|
||||
50% {
|
||||
-ms-transform: scale(0.1);
|
||||
opacity: 0.3;
|
||||
}
|
||||
75% {
|
||||
-ms-transform: scale(0.5);
|
||||
opacity: 0.5;
|
||||
}
|
||||
100% {
|
||||
-ms-transform: scale(1);
|
||||
opacity: 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes "pulses" {
|
||||
0% {
|
||||
transform: scale(0);
|
||||
opacity: 0.0;
|
||||
}
|
||||
25% {
|
||||
transform: scale(0);
|
||||
opacity: 0.1;
|
||||
}
|
||||
50% {
|
||||
transform: scale(0.1);
|
||||
opacity: 0.3;
|
||||
}
|
||||
75% {
|
||||
transform: scale(0.5);
|
||||
opacity: 0.5;
|
||||
}
|
||||
100% {
|
||||
transform: scale(1);
|
||||
opacity: 0.0;
|
||||
}
|
||||
}
|
75
assets/css/mobile.css
Normal file
|
@ -0,0 +1,75 @@
|
|||
@media only screen and (max-width: 700px) {
|
||||
.bp {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
float: none;
|
||||
margin-top: 50px;
|
||||
}
|
||||
|
||||
.bp.left{
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.footerinfo, .copyright {
|
||||
width: 100%;
|
||||
margin-top: 30px;
|
||||
float: none;
|
||||
}
|
||||
|
||||
.articles, .tagcloud {
|
||||
width: 100%;
|
||||
padding-right: 0;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.tagcloud {
|
||||
width: 100%;
|
||||
float: none;
|
||||
padding-left: 0;
|
||||
margin: 20px 0 70px;
|
||||
}
|
||||
|
||||
.articles article {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.articles article img,
|
||||
.articles article pre,
|
||||
.articles article blockquote,
|
||||
.articles article .video,
|
||||
.articles article iframe {
|
||||
|
||||
max-width: 105.2%;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1000px) {
|
||||
|
||||
footer {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media screen and (max-height: 480px), screen and (max-width: 700px) {
|
||||
|
||||
.menu li {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.header {
|
||||
position: relative;
|
||||
height: auto;
|
||||
z-index: 0 !important;
|
||||
}
|
||||
|
||||
.mainwrapper {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
BIN
assets/fonts/Courgette-Regular.ttf
Normal file
BIN
assets/fonts/Montserrat-Regular.ttf
Normal file
BIN
assets/fonts/Oxygen-Bold.ttf
Normal file
BIN
assets/fonts/Oxygen-Light.ttf
Normal file
BIN
assets/fonts/Oxygen-Regular.ttf
Normal file
BIN
assets/img/bg.jpg
Normal file
After Width: | Height: | Size: 473 KiB |
BIN
assets/img/icons/LogoPerfektdursichtigPNG.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
assets/img/icons/apple-touch-icon-114x114-precomposed.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
assets/img/icons/favicon.ico
Normal file
After Width: | Height: | Size: 318 B |
BIN
assets/img/icons/favicon.png
Normal file
After Width: | Height: | Size: 7.9 KiB |
25
assets/img/icons/logo.svg
Normal file
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="500" height="500" viewBox="0, 0, 500, 500">
|
||||
<g id="Layer_2">
|
||||
<g>
|
||||
<path d="M424.038,75.962 C520.156,172.081 520.156,327.919 424.038,424.038 C327.919,520.156 172.081,520.156 75.962,424.038 C-20.156,327.919 -20.156,172.081 75.962,75.962 C172.081,-20.156 327.919,-20.156 424.038,75.962" fill="#000000"/>
|
||||
<path d="M424.038,75.962 C520.156,172.081 520.156,327.919 424.038,424.038 C327.919,520.156 172.081,520.156 75.962,424.038 C-20.156,327.919 -20.156,172.081 75.962,75.962 C172.081,-20.156 327.919,-20.156 424.038,75.962" fill-opacity="0" stroke="#000000" stroke-width="10"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Layer_3">
|
||||
<g>
|
||||
<path d="M150,475 C150,347.975 194.772,245 250,245" fill="#FFFFFF"/>
|
||||
<path d="M150,475 C150,347.975 194.772,245 250,245" fill-opacity="0" stroke="#FFFFFF" stroke-width="10"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M250,245 C305.228,245 350,347.975 350,475" fill="#FFFFFF"/>
|
||||
<path d="M250,245 C305.228,245 350,347.975 350,475" fill-opacity="0" stroke="#FFFFFF" stroke-width="10"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M278.414,181.586 C294.107,197.278 294.107,222.722 278.414,238.414 C262.722,254.107 237.278,254.107 221.586,238.414 C205.893,222.722 205.893,197.278 221.586,181.586 C237.278,165.893 262.722,165.893 278.414,181.586" fill="#FFFFFF"/>
|
||||
<path d="M278.414,181.586 C294.107,197.278 294.107,222.722 278.414,238.414 C262.722,254.107 237.278,254.107 221.586,238.414 C205.893,222.722 205.893,197.278 221.586,181.586 C237.278,165.893 262.722,165.893 278.414,181.586" fill-opacity="0" stroke="#FFFFFF" stroke-width="10"/>
|
||||
</g>
|
||||
<path d="M218.5,255 L281.5,255 C288.127,255 355,464.039 355,470.667 L355,479 C355,485.627 304.818,502.291 298.19,502.291 L190.943,502.291 C184.316,502.291 144.667,485.294 144.667,478.667 L145,469.333 C145,462.706 211.873,255 218.5,255 z" fill="#FFFFFF"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/img/icons/logo100.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
assets/img/icons/logo200.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
assets/img/notes.jpg
Normal file
After Width: | Height: | Size: 298 KiB |
BIN
assets/img/projects.png
Normal file
After Width: | Height: | Size: 107 KiB |
16
index.php
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
define('DS', DIRECTORY_SEPARATOR);
|
||||
|
||||
// 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();
|
12
site/blueprints/default.php
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?php if(!defined('KIRBY')) exit ?>
|
||||
|
||||
title: Page
|
||||
pages: true
|
||||
files: true
|
||||
fields:
|
||||
title:
|
||||
label: Title
|
||||
type: text
|
||||
text:
|
||||
label: Text
|
||||
type: markdown
|
13
site/blueprints/error.php
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?php if(!defined('KIRBY')) exit ?>
|
||||
|
||||
title: Error
|
||||
pages: false
|
||||
files: false
|
||||
fields:
|
||||
title:
|
||||
label: Title
|
||||
type: text
|
||||
text:
|
||||
label: Text
|
||||
type: markdown
|
||||
size: large
|
12
site/blueprints/home.php
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?php if(!defined('KIRBY')) exit ?>
|
||||
|
||||
title: Home
|
||||
pages: false
|
||||
fields:
|
||||
title:
|
||||
label: Title
|
||||
type: text
|
||||
text:
|
||||
label: Text
|
||||
type: markdown
|
||||
size: large
|
18
site/blueprints/note.php
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?php if(!defined('KIRBY')) exit ?>
|
||||
|
||||
title: Note
|
||||
pages: false
|
||||
files: true
|
||||
fields:
|
||||
title:
|
||||
label: Title
|
||||
type: text
|
||||
tags:
|
||||
label: Tags
|
||||
type: tags
|
||||
date:
|
||||
label: Date
|
||||
type: date
|
||||
text:
|
||||
label: Text
|
||||
type: markdown
|
17
site/blueprints/projects.php
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?php if(!defined('KIRBY')) exit ?>
|
||||
|
||||
title: Projects
|
||||
pages: false
|
||||
files: true
|
||||
fields:
|
||||
title:
|
||||
label: Title
|
||||
type: text
|
||||
intro:
|
||||
label: Intro
|
||||
type: textarea
|
||||
size: small
|
||||
text:
|
||||
label: Text
|
||||
type: markdown
|
||||
size: large
|
23
site/blueprints/site.php
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?php if(!defined('KIRBY')) exit ?>
|
||||
|
||||
title: Site
|
||||
pages: default
|
||||
fields:
|
||||
title:
|
||||
label: Title
|
||||
type: text
|
||||
author:
|
||||
label: Author
|
||||
type: text
|
||||
description:
|
||||
label: Description
|
||||
type: markdown
|
||||
keywords:
|
||||
label: Keywords
|
||||
type: tags
|
||||
copyright:
|
||||
label: Copyright
|
||||
type: markdown
|
||||
footerinfo:
|
||||
label: Footer
|
||||
type: markdown
|
0
site/cache/index.html
vendored
Normal file
37
site/controllers/notes.php
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
return function($site, $pages, $page) {
|
||||
|
||||
// fetch the basic set of pages
|
||||
$articles = $page->children()->visible()->flip();
|
||||
|
||||
// add the tag filter
|
||||
if($tag = param('tag')) {
|
||||
$articles = $articles->filterBy('tags', $tag, ',');
|
||||
}
|
||||
|
||||
// fetch all tags
|
||||
$tags = $articles->pluck('tags', ',', true);
|
||||
|
||||
// apply pagination
|
||||
$articles = $articles->paginate(7);
|
||||
$pagination = $articles->pagination();
|
||||
|
||||
return compact('articles', 'tags', 'tag', 'pagination');
|
||||
|
||||
};
|
||||
|
||||
function split_words($string, $url) {
|
||||
|
||||
if (strlen($string) > 1000) {
|
||||
|
||||
// truncate string
|
||||
$stringCut = substr($string, 0, 1000);
|
||||
|
||||
// make sure it ends in a word so assassinate doesn't become ass...
|
||||
$string = substr($stringCut, 0, strrpos($stringCut, ' ')).'... <br> <a href="' . $url . '">Read More →</a>';
|
||||
|
||||
}
|
||||
|
||||
return $string;
|
||||
}
|
||||
?>
|
58
site/plugins/feed/feed.php
Normal file
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Feed Plugin
|
||||
*
|
||||
* @author Bastian Allgeier <bastian@getkirby.com>
|
||||
* @version 2.0.0
|
||||
*/
|
||||
Pages::$methods['feed'] = function($pages, $params = array()) {
|
||||
|
||||
// set all default values
|
||||
$defaults = array(
|
||||
'url' => url(),
|
||||
'title' => 'Feed',
|
||||
'description' => '',
|
||||
'link' => url(),
|
||||
'datefield' => 'date',
|
||||
'textfield' => 'text',
|
||||
'modified' => time(),
|
||||
'excerpt' => false,
|
||||
'generator' => kirby()->option('feed.generator', 'Kirby'),
|
||||
'header' => true,
|
||||
'snippet' => false,
|
||||
);
|
||||
|
||||
// merge them with the user input
|
||||
$options = array_merge($defaults, $params);
|
||||
|
||||
// sort by date
|
||||
$items = $pages->sortBy($options['datefield'], 'desc');
|
||||
|
||||
// add the items
|
||||
$options['items'] = $items;
|
||||
$options['link'] = url($options['link']);
|
||||
|
||||
// fetch the modification date
|
||||
if($options['datefield'] == 'modified') {
|
||||
$options['modified'] = $items->first()->modified();
|
||||
} else {
|
||||
$options['modified'] = $items->first()->date(false, $options['datefield']);
|
||||
}
|
||||
|
||||
// send the xml header
|
||||
if($options['header']) header::type('text/xml');
|
||||
|
||||
// echo the doctype
|
||||
$html = '<?xml version="1.0" encoding="utf-8"?>' . PHP_EOL;
|
||||
|
||||
// custom snippet
|
||||
if($options['snippet']) {
|
||||
$html .= snippet($options['snippet'], $options, true);
|
||||
} else {
|
||||
$html .= tpl::load(__DIR__ . DS . 'template.php', $options);
|
||||
}
|
||||
|
||||
return $html;
|
||||
|
||||
};
|
29
site/plugins/feed/readme.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
# RSS Feed Plugin
|
||||
|
||||
This is a plugin for [Kirby](http://getkirby.com/) that generates RSS feeds for any set of pages.
|
||||
|
||||
## Installation
|
||||
|
||||
Put the `feed` folder in `/site/plugins`.
|
||||
|
||||
## How to use it
|
||||
|
||||
You can use this in a template for a dedicated feed page or in a template controller.
|
||||
|
||||
## Example usage
|
||||
|
||||
```php
|
||||
<?php
|
||||
|
||||
echo page('blog')->children()->visible()->flip()->limit(10)->feed(array(
|
||||
'title' => 'Latest articles',
|
||||
'description' => 'Read the latest news about our company',
|
||||
'link' => 'blog'
|
||||
));
|
||||
```
|
||||
|
||||
Check out the $defaults array in feed.php for more options.
|
||||
|
||||
## Author
|
||||
|
||||
Bastian Allgeier <http://getkirby.com>
|
26
site/plugins/feed/template.php
Normal file
|
@ -0,0 +1,26 @@
|
|||
<!-- generator="<?php echo $generator ?>" -->
|
||||
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
|
||||
<channel>
|
||||
<title><?php echo xml($title) ?></title>
|
||||
<link><?php echo xml($link) ?></link>
|
||||
<generator><?php echo c::get('feed.generator', 'Kirby') ?></generator>
|
||||
<lastBuildDate><?php echo date('r', $modified) ?></lastBuildDate>
|
||||
<atom:link href="<?php echo xml($url) ?>" rel="self" type="application/rss+xml" />
|
||||
|
||||
<?php if(!empty($description)): ?>
|
||||
<description><?php echo xml($description) ?></description>
|
||||
<?php endif ?>
|
||||
|
||||
<?php foreach($items as $item): ?>
|
||||
<item>
|
||||
<title><?php echo xml($item->title()) ?></title>
|
||||
<link><?php echo xml($item->url()) ?></link>
|
||||
<guid><?php echo xml($item->id()) ?></guid>
|
||||
<pubDate><?php echo $datefield == 'modified' ? $item->modified('r') : $item->date('r', $datefield) ?></pubDate>
|
||||
<description><![CDATA[<?php echo $item->{$textfield}()->kirbytext() ?>]]></description>
|
||||
</item>
|
||||
<?php endforeach ?>
|
||||
|
||||
</channel>
|
||||
</rss>
|
0
site/plugins/index.html
Normal file
16
site/snippets/footer.php
Normal file
|
@ -0,0 +1,16 @@
|
|||
<footer class="footer" role="contentinfo">
|
||||
<div class="footerwrapper">
|
||||
|
||||
<div class="copyright">
|
||||
<?php echo $site->copyright()->kirbytext() ?>
|
||||
</div>
|
||||
|
||||
<div class="footerinfo">
|
||||
<?php echo $site->footerinfo()->kirbytext() ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
45
site/snippets/header.php
Normal file
|
@ -0,0 +1,45 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
|
||||
<meta content="text/html; charset=utf-8">
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
|
||||
<title><?php echo $site->title()->html() ?> | <?php echo $page->title()->html() ?></title>
|
||||
<meta name="description" content="<?php echo $site->description()->html() ?>">
|
||||
<meta name="keywords" content="<?php echo $site->keywords()->html() ?>">
|
||||
|
||||
<link rel="alternate" type="application/rss+xml" href="<?php echo url('notes/feed') ?>" title="<?php echo html($pages->find('notes/feed')->title()) ?>" />
|
||||
<link rel="shortcut icon" href="<?php echo url('assets/img/icons/logo.svg') ?>" type="image/svg">
|
||||
<link rel="icon" href="<?php echo url('assets/img/icons/logo100.png') ?>" type="image/png">
|
||||
<link rel="apple-touch-icon" href="<?php echo url('assets/img/icons/logo200.png') ?>" type="image/png">
|
||||
|
||||
<?php echo css(array(
|
||||
'assets/css/main.css',
|
||||
'assets/css/mobile.css'
|
||||
)) ?>
|
||||
<script type="text/javascript"></script>
|
||||
</head>
|
||||
<body class="preload" onload="document.body.className = '';">
|
||||
|
||||
<!--[if lte IE 9]>
|
||||
<div class="browserupdate">
|
||||
You are using an obsolete browser which can harm your experience and cause security trouble. Please <a href="http://browsehappy.com/" target="_blank">update your browser!</a>
|
||||
</div>
|
||||
<![endif]-->
|
||||
|
||||
<header class="header" role="banner" id="header" >
|
||||
<div class="shader">
|
||||
<a href="<?php echo url() ?>">
|
||||
<div id="holders">
|
||||
<div class="dots"></div>
|
||||
<div class="pulses"></div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<div class="description" ><?php echo $site->description()->kirbytext() ?></div>
|
||||
|
||||
<?php snippet('menu') ?>
|
||||
</div>
|
||||
</header>
|
7
site/snippets/menu.php
Normal file
|
@ -0,0 +1,7 @@
|
|||
<nav role="navigation" class="navigation">
|
||||
|
||||
<ul class="menu">
|
||||
<?php foreach($pages->visible() as $p): ?><a <?php e($p->isOpen(), ' class="active"') ?> href="<?php echo $p->url() ?>"><li><?php echo $p->title()->html() ?></li></a><?php endforeach ?>
|
||||
</ul>
|
||||
|
||||
</nav>
|
14
site/templates/default.php
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?php snippet('header') ?>
|
||||
|
||||
<main class="main" role="main">
|
||||
<div class="mainwrapper">
|
||||
|
||||
<div class="text">
|
||||
<h1><?php echo $page->title()->html() ?></h1>
|
||||
<?php echo $page->text()->kirbytext() ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<?php snippet('footer') ?>
|
14
site/templates/error.php
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?php snippet('header') ?>
|
||||
|
||||
<main class="main" role="main">
|
||||
<div class="mainwrapper">
|
||||
|
||||
<div class="text">
|
||||
<h1><?php echo $page->title()->html() ?></h1>
|
||||
<?php echo $page->text()->kirbytext() ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<?php snippet('footer') ?>
|
9
site/templates/feed.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
|
||||
echo page('notes')->children()->visible()->flip()->limit(10)->feed(array(
|
||||
'title' => $page->title(),
|
||||
'description' => $page->description(),
|
||||
'link' => 'notes',
|
||||
));
|
||||
|
||||
?>
|
23
site/templates/home.php
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?php snippet('header') ?>
|
||||
|
||||
<main class="main" role="main">
|
||||
<div class="mainwrapper text">
|
||||
|
||||
<div class="bp left" >
|
||||
<article class="front" >
|
||||
<a href="<?php echo url('notes') ?>"><div class="notesf" ><h1><?php echo page('notes')->title()->html() ?></h1></div></a>
|
||||
<?php echo page('notes')->text()->kirbytext() ?>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<div class="bp" >
|
||||
<article class="front" >
|
||||
<a href="<?php echo url('projects') ?>"><div class="projectsf" ><h1><?php echo page('projects')->title()->html() ?></h1></div></a>
|
||||
<?php echo page('projects')->intro()->kirbytext() ?>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
</main>
|
||||
|
||||
<?php snippet('footer') ?>
|
14
site/templates/imprint.php
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?php snippet('header') ?>
|
||||
|
||||
<main class="main" role="main">
|
||||
<div class="mainwrapper">
|
||||
|
||||
<div class="text">
|
||||
<h1><?php echo $page->title()->html() ?></h1>
|
||||
<?php echo $page->text()->kirbytext() ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<?php snippet('footer') ?>
|
31
site/templates/note.php
Normal file
|
@ -0,0 +1,31 @@
|
|||
<?php snippet('header') ?>
|
||||
|
||||
<main class="main" role="main">
|
||||
<div class="mainwrapper">
|
||||
|
||||
<article class="text">
|
||||
|
||||
<h1><a href="<?php echo url('notes') ?>" > ↢</a> | <?php echo $page->title()->html() ?></h1>
|
||||
|
||||
<div class="articleinfo">
|
||||
|
||||
<time datetime="<?php echo $page->date('c') ?>" pubdate="pubdate"><?php echo $page->date('d.m.Y') ?></time>
|
||||
|
||||
<?php if($page->tags() != ''): ?> -
|
||||
<span class="tagslocal">
|
||||
<?php foreach(str::split($page->tags()) as $tag): ?>
|
||||
<a href="<?php echo url('notes/tag:' . urlencode($tag)) ?>" >#<?php echo $tag; ?></a>
|
||||
<?php endforeach ?>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
|
||||
</div>
|
||||
|
||||
<?php echo $page->text()->kirbytext() ?>
|
||||
|
||||
</article>
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<?php snippet('footer') ?>
|
50
site/templates/notes.php
Normal file
|
@ -0,0 +1,50 @@
|
|||
<?php snippet('header') ?>
|
||||
|
||||
<main class="content blog">
|
||||
<div class="mainwrapper">
|
||||
|
||||
<?php if(isset($tag)): ?>
|
||||
<h2 class="tagged" >Posts tagged with #<?php echo $tag;?>.</h2></br>
|
||||
<?php endif ?>
|
||||
|
||||
<!-- sidebar with tagcloud -->
|
||||
<aside class="tagcloud" >
|
||||
You can find the Feed <a href="<?php echo url('notes/feed')?>" class="feed">here</a>.<br />
|
||||
Tags:
|
||||
<ul class="tags">
|
||||
<?php foreach($tags as $tag): ?>
|
||||
<li>
|
||||
<a href="<?php echo $page->url() . '/tag:' . $tag ?>">
|
||||
<?php echo html($tag) ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php endforeach ?>
|
||||
</ul>
|
||||
</aside>
|
||||
|
||||
<!-- articles -->
|
||||
<section class="articles" >
|
||||
<?php foreach($articles as $article): ?>
|
||||
<article>
|
||||
<h1><a href="<?php echo $article->url() ?>"><?php echo $article->title()->html() ?></a></h1>
|
||||
<?php echo split_words($article->text()->kirbytext(), $article->url()) ?><br/>
|
||||
</article>
|
||||
<?php endforeach ?>
|
||||
</section>
|
||||
|
||||
<!-- pagination -->
|
||||
<?php if($pagination->hasPrevPage() || $pagination->hasNextPage()): ?>
|
||||
<nav class="pagination">
|
||||
<?php if($pagination->hasPrevPage()): ?>
|
||||
<a href="<?php echo $pagination->prevPageUrl() ?>" class="prev" >↢ newer posts</a>
|
||||
<?php endif ?>
|
||||
<?php echo($pagination->page() . " ⁄ " . $pagination->lastPage())?>
|
||||
<?php if($pagination->hasNextPage()): ?>
|
||||
<a href="<?php echo $pagination->nextPageUrl() ?>" class="next" >older posts ↣</a>
|
||||
<?php endif ?>
|
||||
</nav>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<?php snippet('footer') ?>
|