Markdown for Blogging

#dev

Markdown#

Markdown is a simple and lightweight markup language. It consists of two parts - plain text formatting syntax and software tool that converts the plain text formatting to HTML. Since, markdown is very lightweight; it's syntax corresponds to a small subset of HTML tags. It has become very popular due to it's ease of use and learn. It's best for writing blogs or notes. Note taking applications like Obsidain supports markdown for writing content.

Markdown however is not enough for certain posts that require interactive react components, mathjax support, etc. For example: https://www.joshwcomeau.com/animation/css-transitions/ cannot be supported with just Markdown. Fortunately, we have different tools that helps us to customize our markdown easily.

MDX#

MDX is Markdown + JSX. This allows us to import custom components (like interactive code blocks) along with our content.

Remark - Transform Markdown#

remark is a tool that transforms the markdown with plugins by inspecting and changing the markup. For example - We can add support for mathjax or katex in our markdown using remark. remark generates an AST (Abstract Syntax Tree) for the HTML with all the required tags and classes.

Rehype - Transform HTML#

rehype is a tool that transforms HTML's AST with plugins.