Merge pull request 'feature/redirects' (#2) from feature/redirects into master

Reviewed-on: #2
This commit is contained in:
Rick van Lieshout 2022-10-17 17:14:47 +02:00
commit 5b6f430325
15 changed files with 169 additions and 8 deletions

View File

@ -1,3 +1,9 @@
# Rickvanlieshout.com # Rickvanlieshout.com
This is the repository for my personal blog/website [rickvanlieshout.com](https://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)

View File

@ -43,7 +43,7 @@
"email": "info@rickvanlieshout.com", "email": "info@rickvanlieshout.com",
"github": "mastermindzh", "github": "mastermindzh",
"facebook": "mastermindzh", "facebook": "mastermindzh",
"rss": "rss.xml", "rss": "/rss.xml",
"twitter": "mastermindzh", "twitter": "mastermindzh",
"linkedin": "rickvanlieshout", "linkedin": "rickvanlieshout",
"youtube": "RickvanLieshoutt", "youtube": "RickvanLieshoutt",

View File

@ -2,6 +2,7 @@
title: "Resume" title: "Resume"
template: "page" template: "page"
--- ---
<!-- prettier-ignore --> <!-- prettier-ignore -->
| | | | | |
| --- | --- | | --- | --- |
@ -15,6 +16,10 @@ template: "page"
## Work experience ## Work experience
**Open-source aficionado**<br />
_Always_<br />
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**<br /> **Software architect at INFORIT**<br />
_2018 - Now_<br /> _2018 - Now_<br />
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. 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.

View File

@ -26,6 +26,6 @@ That is why the team behind Numix has requested the package to be removed from t
## Arduino sneak peak. ## 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:
<iframe src="//www.youtube.com/embed/7WeG88fOVbA" allowfullscreen="" width="560" height="315" frameborder="0"></iframe> !["two led matrices with green lights illustrating eyes"](./media/face.png "Google eyes... but matrix style")

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

View File

@ -1,6 +1,6 @@
--- ---
title: "Me, my blog, and projects." title: "Me, my blog, and projects."
date: "2014-11-16" date: "2014-10-21"
template: "post" template: "post"
category: "blog" category: "blog"
tags: tags:

View File

@ -1,6 +1,6 @@
--- ---
title: "My brand new blog" title: "My brand new blog"
date: "2014-09-05" date: "2014-09-05 22:00"
template: "post" template: "post"
category: "blog" category: "blog"
tags: tags:

View File

@ -1,6 +1,6 @@
--- ---
title: "Raspberry pi cluster Step 1: Shopping" title: "Raspberry pi cluster Step 1: Shopping"
date: "2014-09-05" date: "2014-09-05 23:00"
template: "post" template: "post"
category: "Homelab" category: "Homelab"
tags: tags:

View File

@ -1,6 +1,6 @@
--- ---
title: "Shellshock and why you shouldn't get your panties in a bunch." 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" template: "post"
category: "exploits" category: "exploits"
tags: tags:

View File

@ -11,6 +11,8 @@ description: "My final assignment for a school course is to learn a new language
disqusId: "20" 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)". 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). 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).

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -5,6 +5,7 @@ import * as types from "./internal/gatsby/types";
export default { export default {
pathPrefix: config.pathPrefix, pathPrefix: config.pathPrefix,
trailingSlash: "always",
siteMetadata: { siteMetadata: {
url: config.url, url: config.url,
menu: config.menu, 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-image",
"gatsby-plugin-catch-links", "gatsby-plugin-catch-links",
"gatsby-plugin-react-helmet", "gatsby-plugin-react-helmet",

73
package-lock.json generated
View File

@ -19,6 +19,7 @@
"gatsby-plugin-catch-links": "^4.24.0", "gatsby-plugin-catch-links": "^4.24.0",
"gatsby-plugin-feed": "^4.24.0", "gatsby-plugin-feed": "^4.24.0",
"gatsby-plugin-google-gtag": "^4.24.0", "gatsby-plugin-google-gtag": "^4.24.0",
"gatsby-plugin-htaccess": "^1.4.0",
"gatsby-plugin-image": "^2.24.0", "gatsby-plugin-image": "^2.24.0",
"gatsby-plugin-manifest": "^4.24.0", "gatsby-plugin-manifest": "^4.24.0",
"gatsby-plugin-offline": "^5.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" "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": { "node_modules/gatsby-plugin-image": {
"version": "2.24.0", "version": "2.24.0",
"resolved": "https://registry.npmjs.org/gatsby-plugin-image/-/gatsby-plugin-image-2.24.0.tgz", "resolved": "https://registry.npmjs.org/gatsby-plugin-image/-/gatsby-plugin-image-2.24.0.tgz",
@ -43568,6 +43607,40 @@
"minimatch": "^3.1.2" "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": { "gatsby-plugin-image": {
"version": "2.24.0", "version": "2.24.0",
"resolved": "https://registry.npmjs.org/gatsby-plugin-image/-/gatsby-plugin-image-2.24.0.tgz", "resolved": "https://registry.npmjs.org/gatsby-plugin-image/-/gatsby-plugin-image-2.24.0.tgz",

View File

@ -54,6 +54,7 @@
"gatsby-plugin-catch-links": "^4.24.0", "gatsby-plugin-catch-links": "^4.24.0",
"gatsby-plugin-feed": "^4.24.0", "gatsby-plugin-feed": "^4.24.0",
"gatsby-plugin-google-gtag": "^4.24.0", "gatsby-plugin-google-gtag": "^4.24.0",
"gatsby-plugin-htaccess": "^1.4.0",
"gatsby-plugin-image": "^2.24.0", "gatsby-plugin-image": "^2.24.0",
"gatsby-plugin-manifest": "^4.24.0", "gatsby-plugin-manifest": "^4.24.0",
"gatsby-plugin-offline": "^5.24.0", "gatsby-plugin-offline": "^5.24.0",

31
static/_redirects Normal file
View File

@ -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