diff --git a/README.md b/README.md
index 537feaf..255b617 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,9 @@
# Rickvanlieshout.com
This is the repository for my personal blog/website [rickvanlieshout.com](https://rickvanlieshout.com).
+
+## todos
+
+- Links on printed pages need to display
+- Combine cookies/disclaimer in menu to make it shorter
+- Improve/replace menu on mobile (on old phones pages need a few scrolls)
diff --git a/content/config.json b/content/config.json
index 3d2e0d5..f8b425d 100644
--- a/content/config.json
+++ b/content/config.json
@@ -43,7 +43,7 @@
"email": "info@rickvanlieshout.com",
"github": "mastermindzh",
"facebook": "mastermindzh",
- "rss": "rss.xml",
+ "rss": "/rss.xml",
"twitter": "mastermindzh",
"linkedin": "rickvanlieshout",
"youtube": "RickvanLieshoutt",
@@ -58,4 +58,4 @@
"phone": "+31614436562"
}
}
-}
+}
\ No newline at end of file
diff --git a/content/pages/resume/index.md b/content/pages/resume/index.md
index 2fb8f44..af2c417 100644
--- a/content/pages/resume/index.md
+++ b/content/pages/resume/index.md
@@ -2,6 +2,7 @@
title: "Resume"
template: "page"
---
+
| | |
| --- | --- |
@@ -15,6 +16,10 @@ template: "page"
## Work experience
+**Open-source aficionado**
+_Always_
+A fair share of my private work is done through open-source media. I don't have a portfolio but I have a [Github](https://github.com/mastermindzh) where I share most things.
+
**Software architect at INFORIT**
_2018 - Now_
At INFORIT I am responsible for the entire technical architecture of the new TFX stack that I launched shortly after 2018. This involves setting up and maintaining a modern event based microservice architecture on a Kubernetes based SaaS cloud solution and migrating to modern programming languages such as dotnetcore and React.
diff --git a/content/posts/2014/a-status-update/index.md b/content/posts/2014/a-status-update/index.md
index 96d545f..590adb9 100644
--- a/content/posts/2014/a-status-update/index.md
+++ b/content/posts/2014/a-status-update/index.md
@@ -26,6 +26,6 @@ That is why the team behind Numix has requested the package to be removed from t
## Arduino sneak peak.
-I acquired some new toys for the arduino, two of them being the "Adafruit mini 8x8 LED matrix". To use them I had to install 2 libraries, and with those came "Example sketches". One of those example sketches was a "Robotic eye", naturally with me having 2 new toys I decided to create a little "face" (just eyes) with the prebuilt sketches. Anyways I thought that looked cool so I made a video of it which you can watch below:
+I acquired some new toys for the arduino, two of them being the "Adafruit mini 8x8 LED matrix". To use them I had to install 2 libraries, and with those came "Example sketches". One of those example sketches was a "Robotic eye", naturally with me having 2 new toys I decided to create a little "face" (just eyes) with the prebuilt sketches. Anyways I thought that looked cool so I made a photo which you can view below:
-
+!["two led matrices with green lights illustrating eyes"](./media/face.png "Google eyes... but matrix style")
diff --git a/content/posts/2014/a-status-update/media/face.png b/content/posts/2014/a-status-update/media/face.png
new file mode 100644
index 0000000..bef0c9b
Binary files /dev/null and b/content/posts/2014/a-status-update/media/face.png differ
diff --git a/content/posts/2014/me-my-blog-and-projects/index.md b/content/posts/2014/me-my-blog-and-projects/index.md
index 4c6c298..bfa2071 100644
--- a/content/posts/2014/me-my-blog-and-projects/index.md
+++ b/content/posts/2014/me-my-blog-and-projects/index.md
@@ -1,6 +1,6 @@
---
title: "Me, my blog, and projects."
-date: "2014-11-16"
+date: "2014-10-21"
template: "post"
category: "blog"
tags:
diff --git a/content/posts/2014/my-brand-new-blog/index.md b/content/posts/2014/my-brand-new-blog/index.md
index 64b157d..6aca53c 100644
--- a/content/posts/2014/my-brand-new-blog/index.md
+++ b/content/posts/2014/my-brand-new-blog/index.md
@@ -1,6 +1,6 @@
---
title: "My brand new blog"
-date: "2014-09-05"
+date: "2014-09-05 22:00"
template: "post"
category: "blog"
tags:
diff --git a/content/posts/2014/pi-cluster-1-shopping/index.md b/content/posts/2014/pi-cluster-1-shopping/index.md
index 8e9a77d..e39dc0c 100644
--- a/content/posts/2014/pi-cluster-1-shopping/index.md
+++ b/content/posts/2014/pi-cluster-1-shopping/index.md
@@ -1,6 +1,6 @@
---
title: "Raspberry pi cluster Step 1: Shopping"
-date: "2014-09-05"
+date: "2014-09-05 23:00"
template: "post"
category: "Homelab"
tags:
diff --git a/content/posts/2014/shellshock-why-you-shouldnt-get-your-panties-in-a-bunch/index.md b/content/posts/2014/shellshock-why-you-shouldnt-get-your-panties-in-a-bunch/index.md
index fdd52c5..f3b4dee 100644
--- a/content/posts/2014/shellshock-why-you-shouldnt-get-your-panties-in-a-bunch/index.md
+++ b/content/posts/2014/shellshock-why-you-shouldnt-get-your-panties-in-a-bunch/index.md
@@ -1,6 +1,6 @@
---
title: "Shellshock and why you shouldn't get your panties in a bunch."
-date: "2014-09-27:23:00"
+date: "2014-09-27 23:00"
template: "post"
category: "exploits"
tags:
diff --git a/content/posts/2017/scala-day-0-what-is-scala/index.md b/content/posts/2017/scala-day-0-what-is-scala/index.md
index 433be2e..fe57952 100644
--- a/content/posts/2017/scala-day-0-what-is-scala/index.md
+++ b/content/posts/2017/scala-day-0-what-is-scala/index.md
@@ -11,6 +11,8 @@ description: "My final assignment for a school course is to learn a new language
disqusId: "20"
---
+!["Logo of the scala programming language"](./scala.png)
+
One of the final assignments for a school course called "APP" (Algorithms Programming language & Paradigms) was/is to learn a new programming language using the book "[Seven languages in Seven weeks](https://pragprog.com/book/btlang/seven-languages-in-seven-weeks)".
The idea of this book is that you can get comfortable with a programming language in just a week. As you can probably guess from the title the book covers 7 languages in total and I will be covering at least 1 (Scala).
diff --git a/content/posts/2017/scala-day-0-what-is-scala/scala.png b/content/posts/2017/scala-day-0-what-is-scala/scala.png
new file mode 100644
index 0000000..9dd90b8
Binary files /dev/null and b/content/posts/2017/scala-day-0-what-is-scala/scala.png differ
diff --git a/gatsby-config.ts b/gatsby-config.ts
index b8bdfa6..69eb57b 100644
--- a/gatsby-config.ts
+++ b/gatsby-config.ts
@@ -5,6 +5,7 @@ import * as types from "./internal/gatsby/types";
export default {
pathPrefix: config.pathPrefix,
+ trailingSlash: "always",
siteMetadata: {
url: config.url,
menu: config.menu,
@@ -189,6 +190,48 @@ export default {
},
},
},
+ {
+ resolve: "gatsby-plugin-htaccess",
+ options: {
+ www: true,
+ host: "www.rickvanlieshout.com",
+ https: true,
+ redirect: [
+ "RewriteRule ^/?home/(.*)$ /$1 [L,R=301]",
+ "RewriteRule ^/?cookies/(.*)$ /pages/legal/cookies$1 [L,R=301]",
+ "RewriteRule ^/?disclaimer/(.*)$ /pages/legal/disclaimer$1 [L,R=301]",
+ "RewriteRule ^/?contact/(.*)$ /pages/contact$1 [L,R=301]",
+ "RewriteRule ^/?resume/(.*)$ /pages/resume$1 [L,R=301]",
+ "RewriteRule ^/?about/(.*)$ /pages/about$1 [L,R=301]",
+ "RewriteRule ^/?blog/My_brand_new_blog/(.*)$ /posts/2014/my-brand-new-blog/$1 [L,R=301]",
+ "RewriteRule ^/?blog/Raspberry_pi_cluster_the_parts/(.*)$ /posts/2014/pi-cluster-1-shopping/$1 [L,R=301]",
+ "RewriteRule ^/?blog/Raspberry_pi_cluster_the_build/(.*)$ /posts/2014/pi-cluster-2-the-build/$1 [L,R=301]",
+ "RewriteRule ^/?blog/Raspberry_pi_cluster_installing_the_os/(.*)$ /posts/2014/pi-cluster-3-installing-the-os/$1 [L,R=301]",
+ "RewriteRule ^/?blog/Raspberry_pi_cluster_setting_up_the_master_node/(.*)$ /posts/2014/pi-cluster-4-setting-up-the-master-node/$1 [L,R=301]",
+ "RewriteRule ^/?blog/Raspberry_pi_cluster_expanding_the_cluster/(.*)$ /posts/2014/pi-cluster-5-expanding-the-cluster/$1 [L,R=301]",
+ "RewriteRule ^/?blog/Using_the_cluster_for_home_automation/(.*)$ /posts/2014/using-the-cluster-for-home-automation/$1 [L,R=301]",
+ "RewriteRule ^/?blog/Shellshock_dont_get_your_panties_in_a_bunch/(.*)$ /posts/2014/shellshock-why-you-shouldnt-get-your-panties-in-a-bunch/$1 [L,R=301]",
+ "RewriteRule ^/?blog/Me_my_blog_and_projects/(.*)$ /posts/2014/me-my-blog-and-projects/$1 [L,R=301]",
+ "RewriteRule ^/?blog/status_update/(.*)$ /posts/2014/a-status-update/$1 [L,R=301]",
+ "RewriteRule ^/?blog/new_look_new_comments_new_everything/(.*)$ /posts/2015/new-look-new-comments-new-everything/$1 [L,R=301]",
+ "RewriteRule ^/?blog/what_ive_been_doing posts/2015/what-ive-been-doing/$1 [L,R=301]",
+ "RewriteRule ^/?blog/raspberry_pi_screen/(.*)$ /posts/2015/raspberry-pi-screen/$1 [L,R=301]",
+ "RewriteRule ^/?blog/making_things/(.*)$ /posts/2015/making-things/$1 [L,R=301]",
+ "RewriteRule ^/?blog/TekTree-part-1/(.*)$ /posts/2015/tektree-part-1-a-christmas-surprise/$1 [L,R=301]",
+ "RewriteRule ^/?blog/TekTree-part-2/(.*)$ /posts/2015/tektree-part-2-lasercutting/$1 [L,R=301]",
+ "RewriteRule ^/?blog/TekTree-part-3/(.*)$ /posts/2015/tektree-part-3-wiring/$1 [L,R=301]",
+ "RewriteRule ^/?blog/TekTree-part-4/(.*)$ /posts/2015/tektree-part-4-programming/$1 [L,R=301]",
+ "RewriteRule ^/?blog/my-extended-leave/(.*)$ /posts/2016/extended-leave-status-updates-and-other-stuff/$1 [L,R=301]",
+ "RewriteRule ^/?blog/slsw-day0/(.*)$ /posts/2017/scala-day-0-what-is-scala/$1 [L,R=301]",
+ "RewriteRule ^/?blog/slsw-day1/(.*)$ /posts/2017/scala-day-1-the-basics/$1 [L,R=301]",
+ "RewriteRule ^/?blog/slsw-day2/(.*)$ /posts/2017/scala-day-2-lets-get-functional/$1 [L,R=301]",
+ "RewriteRule ^/?blog/slsw-day3/(.*)$ /posts/2017/scala-day-3-concurrency-is-key/$1 [L,R=301]",
+ "RewriteRule ^/?blog/slsw-day4/(.*)$ /posts/2017/scala-day-4-a-challenge/$1 [L,R=301]",
+ "RewriteRule ^/?blog/keep-a-sata-port-available/(.*)$ /posts/2017/keep-a-sata-port-available/$1 [L,R=301]",
+ "RewriteRule ^/?old/(.*)$ /new/$1 [L,R=301]",
+ ],
+ },
+ },
"gatsby-plugin-image",
"gatsby-plugin-catch-links",
"gatsby-plugin-react-helmet",
diff --git a/package-lock.json b/package-lock.json
index b5f4ccf..1332b43 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -19,6 +19,7 @@
"gatsby-plugin-catch-links": "^4.24.0",
"gatsby-plugin-feed": "^4.24.0",
"gatsby-plugin-google-gtag": "^4.24.0",
+ "gatsby-plugin-htaccess": "^1.4.0",
"gatsby-plugin-image": "^2.24.0",
"gatsby-plugin-manifest": "^4.24.0",
"gatsby-plugin-offline": "^5.24.0",
@@ -13552,6 +13553,44 @@
"react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^0.0.0"
}
},
+ "node_modules/gatsby-plugin-htaccess": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/gatsby-plugin-htaccess/-/gatsby-plugin-htaccess-1.4.0.tgz",
+ "integrity": "sha512-CaUQ3SPkV8khTk2MvY58KJAGAQFLxrlSb9ysxB+BeOgdruI2F0hWsQQI5/A94VtZsdB/5CbJcZVNmCyDJ+SJqg==",
+ "dependencies": {
+ "fs-extra": "^8.1.0",
+ "lodash": "^4.17.15"
+ }
+ },
+ "node_modules/gatsby-plugin-htaccess/node_modules/fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=6 <7 || >=8"
+ }
+ },
+ "node_modules/gatsby-plugin-htaccess/node_modules/jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/gatsby-plugin-htaccess/node_modules/universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
"node_modules/gatsby-plugin-image": {
"version": "2.24.0",
"resolved": "https://registry.npmjs.org/gatsby-plugin-image/-/gatsby-plugin-image-2.24.0.tgz",
@@ -43568,6 +43607,40 @@
"minimatch": "^3.1.2"
}
},
+ "gatsby-plugin-htaccess": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/gatsby-plugin-htaccess/-/gatsby-plugin-htaccess-1.4.0.tgz",
+ "integrity": "sha512-CaUQ3SPkV8khTk2MvY58KJAGAQFLxrlSb9ysxB+BeOgdruI2F0hWsQQI5/A94VtZsdB/5CbJcZVNmCyDJ+SJqg==",
+ "requires": {
+ "fs-extra": "^8.1.0",
+ "lodash": "^4.17.15"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+ }
+ }
+ },
"gatsby-plugin-image": {
"version": "2.24.0",
"resolved": "https://registry.npmjs.org/gatsby-plugin-image/-/gatsby-plugin-image-2.24.0.tgz",
diff --git a/package.json b/package.json
index 9f56f00..e0e1164 100644
--- a/package.json
+++ b/package.json
@@ -54,6 +54,7 @@
"gatsby-plugin-catch-links": "^4.24.0",
"gatsby-plugin-feed": "^4.24.0",
"gatsby-plugin-google-gtag": "^4.24.0",
+ "gatsby-plugin-htaccess": "^1.4.0",
"gatsby-plugin-image": "^2.24.0",
"gatsby-plugin-manifest": "^4.24.0",
"gatsby-plugin-offline": "^5.24.0",
diff --git a/static/_redirects b/static/_redirects
new file mode 100644
index 0000000..d86e442
--- /dev/null
+++ b/static/_redirects
@@ -0,0 +1,31 @@
+/home / 301
+/cookies /pages/legal/cookies 301
+/disclaimer /pages/legal/disclaimer 301
+/contact /pages/contact 301
+/resume /pages/resume 301
+/about /pages/about 301
+/blog/My_brand_new_blog /posts/2014/my-brand-new-blog/ 301
+/blog/Raspberry_pi_cluster_the_parts /posts/2014/pi-cluster-1-shopping/ 301
+/blog/Raspberry_pi_cluster_the_build /posts/2014/pi-cluster-2-the-build/ 301
+/blog/Raspberry_pi_cluster_installing_the_os /posts/2014/pi-cluster-3-installing-the-os/ 301
+/blog/Raspberry_pi_cluster_setting_up_the_master_node /posts/2014/pi-cluster-4-setting-up-the-master-node/ 301
+/blog/Raspberry_pi_cluster_expanding_the_cluster /posts/2014/pi-cluster-5-expanding-the-cluster/ 301
+/blog/Using_the_cluster_for_home_automation /posts/2014/using-the-cluster-for-home-automation/ 301
+/blog/Shellshock_dont_get_your_panties_in_a_bunch /posts/2014/shellshock-why-you-shouldnt-get-your-panties-in-a-bunch/ 301
+/blog/Me_my_blog_and_projects /posts/2014/me-my-blog-and-projects/ 301
+/blog/status_update /posts/2014/a-status-update/ 301
+/blog/new_look_new_comments_new_everything /posts/2015/new-look-new-comments-new-everything/ 301
+/blog/what_ive_been_doing posts/2015/what-ive-been-doing/ 301
+/blog/raspberry_pi_screen /posts/2015/raspberry-pi-screen/ 301
+/blog/making_things /posts/2015/making-things/ 301
+/blog/TekTree-part-1 /posts/2015/tektree-part-1-a-christmas-surprise/ 301
+/blog/TekTree-part-2 /posts/2015/tektree-part-2-lasercutting/ 301
+/blog/TekTree-part-3 /posts/2015/tektree-part-3-wiring/ 301
+/blog/TekTree-part-4 /posts/2015/tektree-part-4-programming/ 301
+/blog/my-extended-leave /posts/2016/extended-leave-status-updates-and-other-stuff/ 301
+/blog/slsw-day0 /posts/2017/scala-day-0-what-is-scala/ 301
+/blog/slsw-day1 /posts/2017/scala-day-1-the-basics/ 301
+/blog/slsw-day2 /posts/2017/scala-day-2-lets-get-functional/ 301
+/blog/slsw-day3 /posts/2017/scala-day-3-concurrency-is-key/ 301
+/blog/slsw-day4 /posts/2017/scala-day-4-a-challenge/ 301
+/blog/keep-a-sata-port-available /posts/2017/keep-a-sata-port-available/ 301