14 Commits

Author SHA1 Message Date
c8264125f0 chore(release): 1.2.1 2023-03-26 23:40:27 +02:00
0c7ee90547 chore(gatsby): updated gatsby + deps and added canonical links 2023-03-26 23:20:54 +02:00
46ee4fbb90 chore(spelling): fixed spelling in latest blog 2023-02-14 23:16:01 +01:00
03d5cbe5b5 Merge pull request 'content/a-new-hobby' (#6) from content/a-new-hobby into master
Reviewed-on: #6
2023-02-14 23:14:10 +01:00
84563958a8 chore(release): 1.2.0 2023-02-14 22:49:25 +01:00
ab47ca8637 content(blog): A blog post about my new hobby: Legos 2023-02-14 22:47:32 +01:00
e7bdc41803 ci: fixed ci pipeline step, forgot the run keyword 2023-01-09 22:08:58 +01:00
6d17aa3ddf ci: added drone-ci pipeline file 2023-01-09 22:02:27 +01:00
5434d6686a Merge pull request 'content: added a picture of Eddy's completed urn. Also changed my function title to Tech Lead' (#5) from content/ode-to-eddy-update-and-resume-role-update into master
Reviewed-on: #5
2023-01-09 21:22:49 +01:00
c50c6fb927 content: added a picture of Eddy's completed urn. Also changed my function title to Tech Lead 2023-01-09 20:55:46 +01:00
561faa3a45 fix: socialImage code doesnt properly use publicURL 2022-11-24 21:56:35 +01:00
6f0fb545df fix: added social images to the frontmatter of most blogs 2022-11-16 10:04:34 +02:00
80c31d70f4 fix: navigate link now always returns to all articles beacuse history can be empty 2022-11-09 22:28:43 +01:00
b9632410d2 fix: removed the estranged '1' from the description of the latest blogpost 2022-11-08 17:04:21 +01:00
61 changed files with 6965 additions and 6444 deletions

19
.drone.yml Normal file
View File

@@ -0,0 +1,19 @@
kind: pipeline
type: docker
name: default
steps:
- name: install
image: node:19.4.0
commands:
- npm install
- name: test
image: node:19.4.0
commands:
- npm run test:coverage
- name: build
image: node:19.4.0
commands:
- npm run build

View File

@@ -1,5 +1,8 @@
{
"cSpell.words": [
"disqus",
"fontawesome",
"fortawesome",
"frontmatter",
"slsw"
],

View File

@@ -2,6 +2,24 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
### [1.2.1](https://github.com/mastermindzh/rickvanlieshout.com/compare/v1.2.0...v1.2.1) (2023-03-26)
## [1.2.0](https://github.com/mastermindzh/rickvanlieshout.com/compare/v1.1.0...v1.2.0) (2023-02-14)
### Bug Fixes
* added social images to the frontmatter of most blogs ([6f0fb54](https://github.com/mastermindzh/rickvanlieshout.com/commits/6f0fb545dfcbb59f677b2408622cdbc4de19325f))
* navigate link now always returns to all articles beacuse history can be empty ([80c31d7](https://github.com/mastermindzh/rickvanlieshout.com/commits/80c31d70f43b6d4e41105a7ede5b2ed032e67eb7))
* removed the estranged '1' from the description of the latest blogpost ([b963241](https://github.com/mastermindzh/rickvanlieshout.com/commits/b9632410d2369e09300231e7152941d850a4f421))
* socialImage code doesnt properly use publicURL ([561faa3](https://github.com/mastermindzh/rickvanlieshout.com/commits/561faa3a4585a73f0dc8aba63d72146dd670b544))
### New content
* added a picture of Eddy's completed urn. Also changed my function title to Tech Lead ([c50c6fb](https://github.com/mastermindzh/rickvanlieshout.com/commits/c50c6fb9273ddd3fb180609fd977cf6d0dbbdb74))
* **blog:** A blog post about my new hobby: Legos ([ab47ca8](https://github.com/mastermindzh/rickvanlieshout.com/commits/ab47ca863779167069030f152569cbfe8cab0e65))
## [1.1.0](https://github.com/mastermindzh/rickvanlieshout.com/compare/v1.0.0...v1.1.0) (2022-11-07)

View File

@@ -2,8 +2,8 @@
This is the repository for my personal blog/website [rickvanlieshout.com](https://rickvanlieshout.com).
[![Build Status](https://ci.mastermindzh.tech/api/badges/mastermindzh/rickvanlieshout.com/status.svg)](https://ci.mastermindzh.tech/mastermindzh/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

@@ -3,10 +3,12 @@
A list of categories used in the blog
<!-- prettier-ignore -->
| category | What it does |
| ------------ | -------------------------------------------------------- |
| blog | random blog stuff |
| IOT | anything to do with IOT |
| Homelab | anything to do with my homelab (including smart home...) |
| Development | anything to do with regular development |
| exploits | blogs about exploits and bugs in open-source software |
| category | What it does |
| ----------- | -------------------------------------------------------- |
| blog | random blog stuff |
| IOT | anything to do with IOT |
| Homelab | anything to do with my homelab (including smart home...) |
| Development | anything to do with regular development |
| exploits | blogs about exploits and bugs in open-source software |
| Lego | blogs about Lego |
| house | Content about the place I live |

View File

@@ -20,20 +20,20 @@ template: "page"
_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 />
**Tech lead at INFORIT**<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.
The other main responsibility I have is creating and maintaining a coherent team of lead-developers by sharing knowledge, making decisions, and empowering leads to explore technologies outside of their comfort zone.
The other main responsibility I have is creating and maintaining a coherent team of lead developers by sharing knowledge, making decisions, and empowering leads to explore technologies outside of their comfort zone.
At INFORIT I also help with recruitment of new employees, setting up and maintaining agile strategies including proper test-management, and general software development.
During my time at INFORIT we've grown from 5-7 in-house developers to 10, full-sized, SCRUM teams.
At INFORIT I also help with the recruitment of new employees, setting up and maintaining agile strategies including proper test management, and general software development.
During my time at INFORIT, we've grown from 5-7 in-house developers to 10, full-sized, SCRUM teams.
Most relevant technologies used: dotnetcore, React, Angular, Kafka, RabbitMQ, Mongo, PostgreSQL, Growthbook, Docker & Kubernetes
**Hanflex employee**<br />
_September 2015 - July 2018_<br />
I started working for the HAN (hogeschool van Arnhem en Nijmegen) in 2015. The HAN offers us different jobs (teaching others, open door days, etc) and we are free to reply and take those. I primarily respond to the open door days and the teaching jobs. On the open door days I usually work with 3d printers and a lasercutter.
I started working for the HAN (hogeschool van Arnhem en Nijmegen) in 2015. The HAN offers us different jobs (teaching others, open door days, etc) and we are free to reply and take those. I primarily respond to the open-door days and the teaching jobs. On the open-door days, I usually work with 3d printers and a laser cutter.
**mi-soft.nl**<br />
_2006 - January 2019_<br />
@@ -50,7 +50,7 @@ _2005 - 2010_
**HBO ICT / software engineering HAN - Nijmegen**<br />
_2014 - 2018_<br />
After a few rocky years I enrolled into college and I'm now trying to get a software engineering degree. I finished my first year with an average of 8.3/10 and will graduate in mid 2018.
After a few rocky years I enrolled in college and I'm now trying to get a software engineering degree. I finished my first year with an average of 8.3/10 and will graduate in mid-2018.
**Bilingual Senior General Secondary Education - Maaslandcollege Oss**<br />
_2005 - 2010_
@@ -65,8 +65,8 @@ I'll list some of the training courses I've had whilst working.
Some of these have (official) certificates, some don't, but all have brought value and knowledge.
- Hiring & interview training ([icm.nl](https://www.icm.nl/opleidingen-en-trainingen/hrm/selectiegesprekken-voeren/))
- Conversation techniques & deescalation ([TIJDwinst.com](https://gesprekstechnieken.com/cursus-gesprekstechnieken/)).
- Kubernetes
- Conversation techniques & de-escalation ([TIJDwinst.com](https://gesprekstechnieken.com/cursus-gesprekstechnieken/)](<https://gesprekstechnieken.com/cursus-gesprekstechnieken/>)).
- Kubernetes (NobleProg Certification Kubernetes on Azure (AKS), 26 August 2019 - 27 August 2019)
- SEEBURGER b2b integration
## Projects
@@ -82,7 +82,7 @@ All of the code is available on [Github](https://github.com/mastermindzh/han4pi.
**Solidwinds developer**<br />
_2015 - 2016_<br />
Set up an architecture and start of an implementation for a scalable metrics collection system for windmills.
Set up an architecture and started implementation for a scalable metrics collection system for windmills.
**Quintor bulk-mail**<br />
_April 2016 - June 2016_<br />
@@ -96,7 +96,7 @@ The list below is far from complete and unordered but focuses on the skills & te
- Teaching, coaching & presenting
- Agile development
- Docker, Kubernetes & CI/CD
- Event based architecture
Event-based architecture
- Reactive architecture
- Typescript (Javascript)
- dotnetcore

View File

@@ -8,6 +8,7 @@ tags:
- "school"
description: ""
disqusId: "10"
socialImage: "./media/face.png"
---
## School
@@ -24,7 +25,7 @@ Last night a friend of mine tried installing the Numix square theme, something t
That is why the team behind Numix has requested the package to be removed from the aur. And their request was granted. (as it should have been). Last night however we didn't have the tools handy to be able to make a purchase of the Icon theme, so I sent him my version and he installed that instead. I will however buy a license from them today, since I use the icon theme on pretty much all my machines.
## 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 photo which you can view below:

View File

@@ -9,6 +9,7 @@ tags:
- "pi"
description: "Assembling all the parts and creating a cute little cluster"
disqusId: "3"
socialImage: "./media/improvising.jpg"
---
So today I finally received the required parts to finish up my Raspberry pi cluster and I was **extremely** excited! To share this excitement with you lot here's a picture of all the parts I'll be using:

View File

@@ -9,6 +9,7 @@ tags:
- "pi"
description: "Installing the raspberry pi OS (Raspbian) and prepping for a cluster"
disqusId: "4"
socialImage: "./media/windows.jpg"
---
Installing an OS for a Raspberry pi is quite different from installing an OS on any other computer. We will have to write an "image" to the SD card rather than actually "installing" anything. Don't worry if you're confused just now, even I don't know what I'm rambling on about at times!

View File

@@ -9,6 +9,7 @@ tags:
- "pi"
description: "We're going to set up the master node. The master node will be the one that gives work orders to the slaves."
disqusId: "5"
socialImage: "./media/pi1-prev.jpg"
---
After installing raspbian to the sd card it's time to plug in that SD card and fire up the Raspberry pi. If everything went well you should end up with a screen similar to mine:

View File

@@ -9,6 +9,7 @@ tags:
- "pi"
description: "Today's blog post will be about expanding the cluster with more nodes."
disqusId: "6"
socialImage: "./media/pidark_full.JPG"
---
In today's post we'll have a look at expanding the cluster with more nodes! We will have a look at how to clone them and how we can set up a universal login using ssh keys.
@@ -65,7 +66,7 @@ nano mpi_scripts/machinefile
Simply add all the other pi's ip addresses to the file (each on a new line).
## Testing!
## Testing
Now that we've added the pi's ip's to the machinefile we can use them from our master node. To test this we can run the following command:

View File

@@ -10,12 +10,13 @@ tags:
- "bug"
description: "In today's blog I share my opinion on shellshock and why I think you shouldn't get your panties in a bunch! hah!"
disqusId: "8"
socialImage: "./media/hackzors.png"
---
On September 24 2014, A Bash vulnerability, known as "Shellshock" was disclosed. This "bug" allows an attacker to run code on your machine, which is bad, very bad.
<figure class="float-right" style="width: 420px">
<img src="/media/hackzors.png" alt="terminal with shellshock exploit">
<img src="/media/hackzors.png" alt="terminal with shellshock exploit">
</figure>
Now then, what exactly is "Shellshock". Shellshock is a "bug" (or vulnerability) that can be used to remotely run code on someone's machine by altering an environment variable. The real danger however lies in programs that can alter these variables without requiring root. Thus enabling anyone with access to your computer to run commands.

View File

@@ -10,6 +10,7 @@ tags:
- "raspberry"
description: 'The creation process of a Raspberry PI based "game console" and its controllers'
disqusId: "14"
socialImage: "./media/fritzing_example.png"
---
Even though this week has been extremely busy I wanted to bring you guys a little blog because the things I've been doing are truly wicked.
@@ -22,7 +23,7 @@ As some of you know, next semester I will be working on a (school issued) projec
We do not yet know what this special assignment will entail but one thing we know for sure. WE ARE EXCITED ABOUT IT !
## Maker thingies !
## Maker thingies
Even though I love software development, deep down I am also still a maker. And a maker likes to "make" things (go figure...), so when I got asked to do a project involving a Raspberry Pi I couldn't refuse. Even though I had no idea what exactly the project was going to entail I enlisted anyways.
@@ -34,7 +35,7 @@ So we came up with "pong". We are going to create simple controllers (based on p
Throughout the entire project we will be using a [github repo](https://github.com/Mastermindzh/han4pi) to sync changes. One of the benefits of a github repo, apart from the actual git stuff, is that we automatically share all our code / designs. This means that anyone who is interested can either reproduce or follow along with us.
## Enough talking, show us something!
## Enough talking, show us something
Well alright then, we've got a couple of things "ready" to show others. The first of which are the design schematics of our controllers and our "hubs".

View File

@@ -11,6 +11,7 @@ tags:
- "touchscreen"
description: "A look at the new official raspberry pi touchscreen"
disqusId: "13"
socialImage: "./media/box.jpg"
---
Hey guys, as some of you know I was really, and I mean **really**, excited when they announced the official raspberry pi screen. Now why is that might you ask? Everything the raspberry pi people have released so far has been really solid. The boards, the sd cards, the wifi-dongle, all of them work absolutely fantastic! So as soon as I saw that the official screen was available for pre-order in the UK I ordered myself one and started waiting.
@@ -66,7 +67,7 @@ The red and black cables provide power (and ground) to the pi from the logic boa
The moment had arrived, I plugged the pi into a battery pack (creating a makeshift tablet-like device) and waited. First boot wasn't all that promising... Touch didn't work and I had an annoying little square in the top right. This was however not my first rodeo with a pi and I quickly worked out that the little square indicates insufficient input power. I did a quick update and after rebooting touch worked wonders! The only thing my makeshift tablet test was missing was some sort of input method for the keyboard. For this I used a program called "matchbox", which was available in the default repository. After playing around with touch for a bit I switched to a solid 2 amp power supply and the little, coloured square disappeared, as suspected.
## That's nice and all... But we want a video...
## That's nice and all... But we want a video
Of course I prepared a little video, wouldn't be a showcase if I hadn't now would it. So here goes:

View File

@@ -8,6 +8,7 @@ tags:
- "christmas"
description: "A new maker project based on a big piece of lumber that my parents erected 🤔"
disqusId: "15"
socialImage: "./media/new.jpg"
---
I'm very excited to announce a new maker project to you guys ! It will be simple, and thus reproducible, yet fun and quite possibly even useful. (oh, and a tad crazy)
@@ -24,7 +25,7 @@ I got the idea after my parents put up their christmas tree. My mom opted for a
Of course! All code will be open source! All other stuff (drawings etc.) will also be opened up to the public. Everything can be found on [Github](https://github.com/Mastermindzh/TekTree) once again.
## Step 1 - Design!
## Step 1 - Design
I've thought long and hard about what kind of "controller" I wanted to use. And of course I immediately wanted to use a Raspberry pi. But I asked myself, why a pi? Why not use something simpler (like an arduino) to control the lights and switches. After some serious brainstorming I decided to go with an arduino in the end. I figured the Raspberry pi zero would be too cumbersome to work with for a simple christmas tree. Besides, I have a lot more uses for a pi zero than I have for an arduino, and I got more arduino's laying around than pi zero's at the moment.

View File

@@ -8,6 +8,7 @@ tags:
- "christmas"
description: "Dangerous things involving lasers and christmassy figures. Fun!"
disqusId: "16"
socialImage: "./media/plate.jpg"
---
Last friday I actually got to cut the parts for my TekTree! So excited! This is by far the biggest "piece" I have ever laser cut but luckily everything went well. This in part is thanks to my brilliant friend [Ron](http://www.ronnabuurs.nl) who helped me create the sketches for the laser cutter. Thanks again [Ron](http://www.ronnabuurs.nl)!

View File

@@ -8,6 +8,7 @@ tags:
- "christmas"
description: "Read about me being tangled with wires and generally just making a mess of things"
disqusId: "17"
socialImage: "./media/wiring1.jpg"
---
In the 3rd part of my TekTree project I'll show you guys how to wire everything. This time I even used separate colours for the power,ground and signal wires. So no more complaining ! ^\_^ All in all I think the result looks absolutely wicked. Even without the arduino case which has yet to come in the mail. (and probably won't fit)
@@ -24,7 +25,7 @@ The arduino will get power from a regular adaptor. The only modification I did t
I want the project to be "manageable" for everyone. To do this I kept the wiring as simple as possible. Every LED has 2 prongs, 1 goes to ground 1 goes to the arduino. Simple. Same goes for the potentiometers, 3 legs, 1 power 1 ground 1 signal. The only led's I did bundle together (in terms of wiring) is the star. I did this to create a single star instead of multiple led's.
## Well you could've made it way prettier... and....
## Well you could've made it way prettier... and
Well yes, as all of us know I'm perfectly capable of designing a [refined build](/images/blogs/han4pi/Front_thumb.png). I didn't want to go with a pcb this time however because that would make the barrier to entry way higher on this project. And that is something I definitely **don't** want.

View File

@@ -7,9 +7,10 @@ tags:
- life
description: "A brief update of what I've been up to lately "
disqusId: "12"
socialImage: "./media/mic1.jpg"
---
## My goals....
## My goals
Last blog we talked about a couple of goals I set for myself. As usual, not all of these have been completed. But instead of focusing on the ones I didn't complete I'll focus on the ones I did.
@@ -31,7 +32,7 @@ I kinda made this goal.... kinda. Hear me out on this one ! When I wrote my last
Only a few of the goals I had set I haven't reached. I have given up on losing weight and because of the extra portfolio work I didn't really start LSR either. 5 new tutorials is a detable goal. I haven't exactly written 5 tutorials but I have done some work on mi-soft.nl (and still wrote 2 tutorials). And 1 blogpost.... well I'm trying !
## Losing some of my stuff!
## Losing some of my stuff
As I mentioned before I have lost some of my hardware to a lightning strike. I didn't just lose my motherboard however. I also lost my microphone (blue snowball), my keyboard (razer blackwidow), my xbox controller receiver, 8gb's of ram and some random usb peripherals. Some of the stuff was insured and thus I have gotten some money for it. However I did not simply want to replace the lost stuff, I wanted to upgrade too.

View File

@@ -8,6 +8,7 @@ tags:
- "homelab"
description: "What was meant to be a simple hard drive migration turned into a long night due to a rogue sata cable"
disqusId: "25"
socialImage: "./media/sata.jpg"
---
Servers.... Both a joy and a pain. This week my server has just been a pain though.... What should've been a relaxing night with some easy peasy hard drive replacements quickly turned into hours of downtime and lots of yelling and screaming :(
@@ -16,7 +17,7 @@ During my holiday stay (at [Tropical Islands](https://www.tropical-islands.de) i
So, the drives arrived, I ran a quick benchmark followed by a quick drive test and all seemed fine with the first drive. At this point, I decide to open up the server and replace the first 500 GB hard drive. After a lot of gymnastics (trying to read drive labels while the drives are in the drive bays) I finally figured out which drive I should replace and I went to work on that drive. I was careful not to touch any of the other cables to avoid accidentally unplugging them and I thought I had done a good job. I remember thinking: "Drive replaced, cables still connected, not much hassle so far. Let's turn it on". And so I did.
## Prepare for trouble...
## Prepare for trouble
My good mood was rudely interrupted by a loud beep followed by three, rapid, beeps. At first, I thought it was the regular old "fan not spinning" error (I use several ways to limit fan speed) but on further inspection, I realised that the fan was spinning just fine. Things were about to turn bad....

View File

@@ -10,7 +10,8 @@ tags:
- "INFORIT"
- "Standard releases"
description: "A dive into conventional commits and their benefit whilst releasing with standard versions.1"
description: "A dive into conventional commits and their benefit whilst releasing with standard versions."
socialImage: "./media/husky-error.png"
---
At my place of work, [INFORIT](http://inforit.nl/), we are talking about adopting conventional commits as a company standard.

View File

@@ -9,11 +9,12 @@ tags:
- "dog"
description: "Today we had to give a lethal injection to my furry friend Eddy. He will be honored appropriately and this post is one of the tools to do that."
socialImage: "./media/eddy-2011.jpg"
---
![headshot of Eddy in his early years, jack-russel and fox mix](./media/eddy-2011.jpg "This is Eddy, January 30, 2011")
Unfortunately I've had to put my dog Eddy down today.
Unfortunately, I've had to put my dog Eddy down today.
Eddy was my best friend. Not just my best furry friend, but my best friend period.
He never failed to bring me joy, he was always there when I needed him and he helped me overcome some of life's biggest obstacles just by existing.
@@ -30,8 +31,8 @@ I love you Eddy. Always have. Always will. Rest in peace my friend.
## Why Eddy had to be put down
<figure class="float-right" style="width: 240px">
<img src="/media/eddy-ribbon.jpg" alt="Eddy with a ribbon penetrating his body so the wounds won't close">
<figcaption>Such a cute boy with his ribbon, July 2016</figcaption>
<img src="/media/eddy-ribbon.jpg" alt="Eddy with a ribbon penetrating his body so the wounds won't close">
<figcaption>Such a cute boy with his ribbon, July 2016</figcaption>
</figure>
Of course this isn't the first time Eddy has had some issues with his health.
@@ -58,8 +59,8 @@ Though, after some thought I realized something that I'd realized before:
> \- from the poem `thoughts` by Rick van Lieshout
<figure class="float-left" style="width: 240px">
<img src="/media/eddy-hat.jpg" alt="Eddy with a beige hat on">
<figcaption>Very professional doggy. Early 2022</figcaption>
<img src="/media/eddy-hat.jpg" alt="Eddy with a beige hat on">
<figcaption>Very professional doggy. Early 2022</figcaption>
</figure>
And though those feelings are true. I also can't help but shake the sorrow I feel.
@@ -77,8 +78,14 @@ Now that Eddy has left me completely I will just have to see where life takes me
## Farewell
In the end though, I don't think anything can truly replace Eddy.
In the end, though, I don't think anything can truly replace Eddy.
I got Eddy an [urn](https://www.urnwinkel.nl/fotolijst-dierenurn-zwart.html) so I can have him in my life for the rest of mine.
Sleep well friend.
Sleep well, friend.
![Eddy lying on a blue towel at the veterinarian after receiving the lethal injection. He looks peaceful](./media/eddy-post-mortem.jpg 'Eddy peacefully "sleeping" post mortem')
## The urn
It took way too long for the urn to be filled with pictures but in the end, I've gotten it done and I hung Eddy's urn in my bedroom.
![A black picture frame with 4 pictures of Eddy ranging from young to old](./media/eddy-urn.jpg "A lovely memory of Eddy")

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

@@ -0,0 +1,97 @@
---
title: Uncovering a new hobby that might just take over my entire house
date: "2023-02-14"
template: "post"
category: "blog"
tags:
- "Lego"
- "house"
description: "What started as a simple decoration piece to fill some empty space in my home quickly grew into a new hobby of which the remnants can be found throughout my house"
---
## The problem
Even though my house is fully furnished, one could say it's quite light on decorations. You see, I'm not really one for many of the popular decoration pieces like candles, picture frames, animal skins, or decorative statues.
The only thing I really like is stone and woodwork. This means that I have enough decorations to fill the downstairs, kind off.
You see, some of the decorations that I also like are plants (mainly because they go in large stone pots) but I'm not great at keeping them alive.
(Un)fortunately, there is more to my house than just the downstairs. There are 2 more floors that are, once again, furnished but not really decorated.
The only room that is pretty well decorated is my office, which has various little nerdy things on little black shelves and 12 beautiful Displates.
One of the main problem areas is my bedroom. I don't have any entertainment in my bedroom (by choice.. it's a place to sleep, not watch telly!) but I do have some [FJallbo](https://www.ikea.com/gb/en/p/fjaellbo-shelving-unit-black-70339291/) shelving units.
Of course, those shelves are mostly empty... they are only adorned by some books, clothes and a few stuffed animals.
## The solution, or so I thought
<figure class="float-right" style="width: 240px">
<img src="/media/orchids.jpg" alt="Lego orchids on a wooden table">
<figcaption>Pretty little orchids!</figcaption>
</figure>
I don't know when exactly it happened but a few months ago I stumbled across "Lego plants" on Youtube. Plants that look quite good and don't die.
The first plant I got was the little bonsai and the second one were the orchids.
After that, I quickly picked up the cacti and bouquet.
And as you can probably figure out by now... a new hobby was born... Lego.
Lego allows me to fill up the empty space with whatever I want whilst keeping things interesting and giving me something to do to boot.
## Christmas time's a coming
After building a few smaller items I felt ready to tackle a "project", one that would allow me to play with Legos and at the same time get a few friends and family members off my back about not having Christmas decorations.
That's right. I set out to build a Christmas village from lego.
I emptied a shelf, picked up some [white base plates](https://www.lego.com/en-us/product/white-baseplate-11010), procured a string of small Christmas lights, and bought some Christmassy-looking Lego sets:
- [Holiday main street](https://www.lego.com/en-us/product/holiday-main-street-10308)
- [Santa's sleigh](https://www.lego.com/en-nl/product/santa-s-sleigh-40499)
- [Santa's visit](https://www.lego.com/en-nl/product/santa-s-visit-10293)
- [Winter elve's scene](https://www.lego.com/en-nl/product/winter-elves-scene-40564)
- [Winter polar bears](https://www.lego.com/en-us/product/wintertime-polar-bears-40571)
- [Santa's workshop](https://www.lego.com/en-nl/product/santa-s-workshop-40565?CMP=AFC-AffiliateUK-lFWN%2FyX1zOg-3425491-124738-1)
The result of a few days of work and the Christmas village has been completed:
!["A bookcase shelf filled with Lego Christmas builds"](/media/christmas.jpg "Happy little Christmas village")
## A new room to build Lego
Now that the Lego virus has taken hold of me I am quickly growing tired of needing to move stuff off my dining table just to build some Legos.
Likewise, I dislike having to move half-finished Lego builds just to use my dining table.
It was time to upgrade my spare bedroom with a desk and some other things to build a comfortable space.
I bought the following items:
- [3x Alex drawers](https://www.ikea.com/gb/en/p/alex-drawer-unit-white-00473546/)
- [2x Karlby countertop](https://www.ikea.com/gb/en/p/karlby-worktop-walnut-veneer-30335191/)
- [1x Nissafors trolley](https://www.ikea.com/gb/en/p/nissafors-trolley-black-20399777/)
- [1x fniss waste bucket](https://www.ikea.com/gb/en/p/fniss-waste-bin-black-60295438/)
- [2x SKÅDIS pegboard](https://www.ikea.com/gb/en/p/skadis-pegboard-black-50534378/)
- [5x SKÅDIS planks](https://www.ikea.com/gb/en/p/skadis-shelf-white-00320799/)
- [3x SKÅDIS cup](https://www.ikea.com/gb/en/p/skadis-container-white-20320798/)
- [5x SKÅDIS hooks](https://www.ikea.com/gb/en/p/skadis-hook-white-20320802/)
- [1x SKÅDIS storage baskets](https://www.ikea.com/gb/en/p/skadis-storage-basket-set-of-3-white-50517760/)
- [2x SKÅDIS containers with lid](https://www.ikea.com/gb/en/p/skadis-container-with-lid-white-80335909/)
Which, with some effort, got turned into the following room:
![Dark walnut L-shaped corner desk with 3 white drawers holding it up](/media/room-just-built.jpg "First build of the room, no display or audio yet")
![Black trolley with 3 shelves filled with Lego boxes](/media/trolly.jpg "A little trolley to hold the new Lego sets")
![A monitor arm is placed on the worktop and now holds a nice 27-inch monitor.](/media/adding-a-monitor.jpg "I added a monitor so I could watch some series or listen to music.")
![A JBL boombox placed under the monitor with the cable hidden out-of-sight](/media/cable-box-and-speaker.jpg "Sound from just the monitor won't do so I added a nice JBL speaker")
![The finished room is in use, bags of Lego are scattered over the worktop and the Lego build itself is starting to take some form](/media/building-the-owl.jpg "the finished room in use, building the Harry Potter special edition owl")
The space I've created with this Ikea build works very well for building Legos!
The mounted desk light (which I got from Amazon) has also proven to be quite handy. I can move the light however I like, be it to shed some more light on the
little booklet with instructions or on the build itself to illuminate some of the darker pieces at night. (brown/black)
Turning on both lights (there's one hidden behind the monitor/speaker) ensures that there's enough light in the room that I don't have to turn on the main light
which makes the room feel nice and cozy.
## More of my creations
I'd like to round off this blog post by showing some of the other builds I've since completed:
![Saturn V from lego](/media/rocket.jpeg "Saturn V")
!["Harry Potter's owl Hedwig perched on some books"](/media/owl.jpeg "Shout out to Hedwig! (and Ravenclaw)")
!["A flower bouquet in a clear vase"](/media/bouquet.jpg "The desk felt a bit empty so I added some flowers to spice things up")
![Two of the succulents in decorative pots with some shelves](/media/flower-pots.jpg "Two of the succulents in decorative pots with some shells")

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

View File

@@ -62,29 +62,27 @@ export default {
guid: site.siteMetadata.url + node?.fields?.slug,
custom_elements: [{ "content:encoded": node.html }],
})),
query: `
{
allMarkdownRemark(
limit: 1000,
sort: { order: DESC, fields: [frontmatter___date] },
filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } }
) {
edges {
node {
html
fields {
slug
}
frontmatter {
date
title
description
}
query: `{
allMarkdownRemark(
limit: 1000
sort: {frontmatter: {date: DESC}}
filter: {frontmatter: {template: {eq: "post"}, draft: {ne: true}}}
) {
edges {
node {
html
fields {
slug
}
frontmatter {
date
title
description
}
}
}
}
`,
}`,
output: "/rss.xml",
title: config.title,
},
@@ -191,6 +189,13 @@ export default {
},
},
},
{
resolve: "gatsby-plugin-react-helmet-canonical-urls",
options: {
siteUrl: config.url,
stripQueryString: true,
},
},
"gatsby-plugin-image",
"gatsby-plugin-catch-links",
"gatsby-plugin-react-helmet",

View File

@@ -13,12 +13,10 @@ const categoriesQuery = async (graphql: CreatePagesArgs["graphql"]) => {
const result = await graphql<CategoriesQueryResult>(`
{
allMarkdownRemark(
filter: {
frontmatter: { template: { eq: "post" }, draft: { ne: true } }
}
sort: { order: DESC, fields: [frontmatter___date] }
filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } }
sort: { frontmatter: { date: DESC } }
) {
group(field: frontmatter___category) {
group(field: { frontmatter: { category: SELECT } }) {
fieldValue
totalCount
}

View File

@@ -13,11 +13,9 @@ const tagsQuery = async (graphql: CreatePagesArgs["graphql"]) => {
const result = await graphql<TagsQueryResult>(`
{
allMarkdownRemark(
filter: {
frontmatter: { template: { eq: "post" }, draft: { ne: true } }
}
filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } }
) {
group(field: frontmatter___tags) {
group(field: { frontmatter: { tags: SELECT } }) {
fieldValue
totalCount
}

12884
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "rickvanlieshout-com",
"version": "1.1.0",
"version": "1.2.1",
"description": "My personal blog / website",
"keywords": [
"gatsby",
@@ -49,36 +49,37 @@
]
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.2.0",
"@fortawesome/free-solid-svg-icons": "^6.2.0",
"@fortawesome/fontawesome-svg-core": "^6.3.0",
"@fortawesome/free-solid-svg-icons": "^6.3.0",
"@fortawesome/react-fontawesome": "^0.2.0",
"classnames": "^2.3.2",
"disqus-react": "^1.1.4",
"gatsby": "^4.24.4",
"gatsby-link": "^4.24.1",
"gatsby-plugin-catch-links": "^4.24.0",
"gatsby-plugin-feed": "^4.24.0",
"gatsby-plugin-google-gtag": "^4.24.0",
"gatsby-plugin-image": "^2.24.0",
"gatsby-plugin-manifest": "^4.24.0",
"gatsby-plugin-offline": "^5.24.0",
"disqus-react": "^1.1.5",
"gatsby": "^5.8.0",
"gatsby-link": "^5.8.0",
"gatsby-plugin-catch-links": "^5.8.0",
"gatsby-plugin-feed": "^5.8.0",
"gatsby-plugin-google-gtag": "^5.8.0",
"gatsby-plugin-image": "^3.8.0",
"gatsby-plugin-manifest": "^5.8.0",
"gatsby-plugin-offline": "^6.8.0",
"gatsby-plugin-optimize-svgs": "^1.0.5",
"gatsby-plugin-react-helmet": "^5.24.0",
"gatsby-plugin-robots-txt": "^1.7.1",
"gatsby-plugin-sass": "^5.24.0",
"gatsby-plugin-sharp": "^4.24.0",
"gatsby-plugin-sitemap": "^5.24.0",
"gatsby-remark-autolink-headers": "^5.24.0",
"gatsby-remark-copy-linked-files": "^5.24.0",
"gatsby-plugin-react-helmet": "^6.8.0",
"gatsby-plugin-react-helmet-canonical-urls": "^1.4.0",
"gatsby-plugin-robots-txt": "^1.8.0",
"gatsby-plugin-sass": "^6.8.0",
"gatsby-plugin-sharp": "^5.8.0",
"gatsby-plugin-sitemap": "^6.8.0",
"gatsby-remark-autolink-headers": "^6.8.0",
"gatsby-remark-copy-linked-files": "^6.8.0",
"gatsby-remark-external-links": "0.0.4",
"gatsby-remark-images": "^6.24.0",
"gatsby-remark-images": "^7.8.0",
"gatsby-remark-images-medium-zoom": "^1.7.0",
"gatsby-remark-prismjs": "^6.24.0",
"gatsby-remark-responsive-iframe": "^5.24.0",
"gatsby-remark-smartypants": "^5.24.0",
"gatsby-source-filesystem": "^4.24.0",
"gatsby-transformer-remark": "^5.24.0",
"gatsby-transformer-sharp": "^4.24.0",
"gatsby-remark-prismjs": "^7.8.0",
"gatsby-remark-responsive-iframe": "^6.8.0",
"gatsby-remark-smartypants": "^6.8.0",
"gatsby-source-filesystem": "^5.8.0",
"gatsby-transformer-remark": "^6.8.0",
"gatsby-transformer-sharp": "^5.8.0",
"prismjs": "^1.29.0",
"react": "^18.2.0",
"react-cookie-consent": "^8.0.1",
@@ -88,70 +89,69 @@
"reading-time": "^1.5.0"
},
"devDependencies": {
"@commitlint/config-conventional": "^17.2.0",
"@commitlint/cz-commitlint": "^17.2.0",
"@jest/globals": "^29.1.2",
"@commitlint/config-conventional": "^17.4.4",
"@commitlint/cz-commitlint": "^17.5.0",
"@jest/globals": "^29.5.0",
"@mastermindzh/eslint-config": "^1.0.2",
"@mastermindzh/prettier-config": "^1.0.0",
"@semantic-release/exec": "6.0.3",
"@semantic-release/git": "10.0.1",
"@swc/core": "^1.3.6",
"@swc/jest": "^0.2.23",
"@swc/core": "^1.3.42",
"@swc/jest": "^0.2.24",
"@types/gatsby-transformer-remark": "^2.9.1",
"@types/jest": "^29.1.2",
"@types/node": "^18.8.4",
"@types/react": "^18.0.21",
"@types/react-dom": "^18.0.6",
"@types/react-helmet": "^6.1.5",
"@types/jest": "^29.5.0",
"@types/node": "^18.15.10",
"@types/react": "^18.0.29",
"@types/react-dom": "^18.0.11",
"@types/react-helmet": "^6.1.6",
"@types/react-test-renderer": "^18.0.0",
"@types/react-toggle": "^4.0.3",
"@types/sass": "^1.43.1",
"@typescript-eslint/eslint-plugin": "^5.40.0",
"@typescript-eslint/parser": "^5.40.0",
"autoprefixer": "^10.4.12",
"browserslist": "^4.21.4",
"@typescript-eslint/eslint-plugin": "^5.56.0",
"@typescript-eslint/parser": "^5.56.0",
"autoprefixer": "^10.4.14",
"browserslist": "^4.21.5",
"codecov": "^3.8.3",
"commitizen": "^4.2.5",
"commitlint": "^17.2.0",
"concurrently": "^7.4.0",
"eslint": "^8.25.0",
"commitizen": "^4.3.0",
"commitlint": "^17.5.0",
"concurrently": "^7.6.0",
"eslint": "^8.36.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-config-prettier": "^8.5.0",
"eslint-config-prettier": "^8.8.0",
"eslint-config-react-app": "^7.0.1",
"eslint-import-resolver-typescript": "^3.5.1",
"eslint-import-resolver-typescript": "^3.5.3",
"eslint-plugin-flowtype": "^8.0.3",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jest": "^27.1.1",
"eslint-plugin-jsx-a11y": "^6.6.1",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-jest": "^27.2.1",
"eslint-plugin-jsx-a11y": "^6.7.1",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.31.10",
"eslint-plugin-react": "^7.32.2",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-simple-import-sort": "^8.0.0",
"husky": "8.0.1",
"eslint-plugin-simple-import-sort": "^10.0.0",
"husky": "^8.0.3",
"identity-obj-proxy": "3.0.0",
"jest": "^29.1.2",
"jest-cli": "^29.1.2",
"jest-environment-jsdom": "^29.1.2",
"jest": "^29.5.0",
"jest-cli": "^29.5.0",
"jest-environment-jsdom": "^29.5.0",
"jest-svg-transformer": "^1.0.0",
"lint-staged": "^13.0.3",
"lint-staged": "^13.2.0",
"lost": "9.0.1",
"markdownlint": "^0.26.2",
"postcss": "^8.4.17",
"postcss-scss": "^4.0.5",
"prettier": "^2.7.1",
"prettier-plugin-packagejson": "^2.3.0",
"markdownlint": "^0.28.0",
"postcss": "^8.4.21",
"postcss-scss": "^4.0.6",
"prettier": "^2.8.7",
"prettier-plugin-packagejson": "^2.4.3",
"react-test-renderer": "^18.2.0",
"rimraf": "3.0.2",
"sass": "^1.55.0",
"rimraf": "^4.4.1",
"sass": "^1.60.0",
"source-map-support": "^0.5.21",
"standard-version": "^9.5.0",
"stylelint": "^14.13.0",
"stylelint-config-recommended-scss": "^7.0.0",
"stylelint-order": "^5.0.0",
"stylelint-scss": "^4.3.0",
"stylelint": "^15.3.0",
"stylelint-config-recommended-scss": "^9.0.1",
"stylelint-order": "^6.0.3",
"stylelint-scss": "^4.6.0",
"ts-node": "^10.9.1",
"typescript": "^4.8.4"
"typescript": "^5.0.2"
},
"config": {
"commitizen": {

View File

@@ -33,6 +33,7 @@ exports[`Content renders correctly 1`] = `
onClick={[Function]}
style={
{
"cursor": "pointer",
"lineHeight": "50px",
"marginRight": "10px",
}
@@ -111,7 +112,7 @@ exports[`Content renders correctly 1`] = `
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
fill="currentColor"
style={{}}
/>

View File

@@ -34,6 +34,7 @@ exports[`Post renders correctly 1`] = `
onClick={[Function]}
style={
{
"cursor": "pointer",
"lineHeight": "50px",
"marginRight": "10px",
}
@@ -112,7 +113,7 @@ exports[`Post renders correctly 1`] = `
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
fill="currentColor"
style={{}}
/>

View File

@@ -24,7 +24,10 @@ export const PostHeader: FunctionComponent<Props> = ({ author }) => {
</span>
<span className="hideInPrintView">
<a onClick={() => navigate(-1)} style={{ lineHeight: "50px", marginRight: "10px" }}>
<a
onClick={() => navigate("/")}
style={{ lineHeight: "50px", marginRight: "10px", cursor: "pointer" }}
>
Back to articles
</a>
<ThemeSwitcher showLabel={false} />

View File

@@ -221,7 +221,7 @@ exports[`Sidebar renders correctly 1`] = `
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
fill="currentColor"
style={{}}
/>

View File

@@ -14,17 +14,15 @@ const useCategoriesList = () => {
graphql`
query CategoriesListQuery {
allMarkdownRemark(
filter: {
frontmatter: { template: { eq: "post" }, draft: { ne: true } }
}
filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } }
) {
group(field: frontmatter___category) {
group(field: { frontmatter: { category: SELECT } }) {
fieldValue
totalCount
}
}
}
`,
`
);
return allMarkdownRemark.group ?? [];

View File

@@ -14,17 +14,15 @@ const useTagsList = () => {
graphql`
query TagsListQuery {
allMarkdownRemark(
filter: {
frontmatter: { template: { eq: "post" }, draft: { ne: true } }
}
filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } }
) {
group(field: frontmatter___tags) {
group(field: { frontmatter: { tags: SELECT } }) {
fieldValue
totalCount
}
}
}
`,
`
);
return allMarkdownRemark.group || [];

View File

@@ -222,7 +222,7 @@ exports[`CategoriesTemplate renders correctly 1`] = `
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
fill="currentColor"
style={{}}
/>

View File

@@ -21,14 +21,11 @@ const CategoryTemplate: React.FC<Props> = ({ data, pageContext }: Props) => {
const { title: siteTitle, subtitle: siteSubtitle } = useSiteMetadata();
const { group, pagination } = pageContext;
const { currentPage, prevPagePath, nextPagePath, hasPrevPage, hasNextPage } =
pagination;
const { currentPage, prevPagePath, nextPagePath, hasPrevPage, hasNextPage } = pagination;
const { edges } = data.allMarkdownRemark;
const pageTitle =
currentPage > 0
? `${group} - Page ${currentPage} - ${siteTitle}`
: `${group} - ${siteTitle}`;
currentPage > 0 ? `${group} - Page ${currentPage} - ${siteTitle}` : `${group} - ${siteTitle}`;
return (
<Layout title={pageTitle} description={siteSubtitle}>
@@ -52,13 +49,9 @@ export const query = graphql`
limit: $limit
skip: $offset
filter: {
frontmatter: {
category: { eq: $group }
template: { eq: "post" }
draft: { ne: true }
}
frontmatter: { category: { eq: $group }, template: { eq: "post" }, draft: { ne: true } }
}
sort: { order: DESC, fields: [frontmatter___date] }
sort: { frontmatter: { date: DESC } }
) {
edges {
node {

View File

@@ -222,7 +222,7 @@ exports[`CategoryTemplate renders correctly 1`] = `
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
fill="currentColor"
style={{}}
/>

View File

@@ -46,7 +46,7 @@ export const query = graphql`
allMarkdownRemark(
limit: $limit
skip: $offset
sort: { order: DESC, fields: [frontmatter___date] }
sort: { frontmatter: { date: DESC } }
filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } }
) {
edges {

View File

@@ -222,7 +222,7 @@ exports[`IndexTemplate renders correctly 1`] = `
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
fill="currentColor"
style={{}}
/>

View File

@@ -222,7 +222,7 @@ exports[`NotFoundTemplate renders correctly 1`] = `
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
fill="currentColor"
style={{}}
/>

View File

@@ -25,7 +25,7 @@ const PageTemplate: React.FC<Props> = ({ data }: Props) => {
<Layout
title={`${title} - ${siteTitle}`}
description={metaDescription}
socialImage={socialImage}
socialImage={socialImage?.publicURL}
>
<Sidebar />
<Page title={title}>
@@ -44,7 +44,9 @@ export const query = graphql`
title
date
description
socialImage
socialImage {
publicURL
}
}
}
}

View File

@@ -222,7 +222,7 @@ exports[`PageTemplate renders correctly 1`] = `
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
fill="currentColor"
style={{}}
/>

View File

@@ -23,7 +23,7 @@ const PostTemplate: React.FC<Props> = ({ data }: Props) => {
<Layout
title={`${title} - ${siteTitle}`}
description={metaDescription}
socialImage={socialImage}
socialImage={socialImage?.publicURL}
>
<Post post={data.markdownRemark} />
</Layout>
@@ -47,7 +47,9 @@ export const query = graphql`
description
tags
title
socialImage
socialImage {
publicURL
}
disqusId
}
}

View File

@@ -35,6 +35,7 @@ exports[`PostTemplate renders correctly 1`] = `
onClick={[Function]}
style={
{
"cursor": "pointer",
"lineHeight": "50px",
"marginRight": "10px",
}
@@ -113,7 +114,7 @@ exports[`PostTemplate renders correctly 1`] = `
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
fill="currentColor"
style={{}}
/>

View File

@@ -21,14 +21,11 @@ const TagTemplate: React.FC<Props> = ({ data, pageContext }: Props) => {
const { title: siteTitle, subtitle: siteSubtitle } = useSiteMetadata();
const { group, pagination } = pageContext;
const { currentPage, prevPagePath, nextPagePath, hasPrevPage, hasNextPage } =
pagination;
const { currentPage, prevPagePath, nextPagePath, hasPrevPage, hasNextPage } = pagination;
const { edges } = data.allMarkdownRemark;
const pageTitle =
currentPage > 0
? `${group} - Page ${currentPage} - ${siteTitle}`
: `${group} - ${siteTitle}`;
currentPage > 0 ? `${group} - Page ${currentPage} - ${siteTitle}` : `${group} - ${siteTitle}`;
return (
<Layout title={pageTitle} description={siteSubtitle}>
@@ -58,13 +55,9 @@ export const query = graphql`
limit: $limit
skip: $offset
filter: {
frontmatter: {
tags: { in: [$group] }
template: { eq: "post" }
draft: { ne: true }
}
frontmatter: { tags: { in: [$group] }, template: { eq: "post" }, draft: { ne: true } }
}
sort: { order: DESC, fields: [frontmatter___date] }
sort: { frontmatter: { date: DESC } }
) {
edges {
node {

View File

@@ -222,7 +222,7 @@ exports[`TagTemplate renders correctly 1`] = `
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
fill="currentColor"
style={{}}
/>

View File

@@ -222,7 +222,7 @@ exports[`TagsTemplate renders correctly 1`] = `
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
fill="currentColor"
style={{}}
/>

View File

@@ -5,7 +5,7 @@ interface Frontmatter {
template: string;
description?: string;
tags?: Array<string>;
socialImage?: string;
socialImage?: { publicURL: string };
disqusId?: string;
}