Command Palette

Search for a command to run...

Blog

Welcome to rohitdhakane.me

A minimal portfolio, component registry, and blog to showcase my work as a Design Engineer.

Hello and welcome!

This is the very first post on my blog, built with Next.js, MDX, and a custom rendering system that makes reading and learning a joy.

What Makes This Blog Special? πŸ€”

Thanks to my setup, you’ll see:

  • Headings with beautiful typography
  • Tables for comparing features
  • Rich syntax-highlighted code blocks
  • A copy button for quick code copying
  • Multi-package manager command rendering
  • Automatic external link handling
  • Language icons in figcaptions
  • And custom React components embedded directly in posts

Example: JavaScript Function

function greet(name) {
  return `Hello, ${name}! πŸ‘‹`;
}
 
console.log(greet("Developer"));

Figcaption: JavaScript code example for greeting a user

Installing Dependencies in Any Package Manager

PNPM
pnpm add next react react-dom

Thanks to the CodeBlockCommand component, these commands are neatly organized and easy to switch between.

Table of Features

FeatureAvailableDescription
Headingsβœ…h1 through h6 all styled via custom <Heading>
Syntax Highlightingβœ…Powered by rehype-pretty-code
Copy Buttonβœ…Added to all pre code blocks
Multi-Package Command UIβœ…Rendered with CodeBlockCommand component
Tablesβœ…Styled via custom <Table> set
External Linksβœ…Open in new tabs with proper rel attributes
Language Icons in Captionsβœ…Automatically rendered if code block language is detected
Inline Code Stylingβœ…Uses <Code> typography component for inline snippets

Inline Code Examples

When you see something like const port = 3000;, that’s an inline code example using the <Code> typography component.

Code with Figcaption & Language Icon

type User = {
  id: string;
  name: string;
};
 
function getUser(id: string): User {
  return { id, name: "Rohit" };
}

Figcaption: TypeScript function example with language icon

Final Thoughts πŸ’­

This setup isn’t just about looks β€” it’s about better communication. By combining good design with developer-friendly features, I can share articles that are easy to read, easy to use, and fun to explore.

Thanks for joining me on this journey β€” and get ready for some exciting posts ahead!