| layout |
page |
| title |
404, Not Found |
| page-class |
page--404 |
| hide-hire-me-link |
true |
| permalink |
/404.html |
| lux |
404 |
Yikes! I’m afraid it looks like this page doesn’t exist. There are a few
things you can do from here:
{% assign random = site.time | date: "%s%N" | modulo: site.posts.size %}
<style>
.c-input-text--404 {
width: 100%;
}
.c-404-search {
margin-bottom: 24px;
}
</style>
Can’t find what you’re looking for? Search CSS Wizardry with Google.
- Head back to the home page
- Browse the blog
- Read [{{ site.posts[random].title }}]({{ site.posts[random].url }}) ({{ site.posts[random].date | date: "%Y" }})
<script>
(() => {
const termsInput = document.getElementById('js404SearchTerms');
if (!termsInput) return;
const safeDecode = (value) => {
try {
return decodeURIComponent(value);
} catch (_) {
return value;
}
};
const normalisePathname = (pathname) => {
const segments = pathname
.split('/')
.filter(Boolean)
.map(safeDecode)
.map((segment) => segment.replace(/\.[a-z0-9]+$/i, ''));
if (
segments.length >= 2 &&
/^(?:19|20)\d{2}$/.test(segments[0]) &&
/^(?:0?[1-9]|1[0-2])$/.test(segments[1])
) {
segments.splice(0, 2);
if (segments[0] && /^(?:0?[1-9]|[12]\d|3[01])$/.test(segments[0])) {
segments.shift();
}
}
return segments
.join(' ')
.replace(/[%+]/g, ' ')
.replace(/[-_]+/g, ' ')
.replace(/\s+/g, ' ')
.trim();
};
// Ignore query strings entirely: on this site they don’t change the content.
const guessedTerms = normalisePathname(window.location.pathname);
termsInput.value = guessedTerms;
})();
</script>
Hopefully one of those helps you out. If not, you can always ask me on
Twitter.
If you fancy just hanging around for a bit, you can read more about
me and my work, you can sign up to my
newsletter, or follow me on
Twitter.