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
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Weekend
- Saturday
- Sunday
- Weeknotend
Extended Markdown brings some much needed elements.
Can’t wait to put food on the table.
Fruit | Sandwich | Cheese |
---|---|---|
🥝 | 🥙 | 🧀 |
🍑 | 🌭 | 🧀 |
🍉 | 🏖️🧙 | 🧀 |
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:
aplace Transform:
A simple square matrix:
Before you ask, yes, , 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.