The setup

Before we begin, we need to make sure that we are equipped with all the necessary tools in order to present the content to be created.

I didn’t want to deploy an entire CMS (like Wordpress) on a server with a database support. The content here will be static and the visitors will not interact with it in a way so that I save data in a database. So, I started looking for a static site generator. There are many options out there, most of them complete and capable of covering all of my needs. I ended up using Jekyll because of the community and the tight relationship with GitHub. I thought I might deploy the site there, so I wanted it to be supported well. In the end, I changed my mind and deployed the static site on a development server I maintain. Jekyll supports Markdown (as most of the static site generators), which is a very easy syntax to style your content. Since I have used it before, I found it pretty convenient. The first choice was made.

I needed to choose a theme that I like and suits the content of this page. It was a really difficult task and in the end I decided to create my own theme at some point. For now I have chosen this theme, which is pretty simple and clean.

Next, I wanted to make sure it supports syntax highlight. I am planning to use lot’s of code here so it must be pretty and well presented. Indeed there is syntax highlight, as you can see from the default sample post:

def print_hi(name)
  puts "Hi, #{name}"
end
print_hi('Tom')
#=> prints 'Hi, Tom' to STDOUT.

Although the default syntax highlight is great, I have chosen Carbon as plan B, in case I need something different. There is also a Carbon CLI tool I can use to convert local code to a pretty image that I can embed in my posts. Code syntax highlight: check

Now that I feel ready regarding the code / programming topics, the science related content is my main concern. I might need to use complicated mathematical expressions. You say Math I think $\LaTeX$. Thankfully there is LaTeX support in Jekyll. Note that this plugin is more than just LaTeX support.

Now I know I can write things like:

$$ \sum F = m \frac{d^2 r}{dt^2} $$

After some final tuning like setting up the permalinks and adding the appropriate plugins on my code editor (VSCode that is), we are packed and ready for the CodeTrip.

Note that any tools I might find interesting, I will add it to the References page.