Change blank.jpg, change footer, change homepage
parent
7953e9d80c
commit
f83fc107c3
28
404.html
28
404.html
|
@ -1,25 +1,9 @@
|
|||
---
|
||||
layout: page
|
||||
permalink: /404.html
|
||||
layout: default
|
||||
title: About
|
||||
heading: 404 — Not found
|
||||
subtitle: The page you have requested does not exist.
|
||||
|
||||
intro: The page you have requested could not be found on this website. Perhaps you have clicked on a wrong link. If you wish to see an endlessly scrolling gallery of my favourite photos, click the "Home" button at the top left.
|
||||
---
|
||||
|
||||
<style type="text/css" media="screen">
|
||||
.container {
|
||||
margin: 10px auto;
|
||||
max-width: 600px;
|
||||
text-align: center;
|
||||
}
|
||||
h1 {
|
||||
margin: 30px 0;
|
||||
font-size: 4em;
|
||||
line-height: 1;
|
||||
letter-spacing: -1px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="container">
|
||||
<h1>404</h1>
|
||||
|
||||
<p><strong>Page not found :(</strong></p>
|
||||
<p>The requested page could not be found.</p>
|
||||
</div>
|
||||
|
|
|
@ -75,6 +75,7 @@ GEM
|
|||
webrick (1.8.1)
|
||||
|
||||
PLATFORMS
|
||||
arm64-darwin-21
|
||||
arm64-darwin-22
|
||||
|
||||
DEPENDENCIES
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<fieldset class="separator-styled footer"></fieldset>
|
||||
<div class="row">
|
||||
<div class="column-3">
|
||||
Made by Marvin J. You can also find me on: <br>
|
||||
Made by Marvin Johanning with Jekyll. You can also find me on: <br>
|
||||
<a href="https://git.marvinjohanning.de/">git.marvinjohanning.de</a>
|
||||
<br>
|
||||
<a href="https://marvinjohanning.de">marvinjohanning.de</a>
|
||||
<br>
|
||||
<a href="https://birds.town/@mjohanning">Twitter</a>
|
||||
<a href="https://birds.town/@mjohanning">Mastodon</a>
|
||||
</div>
|
||||
|
||||
<div class="column-3">
|
||||
|
|
|
@ -1,146 +0,0 @@
|
|||
<script>
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(function() {
|
||||
return factory(root);
|
||||
});
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory;
|
||||
} else {
|
||||
root.echo = factory(root);
|
||||
}
|
||||
})(this, function (root) {
|
||||
|
||||
'use strict';
|
||||
|
||||
var echo = {};
|
||||
|
||||
var callback = function () {};
|
||||
|
||||
var offset, poll, delay, useDebounce, unload;
|
||||
|
||||
var isHidden = function (element) {
|
||||
return (element.offsetParent === null);
|
||||
};
|
||||
|
||||
var inView = function (element, view) {
|
||||
if (isHidden(element)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var box = element.getBoundingClientRect();
|
||||
return (box.right >= view.l && box.bottom >= view.t && box.left <= view.r && box.top <= view.b);
|
||||
};
|
||||
|
||||
var debounceOrThrottle = function () {
|
||||
if(!useDebounce && !!poll) {
|
||||
return;
|
||||
}
|
||||
clearTimeout(poll);
|
||||
poll = setTimeout(function(){
|
||||
echo.render();
|
||||
poll = null;
|
||||
}, delay);
|
||||
};
|
||||
|
||||
echo.init = function (opts) {
|
||||
opts = opts || {};
|
||||
var offsetAll = opts.offset || 0;
|
||||
var offsetVertical = opts.offsetVertical || offsetAll;
|
||||
var offsetHorizontal = opts.offsetHorizontal || offsetAll;
|
||||
var optionToInt = function (opt, fallback) {
|
||||
return parseInt(opt || fallback, 10);
|
||||
};
|
||||
offset = {
|
||||
t: optionToInt(opts.offsetTop, offsetVertical),
|
||||
b: optionToInt(opts.offsetBottom, offsetVertical),
|
||||
l: optionToInt(opts.offsetLeft, offsetHorizontal),
|
||||
r: optionToInt(opts.offsetRight, offsetHorizontal)
|
||||
};
|
||||
delay = optionToInt(opts.throttle, 250);
|
||||
useDebounce = opts.debounce !== false;
|
||||
unload = !!opts.unload;
|
||||
callback = opts.callback || callback;
|
||||
echo.render();
|
||||
if (document.addEventListener) {
|
||||
root.addEventListener('scroll', debounceOrThrottle, false);
|
||||
root.addEventListener('load', debounceOrThrottle, false);
|
||||
} else {
|
||||
root.attachEvent('onscroll', debounceOrThrottle);
|
||||
root.attachEvent('onload', debounceOrThrottle);
|
||||
}
|
||||
};
|
||||
|
||||
echo.render = function (context) {
|
||||
var nodes = (context || document).querySelectorAll('[data-echo], [data-echo-background]');
|
||||
var length = nodes.length;
|
||||
var src, elem;
|
||||
var view = {
|
||||
l: 0 - offset.l,
|
||||
t: 0 - offset.t,
|
||||
b: (root.innerHeight || document.documentElement.clientHeight) + offset.b,
|
||||
r: (root.innerWidth || document.documentElement.clientWidth) + offset.r
|
||||
};
|
||||
for (var i = 0; i < length; i++) {
|
||||
elem = nodes[i];
|
||||
if (inView(elem, view)) {
|
||||
|
||||
if (unload) {
|
||||
elem.setAttribute('data-echo-placeholder', elem.src);
|
||||
}
|
||||
|
||||
if (elem.getAttribute('data-echo-background') !== null) {
|
||||
elem.style.backgroundImage = 'url(' + elem.getAttribute('data-echo-background') + ')';
|
||||
}
|
||||
else if (elem.src !== (src = elem.getAttribute('data-echo'))) {
|
||||
elem.src = src;
|
||||
}
|
||||
|
||||
if (!unload) {
|
||||
elem.removeAttribute('data-echo');
|
||||
elem.removeAttribute('data-echo-background');
|
||||
}
|
||||
|
||||
callback(elem, 'load');
|
||||
}
|
||||
else if (unload && !!(src = elem.getAttribute('data-echo-placeholder'))) {
|
||||
|
||||
if (elem.getAttribute('data-echo-background') !== null) {
|
||||
elem.style.backgroundImage = 'url(' + src + ')';
|
||||
}
|
||||
else {
|
||||
elem.src = src;
|
||||
}
|
||||
|
||||
elem.removeAttribute('data-echo-placeholder');
|
||||
callback(elem, 'unload');
|
||||
}
|
||||
}
|
||||
if (!length) {
|
||||
echo.detach();
|
||||
}
|
||||
};
|
||||
|
||||
echo.detach = function () {
|
||||
if (document.removeEventListener) {
|
||||
root.removeEventListener('scroll', debounceOrThrottle);
|
||||
} else {
|
||||
root.detachEvent('onscroll', debounceOrThrottle);
|
||||
}
|
||||
clearTimeout(poll);
|
||||
};
|
||||
|
||||
return echo;
|
||||
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
echo.init({
|
||||
offset: 2500,
|
||||
throttle: 250,
|
||||
unload: false,
|
||||
callback: function (element, op) {
|
||||
//console.log(element, 'has been', op + 'ed')
|
||||
}
|
||||
});
|
||||
</script>
|
|
@ -28,9 +28,7 @@
|
|||
</header>
|
||||
|
||||
<div class="article">
|
||||
<p>Welcome to Beak and Lens Photography. Beak and Lens Photography is run by Marvin Johanning, a hobbyist wildlife (mostly birds) photographer from Bielefeld, Germany. I am also on Instagram. For more information about me, see the About page. </p>
|
||||
|
||||
<p>If you want to see my favourite photos in a rather random order, just continue scrolling down! </p>
|
||||
<p>Welcome to Beak and Lens Photography. Beak and Lens Photography is run by Marvin Johanning, a hobbyist wildlife (mostly birds) photographer from Bielefeld, Germany. I am also on Instagram, Mastodon and Flickr! For more information about me, see the About page. If you want to see my favourite photos in a rather random order, just continue scrolling down! There is an endlessly loading gallery just below — well, perhaps it is not quite unending as it does end when it runs out of photos to display. </p>
|
||||
</div>
|
||||
|
||||
<div class="separator separator2">
|
||||
|
|
Binary file not shown.
BIN
assets/blank.jpg
BIN
assets/blank.jpg
Binary file not shown.
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 36 KiB |
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 36 KiB |
|
@ -134,8 +134,8 @@
|
|||
});
|
||||
|
||||
echo.init({
|
||||
offset: 2500,
|
||||
throttle: 250,
|
||||
offset: 250,
|
||||
throttle: 100,
|
||||
unload: false,
|
||||
callback: function (element, op) {
|
||||
//console.log(element, 'has been', op + 'ed')
|
||||
|
|
Loading…
Reference in New Issue