New blog site


Hello readers, this is the first article on my new site! I’ll be showcasing some of its features here! The source code for it can be found here.

Technologies

The original blog site was created using Publii. It is a nice application if you want to create a site without any coding. The reason I am not going to be using it anymore is because I want my blog site to reflect me better. Publii isn’t flexible enough for me to do that.

Framework

This website is built using the Astro framework with several plugins. This site is my first experience with it so it may not be the best or most unique looking. Surprisingly, it was not as hard as I expected it to be. I initially wanted to build this site using the Nim programming language but it’s web frameworks can not compete with JavaScript or TypeScript just yet (and I do not want to write bindings). The site is not completely written by me from scratch as I used Astro’s blog template.

Editor

I really like Markdown and I’ve been using it everywhere from writing notes, documentation1 or even in my messages with others assuming the chat app supports it like Matrix. My favorite Markdown editor right now is Joplin, which is FOSS and cross-platform. It supports the extended Markdown syntax and has many community made plugins.

Plugins

The plugins are the most exciting part of this whole thing I think. You can find the plugins for Joplin and Astro here and here respectively.

Actually, Astro calls them integrations not plugins.” - 🤓

A lot of heavy lifting is done using Unified and the plugins they maintain. I heavily recommend checking the project out as it opens the doors to so many possibilities!

Rendered

Basic and Extended Markdown

You have seen some throughout the article but did you know this text is highlighted? Did you know that this is superscripted and this is subscripted? What about both?

To do:

  • Do this thing
  • Do that thing
  • procrastinate

There is a list! - 💩

  • Days of the Week
    • Weeknotend
      1. Monday
      2. Tuesday
      3. Wednesday
      4. Thursday
      5. Friday
    • Weekend
      • Saturday
      • Sunday

Extended Markdown brings some much needed elements.

Can’t wait to put food on the table.

FruitSandwichCheese
🥝🥙🧀
🍑🌭🧀
🍉🏖️🧙🧀

This document is actually MDX not pure Markdown. MDX can be used for UI component stuff like JSX. You can import MDX into other MDX or into .astro files and the reverse works too!

Here is a code block:

#include <stdio.h>
int main(void) {
    printf("Hello World!\n");
    return 0;
}

KaTeX

Markdown renders that can not render mathematical equations suck because you are then forced to either create an image or write the equation using special unicodes.

Time-dependent Schrödinger equation:

itΨ(t)=H^Ψ(t) i \hbar \frac{\partial}{\partial t} \ket{\Psi(t)} = \hat H \ket{\Psi(t)}

L\mathcal{L}aplace Transform:

L{f(t)}=t=0f(t)estdt \mathcal{L}\{f(t)\}=\int_{t=0}^{\infty}f(t)e^{-st}dt

A simple square matrix:

[تباabcαβγ] \begin{bmatrix} ت & ب & ا \\ a & b & c \\ α & β & γ \\ \end{bmatrix}

Before you ask, yes, eiπ+1=0e^{i\pi}+1=0, it can also do inline as well. Gone are the days of writing math using unicodes or drawing an image.

Mermaid

Mermaid lets you create diagrams super easily.

Wake up
Eat
AAAAAAAAAAAAAAAA
Sleep

Footnotes

  1. I’m lying about documentation. I use VSCodium instead.