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