1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2025-10-23 10:54:25 -04:00

clean up redirects/404s & other random housekeeping

This commit is contained in:
2020-06-02 14:00:40 -04:00
parent 23eabb48c0
commit a6cb95c0d7
15 changed files with 46 additions and 32 deletions

View File

@@ -92,11 +92,11 @@ $colors-home: (
light: #c48f49, light: #c48f49,
dark: #ca9249, dark: #ca9249,
), ),
y2k: ( frontend: (
light: #4169e1, light: #4169e1,
dark: #8ca9ff, dark: #8ca9ff,
), ),
jbb: ( backend: (
light: #9932cc, light: #9932cc,
dark: #d588fb, dark: #d588fb,
), ),

View File

@@ -51,7 +51,7 @@ footer {
} }
} }
div#ie { div#y2k {
width: 20%; width: 20%;
text-align: center; text-align: center;
line-height: 1; line-height: 1;
@@ -75,7 +75,7 @@ footer {
} }
// no more room at the inn :( // no more room at the inn :(
div#ie { div#y2k {
display: none; display: none;
} }
} }

View File

@@ -42,6 +42,7 @@ main {
} }
} }
/*! Credit for cool link underlines: https://www.dannyguo.com/blog/animated-multiline-link-underlines-with-css/ */
a { a {
text-decoration: none; text-decoration: none;
background-position: 0% 100%; background-position: 0% 100%;

View File

@@ -73,7 +73,7 @@ div.highlight {
} }
} }
/*! Syntax Highlighting - modified from Monokai Light: https://github.com/mlgill/pygments-style-monokailight */ /*! Syntax Highlighting (light) - modified from Monokai Light: https://github.com/mlgill/pygments-style-monokailight */
body.light { body.light {
div.highlight { div.highlight {
color: #464646; color: #464646;
@@ -147,7 +147,7 @@ body.light {
} }
} }
/*! Syntax Highlighting - modified from Dracula: https://github.com/dracula/pygments */ /*! Syntax Highlighting (dark) - modified from Dracula: https://github.com/dracula/pygments */
body.dark { body.dark {
div.highlight { div.highlight {
color: #dfdfdf; color: #dfdfdf;

View File

@@ -1,6 +1,6 @@
--- ---
title: "Jake Jarvis Front-End Web Developer in Boston, MA" title: "Jake Jarvis Front-End Web Developer in Boston, MA"
date: 2020-05-24 09:08:21-0400 date: 2020-06-02 11:19:44-0400
type: home type: home
sitemap: sitemap:
changefreq: weekly changefreq: weekly
@@ -22,7 +22,7 @@ My current focus is on <a href="https://jamstack.wtf/" title="WTF is JAMstack?"
Whenever possible, I prioritize my interest in <a href="https://bugcrowd.com/jakejarvis" title="Jake Jarvis on Bugcrowd" id="infosec" target="_blank" rel="me noopener">information security</a>, <a href="https://martinfowler.com/articles/serverless.html" title="&quot;Serverless Architectures&quot; by Mike Roberts" id="server" target="_blank" rel="noopener">server<span id="serverless">(less)</span> architecture</a>, <a href="https://xkcd.com/1319/" title="&quot;Automation&quot; on xkcd" id="devops" target="_blank" rel="noopener">efficient DevOps &amp; CI</a>, and the <a href="https://blog.jessfraz.com/post/docker-containers-on-the-desktop/" title="&quot;Docker Containers on the Desktop&quot; by Jessie Frazelle" id="containers" target="_blank" rel="noopener">containerization of everything</a>. Whenever possible, I prioritize my interest in <a href="https://bugcrowd.com/jakejarvis" title="Jake Jarvis on Bugcrowd" id="infosec" target="_blank" rel="me noopener">information security</a>, <a href="https://martinfowler.com/articles/serverless.html" title="&quot;Serverless Architectures&quot; by Mike Roberts" id="server" target="_blank" rel="noopener">server<span id="serverless">(less)</span> architecture</a>, <a href="https://xkcd.com/1319/" title="&quot;Automation&quot; on xkcd" id="devops" target="_blank" rel="noopener">efficient DevOps &amp; CI</a>, and the <a href="https://blog.jessfraz.com/post/docker-containers-on-the-desktop/" title="&quot;Docker Containers on the Desktop&quot; by Jessie Frazelle" id="containers" target="_blank" rel="noopener">containerization of everything</a>.
I fell in love with <a href="/previously/" title="My Terrible, Horrible, No Good, Very Bad First Websites" id="y2k">frontend web design</a> and <a href="/notes/my-first-code/" title="Jake's Bulletin Board, circa 2003" id="jbb">backend programming</a> when my only source of income was <a href="/birthday/" title="🎉 Cranky Birthday Boy on VHS Tape 📼" id="birthday">the Tooth Fairy</a>. <span id="shh">(I've improved a bit since then...)</span> I fell in love with <a href="/previously/" title="My Terrible, Horrible, No Good, Very Bad First Websites" id="frontend">frontend web design</a> and <a href="/notes/my-first-code/" title="Jake's Bulletin Board, circa 2003" id="backend">backend programming</a> when my only source of income was <a href="/birthday/" title="🎉 Cranky Birthday Boy on VHS Tape 📼" id="birthday">the Tooth Fairy</a>. <span id="shh">(I've improved a bit since then...)</span>
Over the years, my side projects Over the years, my side projects
<a href="https://tuftsdaily.com/news/2012/04/06/student-designs-iphone-joeytracker-app/" title="&quot;Student designs iPhone JoeyTracker app&quot; on The Tufts Daily" id="news-1" target="_blank" rel="noopener">have</a> <a href="https://tuftsdaily.com/news/2012/04/06/student-designs-iphone-joeytracker-app/" title="&quot;Student designs iPhone JoeyTracker app&quot; on The Tufts Daily" id="news-1" target="_blank" rel="noopener">have</a>

View File

@@ -44,7 +44,7 @@ A _very_ barebones example is embedded above ([view the source here](https://git
--- ---
### Minified JS: (410 bytes gzipped 📦) ### [Minified JS](https://raw.githubusercontent.com/jakejarvis/dark-mode-example/gh-pages/dark-mode.min.js) (410 bytes gzipped! 📦):
<!-- prettier-ignore --> <!-- prettier-ignore -->
```js ```js

View File

@@ -63,10 +63,10 @@ css: |
--- ---
**🚨 Trigger warning:** marquees, Comic Sans MS, popup windows, <code>color: <span class="limegreen">limegreen</span></code>... [Click for the full experience anyway.](https://y2k.lol/) **🚨 Trigger warning:** marquees, Comic Sans MS, popup windows, <code>color: <span class="limegreen">limegreen</span></code>... [Click for the **_FULL_** experience anyway.](https://y2k.lol/)
<figure> <figure>
<iframe id="y2k" src="https://jarv.is/y2k/"></iframe> <iframe id="y2k" src="https://jarv.is/y2k/" title="My Terrible, Horrible, No Good, Very Bad First Website"></iframe>
<figcaption> <figcaption>
November 2001 (<a href="https://github.com/jakejarvis/my-first-website" target="_blank" rel="noopener">archived source</a>) November 2001 (<a href="https://github.com/jakejarvis/my-first-website" target="_blank" rel="noopener">archived source</a>)
</figcaption> </figcaption>

View File

@@ -18,7 +18,7 @@ sitemap:
--- ---
<!-- markdownlint-disable MD033 --> <!-- markdownlint-disable MD033 -->
<p class="center"><a class="no-underline" href="https://simpleanalytics.com/jarv.is?utm_source=jarv.is&utm_content=badge" target="_blank" rel="noopener"><img src="https://simpleanalyticsbadge.com/jarv.is?counter=true" alt="Powered by Simple Analytics" referrerpolicy="no-referrer" crossorigin="anonymous"></a></p> <p class="center"><a class="no-underline" href="https://simpleanalytics.com/jarv.is?utm_source=jarv.is&amp;utm_content=badge" target="_blank" rel="noopener"><img src="https://simpleanalyticsbadge.com/jarv.is?counter=true" alt="Powered by Simple Analytics" referrerpolicy="no-referrer" crossorigin="anonymous"></a></p>
This website uses [**Simple Analytics**](https://simpleanalytics.com/?ref=jarv.is) to track pageviews **without collecting any personally identifiable information,** including IP addresses, cookies, and browser fingerprints. This website uses [**Simple Analytics**](https://simpleanalytics.com/?ref=jarv.is) to track pageviews **without collecting any personally identifiable information,** including IP addresses, cookies, and browser fingerprints.

View File

@@ -148,7 +148,7 @@ I've been making recent efforts to [de-Google](https://www.reddit.com/r/degoogle
- [Read why.](/notes/dropping-dropbox/) - [Read why.](/notes/dropping-dropbox/)
- ~~Google Docs~~ → [**Microsoft Office**](https://products.office.com/en-us/mac/microsoft-office-for-mac) (hey, it works 🤷) - ~~Google Docs~~ → [**Microsoft Office**](https://products.office.com/en-us/mac/microsoft-office-for-mac) (hey, it works 🤷)
- ~~Google Photos~~ → [**iCloud Photos**](https://www.icloud.com/photos/) - ~~Google Photos~~ → [**iCloud Photos**](https://www.icloud.com/photos/)
- ~~Google DNS~~ → [**Cloudflare 1.1.1.1**](https://1.1.1.1/) - ~~Google DNS~~ → [**Cloudflare 1.1.1.1 DNS**](https://1.1.1.1/dns/)
- ~~Google Analytics~~ → both of these are awesome, privacy-aware "visitor counters" rather than trackers: - ~~Google Analytics~~ → both of these are awesome, privacy-aware "visitor counters" rather than trackers:
- [**Netlify Analytics**](https://www.netlify.com/products/analytics/) [(my review)](/notes/netlify-analytics-review/) - [**Netlify Analytics**](https://www.netlify.com/products/analytics/) [(my review)](/notes/netlify-analytics-review/)
- [**Simple Analytics**](https://simpleanalytics.com/) [(referral link)](https://referral.simpleanalytics.com/jake-jarvis) - [**Simple Analytics**](https://simpleanalytics.com/) [(referral link)](https://referral.simpleanalytics.com/jake-jarvis)

View File

@@ -1,7 +1,7 @@
<footer> <footer>
<div class="row"> <div class="row">
<div id="copyright">Content <a class="no-underline" href="{{ "license/" | absURL }}"{{ with .Site.Params.licenseFull }} title="{{ . }}"{{ end }}>licensed under {{ .Site.Params.license }}</a>, {{ with .Site.Params.copyrightFirstYear }}<a class="no-underline" href="{{ "previously/" | absURL }}" title="Previously on...">{{ . }} &ndash;</a>{{ end }} {{ now.Format "2006" }}.</div> <div id="copyright">Content <a class="no-underline" href="{{ "license/" | absURL }}"{{ with .Site.Params.licenseFull }} title="{{ . }}"{{ end }}>licensed under {{ .Site.Params.license }}</a>, {{ with .Site.Params.copyrightFirstYear }}<a class="no-underline" href="{{ "previously/" | absURL }}" title="Previously on...">{{ . }} &ndash;</a>{{ end }} {{ now.Format "2006" }}.</div>
<div id="ie"><a class="no-underline" href="https://y2k.lol/" title="Made for Internet Explorer&reg;" target="_blank" rel="noopener"><img src="{{ "img/ie.gif" | absURL }}" width="88" alt="Made for Internet Explorer&reg;"></a></div> <div id="y2k"><a class="no-underline" href="https://y2k.lol/" title="Made for Internet Explorer&reg;" target="_blank" rel="noopener"><img src="{{ "img/ie.gif" | absURL }}" width="88" alt="Made for Internet Explorer&reg;"></a></div>
<div id="poweredby"> <div id="poweredby">
<a class="no-underline" href="https://gohugo.io/" title="Powered by Hugo" id="hugo" target="_blank" rel="noopener">Made with <span class="beat">&#x2764;</span> and Hugo.</a> <a class="no-underline" href="https://gohugo.io/" title="Powered by Hugo" id="hugo" target="_blank" rel="noopener">Made with <span class="beat">&#x2764;</span> and Hugo.</a>
{{ with .Site.Params.github }}<a class="no-underline" href="https://github.com/{{ . }}" title="View Source on GitHub" id="source" target="_blank" rel="noopener">View source.</a>{{ end }} {{ with .Site.Params.github }}<a class="no-underline" href="https://github.com/{{ . }}" title="View Source on GitHub" id="source" target="_blank" rel="noopener">View source.</a>{{ end }}

View File

@@ -1,13 +1,20 @@
{{ $darkmode := resources.Get "js/dark-mode.js" | resources.ExecuteAsTemplate "js/dark-mode.js" . }} {{ $darkmode := resources.Get "js/dark-mode.js" | resources.ExecuteAsTemplate "js/dark-mode.js" . }}
{{ $twemoji := resources.Get "vendor/emoji/emoji.js" | resources.ExecuteAsTemplate "vendor/emoji/emoji.min.js" . }} {{ $twemoji := resources.Get "vendor/emoji/emoji.js" | resources.ExecuteAsTemplate "vendor/emoji/emoji.min.js" . }}
{{ $analytics := resources.Get "js/simple-analytics.js" | resources.ExecuteAsTemplate "js/simple-analytics.js" . }}
{{ $bundle := "" }} {{ $bundle := slice $darkmode $twemoji }}
{{ if eq hugo.Environment "development" }}
{{ $bundle = slice $darkmode $twemoji }} {{/* only parse and append analytics script on production site */}}
{{ else }} {{ $useAnalytics := eq hugo.Environment "production" }}
{{ if $useAnalytics }}
{{ $analytics := resources.Get "js/simple-analytics.js" | resources.ExecuteAsTemplate "js/simple-analytics.js" . }}
{{ $bundle = slice $darkmode $twemoji $analytics }} {{ $bundle = slice $darkmode $twemoji $analytics }}
{{ end }} {{ end }}
{{ $js := $bundle | resources.Concat "/js/app.js" }} {{ $js := $bundle | resources.Concat "/js/app.js" }}
<script async defer src="{{ $js.Permalink }}"></script> <script async defer src="{{ $js.Permalink }}"></script>
{{/* proxy to simple analytics noscript on production */}}
{{ if $useAnalytics }}
<noscript><img src="{{ "sa/noscript.gif" | absURL }}" alt=""></noscript>
{{ end }}

View File

@@ -1 +1,2 @@
{{/* optional feature, see: https://docs.simpleanalytics.com/events */}}
<script>window.sa_event=window.sa_event||function(){a=[].slice.call(arguments);sa_event.q?sa_event.q.push(a):sa_event.q=[a]};</script> <script>window.sa_event=window.sa_event||function(){a=[].slice.call(arguments);sa_event.q?sa_event.q.push(a):sa_event.q=[a]};</script>

View File

@@ -5,7 +5,7 @@
[build.environment] [build.environment]
YARN_VERSION = "1.22.4" YARN_VERSION = "1.22.4"
YARN_FLAGS = "--no-ignore-optional --frozen-lockfile" YARN_FLAGS = "--no-ignore-optional --frozen-lockfile"
GO_VERSION = "1.14.3" GO_VERSION = "1.14.4"
# Ensure *only* Pretty URLs are enabled, even though this is already set up in # Ensure *only* Pretty URLs are enabled, even though this is already set up in
# the Netlify dashboard. # the Netlify dashboard.
@@ -44,7 +44,6 @@
[[headers]] [[headers]]
for = "/jarvis.asc" for = "/jarvis.asc"
[headers.values] [headers.values]
Cache-Control = "max-age=0, no-cache, no-store"
Content-Type = "text/plain; charset=UTF-8" Content-Type = "text/plain; charset=UTF-8"
Content-Disposition = "inline; filename=\"jarvis.asc\"" Content-Disposition = "inline; filename=\"jarvis.asc\""
@@ -86,7 +85,7 @@
to = "/feed.xml" to = "/feed.xml"
status = 301 status = 301
[[redirects]] [[redirects]]
from = "/index.php*" from = "/index.php"
to = "/" to = "/"
status = 301 status = 301
[[redirects]] [[redirects]]
@@ -134,12 +133,12 @@
to = "https://queue.simpleanalyticscdn.com/noscript.gif:splat" to = "https://queue.simpleanalyticscdn.com/noscript.gif:splat"
status = 200 status = 200
[[redirects]] [[redirects]]
from = "/sa/append" from = "/sa/append*"
to = "https://queue.simpleanalyticscdn.com/append" to = "https://queue.simpleanalyticscdn.com/append:splat"
status = 200 status = 200
[[redirects]] [[redirects]]
from = "/sa/post" from = "/sa/post*"
to = "https://api.simpleanalytics.io/post" to = "https://api.simpleanalytics.io/post:splat"
status = 200 status = 200
# Mirror these directories from elsewhere to mimic GitHub Pages behavior and # Mirror these directories from elsewhere to mimic GitHub Pages behavior and
@@ -183,19 +182,25 @@
from = "*/wp-admin/*" from = "*/wp-admin/*"
to = "/403.html" to = "/403.html"
status = 403 status = 403
force = true
[[redirects]] [[redirects]]
from = "*/admin/*" from = "*/admin/*"
to = "/403.html" to = "/403.html"
status = 403 status = 403
force = true
[[redirects]] [[redirects]]
from = "*/wp-login.php*" from = "*/wp-login.php"
to = "/403.html" to = "/403.html"
status = 403 status = 403
force = true
[[redirects]] [[redirects]]
from = "*/login.php*" from = "*/login.php"
to = "/403.html" to = "/403.html"
status = 403 status = 403
force = true [[redirects]]
from = "*/wlwmanifest.xml"
to = "/403.html"
status = 403
# not sure if these xmlrpc requests are malicious but forward them to
# webmention.io anyway
[[redirects]]
from = "/xmlrpc.php"
to = "https://webmention.io/jarv.is/xmlrpc"
status = 302