Why mdbook? (2024-06-24)

There are a plethora of static site generation tools out there. One could essentially use any language or framework they desire. My requirements were a tool that is visually and functionally simple. I am not a front end developer, and I have no desire to be one. My first attempt was using a Jekyll template. While Jekyll and it's templates seem decent, they didn't offer the amount of editing capabilities I was looking for. Rather than being locked into a directory structure or toolbar formatting. I've also considered tools like Docusaurus because every website I've seen in it looks nice, but it seems I'd be directly editing source more than I'd like to. Eventually, since I have experience with writing in Markdown, especially with Gitbook and mdbook, I decided to use what I am most familiar with.

Why Markdown is Amazing

Markdown is probably the best text formatting "language" other than Latex. It is simple and portable. It's parsed and ultimately converted into HTML so it can exist essentially anywhere. And tools like Pandoc allow one to convert into into any document format one needs like pdf or even the dreaded troff for man pages. Aside form conversions numerous platforms support markdown natively like Github and the zettelkasten-astic note taking program Obsidian. One could write Markdown in one, and take it essentially anywhere. Notes, webpages, and documentation oh my. And if you need functionality the specific parser you're using doesn't support, many support overriding the defaults because, everything will ultimately be HTML and CSS. You could resort to editing anything you needed to by hand anyway.

mdbook As A Personal Site

The rust🦀 project, mdbook is definitely intended to be used for books, not personal sites. However the chapter bar is functionally a navbar,each, I can still link to other pages from within a page if I have to, and it naturally lends itself to a blog. Now the cons are that mdbook lacks a tagging system. Or any system for automatically maintaining blog posts. However, like I said, I'm not locked into any structure. I can invent any scheme my heart desires through the use of shell scripts and Github actions. I can design a system that assigns names according to a convention, fills in content for posts according to a template, orders the posts by date written, implement some kind os psuedo tagging system, etc. All that being said, I was always looking for something quick and dirt, where I can just market myself and flex my interests. This will do.

Links