Design adjustments, new content and more

This commit is contained in:
Bastian Allgeier
2020-12-10 16:10:45 +01:00
parent c378376bc9
commit 4d7b192c94
103 changed files with 1695 additions and 1003 deletions

View File

@@ -1,176 +1,424 @@
:root { * {
--content-width: 65rem;
}
*,
*:after,
*:before{
margin: 0; margin: 0;
padding: 0; padding: 0;
box-sizing: border-box; }
:root {
--padding: 1.5rem;
--color-black: #000;
--color-white: #fff;
--color-grey: #777;
--color-light: #efefef;
--color-text: var(--color-black);
--color-text-grey: var(--color-grey);
--color-background: var(--color-white);
--color-code-light-grey: #cacbd1;
--color-code-comment: #a9aaad;
--color-code-white: #c5c9c6;
--color-code-red: #d16464;
--color-code-orange: #de935f;
--color-code-yellow: #f0c674;
--color-code-green: #a7bd68;
--color-code-aqua: #8abeb7;
--color-code-blue: #7e9abf;
--color-code-purple: #b294bb;
--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
--font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
} }
html { html {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";; font-family: var(--font-family-sans);
color: var(--color-text);
background: var(--color-background);
}
img {
width: 100%;
}
body {
padding: var(--padding);
max-width: 70rem;
margin: 0 auto;
} }
li { li {
list-style: none; list-style: none;
} }
a { a {
color: currentColor; color: currentColor;
text-decoration: none; text-decoration: none;
} }
button {
font: inherit;
background: none;
border: 0;
color: currentColor;
cursor: pointer;
}
strong, b { strong, b {
font-weight: 500;
}
img {
width: 100%;
}
.page {
padding: 5vh 5vw 10vh;
}
.page > * {
max-width: var(--content-width);
margin: 0 auto;
}
.header {
margin-bottom: 1.5rem;
}
.header a {
position: relative;
text-transform: uppercase;
font-size: .875rem;
letter-spacing: .05em;
padding: .5rem 0;
font-weight: 700;
}
.header .logo {
display: block;
margin-bottom: 1.5rem;
padding: .5rem 0;
}
.header {
display: flex;
flex-direction: column;
align-items: center;
}
.menu a {
margin: 0 .75rem;
}
.menu a[aria-current] {
border-bottom: 2px solid #000;
}
@media screen and (min-width: 40rem) {
.header .logo {
margin-bottom: 0;
}
.header {
flex-direction: row;
justify-content: space-between;
}
.menu {
margin-right: -.75rem;
}
}
main {
min-height: calc(100vh - 10rem);
}
.intro {
padding: 10vh 0;
text-align: center;
}
.intro h1 {
position: relative;
margin-bottom: 1rem;
font-weight: 900;
font-size: calc(1vw + 2rem);
z-index: 1;
}
.tags {
text-align: center;
text-transform: uppercase;
letter-spacing: 0.075em;
font-size: .75rem;
font-weight: 600; font-weight: 600;
} }
small {
font-size: inherit;
color: var(--color-text-grey);
}
.bg-light {
background-color: var(--color-light);
}
.color-grey {
color: var(--color-text-grey);
}
.header {
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-right: -1rem;
margin-left: -1rem;
margin-bottom: 6rem;
}
.logo {
padding: 1rem;
display: flex;
align-items: center;
font-weight: 600;
cursor: pointer;
}
.menu {
display: flex;
}
.menu a {
padding: 1rem;
display: block;
}
.menu a[aria-current] {
text-decoration: underline;
}
.social {
display: flex;
padding: 0 .5rem;
}
.social a {
padding: 1rem .5rem;
}
.section {
padding: 3rem 0;
}
.grid {
--columns: 12;
--gutter: 3rem;
display: grid;
grid-gap: var(--gutter);
grid-template-columns: 1fr;
}
.grid > .column {
margin-bottom: var(--gutter);
}
.autogrid {
--gutter: 3rem;
--min: 10rem;
display: grid;
grid-gap: var(--gutter);
grid-template-columns: repeat(auto-fit, minmax(var(--min), 1fr));
grid-auto-flow: dense;
}
h1, h2, h3, h4, h5, h6 {
font-size: inherit;
font-weight: inherit;
line-height: inherit;
}
.text { .text {
line-height: 1.5em; line-height: 1.5em;
} }
.text p, .text a {
.text figure, text-decoration: underline;
.text ul,
.text ol {
margin-bottom: 1.5em;
} }
.text h2 { .text :first-child {
font-size: 1.5rem;
font-weight: 700;
margin-top: 3rem;
margin-bottom: 1.5rem;
text-align: center;
}
.text > *:first-child {
margin-top: 0; margin-top: 0;
} }
.text a { .text :last-child {
position: relative; margin-bottom: 0;
white-space: nowrap; }
font-weight: 500; .text p,
z-index: 1; .text ul,
.text ol {
margin-bottom: 1.5rem;
}
.text ul,
.text ol {
margin-left: 1rem;
}
.text ul p,
.text ol p {
margin-bottom: 0;
}
.text ul > li {
list-style: disc;
}
.text ol > li {
list-style: decimal;
}
.text ul ol,
.text ul ul,
.text ol ul,
.text ol ol {
margin-bottom: 0;
}
.text h1,
.h1,
.intro {
font-size: 2rem;
margin-bottom: 3rem;
line-height: 1.25em;
}
.text h2,
.h2 {
font-size: 1.25rem;
font-weight: 600;
margin-bottom: 1.25rem;
}
.text h3,
.h3 {
font-weight: 600;
}
.text .codeblock {
display: grid;
}
.text code {
font-family: var(--font-family-mono);
font-size: 1em;
background: var(--color-light);
padding: 0 .5rem;
display: inline-block; display: inline-block;
border-bottom: 2px solid #000; color: var(--color-black);
}
.text pre {
margin: 3rem 0;
background: var(--color-black);
color: var(--color-white);
padding: 1.5rem;
overflow-x: scroll;
overflow-y: hidden;
line-height: 1.5rem;
}
.text pre code {
padding: 0;
background: none;
color: inherit;
}
.text hr {
margin: 6rem 0;
}
.text dt {
font-weight: 600;
}
.text blockquote {
font-size: 1.25rem;
line-height: 1.325em;
border-left: 2px solid var(--color-black);
padding-left: 1rem;
margin: 3rem 0;
max-width: 25rem;
}
.text blockquote footer {
font-size: .875rem;
font-style: italic;
} }
.text figure { .text figure {
padding-top: 1.5rem; margin: 3rem 0;
padding-bottom: 1.5rem;
} }
.text img { .text figcaption {
padding-top: .75rem;
color: var(--color-text-grey);
}
hr {
border: 0;
background: currentColor;
height: 2px;
width: 1.5rem;
margin: 3rem auto;
}
.align-center {
text-align: center;
}
.intro {
max-width: 40rem;
}
.intro *:not(:last-child) {
margin-bottom: 1em;
}
.cta {
background: var(--color-black);
color: var(--color-white);
display: inline-flex;
justify-content: center;
padding: .75rem 1.5rem;
border: 4px solid var(--color-white);
outline: 2px solid var(--color-black);
}
.box {
background: var(--color-light);
padding: 1.5rem;
border: 4px solid var(--color-white);
outline: 2px solid var(--color-light);
}
.video,
.img {
position: relative;
display: block;
--w: 1;
--h: 1;
padding-bottom: calc(100% / var(--w) * var(--h));
background: var(--color-black);
}
.img img,
.video iframe {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%; width: 100%;
height: 100%;
object-fit: cover;
border: 0;
}
.img[data-contain] img {
object-fit: contain;
}
.img-caption,
.video-caption {
padding-top: .75rem;
line-height: 1.5em;
} }
.footer { .footer {
padding: 1.5rem 5vw 10vh; padding: 9rem 0 6rem;
text-align: center;
max-width: var(--content-width);
margin: 0 auto;
line-height: 1.5em; line-height: 1.5em;
} }
.footer a { .footer:before {
display: inline-block; content: "";
font-size: .875rem; display: block;
} width: 1.5rem;
.footer > a { height: 2px;
background: var(--color-black);
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
border-top: 2px solid #000;
width: 16.5rem;
padding-top: .5rem;
} }
.social a { .footer h2 {
margin: 0 .75rem; font-weight: 600;
padding: .5rem 1rem; margin-bottom: .75rem;
border: 2px solid #000;
width: 7.5rem;
} }
.social a:hover { .footer ul,
background: #000; .footer p {
color: #fff; color: var(--color-text-grey);
} }
.footer p {
max-width: 15rem;
}
.footer a:hover {
color: var(--color-text);
}
.map {
--w: 2;
--h: 1;
padding-bottom: calc(100% / var(--w) * var(--h));
position: relative;
overflow: hidden;
background: var(--color-black);
}
.map iframe {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
.margin-s {
margin-bottom: .75rem;
}
.margin-m {
margin-bottom: 1.5rem;
}
.margin-l {
margin-bottom: 3rem;
}
.margin-xl {
margin-bottom: 4.5rem;
}
.margin-xxl {
margin-bottom: 6rem;
}
@media screen and (min-width: 60rem) {
body {
--padding: 3rem;
}
.grid {
grid-template-columns: repeat(12, 1fr);
}
.grid > .column {
grid-column: span var(--columns);
}
}
.pagination {
display: flex;
padding-top: 6rem;
}
.pagination > span {
color: var(--color-text-grey);
}
.pagination > * {
padding: .5rem;
width: 3rem;
text-align: center;
border: 2px solid currentColor;
margin-right: 1.5rem;
}
.pagination > a:hover {
background: var(--color-black);
color: var(--color-white);
border-color: var(--color-black);
}
.note-excerpt {
line-height: 1.5em;
}
.note-excerpt header {
margin-bottom: 1.5rem;
}
.note-excerpt figure {
margin-bottom: .5rem;
}
.note-excerpt-title {
font-weight: 600;
}
.note-excerpt-date {
color: var(--color-text-grey);
}

1
assets/css/lightbox.css Executable file
View File

@@ -0,0 +1 @@
.basicLightbox{position:fixed;display:flex;justify-content:center;align-items:center;top:0;left:0;width:100%;height:100vh;background:rgba(0,0,0,.8);opacity:.01;transition:opacity .4s ease;z-index:1000;will-change:opacity}.basicLightbox--visible{opacity:1}.basicLightbox__placeholder{max-width:100%;-webkit-transform:scale(.9);transform:scale(.9);transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;z-index:1;will-change:transform}.basicLightbox__placeholder>iframe:first-child:last-child,.basicLightbox__placeholder>img:first-child:last-child,.basicLightbox__placeholder>video:first-child:last-child{display:block;position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;max-width:95%;max-height:95%}.basicLightbox__placeholder>iframe:first-child:last-child,.basicLightbox__placeholder>video:first-child:last-child{pointer-events:auto}.basicLightbox__placeholder>img:first-child:last-child,.basicLightbox__placeholder>video:first-child:last-child{width:auto;height:auto}.basicLightbox--iframe .basicLightbox__placeholder,.basicLightbox--img .basicLightbox__placeholder,.basicLightbox--video .basicLightbox__placeholder{width:100%;height:100%;pointer-events:none}.basicLightbox--visible .basicLightbox__placeholder{-webkit-transform:scale(1);transform:scale(1)}

136
assets/css/prism.css Normal file
View File

@@ -0,0 +1,136 @@
/* PrismJS 1.19.0
https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+json+markup-templating+php+yaml */
/**
* prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML
* Based on https://github.com/chriskempson/tomorrow-theme
* @author Rose Pritchard
*/
code[class*="language-"],
pre[class*="language-"] {
color: var(--color-code-white);
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
font-size: 1em;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
/* Code blocks */
pre[class*="language-"] {
padding: 1rem;
margin: 0 0;
overflow: auto;
}
/* ----- Syntax Highlighting (Prism.js) ------------------------------------ */
.token.punctuation {
color: var(--color-code-light-grey);
}
.token.comment,
.token.doctype {
color: var(--color-code-comment);
}
.token.tag,
.token.markup,
.token.variable,
.token.this,
.token.selector,
.token.key,
.token.kirbytag-bracket,
.token.prolog,
.token.delimiter {
color: var(--color-code-red);
}
.token.constant,
.token.number,
.token.boolean,
.token.boolean.important,
.token.attr-name,
.token.kirbytag-attr,
.token.kirbytag-name,
.token.entity,
.token.bold,
.token.bold > .punctuation {
color: var(--color-code-orange);
}
.token.keyword,
.token.italic,
.token.italic > .punctuation {
color: var(--color-code-purple);
}
.token.function {
color: var(--color-code-blue);
}
.token.operator,
.token.title {
color: var(--color-code-aqua);
}
.token.string,
.token.attr-value,
.token.attr-value .punctuation,
.token.list.punctuation {
color: var(--color-code-green);
}
.token.scope,
.token.class-name,
.token.property,
.token.url {
color: var(--color-code-yellow);
}
/**
* 1. Markdown list bullet.
*/
.token.title,
.token.kirbytag-bracket,
.token.list.punctuation /* 1 */ {
font-weight: 700;
}
.token.title .punctuation {
color: inherit;
}
/**
* 1. Markdown bold text
*/
.token.bold /* 1 */ {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.codeblock {
background: var(--color-black);
}
.codeblock figcaption {
color: var(--color-code-white);
padding: .5rem 1rem;
font-family: var(--font-family-mono);
border-bottom: 1px solid #333;
}

View File

@@ -1,19 +1,7 @@
.layout { .contact {
display: grid; padding: 3rem;
grid-template-columns: 1fr; border: 2px solid #000;
grid-gap: 3rem;
} }
.contact .h1 {
@media screen and (min-width: 45rem) { margin-bottom: 1.5rem;
.layout {
grid-template-columns: 1fr 2fr;
}
}
.layout aside section {
margin-bottom: 3rem;
}
.layout aside h2 {
margin-bottom: .75rem;
} }

View File

@@ -1,57 +1,15 @@
.album-cover {
position: relative;
line-height: 0;
margin-bottom: 6rem;
background: #000;
padding-bottom: 75%;
}
.album-cover figcaption {
position: absolute;
display: flex;
align-items: center;
justify-content: center;
bottom: 0;
left: 0;
right: 0;
top: 0;
background: rgba(0,0,0, .5);
text-align: center;
color: #fff;
line-height: 1;
padding: 1.5rem;
}
.album-cover img {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.album-cover h1 {
font-size: 3rem;
}
.album-text {
max-width: 40rem;
margin: 0 auto 6rem;
text-align: center;
}
.album-gallery { .album-gallery {
display: grid; line-height: 0;
grid-template-columns: repeat(3, 1fr); columns: 1;
align-items: center; column-gap: 1.5rem;
margin: 0 auto;
grid-gap: 1rem;
max-width: calc(var(--content-width) - 15rem);
justify-content: center;
} }
.album-gallery[data-even] { .album-gallery li {
grid-template-columns: repeat(4, 1fr); display: block;
margin-bottom: 1.5rem;
break-inside: avoid;
} }
.album-gallery[data-count="1"] { @media screen and (min-width: 60rem) {
grid-template-columns: 1fr; .album-gallery {
} columns: 2;
.album-gallery[data-count="2"] { }
grid-template-columns: 1fr 1fr;
} }

View File

@@ -1,4 +0,0 @@
.text {
max-width: 35rem;
margin: 0 auto;
}

View File

@@ -1,12 +1,12 @@
.grid { .home-grid {
display: grid; display: grid;
list-style: none; list-style: none;
grid-gap: 1rem; grid-gap: 1.5rem;
line-height: 0; line-height: 0;
grid-template-columns: repeat(1, 1fr); grid-template-columns: repeat(1, 1fr);
grid-auto-flow: dense; grid-auto-flow: dense;
} }
.grid li { .home-grid li {
position: relative; position: relative;
--cols: 1; --cols: 1;
--rows: 1; --rows: 1;
@@ -15,24 +15,24 @@
background: #000; background: #000;
line-height: 0; line-height: 0;
} }
.grid li:first-child { .home-grid li:first-child {
--cols: 2; --cols: 2;
--rows: 2; --rows: 2;
} }
.grid li:nth-child(5) { .home-grid li:nth-child(5) {
--cols: 2; --cols: 2;
} }
.grid li:nth-child(6) { .home-grid li:nth-child(6) {
--rows: 2; --rows: 2;
} }
.grid li:nth-child(7) { .home-grid li:nth-child(7) {
--cols: 2; --cols: 2;
} }
.grid a { .home-grid a {
display: block; display: block;
height: 10rem; height: 10rem;
} }
.grid img { .home-grid img {
position: absolute; position: absolute;
top: 0; top: 0;
right: 0; right: 0;
@@ -43,7 +43,7 @@
object-fit: cover; object-fit: cover;
transition: all .3s; transition: all .3s;
} }
.grid figcaption { .home-grid figcaption {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@@ -56,21 +56,17 @@
line-height: 1; line-height: 1;
text-align: center; text-align: center;
background: rgba(0,0,0, .5); background: rgba(0,0,0, .5);
text-transform: uppercase;
font-size: .875rem;
letter-spacing: .125em;
font-weight: 600;
} }
@media screen and (min-width: 45em) { @media screen and (min-width: 45em) {
.grid { .home-grid {
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(3, 1fr);
} }
.grid li { .home-grid li {
grid-column-start: span var(--cols); grid-column-start: span var(--cols);
grid-row-start: span var(--rows); grid-row-start: span var(--rows);
} }
.grid a { .home-grid a {
padding-bottom: 52.65%; padding-bottom: 52.65%;
} }
} }

37
assets/css/templates/note.css Normal file → Executable file
View File

@@ -3,31 +3,28 @@
margin: 0 auto; margin: 0 auto;
} }
.note-header { .note-header {
text-align: center; padding-top: 3rem;
margin-bottom: 3rem;
}
.note-footer {
padding: 6rem 0;
} }
.note-date { .note-date {
margin-bottom: .5rem; color: var(--color-text-grey);
display: block;
} }
.note-tags {
.gallery { display: flex;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
grid-gap: 1.5rem;
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
padding: 3rem 0;
} }
.gallery figure a { .note-tags li {
border: 0; margin-right: .5rem;
} }
.gallery figure { .note-tags a {
margin: 0; padding: .5rem 1rem;
padding: 0; display: block;
background: var(--color-light);
} }
.note-tags a:hover {
@media screen and (min-width: 45rem) { background: var(--color-black);
.gallery { color: var(--color-white);
margin-left: -3rem;
margin-right: -3rem;
}
} }

View File

@@ -1,20 +0,0 @@
.notes {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
grid-gap: 1.5rem;
grid-auto-rows: 1fr;
}
.note {
border: 2px solid #000;
}
.note a {
display: block;
padding: 1rem;
line-height: 1.25em;
}
.note h2 {
font-size: 1rem;
}
.note time {
font-size: .75rem;
}

View File

@@ -1,62 +0,0 @@
.albums {
display: grid;
list-style: none;
grid-gap: 1rem;
line-height: 0;
}
@media screen and (min-width: 30em) {
.albums {
grid-template-columns: repeat(2, 1fr);
}
}
@media screen and (min-width: 60em) {
.albums {
grid-template-columns: repeat(3, 1fr);
}
.albums[data-even] {
grid-template-columns: repeat(4, 1fr);
}
}
.albums li {
overflow: hidden;
background: #000;
}
.albums figure {
position: relative;
padding-bottom: 125%;
}
.albums figcaption {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
color: #fff;
background: rgba(0,0,0, .5);
display: flex;
justify-content: space-between;
align-items: flex-end;
line-height: 1.5em;
padding: 1rem;
font-size: .875rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .125em;
}
.albums img {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
transition: all .3s;
}
.albums img:hover {
opacity: .2;
}

1
assets/icons/discord.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" class="icon icon-discord" viewBox="0 0 16 16"><path d="M6.552,6.712a.891.891,0,0,0,0,1.776A.852.852,0,0,0,7.368,7.6.847.847,0,0,0,6.552,6.712Zm2.92,0a.891.891,0,1,0,.816.888A.852.852,0,0,0,9.472,6.712Z"></path> <path d="M13.36,0H2.64A1.644,1.644,0,0,0,1,1.648V12.464a1.644,1.644,0,0,0,1.64,1.648h9.072l-.424-1.48,1.024.952.968.9L15,16V1.648A1.644,1.644,0,0,0,13.36,0ZM10.272,10.448S9.984,10.1,9.744,9.8a2.524,2.524,0,0,0,1.448-.952,4.578,4.578,0,0,1-.92.472,5.265,5.265,0,0,1-1.16.344A5.6,5.6,0,0,1,7.04,9.656a6.716,6.716,0,0,1-1.176-.344,4.683,4.683,0,0,1-.912-.472,2.488,2.488,0,0,0,1.4.944c-.24.3-.536.664-.536.664a2.9,2.9,0,0,1-2.44-1.216A10.713,10.713,0,0,1,4.528,4.568a3.956,3.956,0,0,1,2.248-.84l.08.1a5.4,5.4,0,0,0-2.1,1.048s.176-.1.472-.232a6.008,6.008,0,0,1,1.816-.5.788.788,0,0,1,.136-.016A6.769,6.769,0,0,1,8.792,4.1a6.521,6.521,0,0,1,2.408.768A5.324,5.324,0,0,0,9.208,3.856l.112-.128a3.956,3.956,0,0,1,2.248.84A10.713,10.713,0,0,1,12.72,9.232,2.924,2.924,0,0,1,10.272,10.448Z" /></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g class="nc-icon-wrapper" fill="#111111"><circle fill="#111111" cx="12.145" cy="3.892" r="0.96"/> <path data-color="color-2" d="M8,12c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S10.206,12,8,12z M8,6C6.897,6,6,6.897,6,8 s0.897,2,2,2s2-0.897,2-2S9.103,6,8,6z"/> <path fill="#111111" d="M12,16H4c-2.056,0-4-1.944-4-4V4c0-2.056,1.944-4,4-4h8c2.056,0,4,1.944,4,4v8C16,14.056,14.056,16,12,16z M4,2C3.065,2,2,3.065,2,4v8c0,0.953,1.047,2,2,2h8c0.935,0,2-1.065,2-2V4c0-0.935-1.065-2-2-2H4z"/></g></svg>

After

Width:  |  Height:  |  Size: 578 B

1
assets/icons/twitter.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g class="nc-icon-wrapper" fill="#111111"><path fill="#111111" d="M16,3c-0.6,0.3-1.2,0.4-1.9,0.5c0.7-0.4,1.2-1,1.4-1.8c-0.6,0.4-1.3,0.6-2.1,0.8c-0.6-0.6-1.5-1-2.4-1 C9.3,1.5,7.8,3,7.8,4.8c0,0.3,0,0.5,0.1,0.7C5.2,5.4,2.7,4.1,1.1,2.1c-0.3,0.5-0.4,1-0.4,1.7c0,1.1,0.6,2.1,1.5,2.7 c-0.5,0-1-0.2-1.5-0.4c0,0,0,0,0,0c0,1.6,1.1,2.9,2.6,3.2C3,9.4,2.7,9.4,2.4,9.4c-0.2,0-0.4,0-0.6-0.1c0.4,1.3,1.6,2.3,3.1,2.3 c-1.1,0.9-2.5,1.4-4.1,1.4c-0.3,0-0.5,0-0.8,0c1.5,0.9,3.2,1.5,5,1.5c6,0,9.3-5,9.3-9.3c0-0.1,0-0.3,0-0.4C15,4.3,15.6,3.7,16,3z"/></g></svg>

After

Width:  |  Height:  |  Size: 620 B

7
assets/js/index.js Executable file
View File

@@ -0,0 +1,7 @@
// Lightbox
Array.from(document.querySelectorAll("[data-lightbox]")).forEach(element => {
element.onclick = (e) => {
e.preventDefault();
basicLightbox.create(`<img src="${element.href}">`).show();
};
});

1
assets/js/lightbox.js Executable file
View File

@@ -0,0 +1 @@
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).basicLightbox=e()}}(function(){return function i(c,u,a){function s(n,e){if(!u[n]){if(!c[n]){var t="function"==typeof require&&require;if(!e&&t)return t(n,!0);if(l)return l(n,!0);var o=new Error("Cannot find module '"+n+"'");throw o.code="MODULE_NOT_FOUND",o}var r=u[n]={exports:{}};c[n][0].call(r.exports,function(e){return s(c[n][1][e]||e)},r,r.exports,i,c,u,a)}return u[n].exports}for(var l="function"==typeof require&&require,e=0;e<a.length;e++)s(a[e]);return s}({1:[function(e,n,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.create=t.visible=void 0;var u=function(e){var n=1<arguments.length&&void 0!==arguments[1]&&arguments[1],t=document.createElement("div");return t.innerHTML=e.trim(),!0===n?t.children:t.firstChild},a=function(e,n){var t=e.children;return 1===t.length&&t[0].tagName===n},c=function(e){return null!=(e=e||document.querySelector(".basicLightbox"))&&!0===e.ownerDocument.body.contains(e)};t.visible=c;t.create=function(e,o){var r=function(e,n){var t=u('\n\t\t<div class="basicLightbox '.concat(n.className,'">\n\t\t\t<div class="basicLightbox__placeholder" role="dialog"></div>\n\t\t</div>\n\t')),o=t.querySelector(".basicLightbox__placeholder");e.forEach(function(e){return o.appendChild(e)});var r=a(o,"IMG"),i=a(o,"VIDEO"),c=a(o,"IFRAME");return!0===r&&t.classList.add("basicLightbox--img"),!0===i&&t.classList.add("basicLightbox--video"),!0===c&&t.classList.add("basicLightbox--iframe"),t}(e=function(e){var n="string"==typeof e,t=e instanceof HTMLElement==1;if(!1===n&&!1===t)throw new Error("Content must be a DOM element/node or string");return!0===n?Array.from(u(e,!0)):"TEMPLATE"===e.tagName?[e.content.cloneNode(!0)]:Array.from(e.children)}(e),o=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};if(null==(e=Object.assign({},e)).closable&&(e.closable=!0),null==e.className&&(e.className=""),null==e.onShow&&(e.onShow=function(){}),null==e.onClose&&(e.onClose=function(){}),"boolean"!=typeof e.closable)throw new Error("Property `closable` must be a boolean");if("string"!=typeof e.className)throw new Error("Property `className` must be a string");if("function"!=typeof e.onShow)throw new Error("Property `onShow` must be a function");if("function"!=typeof e.onClose)throw new Error("Property `onClose` must be a function");return e}(o)),n=function(e){return!1!==o.onClose(i)&&(t=function(){if("function"==typeof e)return e(i)},(n=r).classList.remove("basicLightbox--visible"),setTimeout(function(){return!1===c(n)||n.parentElement.removeChild(n),t()},410),!0);var n,t};!0===o.closable&&r.addEventListener("click",function(e){e.target===r&&n()});var i={element:function(){return r},visible:function(){return c(r)},show:function(e){return!1!==o.onShow(i)&&(n=r,t=function(){if("function"==typeof e)return e(i)},document.body.appendChild(n),setTimeout(function(){requestAnimationFrame(function(){return n.classList.add("basicLightbox--visible"),t()})},10),!0);var n,t},close:n};return i}},{}]},{},[1])(1)});

11
assets/js/prism.js Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,19 +1,21 @@
Cover: Title: Trees
- monster-trees-in-the-fog.jpg
---- ----
Headline: Trees - our friends with leaves Cover: - monster-trees-in-the-fog.jpg
---- ----
Description: Hug them if you like. They might not appreciate it though. Headline:
---- ----
Tags: tree, forest Subheadline: Our friends with leaves
---- ----
Title: Trees Text: <p>Hug them if you like. They might not appreciate it though.</p><p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum id ligula porta felis euismod semper. Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod.</p>
----
Tags: tree, forest

View File

@@ -18,4 +18,8 @@ Link: https://unsplash.com/photos/Z3NceSeZqgI
---- ----
Template: image Template: image
----
Sort: 2

View File

@@ -18,4 +18,8 @@ Link: https://unsplash.com/photos/wVTGdIGdojc
---- ----
Template: image Template: image
----
Sort: 1

View File

@@ -18,4 +18,8 @@ Link: https://unsplash.com/photos/dfo06_DqxpA
---- ----
Template: image Template: image
----
Sort: 3

View File

@@ -18,4 +18,8 @@ Link: https://unsplash.com/photos/wQImoykAwGs
---- ----
Template: image Template: image
----
Sort: 4

View File

@@ -18,4 +18,8 @@ Link: https://unsplash.com/photos/OJev0ModVw8
---- ----
Template: image Template: image
----
Sort: 5

View File

@@ -2,17 +2,21 @@ Title: Sky
---- ----
Cover: Cover:
- dark-forest.jpg - dark-forest.jpg
---- ----
Headline: Stars and the universe and so on Headline:
---- ----
Description: Subheadline: Stars and the universe and so on
----
Text: <p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras mattis consectetur purus sit amet fermentum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nullam quis risus eget urna mollis ornare vel eu leo. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.</p><p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nullam quis risus eget urna mollis ornare vel eu leo. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Aenean lacinia bibendum nulla sed consectetur.</p>
---- ----

View File

@@ -1,4 +1,8 @@
Cover: Title: Ocean
----
Cover:
- island-from-above.jpg - island-from-above.jpg
@@ -8,12 +12,12 @@ Headline: Oceans are quite nice
---- ----
Description: Blue with lots of fish Subheadline: Blue with lots of fish
---- ----
Tags: ocean, water, blue Text: <p>Cras mattis consectetur purus sit amet fermentum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed posuere consectetur est at lobortis. Donec id elit non mi porta gravida at eget metus. Curabitur blandit tempus porttitor. Aenean lacinia bibendum nulla sed consectetur.</p><p>Donec sed odio dui. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nulla vitae elit libero, a pharetra augue. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
---- ----
Title: Ocean Tags: ocean, water, blue

View File

@@ -1,19 +1,23 @@
Cover: Title: Desert
----
Cover:
- indiana-jones.jpg - indiana-jones.jpg
---- ----
Headline: The desert is pretty hot Headline:
---- ----
Description: Subheadline: It's pretty hot
---- ----
Tags: desert, sand, landscape Text: <p>Curabitur blandit tempus porttitor. Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</p><p>Nullam quis risus eget urna mollis ornare vel eu leo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Curabitur blandit tempus porttitor.</p>
---- ----
Title: Desert Tags: desert, sand, landscape

View File

@@ -1,19 +1,23 @@
Cover: Title: Mountains
----
Cover:
- probably-photoshopped.jpg - probably-photoshopped.jpg
---- ----
Headline: Mountains are pretty big Headline: Mountains
---- ----
Description: Mountains — where do they come from. Subheadline: Where do they come from?
---- ----
Tags: mountains, peak nature Text: <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Nullam id dolor id nibh ultricies vehicula ut id elit. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p><p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras mattis consectetur purus sit amet fermentum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean lacinia bibendum nulla sed consectetur. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
---- ----
Title: Mountains Tags: mountains, peak nature

View File

@@ -1,19 +1,21 @@
Cover: Title: Waterfalls
- the-fall-is-lava.jpg
---- ----
Headline: Water that falls Cover: - the-fall-is-lava.jpg
---- ----
Description: Don't go chasing waterfalls Headline:
---- ----
Tags: water, falls, down Subheadline: Water that falls
---- ----
Title: Waterfall Text: <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Nulla vitae elit libero, a pharetra augue. Curabitur blandit tempus porttitor. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</p><p>Cras mattis consectetur purus sit amet fermentum. Donec ullamcorper nulla non metus auctor fringilla. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Curabitur blandit tempus porttitor.</p>
----
Tags: water, falls, down

View File

@@ -1,4 +1,8 @@
Cover: Title: Plants
----
Cover:
- nice-colors-ugly-plant.jpg - nice-colors-ugly-plant.jpg
@@ -8,12 +12,12 @@ Headline:
---- ----
Description: They call me Dr. Greenthumb. Subheadline: Mostly green
---- ----
Tags: plants Text: <p>This was a very special project. Plants are nice and quite beautiful Nulla vitae elit libero, a pharetra augue. Donec ullamcorper nulla non metus auctor fringilla.</p><p>Etiam porta sem malesuada magna mollis euismod. Etiam porta sem malesuada magna mollis euismod. Curabitur blandit tempus porttitor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue.</p>
---- ----
Title: Plants Tags: plants

View File

@@ -1,19 +1,23 @@
Cover: Title: Landscape
----
Cover:
- that-green-looks-fake.jpg - that-green-looks-fake.jpg
---- ----
Headline: Not a lot of portraits here Headline:
---- ----
Description: Subheadline: Not a lot of portraits here
---- ----
Tags: landscape, nature Text: <p>Nulla vitae elit libero, a pharetra augue. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Nullam id dolor id nibh ultricies vehicula ut id elit. Nulla vitae elit libero, a pharetra augue.</p><p>Maecenas sed diam eget risus varius blandit sit amet non magna. Cras mattis consectetur purus sit amet fermentum. Maecenas faucibus mollis interdum. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
---- ----
Title: Landscape Tags: landscape, nature

View File

@@ -1,31 +0,0 @@
Title: Across the ocean
----
Text:
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.
The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.
{{ gallery }}
The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word "and" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didnt take long until a few insidious Copy Writers ambushed her, made her drunk with Longe and Parole and dragged her into their agency, where they abused her for their projects again and again. And if she hasnt been rewritten, then they are still using her. Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.
A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy. The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word "and" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didnt take long until a few insidious Copy Writers ambushed her, made her drunk
----
Date: 2018-04-21 15:10
----
Author:
----
Tags: ocean, pacific
----
Gallery: photography/ocean

View File

@@ -1,31 +0,0 @@
Title: A night in the forest
----
Text:
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.
The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.
{{ gallery }}
The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word "and" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didnt take long until a few insidious Copy Writers ambushed her, made her drunk with Longe and Parole and dragged her into their agency, where they abused her for their projects again and again. And if she hasnt been rewritten, then they are still using her. Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.
A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy. The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word "and" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didnt take long until a few insidious Copy Writers ambushed her, made her drunk
----
Date: 2018-06-25 09:30
----
Author:
----
Tags: forest, trees
----
Gallery: photography/trees

View File

@@ -1,31 +0,0 @@
Title: In the jungle of Sumatra
----
Text:
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.
The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.
{{ gallery }}
The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word "and" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didnt take long until a few insidious Copy Writers ambushed her, made her drunk with Longe and Parole and dragged her into their agency, where they abused her for their projects again and again. And if she hasnt been rewritten, then they are still using her. Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.
A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy. The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word "and" and the Little Blind Text should turn around and return to its own, safe country.
----
Date: 2018-07-31 11:05
----
Author:
----
Tags: jungle, nature, sumatra, plants
----
Gallery: photography/plants

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

View File

@@ -0,0 +1 @@
Template: blocks/image

View File

@@ -2,21 +2,19 @@ Title: Through the desert
---- ----
Text: Subheading:
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.
The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.
The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word "and" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didnt take long until a few insidious Copy Writers ambushed her, made her drunk with Longe and Parole and dragged her into their agency, where they abused her for their projects again and again. And if she hasnt been rewritten, then they are still using her. Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.
{{ gallery }}
A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy. The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word "and" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didnt take long until a few insidious Copy Writers ambushed her, made her drunk
---- ----
Date: 2018-09-05 15:35 Cover:
----
Text: [{"content":{"text":"<p>Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.<\/p><p>The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn\u2019t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.<\/p><p>The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word \"and\" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didn\u2019t take long until a few insidious Copy Writers ambushed her, made her drunk with Longe and Parole and dragged her into their agency, where they abused her for their projects again and again. And if she hasn\u2019t been rewritten, then they are still using her. Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.<\/p><p>A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn\u2019t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy. The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word \"and\" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didn\u2019t take long until a few insidious Copy Writers ambushed her, made her drunk<\/p>"},"id":"b03f40c3-1dc5-4a89-8874-24f616f86e51","isHidden":false,"type":"text"}]
----
Date: 2018-09-05
---- ----
@@ -24,8 +22,4 @@ Author:
---- ----
Tags: sahara, desert, africa Tags: sahara, desert, africa
----
Gallery: photography/desert

View File

@@ -1,31 +0,0 @@
Title: Himalaya and back
----
Text:
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.
The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.
{{ gallery }}
The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word "and" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didnt take long until a few insidious Copy Writers ambushed her, made her drunk with Longe and Parole and dragged her into their agency, where they abused her for their projects again and again. And if she hasnt been rewritten, then they are still using her. Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.
A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy. The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word "and" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didnt take long until a few insidious Copy Writers ambushed her, made her drunk
----
Date: 2018-09-26 17:30
----
Author:
----
Tags: mountains, nepal
----
Gallery: photography/mountains

View File

@@ -2,21 +2,19 @@ Title: Chasing waterfalls
---- ----
Text: Subheading:
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.
The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.
The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word "and" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didnt take long until a few insidious Copy Writers ambushed her, made her drunk with Longe and Parole and dragged her into their agency, where they abused her for their projects again and again. And if she hasnt been rewritten, then they are still using her. Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.
{{ gallery }}
A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy. The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word "and" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didnt take long until a few insidious Copy Writers ambushed her, made her drunk
---- ----
Date: 2018-10-05 10:40 Cover:
----
Text: [{"content":{"text":"<p>Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language <strong>ocean<\/strong>. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.<\/p><p>The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn\u2019t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.<\/p><p>The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word \"and\" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didn\u2019t take long until a few insidious Copy Writers ambushed her, made her drunk with Longe and Parole and dragged her into their agency, where they abused her for their projects again and again. And if she hasn\u2019t been rewritten, then they are still using her. Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.<\/p><p>A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn\u2019t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy. The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word \"and\" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didn\u2019t take long until a few insidious Copy Writers ambushed her, made her drunk<\/p>"},"id":"fff3f248-9a0f-44ec-af0c-a59126be24a4","isHidden":false,"type":"text"}]
----
Date: 2018-10-05
---- ----
@@ -24,10 +22,4 @@ Author:
---- ----
Tags: water, nature, waterfalls, landscape Tags: water, nature, waterfalls, landscape
----
Gallery:
- photography/waterfall

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

View File

@@ -0,0 +1 @@
Template: blocks/image

View File

@@ -1,35 +0,0 @@
Title: Exploring the universe
----
Text:
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.
The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.
{{ gallery }}
The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word "and" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didnt take long until a few insidious Copy Writers ambushed her, made her drunk with Longe and Parole and dragged her into their agency, where they abused her for their projects again and again. And if she hasnt been rewritten, then they are still using her. Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.
----
Date: 2018-10-31 13:15
----
Author:
----
Tags: universe, stars, sky
----
Gallery:
- photography/animals
----
Headline: Super nicer scheiss

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

View File

@@ -0,0 +1 @@
Template: blocks/image

View File

@@ -0,0 +1,25 @@
Title: A night in the forest
----
Text: [{"content":{"text":"<p>Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.<\/p><p>The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn\u2019t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.<\/p><p>The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word \"and\" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didn\u2019t take long until a few insidious Copy Writers ambushed her, made her drunk with Longe and Parole and dragged her into their agency, where they abused her for their projects again and again. And if she hasn\u2019t been rewritten, then they are still using her. Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.<\/p><p>A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn\u2019t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy. The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word \"and\" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didn\u2019t take long until a few insidious Copy Writers ambushed her, made her drunk<\/p>"},"id":"_nEOMzN6tX","isHidden":false,"type":"text"}]
----
Date: 2019-06-25 00:00:00
----
Author:
----
Tags: forest, trees
----
Subheading:
----
Cover:

View File

@@ -0,0 +1,25 @@
Title: Across the ocean
----
Text: [{"content":{"text":"<p>Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.<\/p><p>The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn\u2019t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.<\/p><p>The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word \"and\" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didn\u2019t take long until a few insidious Copy Writers ambushed her, made her drunk with Longe and Parole and dragged her into their agency, where they abused her for their projects again and again. And if she hasn\u2019t been rewritten, then they are still using her. Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.<\/p><p>A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn\u2019t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy. The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word \"and\" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didn\u2019t take long until a few insidious Copy Writers ambushed her, made her drunk<\/p>"},"id":"a647447a-4226-4fe8-824e-85663f7a80f2","isHidden":false,"type":"text"}]
----
Date: 2020-04-21 00:00:00
----
Author:
----
Tags: ocean, pacific
----
Subheading:
----
Cover:

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

View File

@@ -0,0 +1 @@
Template: blocks/image

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

View File

@@ -0,0 +1 @@
Template: blocks/image

View File

@@ -0,0 +1,25 @@
Title: Himalaya and back
----
Text: [{"content":{"text":"Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar."},"id":"ad72d143-a58f-4c7f-af4e-aa2f5d40d55a","isHidden":false,"type":"text"},{"content":{"text":"The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn\u2019t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy."},"id":"9fe2ae56-5578-449b-9a12-87e9592a4762","isHidden":false,"type":"text"},{"content":{"text":"The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word \"and\" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didn\u2019t take long until a few insidious Copy Writers ambushed her, made her drunk with Longe and Parole and dragged her into their agency, where they abused her for their projects again and again. And if she hasn\u2019t been rewritten, then they are still using her. Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean."},"id":"76378830-650c-4bf6-b37e-b08c020848a4","isHidden":false,"type":"text"},{"content":{"text":"A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn\u2019t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy. The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word \"and\" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didn\u2019t take long until a few insidious Copy Writers ambushed her, made her drunk"},"id":"e413187a-c2cd-42a7-908e-11c153af6907","isHidden":false,"type":"text"}]
----
Date: 2020-09-13 00:00:00
----
Author:
----
Tags: environment, nepal, mountains
----
Subheading:
----
Cover:

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

View File

@@ -0,0 +1 @@
Template: blocks/image

View File

@@ -0,0 +1,25 @@
Title: Exploring the universe
----
Text: [{"content":{"text":"<p>Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by <strong>their<\/strong> place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.<\/p>"},"id":"_MtYF6qOmq","isHidden":false,"type":"text"},{"content":{"location":"kirby","image":["dark-forest.jpg"],"src":"","alt":"Staring at stars","caption":"Staring at stars","link":"","ratio":"16\/9","crop":"true"},"id":"_200yrtaus","isHidden":false,"type":"image"},{"content":{"text":"<p><strong>The Big Oxmox<\/strong> advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn\u2019t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic <a href=\"https:\/\/getkirby.com\" rel=\"noopener noreferrer nofollow\">Mountains<\/a>, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.<\/p>"},"id":"_J5cUP6Q8A","isHidden":false,"type":"text"},{"content":{"text":"Time flies like an arrow; fruit flies like a banana","citation":"<a href=\"https:\/\/en.wikipedia.org\/wiki\/Anthony_Oettinger\" rel=\"noopener noreferrer nofollow\">Anthony Oettinger<\/a>"},"id":"_sxaa7bs0y","isHidden":false,"type":"quote"},{"content":{"level":"h2","text":"Let's put a heading here"},"id":"_mg1sjf8a6","isHidden":false,"type":"heading"},{"content":{"text":"<p>But nothing the <u>copy<\/u> said could convince her and so it didn\u2019t take long until a few insidious Copy Writers ambushed her, made her drunk with Longe and Parole and dragged her into their agency, where they abused her for their <em>projects<\/em> again and again. And if she hasn\u2019t been rewritten, then they are still using her. Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.<\/p>"},"id":"_1gcmahr5x","isHidden":false,"type":"text"},{"content":{"url":"https:\/\/vimeo.com\/54400762","caption":"I found this when searching for stars on Vimeo"},"id":"_d5m9sxprv","isHidden":false,"type":"video"},{"content":{"text":"## This is created by some good old markdown\n\nYou can mix it with the other blocks to get even more **flexibility**. Markdown can be <strong>mixed<\/strong> with HTML too, which is nice. And of course (link: https:\/\/getkirby.com text: Kirbytags) are cool too."},"id":"_mxb6p3yof","isHidden":false,"type":"markdown"},{"content":{"text":"<ul><li><p>Look, it's a list<\/p><\/li><li><p>With some nice bullet points<\/p><\/li><li><p>Here's another one<\/p><ol><li><p>This is a nested list<\/p><\/li><li><p>With even more list items<\/p><\/li><li><p>Mixed list types are possible as well<\/p><\/li><\/ol><\/li><\/ul>"},"id":"b664b628-4782-4fc5-8b97-8fe6bb57f7fc","isHidden":false,"type":"list"},{"content":{"level":"h2","text":"Stars stars stars"},"id":"_u6rqirt17","isHidden":false,"type":"heading"},{"content":{"text":"<p>Donec ullamcorper nulla non metus auctor fringilla. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna <code>mollis<\/code> euismod. Nulla vitae elit libero, a pharetra augue. Nullam quis risus eget urna mollis ornare vel eu leo. Aenean lacinia bibendum nulla sed consectetur. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.<\/p>"},"id":"_35hdmhopv","isHidden":false,"type":"text"},{"content":{"code":"<?php foreach ($page->text()->toBlocks() as $block): ?>\n<div class=\"block\">\n <?= $block ?>\n<\/div>\n<?php endforeach ?>","language":"php"},"id":"_l0ugjspzr","isHidden":false,"type":"code"},{"content":{"level":"h3","text":"Last heading \u2013 promised!"},"id":"_9ossz5bvo","isHidden":false,"type":"heading"},{"content":{"text":"<p>Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.<\/p>"},"id":"_uxnakchw6","isHidden":false,"type":"text"}]
----
Date: 2020-12-10 16:00:00
----
Author:
----
Tags: universe, sky
----
Subheading: Our quest to the edge of nowhere
----
Cover: - dark-forest.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

View File

@@ -0,0 +1 @@
Template: blocks/image

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

View File

@@ -0,0 +1 @@
Template: blocks/image

View File

@@ -0,0 +1,27 @@
Title: In the jungle of Sumatra
----
Subheading:
----
Cover:
- sumatra.jpg
----
Text: [{"content":{"text":"<p>Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.<\/p><p>The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn\u2019t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.<\/p><p>The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word \"and\" and the Little Blind Text should turn around and return to its own, safe country. But nothing the copy said could convince her and so it didn\u2019t take long until a few insidious Copy Writers ambushed her, made her drunk with Longe and Parole and dragged her into their agency, where they abused her for their projects again and again. And if she hasn\u2019t been rewritten, then they are still using her. Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.<\/p><p>A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn\u2019t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy. The copy warned the Little Blind Text, that where it came from it would have been rewritten a thousand times and everything that was left from its origin would be the word \"and\" and the Little Blind Text should turn around and return to its own, safe country.<\/p>"},"id":"a05cb9ff-c9d5-4ccf-b332-08889051787a","isHidden":false,"type":"text"}]
----
Date: 2018-07-31
----
Author:
----
Tags: jungle, nature, travel, sumatra, forest

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

View File

@@ -0,0 +1 @@
Template: blocks/image

View File

@@ -1,17 +1,12 @@
Text: Title: About us
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.
The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.
---- ----
Address: Layout: [{"attrs":[],"columns":[{"blocks":[{"content":{"location":"kirby","image":["team.jpg"],"src":"","alt":"","caption":null,"link":"","ratio":"21\/9","crop":"true"},"id":"ab524415-3a32-4d2b-ba2d-9d2272362138","isHidden":false,"type":"image"}],"id":"d33ca1fe-ba51-4af0-bd3c-c3aefed1ae97","width":"1\/1"}],"id":"d34c0490-20b0-43bd-ac79-e79f8d760e80"},{"attrs":[],"columns":[{"blocks":[{"content":{"level":"h2","text":"What's Maegazine?"},"id":"dbef763a-2a53-4e51-80a7-04c0a1ebc897","isHidden":false,"type":"heading"},{"content":{"text":"<p>Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.<\/p>"},"id":"98b70f61-81d6-4774-b9dc-9c9502a12587","isHidden":false,"type":"text"}],"id":"cca87bd9-28f9-4b90-84de-6502ec2e9688","width":"1\/3"},{"blocks":[{"content":{"level":"h2","text":"Our values"},"id":"926b4a14-0b89-4c4e-86fd-e3db69dbc855","isHidden":false,"type":"heading"},{"content":{"text":"<p>Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.&nbsp;<\/p>"},"id":"351f4991-5d5a-4e87-87a4-c3a019c38d3f","isHidden":false,"type":"text"}],"id":"162ff072-cdee-41fd-adb9-b688aa53e9bd","width":"1\/3"},{"blocks":[{"content":{"level":"h2","text":"How we work"},"id":"0e3d4bd1-3057-4dea-881c-802745430696","isHidden":false,"type":"heading"},{"content":{"text":"<p>The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn\u2019t listen. <\/p>"},"id":"9b9dd2eb-483b-417e-98a9-cf16cbdbfee5","isHidden":false,"type":"text"}],"id":"503ba624-ece4-4e1c-81d7-f5ad7924e546","width":"1\/3"}],"id":"23cbf9df-075d-4a14-a1ea-8d19c0eb47f7"},{"attrs":[],"columns":[{"blocks":[{"content":{"location":"kirby","image":["writing.jpg"],"src":"","alt":"","caption":null,"link":"","ratio":"","crop":"false"},"id":"34d9d36b-a0ff-47dd-b4ea-5ed3a24db990","isHidden":false,"type":"image"}],"id":"593e6783-7bc4-483c-91f7-ac25ab6a4f80","width":"1\/2"},{"blocks":[{"content":{"text":"That's a brand new sketchbook for the picture. I've not written a single word into it.","citation":"The writer"},"id":"f5e90755-aa8f-4ce8-8444-2ac89f24ee65","isHidden":false,"type":"quote"},{"content":{"text":"<p>Nulla vitae elit libero, a pharetra augue. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Nullam id dolor id nibh ultricies vehicula ut id elit. Nulla vitae elit libero, a pharetra augue.<\/p>"},"id":"d8f7f9f1-c827-449d-904c-97763e4f170f","isHidden":false,"type":"text"}],"id":"0f12dfab-ae26-47fc-95e1-7516a4955199","width":"1\/2"}],"id":"cf9d8d69-3236-4b4f-a7fb-93e0b4a081e7"},{"attrs":[],"columns":[{"blocks":[{"content":{"text":"We decided to put another clich\u00e9 picture of a fancy table here \u2013 because we can.","citation":"The team"},"id":"9a14c106-6b3b-4cca-89e3-ebe7d77e9ab1","isHidden":false,"type":"quote"},{"content":{"text":"<p>Maecenas sed diam eget risus varius blandit sit amet non magna. Cras mattis consectetur purus sit amet fermentum. Maecenas faucibus mollis interdum. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.<\/p><p><br><\/p>"},"id":"a00cedfc-5d1d-4374-ba49-7950d02fc480","isHidden":false,"type":"text"}],"id":"a6008d06-98c3-4e7e-a446-e322ad236a92","width":"1\/2"},{"blocks":[{"content":{"location":"kirby","image":["table.jpg"],"src":"","alt":"","caption":null,"link":"","ratio":"","crop":"false"},"id":"c4524591-2354-47b3-b76d-dfbf09501e4d","isHidden":false,"type":"image"}],"id":"f9fb128e-e3d0-4377-b757-dd72bc23a268","width":"1\/2"}],"id":"49f7576f-3e68-4a3d-80f3-240f066d7270"}]
Mægazine Inc. ----
Sesamestreet 1
Gotham City Address: Mægazine Inc. <br>Sesamestreet 1 <br>Gotham City <br>USA
USA
---- ----
@@ -25,12 +20,19 @@ Phone: +49 1234 5678
Social: Social:
- -
platform: Twitter platform: Twitter
url: https://twitter.com/getkirby url: https://twitter.com/getkirby
- -
platform: Instagram platform: Instagram
url: https://instagram.com/getkirby url: https://instagram.com/getkirby
-
platform: Discord
url: https://chat.getkirby.com
----
Text: <p>Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didnt listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then she continued her way. On her way she met a copy.</p>
---- ----
@@ -39,8 +41,4 @@ Contact:
Kirby Magazine Inc. Kirby Magazine Inc.
Sesamestreet 1 Sesamestreet 1
Gotham City Gotham City
USA USA
----
Title: About us

BIN
content/3_about/table.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

View File

@@ -0,0 +1 @@
Template: blocks/image

BIN
content/3_about/team.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

View File

@@ -0,0 +1 @@
Template: blocks/image

BIN
content/3_about/writing.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 KiB

View File

@@ -0,0 +1 @@
Template: blocks/image

View File

@@ -2,8 +2,4 @@ Title: Error
---- ----
Intro: The page could not be found. Text: This page cannot be found 😱
----
Text: Well, stuff can go wrong sometimes and maybe you mistyped a URL, tapped/clicked on a broken link or your computer just wants to drive you nuts. Anyway … keep calm and take a look at our beautiful (link: / text: homepage) instead.

View File

@@ -1 +1,9 @@
Title: Home Title: Home
----
Headline: Welcome to Kirby's Starterkit
----
Subheadline: A fully documented example project

BIN
favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -0,0 +1,4 @@
# The blocks/image template is automatically assigned to all uploaded
# images in the blocks field. We don't really need a separate blueprint
# for this and can therefor extend the already existing files/image blueprint
extends: files/image

View File

@@ -17,39 +17,63 @@ options:
changeSlug: false changeSlug: false
delete: false delete: false
# Define the form layout with two columns, each column has a set of fields # We use tabs here to focus on the layout in one tab
# Columns are optional but help structure the form layout # and have the additional contact fields in a secondary
# More about columns: https://getkirby.com/docs/guide/blueprints/layout#defining-columns # tab. Tabs can really help to clean up the interface
columns: # when it otherwise gets too complicated
- width: 1/2 tabs:
content:
icon: text
label: content
fields: fields:
text: layout:
label: Text label: Layout
type: textarea type: layout
size: huge layouts:
- "1/1"
- width: 1/2 - "1/2, 1/2"
# Kirby has many different field types, from simple text fields to the more complex structure field that contains subfields - "1/3, 1/3, 1/3"
# All available field types: https://getkirby.com/docs/reference/panel/fields # The contact tab pre-defines a set of address
fields: # fields for the contact box at the bottom of the about
address: # page. Combining modular content from layouts with
label: Address # pre-defined content from such fields is a great way to
type: textarea # offer flexibility and yet keep certain constraints.
email: #
label: Email # The form layout is created with two columns,
type: email # each column has a set of fields
phone: # More about columns:
label: Phone # https://getkirby.com/docs/guide/blueprints/layout#defining-columns
type: tel contact:
social: icon: map
label: On the web label: Contact
type: structure columns:
- width: 1/2
# Kirby has many different field types, from simple text fields to the more complex structure field that contains subfields
# All available field types: https://getkirby.com/docs/reference/panel/fields
fields: fields:
platform: address:
label: Platform label: Address
type: text type: writer
width: 1/2 inline: true
url: email:
label: URL label: Email
type: url type: email
width: 1/2 phone:
label: Phone
type: tel
- width: 1/2
fields:
social:
label: On the web
type: structure
columns:
platform: true
fields:
platform:
label: Platform
type: text
width: 1/2
url:
label: URL
type: url
width: 1/2

View File

@@ -17,9 +17,30 @@ status:
# More about columns: https://getkirby.com/docs/guide/blueprints/layout#defining-columns # More about columns: https://getkirby.com/docs/guide/blueprints/layout#defining-columns
columns: columns:
- width: 1/3
# The first column contains a set of fields to store
# information about the album.
#
# List of all available field types:
# https://getkirby.com/docs/reference/panel/fields
fields:
cover:
type: files
multiple: false
headline:
type: text
placeholder: "{{ page.title }}"
help: Leave empty to use the title as headline
subheadline:
type: text
text:
type: writer
tags: true
- width: 2/3 - width: 2/3
sections: sections:
## The `images` files section shows all images of the current page that use the `image` template # The `images` files section shows all images of
# the current page that use the `image` template
images: images:
type: files type: files
layout: cards layout: cards
@@ -31,15 +52,3 @@ columns:
min: 1 min: 1
size: small size: small
- width: 1/3
# The second column contains a set of fields
# List of all available field types: https://getkirby.com/docs/reference/panel/fields
fields:
cover:
type: files
multiple: false
headline:
type: text
description:
type: textarea
tags: true

View File

@@ -12,10 +12,17 @@ options:
# Here we define an info section and a pages section (`photography`) # Here we define an info section and a pages section (`photography`)
sections: sections:
info: content:
headline: Info type: fields
type: info fields:
text: All content for the homepage is being pulled from the photography page. headline:
type: text
width: 1/2
gap:
width: 1/2
subheadline:
type: text
width: 1/2
# The photography section extends a pages section defined in the `/site/blueprints/section/album.yml` blueprint # The photography section extends a pages section defined in the `/site/blueprints/section/album.yml` blueprint
# More about reusing and extending sections: https://getkirby.com/docs/guide/blueprints/extending-blueprints#reusing-and-extending-sectionss # More about reusing and extending sections: https://getkirby.com/docs/guide/blueprints/extending-blueprints#reusing-and-extending-sectionss
@@ -23,5 +30,7 @@ sections:
headline: Photography headline: Photography
extends: sections/albums extends: sections/albums
status: listed status: listed
size: small
help: All projects for the homepage are being pulled from the photography page.

View File

@@ -29,8 +29,7 @@ columns:
# This columns only has a single field # This columns only has a single field
fields: fields:
text: text:
type: textarea type: blocks
size: large
- width: 1/3 - width: 1/3
# This second column holds a fields section with multiple fields # This second column holds a fields section with multiple fields
@@ -48,13 +47,6 @@ columns:
# Fields types can be added using the shortcut `fieldname: true` # Fields types can be added using the shortcut `fieldname: true`
# (however, you can only use a fieldname once per page and this only makes sense for simple fields without configuration) # (however, you can only use a fieldname once per page and this only makes sense for simple fields without configuration)
tags: true tags: true
gallery: files:
type: pages type: files
query: kirby.page("photography").children template: blocks/image
multiple: false
info: "{{ page.images.count }} image(s)"
empty: "No gallery selected"
image:
cover: true
# Use the `help` property of fields and section to provide editors with helpful information
help: Place the \{\{ gallery }} tag anywhere in your text to add the selected gallery

View File

@@ -8,7 +8,7 @@ icon: 📖
# More about columns: https://getkirby.com/docs/guide/blueprints/layout#defining-columns # More about columns: https://getkirby.com/docs/guide/blueprints/layout#defining-columns
columns: columns:
- width: 1/2 - width: 1/3
# In the first column, we reuse the `notes` section # In the first column, we reuse the `notes` section
# (defined in `/site/blueprints/sections/notes.yml` twice with different page status and headline # (defined in `/site/blueprints/sections/notes.yml` twice with different page status and headline
sections: sections:
@@ -22,12 +22,14 @@ columns:
headline: In Review headline: In Review
status: unlisted status: unlisted
- width: 1/2 - width: 2/3
# In the second column, we reuse the same section, this time for listed pages and with a different headline # In the second column, we reuse the same section, this time for listed pages and with a different headline
sections: sections:
listed: listed:
extends: sections/notes extends: sections/notes
headline: Published headline: Published
status: listed status: listed
size: small
layout: cards
# More about pages sections: https://getkirby.com/docs/reference/panel/sections/pages # More about pages sections: https://getkirby.com/docs/reference/panel/sections/pages

View File

@@ -1,31 +0,0 @@
# Each page blueprint must have a title, the title may be different from the file name
title: Sandbox
# Page presets are a quick way to set up a standard page layout
# More about page presets:
# - https://getkirby.com/docs/guide/blueprints/presets and
# - https://getkirby.com/docs/reference/panel/presets/page
preset: page
# Sorting number scheme that is applied when page status is changed to `listed`
# More about page sorting: https://getkirby.com/docs/reference/panel/blueprints/page#sorting
num: zero
# Limit subpage display to certain templates in a page preset
pages:
template: sandbox
# A page preset can have a freely defined set of fields
# List of all available field types: https://getkirby.com/docs/reference/panel/fields
fields:
headline:
type: text
test:
type: structure
translate: false
fields:
itemimage:
label: Image
type: files
max: 1
parent: kirby.page('photography').children.first

View File

@@ -5,7 +5,7 @@
type: pages type: pages
headline: Photography headline: Photography
parent: kirby.page("photography") parent: kirby.page("photography")
size: tiny size: small
info: "{{ page.images.count }} image(s)" info: "{{ page.images.count }} image(s)"
layout: cards layout: cards
template: album template: album

View File

@@ -5,7 +5,11 @@
type: pages type: pages
headline: Notes headline: Notes
parent: kirby.page("notes") parent: kirby.page("notes")
info: "{{ page.date.toDate('d.m.Y') }}" info: "{{ page.published }}"
template: note template: note
empty: No notes yet empty: No notes yet
sortBy: date desc sortBy: date desc
image:
query: page.cover
cover: true
ratio: 3/2

8
site/collections/notes.php Executable file
View File

@@ -0,0 +1,8 @@
<?php
return function () {
return page('notes')
->children()
->listed()
->sortBy('date', 'desc');
};

View File

@@ -1,12 +1,13 @@
<?php <?php
/** /**
* Controllers allow you to separate the logic of your templates from your markup. * Controllers allow you to separate the logic of your templates from your markup.
* This is especially useful for complex logic, but also in general to keep your templates clean. * This is especially useful for complex logic, but also in general to keep your templates clean.
*
* In this example, we define the `$gallery` variable which is passed to the template * In this example, we define the `$gallery` variable which is passed to the template
* More about controllers: https://getkirby.com/docs/guide/templates/controllers *
* More about controllers:
* https://getkirby.com/docs/guide/templates/controllers
*/ */
return function ($page) { return function ($page) {
$gallery = $page->images()->sortBy('sort', 'filename'); $gallery = $page->images()->sortBy('sort', 'filename');

15
site/controllers/note.php Executable file
View File

@@ -0,0 +1,15 @@
<?php
/**
* Controllers allow you to separate the logic of your templates from your markup.
* This is especially useful for complex logic, but also in general to keep your templates clean.
*
* In this example, we split the tags from the tags field to create a nice tag list
*
* More about controllers:
* https://getkirby.com/docs/guide/templates/controllers
*/
return function ($page) {
return [
'tags' => $page->tags()->split(','),
];
};

26
site/controllers/notes.php Executable file
View File

@@ -0,0 +1,26 @@
<?php
/**
* Controllers allow you to separate the logic of your templates from your markup.
* This is especially useful for complex logic, but also in general to keep your templates clean.
*
* In this example, we handle tag filtering and paginating notes in the controller,
* before we pass the currently active tag and the notes to the template.
*
* More about controllers:
* https://getkirby.com/docs/guide/templates/controllers
*/
return function ($page) {
$tag = urldecode(param('tag'));
$notes = collection('notes');
if (empty($tag) === false) {
$notes = $notes->filterBy('tags', $tag, ',');
}
return [
'tag' => $tag,
'notes' => $notes->paginate(6)
];
};

View File

@@ -1,15 +1,19 @@
<?php <?php
/** /**
* Page models extend Kirby's default page object. * Page models extend Kirby's default page object.
* In page models you can define methods that are then available everywhere in Kirby where you call a page of the extended type. *
* In this example, we define the cover method that either returns an image selected in the cover field * In page models you can define methods that are then available
* or the first image in the folder. * everywhere in Kirby where you call a page of the extended type.
* You can see the method in use in the `home.php`, `photography.php` and `album.php` templates *
* In this example, we define the cover method that either returns
* an image selected in the cover field or the first image in the folder.
*
* You can see the method in use in the `home.php` and `photography.php` templates
* and in the `site/blueprints/sections/albums.yml` image query * and in the `site/blueprints/sections/albums.yml` image query
*
* More about models: https://getkirby.com/docs/guide/templates/page-models * More about models: https://getkirby.com/docs/guide/templates/page-models
*/ */
class AlbumPage extends Page class AlbumPage extends Page
{ {
public function cover() public function cover()

31
site/models/note.php Executable file
View File

@@ -0,0 +1,31 @@
<?php
/**
* Page models extend Kirby's default page object.
*
* In page models you can define methods that are then available
* everywhere in Kirby where you call a page of the extended type.
*
* In this example, we define the cover method that either returns
* an image selected in the cover field or the first image in the folder.
*
* You can see the method in use in the `note.php` snippet.
* and in the `site/blueprints/sections/notes.yml` image query
*
* We also define a custom date handler here, which keeps date formatting
* for the published date consistent in templates, snippets and blueprints.
*
* More about models: https://getkirby.com/docs/guide/templates/page-models
*/
class NotePage extends Page
{
public function cover()
{
return $this->content()->cover()->toFile() ?? $this->image();
}
public function published($format = null)
{
return parent::date()->toDate($format ?? 'd M, Y');
}
}

View File

@@ -1,24 +0,0 @@
<?php
/**
* Plugins extend Kirby's core functionality.
* You can extend/replace almost any system-relevant part.
* This plugin uses a hook to replace the `{{ gallery }}` placeholders used in the note pages
* with images from the selected album page that servers as gallery provider
* More about plugins: https://getkirby.com/docs/guide/plugins/plugin-basics
*/
Kirby::plugin('starterkit/gallery', [
'hooks' => [
'kirbytags:after' => function ($text, $data, $options) {
if ($page = $data['parent']->gallery()->toPage()) {
$gallery = snippet('gallery', ['gallery' => $page], true);
} else {
$gallery = '';
}
return str_replace('{{ gallery }}', $gallery, $text);
}
]
]);

59
site/snippets/blocks/image.php Executable file
View File

@@ -0,0 +1,59 @@
<?php
/*
Snippets are a great way to store code snippets for reuse
or to keep your templates clean.
Block snippets control the HTML for individual blocks
in the blocks field. This image snippet overwrites
Kirby's default image block to add custom classes
and data attributes.
More about snippets:
https://getkirby.com/docs/guide/templates/snippets
*/
$alt = $block->alt();
$caption = $block->caption();
$contain = $block->crop()->isFalse();
$link = $block->link();
$ratio = $block->ratio()->or('auto');
$class = $ratio != 'auto' ? 'img' : 'auto';
$src = null;
$lightbox = $link->isEmpty();
if ($block->location() == 'web') {
$src = $block->src();
} elseif ($image = $block->image()->toFile()) {
$alt = $alt ?? $image->alt();
$src = $image->url();
}
if ($ratio !== 'auto') {
$ratio = Str::split($ratio, '/');
$w = $ratio[0] ?? 1;
$h = $ratio[1] ?? 1;
}
$attrs = attr([
'class' => $class,
'data-contain' => $contain,
'data-lightbox' => $lightbox,
'href' => $link->or($src),
'style' => '--w:' . $w . '; --h:' . $h,
]);
?>
<?php if ($src): ?>
<figure>
<a <?= $attrs ?>>
<img src="<?= $src ?>" alt="<?= $alt ?>">
</a>
<?php if ($caption->isNotEmpty()): ?>
<figcaption class="img-caption">
<?= $caption ?>
</figcaption>
<?php endif ?>
</figure>
<?php endif ?>

24
site/snippets/blocks/video.php Executable file
View File

@@ -0,0 +1,24 @@
<?php
/*
Snippets are a great way to store code snippets for reuse
or to keep your templates clean.
Block snippets control the HTML for individual blocks
in the blocks field. This video snippet overwrites
Kirby's default video block to add custom classes
and style attributes.
More about snippets:
https://getkirby.com/docs/guide/templates/snippets
*/
?>
<?php if ($block->url()->isNotEmpty()): ?>
<figure>
<span class="video" style="--w:16;--h:9">
<?= video($block->url()) ?>
</span>
<?php if ($block->caption()->isNotEmpty()): ?>
<figcaption class="video-caption"><?= $block->caption() ?></figcaption>
<?php endif ?>
</figure>
<?php endif ?>

View File

@@ -1,26 +1,51 @@
<?php <?php
/** /*
* Snippets are a great way to store code snippets for reuse or to keep your templates clean. Snippets are a great way to store code snippets for reuse
* in loops or simply to keep your templates clean. or to keep your templates clean.
* This footer snippet is reused in all templates. In fetches information from the `site.txt` content file
* and from the `about` page.
* More about snippets: https://getkirby.com/docs/guide/templates/snippets
*/
?>
</div> This footer snippet is reused in all templates.
More about snippets:
https://getkirby.com/docs/guide/templates/snippets
*/
?>
</main>
<footer class="footer"> <footer class="footer">
<a href="<?= url() ?>">&copy; <?= date('Y') ?> / <?= $site->title() ?></a> <div class="grid">
<div class="column" style="--columns: 8">
<?php if ($about = page('about')): ?> <h2><a href="https://getkirby.com">Made with Kirby</a></h2>
<nav class="social"> <p>
<?php foreach ($about->social()->toStructure() as $social): ?> Kirby: the file-based CMS that adapts to any project, loved by developers and editors alike
<a href="<?= $social->url() ?>"><?= $social->platform() ?></a> </p>
<?php endforeach ?> </div>
</nav> <div class="column" style="--columns: 2">
<?php endif ?> <h2>Pages</h2>
<ul>
<?php foreach ($site->children()->listed() as $example): ?>
<li><a href="<?= $example->url() ?>"><?= $example->title()->html() ?></a></li>
<?php endforeach ?>
</ul>
</div>
<div class="column" style="--columns: 2">
<h2>Kirby</h2>
<ul>
<li><a href="https://getkirby.com">Website</a></li>
<li><a href="https://getkirby.com/docs">Docs</a></li>
<li><a href="https://forum.getkirby.com">Forum</a></li>
<li><a href="https://chat.getkirby.com">Chat</a></li>
<li><a href="https://github.com/getkirby">GitHub</a></li>
</ul>
</div>
</div>
</footer> </footer>
<?= js([
'assets/js/prism.js',
'assets/js/lightbox.js',
'assets/js/index.js',
'@auto'
]) ?>
</body> </body>
</html> </html>

View File

@@ -1,12 +1,14 @@
<?php <?php
/** /*
* Snippets are a great way to store code snippets for reuse or to keep your templates clean. Snippets are a great way to store code snippets for reuse
* in loops or simply to keep your templates clean. or to keep your templates clean.
* This gallery snippet is used in the gallery plugin (`/site/plugins/gallery`)
* More about snippets: https://getkirby.com/docs/guide/templates/snippets
*/
?>
This gallery snippet is used in the gallery plugin (`/site/plugins/gallery`)
More about snippets:
https://getkirby.com/docs/guide/templates/snippets
*/
?>
<section class="gallery"> <section class="gallery">
<?php foreach ($gallery->images() as $image): ?> <?php foreach ($gallery->images() as $image): ?>
<figure> <figure>

View File

@@ -1,42 +1,87 @@
<?php <?php
/** /*
* Snippets are a great way to store code snippets for reuse or to keep your templates clean. Snippets are a great way to store code snippets for reuse
* This header snippet is reused in all templates. or to keep your templates clean.
* It fetches information from the `site.txt` content file and contains the site navigation.
* More about snippets: https://getkirby.com/docs/guide/templates/snippets
*/
?>
<!doctype html> This header snippet is reused in all templates.
It fetches information from the `site.txt` content file
and contains the site navigation.
More about snippets:
https://getkirby.com/docs/guide/templates/snippets
*/
?>
<!DOCTYPE html>
<html lang="en"> <html lang="en">
<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">
<!-- The title tag we show the title of our site and the title of the current page --> <?php
/*
In the title tag we show the title of our
site and the title of the current page
*/
?>
<title><?= $site->title() ?> | <?= $page->title() ?></title> <title><?= $site->title() ?> | <?= $page->title() ?></title>
<!-- Stylesheets can be included using the `css()` helper. Kirby also provides the `js()` helper to include script file. <?php
More Kirby helpers: https://getkirby.com/docs/reference/templates/helpers --> /*
<?= css(['assets/css/index.css', '@auto']) ?> Stylesheets can be included using the `css()` helper.
Kirby also provides the `js()` helper to include script file.
More Kirby helpers: https://getkirby.com/docs/reference/templates/helpers
*/
?>
<?= css([
'assets/css/prism.css',
'assets/css/lightbox.css',
'assets/css/index.css',
'@auto'
]) ?>
<?php
/*
The `url()` helper is a great way to create reliable
absolute URLs in Kirby that always start with the
base URL of your site.
*/
?>
<link rel="shortcut icon" type="image/x-icon" href="<?= url('favicon.ico') ?>">
</head> </head>
<body> <body>
<div class="page"> <header class="header">
<header class="header"> <?php
<!-- In this link we call `$site->url()` to create a link back to the homepage --> /*
<a class="logo" href="<?= $site->url() ?>"><?= $site->title() ?></a> We use `$site->url()` to create a link back to the homepage
for the logo and `$site->title()` as a temporary logo. You
probably want to replace this with an SVG.
*/
?>
<a class="logo" href="<?= $site->url() ?>">
<?= $site->title() ?>
</a>
<nav id="menu" class="menu"> <nav class="menu">
<?php <?php
// In the menu, we only fetch listed pages, i.e. the pages that have a prepended number in their foldername /*
// We do not want to display links to unlisted `error`, `home`, or `sandbox` pages In the menu, we only fetch listed pages,
// More about page status: https://getkirby.com/docs/reference/panel/blueprints/page#statuses i.e. the pages that have a prepended number
foreach ($site->children()->listed() as $item): ?> in their foldername.
<?= $item->title()->link() ?>
<?php endforeach ?>
</nav>
</header>
We do not want to display links to unlisted
`error`, `home`, or `sandbox` pages.
More about page status:
https://getkirby.com/docs/reference/panel/blueprints/page#statuses
*/
?>
<?php foreach ($site->children()->listed() as $item): ?>
<a <?php e($item->isOpen(), 'aria-current ') ?> href="<?= $item->url() ?>"><?= $item->title()->html() ?></a>
<?php endforeach ?>
<?php snippet('social') ?>
</nav>
</header>
<main class="main">

View File

@@ -1,13 +1,20 @@
<?php <?php
/** /*
* Snippets are a great way to store code snippets for reuse or to keep your templates clean. Snippets are a great way to store code snippets for reuse
* in loops or simply to keep your templates clean. or to keep your templates clean.
* This intro snippet is reused in multiple templates. While it does not contain much code,
* it helps to keep your code DRY and thus facilitate maintenance when you have to make changes.
* More about snippets: https://getkirby.com/docs/guide/templates/snippets
*/
?>
<header class="intro"> This intro snippet is reused in multiple templates.
<h1><?= $page->title() ?></h1> While it does not contain much code, it helps to keep your
code DRY and thus facilitate maintenance when you have
to make changes.
More about snippets:
https://getkirby.com/docs/guide/templates/snippets
*/
?>
<header class="h1">
<h1><?= $page->headline()->or($page->title())->html() ?></h1>
<?php if ($page->subheadline()->isNotEmpty()): ?>
<p class="color-grey"><?= $page->subheadline()->html() ?></p>
<?php endif ?>
</header> </header>

23
site/snippets/layouts.php Executable file
View File

@@ -0,0 +1,23 @@
<?php
/*
Snippets are a great way to store code snippets for reuse
or to keep your templates clean.
This layouts snippet renders the content of a layout
field with our custom grid system.
More about snippets:
https://getkirby.com/docs/guide/templates/snippets
*/
?>
<?php foreach ($field->toLayouts() as $layout): ?>
<section class="grid margin-xl" id="<?= $layout->id() ?>" style="--gutter: 1.5rem">
<?php foreach ($layout->columns() as $column): ?>
<div class="column" style="--columns:<?= $column->span() ?>">
<div class="text">
<?= $column->blocks() ?>
</div>
</div>
<?php endforeach ?>
</section>
<?php endforeach ?>

30
site/snippets/note.php Executable file
View File

@@ -0,0 +1,30 @@
<?php
/*
Snippets are a great way to store code snippets for reuse
or to keep your templates clean.
The note snippet renders an excerpt of a blog article.
More about snippets:
https://getkirby.com/docs/guide/templates/snippets
*/
?>
<article class="note-excerpt">
<a href="<?= $note->url() ?>">
<header>
<figure class="img" style="--w: 16; --h:9">
<?php if ($cover = $note->cover()): ?>
<?= $cover->crop(320, 180) ?>
<?php endif ?>
</figure>
<h2 class="note-excerpt-title"><?= $note->title() ?></h2>
<time class="note-excerpt-date" datetime="<?= $note->published('c') ?>"><?= $note->published() ?></time>
</header>
<?php if (($excerpt ?? true) !== false): ?>
<div class="note-excerpt-text">
<?= $note->text()->toBlocks()->excerpt(280) ?>
</div>
<?php endif ?>
</a>
</article>

26
site/snippets/pagination.php Executable file
View File

@@ -0,0 +1,26 @@
<?php
/*
Snippets are a great way to store code snippets for reuse
or to keep your templates clean.
The pagination snippet renders prev/next links in the
blog, when articles spread across multiple pages
More about snippets:
https://getkirby.com/docs/guide/templates/snippets
*/
?>
<?php if ($pagination->hasPages()): ?>
<nav class="pagination">
<?php if ($pagination->hasPrevPage()): ?>
<a class="pagination-prev" href="<?= $pagination->prevPageUrl() ?>">&larr;</a>
<?php else: ?>
<span class="pagination-prev">&larr;</span>
<?php endif ?>
<?php if ($pagination->hasNextPage()): ?>
<a class="pagination-next" href="<?= $pagination->nextPageUrl() ?>">&rarr;</a>
<?php else: ?>
<span class="pagination-next">&rarr;</span>
<?php endif ?>
</nav>
<?php endif ?>

27
site/snippets/prevnext.php Executable file
View File

@@ -0,0 +1,27 @@
<?php
/*
Snippets are a great way to store code snippets for reuse
or to keep your templates clean.
The prevnext snippet renders the nice "keep on reading"
section below each article in the blog, to jump between
articles. It reuses the note snippet to render a full
excerpt of the article.
More about snippets:
https://getkirby.com/docs/guide/templates/snippets
*/
?>
<nav class="blog-prevnext">
<h2 class="h2">Keep on reading</h2>
<div class="autogrid" style="--gutter: 1.5rem">
<?php if ($prev = $page->prevListed()): ?>
<?php snippet('note', ['note' => $prev, 'excerpt' => false]) ?>
<?php endif ?>
<?php if ($next = $page->nextListed()): ?>
<?php snippet('note', ['note' => $next, 'excerpt' => false]) ?>
<?php endif ?>
</div>
</nav>

24
site/snippets/social.php Executable file
View File

@@ -0,0 +1,24 @@
<?php
/*
Snippets are a great way to store code snippets for reuse
or to keep your templates clean.
In this snippet the svg() helper is a great way to embed SVG
code directly in your HTML. Pass the path to your SVG
file to load it.
More about snippets:
https://getkirby.com/docs/guide/templates/snippets
*/
?>
<span class="social">
<a href="https://twitter.com/getkirby">
<?= svg('assets/icons/twitter.svg') ?>
</a>
<a href="https://chat.getkirby.com">
<?= svg('assets/icons/discord.svg') ?>
</a>
<a href="https://instagram.com/getkirby">
<?= svg('assets/icons/instagram.svg') ?>
</a>
</span>

View File

@@ -1,61 +1,53 @@
<?php <?php
/** /*
* Templates render the content of your pages. Templates render the content of your pages.
* They contain the markup together with some control structures like loops or if-statements.
* The `$page` variable always refers to the currently active page. They contain the markup together with some control structures
* To fetch the content from each field we call the field name as a method on the `$page` object, e.g. `$page->title()`. like loops or if-statements. The `$page` variable always
* This example templates only echos the field values from the content file and doesn't need any special logic from a controller. refers to the currently active page.
* Snippets like the header, footer and intro contain markup used in multiple templates. They also help to keep templates clean.
* More about templates: https://getkirby.com/docs/guide/templates/basics To fetch the content from each field we call the field name as a
*/ method on the `$page` object, e.g. `$page->title()`.
This about page example uses the content from our layout field
to create most parts of the page and keeps it modular. Only the
contact box at the bottom is pre-defined with a set of fields
in the about.yml blueprint.
Snippets like the header and footer contain markup used in
multiple templates. They also help to keep templates clean.
More about templates: https://getkirby.com/docs/guide/templates/basics
*/
?> ?>
<?php snippet('header') ?> <?php snippet('header') ?>
<?php snippet('intro') ?>
<?php snippet('layouts', ['field' => $page->layout()]) ?>
<main> <aside class="contact">
<?php snippet('intro') ?> <h2 class="h1">Get in contact</h2>
<div class="grid" style="--gutter: 1.5rem">
<div class="layout"> <section class="column text" style="--columns: 4">
<h3>Address</h2>
<aside> <?= $page->address()->kt() ?>
<section> </section>
<h2>Address</h2> <section class="column text" style="--columns: 4">
<div class="text"> <h3>Email</h2>
<?= $page->address()->kt() ?> <p><?= html::email($page->email()) ?></p>
</div> <h3>Phone</h2>
</section> <p><?= html::tel($page->phone()) ?></p>
</section>
<section> <section class="column text" style="--columns: 4">
<h2>Email</h2> <h3>On the web</h2>
<div class="text"> <ul>
<?= html::email($page->email()) ?> <?php foreach ($page->social()->toStructure() as $social): ?>
</div> <li><?= html::a($social->url(), $social->platform()) ?></li>
</section> <?php endforeach ?>
</ul>
<section> </section>
<h2>Phone</h2>
<div class="text">
<?= html::tel($page->phone()) ?>
</div>
</section>
<section>
<h2>On the web</h2>
<div class="text">
<ul>
<?php foreach ($page->social()->toStructure() as $social): ?>
<li><?= html::a($social->url(), $social->platform()) ?></li>
<?php endforeach ?>
</ul>
</div>
</section>
</aside>
<div class="text">
<?= $page->text()->kt() ?>
</div>
</div> </div>
</main> </aside>
</div>
<?php snippet('footer') ?> <?php snippet('footer') ?>

View File

@@ -1,55 +1,47 @@
<?php <?php
/** /*
* Templates render the content of your pages. Templates render the content of your pages.
* They contain the markup together with some control structures like loops or if-statements.
* The `$page` variable always refers to the currently active page. They contain the markup together with some control structures
* To fetch the content from each field we call the field name as a method on the `$page` object, e.g. `$page->title()`. like loops or if-statements. The `$page` variable always
* This example template makes use of the `$gallery` variable defined in the `album.php` controller refers to the currently active page.
* and the `cover()` method defined in the `album.php` page model.
* Snippets like the header and footer contain markup used in multiple templates. They also help to keep templates clean. To fetch the content from each field we call the field name as a
* More about templates: https://getkirby.com/docs/guide/templates/basics method on the `$page` object, e.g. `$page->title()`.
*/
This example template makes use of the `$gallery` variable defined
in the `album.php` controller (/site/controllers/album.php)
Snippets like the header and footer contain markup used in
multiple templates. They also help to keep templates clean.
More about templates: https://getkirby.com/docs/guide/templates/basics
*/
?> ?>
<?php snippet('header') ?> <?php snippet('header') ?>
<article>
<?php snippet('intro') ?>
<div class="grid">
<main class="album"> <div class="column" style="--columns: 4">
<article> <div class="text">
<?= $page->text() ?>
<header> </div>
<?php
// in this line of code, `cover` does not call the field of the same name but the `cover` method defined in the page model
// before we use the `crop()` file method, we make sure to check if the file exists to prevent errors
if ($cover = $page->cover()): ?>
<figure class="album-cover">
<?= $cover->crop(1024, 768) ?>
<figcaption>
<!-- The `or()` method is great to provide a fallback value if a field is empty -->
<h1><?= $page->headline()->or($page->title()) ?></h1>
</figcaption>
</figure>
<?php endif ?>
</header>
<div class="album-text text">
<?= $page->description()->kt() ?>
<?php if ($page->tags()->isNotEmpty()): ?>
<p class="album-tags tags"><?= $page->tags() ?></p>
<?php endif ?>
</div> </div>
<ul class="album-gallery"<?= attr(['data-even' => $gallery->isEven(), 'data-count' => $gallery->count()], ' ') ?>> <div class="column" style="--columns: 8">
<?php foreach ($gallery as $image): ?> <ul class="album-gallery">
<li> <?php foreach ($gallery as $image): ?>
<figure> <li>
<a href="<?= $image->link()->or($image->url()) ?>"> <a href="<?= $image->url() ?>" data-lightbox>
<?= $image->crop(800, 1000) ?> <figure class="img" style="--w:<?= $image->width() ?>;--h:<?= $image->height() ?>">
<?= $image->resize(800) ?>
</figure>
</a> </a>
</figure> </li>
</li> <?php endforeach ?>
<?php endforeach ?> </ul>
</ul> </div>
</article>
</main>
</article>
<?php snippet('footer') ?> <?php snippet('footer') ?>

View File

@@ -1,22 +1,30 @@
<?php <?php
/** /*
* Templates render the content of your pages. Templates render the content of your pages.
* They contain the markup together with some control structures like loops or if-statements.
* The `$page` variable always refers to the currently active page. They contain the markup together with some control structures
* To fetch the content from each field we call the field name as a method on the `$page` object, e.g. `$page->title()`. * like loops or if-statements. The `$page` variable always
* This default template must not be removed. It is used whenever Kirby cannot find a template with the name of the content file. refers to the currently active page.
* Snippets like the header, footer and intro contain markup used in multiple templates. They also help to keep templates clean.
* More about templates: https://getkirby.com/docs/guide/templates/basics To fetch the content from each field we call the field name as a
*/ method on the `$page` object, e.g. `$page->title()`.
This default template must not be removed. It is used whenever Kirby
cannot find a template with the name of the content file.
Snippets like the header and footer contain markup used in
multiple templates. They also help to keep templates clean.
More about templates: https://getkirby.com/docs/guide/templates/basics
*/
?> ?>
<?php snippet('header') ?> <?php snippet('header') ?>
<main> <article>
<?php snippet('intro') ?> <h1 class="h1"><?= $page->title() ?></h1>
<div class="text"> <div class="text">
<?= $page->text()->kt() ?> <?= $page->text()->kt() ?>
</div> </div>
</main> </article>
<?php snippet('footer') ?> <?php snippet('footer') ?>

View File

@@ -1,34 +1,49 @@
<?php <?php
/** /*
* Templates render the content of your pages. Templates render the content of your pages.
* They contain the markup together with some control structures like loops or if-statements.
* The `$page` variable always refers to the currently active page. They contain the markup together with some control structures
* To fetch the content from each field we call the field name as a method on the `$page` object, e.g. `$page->title()`. like loops or if-statements. The `$page` variable always
* This home template renders content from others pages, the children of the `photography` page to display a nice gallery grid. refers to the currently active page.
* Snippets like the header and footer contain markup used in multiple templates. They also help to keep templates clean.
* More about templates: https://getkirby.com/docs/guide/templates/basics To fetch the content from each field we call the field name as a
*/ method on the `$page` object, e.g. `$page->title()`.
This home template renders content from others pages, the children of
the `photography` page to display a nice gallery grid.
Snippets like the header and footer contain markup used in
multiple templates. They also help to keep templates clean.
More about templates: https://getkirby.com/docs/guide/templates/basics
*/
?> ?>
<?php snippet('header') ?> <?php snippet('header') ?>
<main>
<?php snippet('intro') ?> <?php snippet('intro') ?>
<?php
/*
<?php We always use an if-statement to check if a page exists to
// we always use an if-statement to check if a page exists to prevent errors prevent errors in case the page was deleted or renamed before
// in case the page was deleted or renamed before we call a method like `children()` in this case we call a method like `children()` in this case
if ($photographyPage = page('photography')): ?> */
<ul class="grid"> ?>
<?php if ($photographyPage = page('photography')): ?>
<ul class="home-grid">
<?php foreach ($photographyPage->children()->listed() as $album): ?> <?php foreach ($photographyPage->children()->listed() as $album): ?>
<li> <li>
<a href="<?= $album->url() ?>"> <a href="<?= $album->url() ?>">
<figure> <figure>
<?php <?php
// the `cover()` method defined in the `album.php` page model can be used /*
// everywhere across the site for this type of page The `cover()` method defined in the `album.php`
if ($cover = $album->cover()): ?> page model can be used everywhere across the site
for this type of page
We can automatically resize images to a useful
size with Kirby's built-in image manipulation API
*/
?>
<?php if ($cover = $album->cover()): ?>
<?= $cover->resize(1024, 1024) ?> <?= $cover->resize(1024, 1024) ?>
<?php endif ?> <?php endif ?>
<figcaption> <figcaption>
@@ -42,7 +57,4 @@
<?php endforeach ?> <?php endforeach ?>
</ul> </ul>
<?php endif ?> <?php endif ?>
</main>
<?php snippet('footer') ?> <?php snippet('footer') ?>

Some files were not shown because too many files have changed in this diff Show More