For me, information is valuable no matter what field it is. So in addition to software development, I follow the developments in many different fields such as biology, theoretical physics, mathematics, linguistics, and astronomy as a hobby.
As a result of the requirements in the institution where I work, I also had experience and knowledge in areas such as servers and network management, which I did not have in-depth knowledge of.
I am spending my free time by updating my knowledge in the field of software development and I make my road map according to the plans of the companies that direct the sector and the tendencies of the worldwide developer community.
I've been thinking about making a personal website for a while. So, here it is. It will be a place where I can share what I have achieved as a result of all this research. Since my native language is Turkish, I plan to write the articles as bilingually. If this process becomes time-consuming and challenging for me, I will only continue with English.
How I made this site?
I could have spent my time with PHP or ASP.NET. Especially because of Unity, my C# skills are pretty good. But did I really need a back-end for such a site? What I was looking for was a safe and cost-effective solution. Accordingly, Jamstack had the potential to provide this to me.
The Jamstack is not about specific technologies. It’s a new way of building websites and apps that delivers better performance, higher security, lower cost of scaling, and better developer experience.
It was a bit time consuming to experience each of the tools I could use and determine which one to continue with. Now let's take a look at my experience of static site generators chronologically.
As a Vue.js fan, the first thing I wanted to experience was VuePress. The start was simple. Install via
npm install -g vuepress and create a
README.md file. Then serve with
vuepress dev and build with
vuepress build. So simple right?
VuePress is composed of two parts: a minimalistic static site generator with a Vue-powered theming system and Plugin API, and a default theme optimized for writing technical documentation. It was created to support the documentation needs of Vue’s own sub-projects.
As I dive deeper and started to customize my site, after a while I found myself fighting with VuePress. It was a tool with a specific purpose and was developed specially for creating documentation sites. What is the purpose of using a tool like VuePress if I am going to change all the features that come in the built-in? So I started researching again.
Yes, another Vue-powered static site generator. Its basically Gatsby but for Vue. It looked very promising. I wanted a site that was fast, lightweight and the optimization capabilities of Gridsome impressed me.
Gridsome builds ultra-performance into every page by using the PRPL pattern. You get code-splitting, asset optimization, progressive images, and link prefetching out of the box.
Actually, there was nothing wrong with Gridsome. But I also work with Nuxtjs for my projects
and I have recently seen the
@nuxt/content module on Twitter. With the Full Static Generation support which came with NuxtJS v2.13, that module was what I was looking for.
I know there are a lot more options. But all I needed was a Markdown file parser. So for now, I will continue with NuxtJS + Content. In this way, I will have the flexibility to do everything I want for my personal site.
I end my first article here. I will publish another article for more technical information about my site.